Typesense is an open source search platform (with a paid hosted option). The first thing a developer will notice when powering their search with Typesense is how fast it is: it's really impressive.
That speed is what attracted me to Typesense about 6 years ago (in addition to Jason Bosco's support for open source projects and contributions).
During that time I've had to build multiple UIs to search through my respective Typesense collection (since Typesense is primarily a server-side approach to the problem of indexing and searching).
And while it hasn't been a blocker (since my background includes frontend development), it has been cumbersome to build out both the backend and frontend. That's what drove me to build my own open source (MIT licensed) contribution to Typesense: AnnexUI.
AnnexUI
AnnexUI is a small JavaScript UI library for Typesense
integrations. In it's simplest form, it's a way to add a
⌘k
-like widget to your web app where the user
can then search through a config-specified Typesense
collection. It takes care of things like
(but not limited to):
- Keyboard shortcuts and navigation
- Pre-population of popular/default searches
- Default templates + template overriding
- Controlled (and extensible) styling (through the use of Web Components)
- Comprehensive event handling
- Layout flexibility (inline, modal, panels)
- Color scheme handling (light + dark modes)
- Mobile / responsiveness
Intention + demo
The intention with AnnexUI is to build out a UI library specifically designed to work with Typesense. While there are alternatives (e.g. instantsearch by Aloglia) I've found them larger and more comprehensive than I needed for my specific use-cases.
You can try out AnnexUI directly on this site now (by typing
⌘k
), on the
annexsearch.com site
or within the inline instantiation below:
Feedback
If you've got any questions or ideas, feel free to reach out at: onassar@gmail.com.
If you'd like to contribute to AnnexUI (including PRs or Issues) please do so here: https://github.com/AnnexLabs/AnnexUI