Abdulkader Safi

96 entries

The build diary, with the bugs left in

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.

Diary entries since 05 Jul 2026
96
Builds with their own series
16
Latest entry, 2026
13 Sep

Follow a build

Read one build from the first entry

Every entry belongs to a project, so a series reads in order with previous and next links between entries.

  • 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 →
  • Build 02 19 entries

    GitBasedDocs

    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

    MD Kanban

    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 →

The log

Every entry, newest first

Showing 1 to 6 of 6

3 entries, 1 build

3 entries, 1 build

FAQ

About the devlogs

Short answers on how the diary is written and how to follow one build.

What is a devlog?

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.

Can I follow a single project?

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.

Is there an RSS feed?

Yes, at /devlogs/feed.xml. It carries the latest 50 entries, newest first.

Work with me

Got a product in your head? Let's put it on a screen.

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