How we picked the tools for the chiseli stack
A look at the technology decisions we made to keep chiseli fast, cheap, and easy to operate.
When we started chiseli we asked ourselves the same question every technical founder asks: what do we build it on? Here’s the short answer and, at the end, the long one.
The short answer
- Cloudflare Workers for the API and edge services.
- Astro for marketing sites and documentation.
- D1 (SQLite on the edge) as the primary database.
- R2 for files and backups.
- Workers AI when we need embeddings or lightweight classification.
Why edge-first
Latency. A link shortener that takes 200 ms to redirect is useless. An analytics page that takes 2 s to load won’t be used. Running everything on the edge means a user in Tokyo and one in Bogotá both get answers in under 50 ms.
Plus, edge means paying per real request, not per “24/7 reserved instance.” For products in the early stage, that’s the difference between being able to experiment and having to raise money every time a feature flips on.
Why Astro
We needed marketing sites that were fast, SEO-friendly, with markdown support and the option to drop in interactive components only where they made sense. Astro ticks all four boxes without forcing JavaScript on every page.
This very blog, for example, renders statically at build time and is served from the CDN. Zero client JS, except what you choose to add.
What we don’t use (and why)
- Kubernetes. We don’t need it. Workers scales on its own.
- A Node monolith. Each product is an independent Worker, sharing schemas via a common lib.
- Third-party cookies and tracking. By design. Zero cookies = zero banner.
What’s next
In the next post we’ll dive into Repath’s architecture in detail: how we handle redirects on the edge without latency spiking when a link goes viral.