Systems
Wick
A lightweight vector database for similarity search, written in C++20 from the storage layer up rather than wrapping an existing engine.

The project
Wick stores fixed-dimension embeddings with metadata and supports exact or HNSW search across cosine, squared-Euclidean, and dot-product distance. It owns its search indexes and its binary persistence layer. The linked site is a saved-results demo preview rather than a live search endpoint.
01
Custom vector search
Implements both exact scans and a custom HNSW index across cosine, squared-Euclidean, and dot-product similarity.
02
Database internals
Uses fixed-size pages, a bounded clock buffer pool, a redo write-ahead log, and atomic compaction for binary persistence.
03
Practical interfaces
Pairs the native HTTP API with a typed Python SDK and a paper-search demo built on top of it.
Built with
Primary
- C++
- Python
- FastAPI
- Docker
Other
- CMake
- HNSW
- cpp-httplib
- Sentence Transformers
- GoogleTest

