Minimal libraries, independent products, and tools built to outlive their dependencies. Bootstrapped and independent — no investors, and nothing that stops working when a funding round doesn't land.
Products
So that it keeps existing. Priced to be sustainable, not to be acquired.
Audiobook hosting for independent authors. One flat fee, hosted for ten years — whether you sell the book or give it away, and we take no cut either way.
An evolutionary code platform. LLMs evolve the corner-case-heavy code that is miserable to maintain by hand, training on real data so it keeps adapting as traffic patterns shift. No model runs in the request path — what ships is ordinary deterministic code, promoted only when it beats the incumbent.
Free software
No accounts to upsell, no telemetry, no price.
Local-first spaced-repetition flashcards. Markdown cards, built-in text to speech,
portable .donki decks — and everything you study stays on your device.
Tether an AI agent CLI running on your desktop to your phone, over WebRTC, with voice and chat. Speech is transcribed on-device and only text crosses the wire — the backend does signalling and nothing else, so there are no API keys anywhere.
bridle.3sln.com →Open source
Small, dependency-light libraries — the foundation the products are built on, open because they are more useful shared than hoarded. All MIT licensed.
A minimal, configurable virtual DOM — with its own reactive cells.
State management by dependency injection: providers, actions, and queries.
Zero-config, Markdown-based component playgrounds and documentation sites.
A self-hostable Google Drive, with semantic search and pluggable storage.
Tether an AI agent CLI on your desktop to your phone, over WebRTC.
A small, pluggable localization library. The source text is the key.
A CustomElementRegistry proxy: hot reloading and delayed disconnects.
A builder and dev server for apps that ship unbundled ES modules.
How the pieces fit together — architecture and conventions.
Approach
The products are built on libraries written here, so a breaking change upstream is never somebody else's decision to make.
Every dependency is a promise someone else has to keep. Most of these libraries have none at all.
External capabilities are wrapped behind interfaces with a real implementation and a mock, so nothing is welded to one vendor.
If your data lives in it, you should be able to run it — on your own hardware, with your own storage.
Not a thing that happens afterwards. Every library ships a deck of live, runnable examples.
Plain ES modules, web standards, and as little between the source and the browser as possible.