Skip to content

OFFLINE SEARCH ENGINE

Sub-millisecond keyword search across years of entries

Find any thought, date, or specific phrase from years ago in milliseconds. Kept runs an embedded SQLite FTS5 search index directly inside your encrypted database.

How it works

Most digital journals rely on remote cloud servers to index and search user text. Kept builds and maintains an external-content Full-Text Search (FTS5) index inside your local SQLCipher database, allowing instant offline search with zero server communication.

Technical implementation

SQLite FTS5 External Content Tables

Search tokens are managed in an optimized FTS5 shadow table synchronized via automatic SQL triggers whenever entries are created, edited, or deleted.

Sub-Millisecond Query Performance

Queries execute in under two milliseconds across thousands of entries, providing instant results as you type in the search bar.

Unicode Tokenizer with Special Character Escaping

Search handles punctuation, special characters, and multi-lingual unicode text robustly without syntax crashes.

100% Offline Indexing

Index updates happen synchronously on device during SQLite transactions, ensuring search remains functional without internet connectivity.

Technical specifications

AttributeSpecification
Search EngineSQLite FTS5 Extension
Indexing SchemeExternal content table with SQL triggers
Query Latency<2ms across full archive
Network DependencyZero (100% local-first)

Frequently asked questions

Are search queries sent to a remote server?+

No. Search runs entirely within the encrypted SQLite database on your device.

Does search include words in attached photos?+

Search indexes all text entries, dates, and metadata. OCR for photos is not performed.

Explore other architecture deep dives

Ready to start with Kept?

Free to write, always. Encrypted on your device.

Download on the App Store