In the interest of transparency, this page describes the project's principles, goals, and next steps. Ideally, people evaluating Stork should not need to solely rely on the features available today, but can judge Stork's viability based on the broader direction of the project.

Stork is a single-person project that I build in my spare time. Development will likely be slow, but I'm always receptive to communication via Github, Twitter, or email.

Overarching goals:

  • All files loaded onto web pages at runtime should be as small as possible.
  • Don't slow down the experience of using the webpage.
  • Screen-reader users should find Stork as easy-to-use as non-screen-reader users.
  • Keep search fast (responsive on a per-keystroke basis).
  • If not possible, keep the UI fast.
  • It should be fast and easy to set up Stork on your own site, with your own content.
  • Expose many configuration knobs to tweak, but maintain sensible and opinionated defaults (so people don't have to tweak those knobs).
  • Index different types of content (prose, subtitles, even code) and different languages, not just long-form English texts.
  • Maintain compatibility with old config files and indexes.

Large Features

  • Support fuzzy search
  • Run queries and index deserialization on a web worker
  • Create and read sharded indexes
  • Display embedded images in the results interface
  • Allow users to attach metadata to documents that can be displayed in the results interface
  • Allow end-users to filter search results based on that metadata
  • Publish frontend to NPM and make it installable
  • Build and publish some integrations with other projects, e.g. various static site generators, Wordpress, etc.
  • Add more themes

Completed features

Previously on the roadmap:

  • Keyboard shortcuts on JS
  • Support the SRT file format
  • Callbacks in JS for different user events
  • Sorting the results by relevance
  • Sensible handling of multi-word queries
  • Parse frontmatter
  • Build different themes
  • Write JS code in Typescript

Not originally on the roadmap, but added after suggested by users:

  • Self-hosted Stork
  • Lifecycle methods to control WASM download, index download, and DOM attachment
  • JS Search API not tied to the DOM

More specific bugs and features are listed on the project's Github Issues page. Feel free to submit a feature request there.

Stork Search v2 is in beta! Read the documentation →

© 2019–2023. Stork is maintained by James Little, who's really excited that you're checking it out.

If you have any questions or comments, feel free to start a discussion on Github or chat about the project on Discord.

This site is open source. Please file a bug or open a PR if you see something confusing or incorrect.

Logo art by Bruno Monts, with special thanks to the team. Please contact James Little before using the logo for anything.