{"slug": "ai-accelerated-learning-you-own-why-i-built-soma", "title": "AI-accelerated learning you own: why I built Soma", "summary": "Benjamin Mayanja built Soma, a self-hostable learning and publishing platform that combines a private markdown notebook, an editorial reading experience, and a one-toggle public publish option, with all writing stored in the user's own Turso edge SQLite database rather than a hosted cloud. The project spans three repositories: Soma for reading and writing with margin AI that explains, challenges, or simplifies selected paragraphs; Soma Labs, which turns lessons into coding drills verified by tests; and Son, a personal speech platform with swappable speech-to-text and text-to-speech models. Mayanja says the design goal was ownership of the loop, so forking the repo and deploying to Vercel never puts a user's words in git or under someone else's control.", "body_md": "Hey, I'm Benjamin Mayanja. I build Soma, a learning and publishing platform that treats reading like thinking on paper. Private by default, public when you choose, and it runs on infra you own.\n\nEvery publishing tool I tried forced the same trade. Blogging platforms push you to perform for an audience before you've understood the topic yourself. Note-taking apps keep your thinking trapped in proprietary clouds or fragile sync setups. You either publish too early or you never ship at all.\n\nSo I stopped shopping for tools and started building one. Soma (Luganda: to read, study, learn) puts the private notebook, the editorial reading experience, and the publish button in one place. Draft the way you would on paper, flip one toggle, and the same page is on the public web.\n\nOwning the loop\n\nOwning the loop mattered more than any feature. Fork the repo, import it into Vercel, add one password, click Add on the Turso card, deploy. Tables initialize on their own, and pulling my updates later never touches your words, because your writing lives in your database, never in git.\n\nYour notes, highlights, and publishing toggles sit in your own Turso edge SQLite behind one password you invent. There's no Soma cloud holding your writing hostage, which means my fixes can never overwrite a single sentence of yours.\n\nThree pieces, one loop\n\nReading a chapter feels like progress. Then someone asks you to explain it a week later and you say, uh, it was about types. Nothing stuck.\n\nSoma is where the learning lives. You write in markdown, drop a Mermaid diagram next to KaTeX math, and add a 3D scene where a picture won't do. Select any paragraph and the margin AI explains, challenges, or simplifies it. Notes stay private until you flip one toggle, and every word sits in your own Turso database. Point a coding agent at the repo and it drafts content too, staged private until you say otherwise. The repo is github.com/Essomero/soma. Fork it, import it into Vercel, add one password, and you're running.\n\nSoma Labs is where you find out whether you actually know it. Each lesson turns into a drill. A failing test, a function you write, then a green check when your version behaves like the real one. Reading about generics is easy. Writing them until the test passes is the part that sticks. The drills live at github.com/Essomero/soma-labs.\n\nSon is its own thing. It's a personal speech platform. Pick a role, talk to it in the browser, and hear it answer, with barge-in when you cut in. It reads anything you paste out loud and saves the audio as MP3. It dictates your speech straight into whatever box has the cursor. It tags a folder of podcast episodes or an album in one pass. Speech-to-text and text-to-speech are both swappable, from local models to cloud ones, so the whole voice path can run on your machine. Soma borrows it for one job: speaking your oral exam questions. I bundled it here because that's a good use case, not because either repo needs the other. The repo is github.com/Essomero/son.\n\nThree repos, one loop. Read it in Soma, drill it in Soma Labs, explain it to Son. When all three feel easy, you know it.\n\nTry it: [https://soma.mayanja.dev](https://soma.mayanja.dev)\n\nCrossposted from soma.mayanja.dev/featured/why-i-built-soma. This piece first appeared there.", "url": "https://wpnews.pro/news/ai-accelerated-learning-you-own-why-i-built-soma", "canonical_source": "https://dev.to/v1b3m/ai-accelerated-learning-you-own-why-i-built-soma-o3b", "published_at": "2026-11-06 15:45:35+00:00", "updated_at": "2026-11-06 15:59:47.091038+00:00", "lang": "en", "topics": ["ai-tools", "ai-products", "developer-tools", "ai-agents"], "entities": ["Benjamin Mayanja", "Soma", "Soma Labs", "Son", "Turso", "Vercel", "GitHub"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/ai-accelerated-learning-you-own-why-i-built-soma", "markdown": "https://wpnews.pro/news/ai-accelerated-learning-you-own-why-i-built-soma.md", "text": "https://wpnews.pro/news/ai-accelerated-learning-you-own-why-i-built-soma.txt", "jsonld": "https://wpnews.pro/news/ai-accelerated-learning-you-own-why-i-built-soma.jsonld"}}