Shibin Das
I design and build tools that make people's lives simpler.
Right now that means FlowDrop, Atelier and Sutram: open-source tools for people who build and run websites, and for the AI agents that increasingly help them. I write about how they’re made, what they cost, and what I got wrong.
What I’m building
- FlowDrop™
Draw a workflow, then run it. A visual workflow editor for Svelte, with a Drupal module suite on top.
- Atelier CMS
A website you build by talking to it. Built on Drupal, runs on your own machine, and keeps your content and your AI keys yours.
- Sutram
Gives a web app a command line, for people in a console and for AI agents as tools. Press Ctrl K or Cmd K on this site to try it.
- drupal-jsonapi-params
Write Drupal JSON:API queries as code instead of hand-built URLs. A TypeScript library for filters, sorting, includes and paging.
Latest writing
-
FlowDrop 12 min
FlowDrop Workflow Specification 1.0: Why a Workflow Engine Needs a SpecFlowDrop now has a published, implementation-independent workflow specification: 386 rules with permanent identifiers, conformance fixtures, and a clear answer to absent versus null in JSON. Why we pulled the rules out of the Drupal module, and what a written spec fixes that a test suite cannot.
-
Engineering 14 min
The Upgrade Path Is a Product DecisionAtelier is built for people who have never heard of Drupal and will never open a terminal. That single fact turns 'it upgrades itself' into a veto over the dependency list — and a refactor where I had to say no to modules we wanted, delete code we were proud of, and start reading other people's roadmaps.
-
Drupal 5 min
What Started as a Bugfix: Revision Graph 4.0.0One ring drawn in the wrong place. Chasing it turned into a rewrite — because Drupal stores no parent pointer for revisions, and "parent" means three different things on a translated node.
-
Engineering 17 min
The LLM Read Every Register. The Answer Was a Smell.I gave an AI agent full access to a broken robot. It ran better experiments than I would have, ruled out six causes by measurement, and then wrote 'definitively exonerated' about a part it had no way to inspect. Every correction came from something I knew and it structurally could not — and one of its confident errors nearly went out in a warranty claim.
-
Engineering 7 min
Your llms.txt Isn't Being Ignored — Your Analytics Just Can't See ItA recurring claim: 'I added llms.txt and nothing reads it — zero hits.' Almost every time, the zero comes from checking the wrong instrument. Client-side analytics is structurally blind to a plaintext file fetched by a bot. Here's why, and where the real answer lives.
-
Musing 1 min
The Bet Ships: Atelier Is LiveA few weeks ago I wrote that I was betting a new product on an unfashionable foundation. It just launched. This is the short, happy note before the longer ones.
Latest study
Study 0002 Decided
Absent, null and emptyWhat a missing key, a null and an empty value each mean in the FlowDrop spec, so every implementation reads them the same way.