Build 01 28 entries
Filament Atelier
16 Aug to 13 Sep 2026
A visual page builder for Laravel, shipped as a Filament plugin. Developers define blocks in code, clients arrange them and watch the real page update as they type.
Read from entry 01 →96 entries
What changed this week, what broke and what I got wrong, written while the work is still happening. These entries are not tutorials, and they do not pretend the work went smoothly.
Follow a build
Every entry belongs to a project, so a series reads in order with previous and next links between entries.
Build 01 28 entries
16 Aug to 13 Sep 2026
A visual page builder for Laravel, shipped as a Filament plugin. Developers define blocks in code, clients arrange them and watch the real page update as they type.
Read from entry 01 →Build 02 19 entries
10 Sep to 13 Sep 2026
A private docs site that reads Markdown from one GitHub repo. Write in Obsidian, push, and a few seconds later the pages are live for the people you shared them with. Each project is a folder in the repo, and a reader sees only the projects an admin linked to their account. Anyone else gets the same 404 as a project that does not exist. A webhook starts a delta sync that fetches only changed files, a timed recheck covers a missing webhook, and pages are served from SQLite, so reading never calls GitHub. It renders the Markdown Obsidian and GitHub both know: Shiki code, Mermaid diagrams, KaTeX math and Obsidian callouts, plus wikilinks and image embeds. Next.js 16, React 19, next-auth v4 and Drizzle on SQLite, about 9,200 lines of TypeScript, MIT.
Read from entry 01 →Build 03 13 entries
6 Sep to 10 Sep 2026
A kanban board where every card is a markdown file on your disk, built so you can watch what an AI coding agent is doing without asking it. Each connected folder is a project, each subfolder groups work, and each task is one `.md` file whose YAML frontmatter holds status, priority, assignee, due date and labels. Dragging a card between columns rewrites the file, and the agent edits the same files from its side. That is the whole design: Jira and Linear keep state behind an API, so an agent needs credentials and a connector before it can move a card, while a folder is something it can already write to. The repo ships the contract twice, as `AGENTS.md` for any agent and as a Claude skill, and tracks its own remaining build as task files inside itself. Vue 3, Vite, TypeScript and Tailwind v4 over the browser File System Access API, about 1,800 lines, MIT.
Read from entry 01 →Builds 04 to 16 34 entries
The log
Showing 1 to 15 of 19
GitBasedDocs search moved from LIKE over every page body to SQLite FTS5 kept in step by triggers. Word prefixes and accent folding came with the tokenizer. The real work was quoting input, choosing a stable order, and a backup detail about rowids.
Typescript · Nextjs · Web Application · Tools
GitBasedDocs pages now show which pages link to them, resolve Obsidian aliases, open embedded PDFs and list recent changes. The backlinks reuse the functions that turn links into hrefs, so a page appears under Linked from exactly when its link works.
obsidian · Nextjs · Typescript · Frontend
GitBasedDocs now has a Dockerfile, a compose file and backups you turn on with BACKUP_ENABLED. Each archive is a VACUUM INTO copy plus the asset files, and the copy is edited before it is packed so a restored app catches up on its own.
Docker · hosting · vps · Bun · Typescript
Five tries per email in fifteen minutes stopped password guessing, and it also let anyone lock a person out with five wrong guesses. The other key read a header the client writes. The same review found that changing your password left your other devices signed in.
Nextjs · Typescript · Web Application
Two GitHub calls per changed page against a token allowed 5,000 an hour meant a big vault's first sync would fail partway. Fixing that turned up a worse bug: a file that failed to download was marked as synced along with everything else.
Nextjs · Typescript · Web Application
Adding a project to a repo GitBasedDocs had already synced showed an empty project until someone pushed. The check that makes sync cheap was keyed on the branch head, and creating a project does not move the head.
Nextjs · Typescript · Web Application · Tools
A UX review and a scored critique (27 out of 40) on GitBasedDocs, what each one found, and the fixes that landed as one commit per finding.
UI · UX · Frontend · ShadCN · Tailwindcss
Shiki renders code on the server, Mermaid loads only on pages with a diagram, rendered HTML is cached per blob sha, and one misplaced import that shipped the whole pipeline to the browser is gone.
Nextjs · React · Typescript · Frontend
remark-math read "costs $5 a month, or $50" as a formula. A small remark plugin applies the Pandoc and Obsidian dollar rule so prices stay text and real math still renders.
obsidian · Typescript · Frontend
GitBasedDocs now renders Obsidian callouts, wikilinks, highlights and safe inline HTML, strips %% comments before they reach the database, and keeps folder names and .trash the way Obsidian does.
obsidian · Nextjs · Typescript · Frontend
GitBasedDocs was built with Claude Code over two days and 55 commits. The rules file, one commit per task, a Markdown task board as shared state, and the places where I had to step in.
Claude Code · agents · AI Agent · Tools
GitBasedDocs pages now show who changed them last, pulled from the GitHub commit list at sync time. The commit id and GitHub link shipped for editors too, then moved to admins only.
Nextjs · Typescript · Web Application
GitBasedDocs has 11 runnable check files and no test framework. How they work, the guard that keeps them off the real database, and why lint, typecheck and build close the gate.
Bun · Typescript · Tools · Nextjs
The GitBasedDocs deploy is one Node process and one SQLite file on a volume. Why it has to be a single instance, how migrations run on the first database call, and why the build never opens the database.
Nextjs · Typescript · Bun · vps · hosting
How GitBasedDocs keeps each client inside their own projects: one access gate, the same 404 for every refusal, images behind the same check, and JWT sessions that still notice a deactivated user.
Nextjs · Typescript · Web Application · Dashboard
FAQ
Short answers on how the diary is written and how to follow one build.
A build diary entry. It covers what changed that week, what broke and what I got wrong. They are not tutorials and they do not pretend the work went smoothly.
Yes. Pick a build in the filter, or open any entry and use Read the series, which lists every entry on that project in the order it was written.
Yes, at /devlogs/feed.xml. It carries the latest 50 entries, newest first.
Work with me
Tell me what you're building, who it's for and when it has to be live. I'll reply with questions first, then a fixed quote.
Start a project