Skip to main content

Stoneturner Components

React Client

UI to monitor syncs, view markdown, and authenticate to data sources

MCP Server

Tools for agents to search all of your context efficiently

Integrations

Integrated data sources to sync

Core Services

Turso DB storage, vector embeddings, cron schedulers, and rate limiting

Project structure

Design Decisions

Turso’s SQLite Rewrite

Stoneturner uses Turso for local database storage and retrieval. With the embeddable advantages of SQLite, Turso extends SQLite by adding concurrent writes and vector search. turso Rather than run a separate vector database, Turso keeps the database layer lightweight, local, and unified to search semantically or with SQL.

Background jobs

CRON-based jobs to enabled schedule syncs and failed steps when downstream APIs fail or get rate-limited. For full details on scheduling, retries, cleanup, and FAQs, see Sync scheduling & retries.

Vercel AI Gateway for Embedding Models and LLM Extraction

Many “LLM Gateway” products exist. Vercel supports both embedding models use to process text to index to Turso, and LLMs to run a quick task to extract insights from synced data. I borrowed this idea from enzyme.garden, where semantic data should have a complilation step to prep semantic data for search. When vector searching, matching questions and insights provide better search quality over matching content alone. Stoneturner also extract entities (like tags) for an agent to filter and follow connections like a graph database.

Bottleneck for Rate Limit Control

Bottleneck is a lightweight javascript library to schedule jobs and “bottleneck” function calls. This is extremely useful for respecting external API rate limits. Syncs call 3rd-party APIs over and over. Bottleneck lets us control concurrent requests and backoffs.

Unified Integration Interface

Integrating with 3rd-party APIs are notoriously cumbersome. We keep it simple by boiling down 3rd-party syncs to their primitives, providing a recipe for building reliable 3rd-party syncs.
This process is so repeatable, you can extend Stoneturner in minutes with a coding agent, 3rd-party docs, and the Stoneturner Skill.
Let’s set up Stoneturner locally and build your own integration sync in just a few steps!