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.
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.Let’s set up Stoneturner locally and build your own integration sync in just a few steps!
