TypeScript
algolia/autocomplete
Fast and full-featured autocomplete library.
Autocomplete is an open-source JavaScript library for building search-as-you-type experiences. It's framework and data-source agnostic: it works with Algolia indices, static data, external APIs, or any combination.
It powers search on sites like React Native and Tailwind CSS docs via Algolia DocSearch. After five years at v0, the team rewrote it from scratch into a production-ready v1 with a headless core, plugin system, and full accessibility.
Key features
- Headless core: manages interactivity and accessibility while giving full rendering control
- Detached mode: switches to a full-screen modal on mobile, like Spotlight or Alfred
- Plugin system: ships with Recent Searches, Query Suggestions, and Algolia Insights plugins
- Multi-source: combines Algolia indices, recent searches, static suggestions, and external APIs in one instance
- Accessible by default: WAI-ARIA 1.1 combobox pattern with full keyboard navigation
- Dual templating: native HTML and Virtual DOM rendering support
- Concurrency-safe: cancelable promises ensure responses always resolve in order
My involvement
I joined the v1 effort midway through development at Algolia and contributed across the board to ship it. After launch, I built templating support, the Tags plugin for filter-based refinement, and the cancelable promises system. I also led the Algolia Insights integration.
Beyond code, I wrote about the library on the Algolia blog, demonstrated it live on Learn With Jason, and spoke about it at Jamstack London.