# Shibin Das > I design and build tools that make people's lives simpler. Personal site and journal of Shibin Das (D34dMan): Drupal, FlowDrop, Atelier, AI-assisted engineering and project management. Every post and study has a clean Markdown copy: the page URL with `.md` in place of the trailing slash, as linked below and from each page's ``. Profiles: https://github.com/d34dman, https://www.linkedin.com/in/d34dman, https://www.drupal.org/u/d34dman, https://www.instagram.com/bata3kti_a3tma. Every page has a Sutram console (https://d34dman.github.io/sutram/): open it with Cmd/Ctrl+K or the Console button in the footer, then type `help`. Commands: `posts search`, `posts list`, `posts read`, `posts open`, `studies list`, `studies read`, `studies open`, `about`, `theme`, `evm simulate`. In browsers with WebMCP they are tools (`posts_search`, …); once the console has loaded, `Sutram.tools()` and `Sutram.call()` work from page scripts. ## Drupal - [What Started as a Bugfix: Revision Graph 4.0.0](https://www.d34dman.com/posts/drupal/revision-graph-4-0-0-recorded-provenance.md): One 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. - [Winning the Drupal AI Hackathon – Play to Impact 2026](https://www.d34dman.com/posts/drupal/drupal-ai-hackathon-2026.md): Winning the Drupal AI Hackathon – Play to Impact 2026 - [AI Agents for Content Editors](https://www.d34dman.com/posts/drupal/drupal-ai-hackathon-2026-technical.md): Winning the Drupal AI Hackathon – Play to Impact 2026 - Part 2 - [Visualizing Your Content's Evolution: A Content Creator's Guide to Revision Graph in Drupal](https://www.d34dman.com/posts/drupal/revision-graph-guide.md): Utilizing "Revision Graph" in Drupal to visualize Content's revision history ## Engineering - [The Upgrade Path Is a Product Decision](https://www.d34dman.com/posts/engineering/upgrade-path-is-a-product-decision.md): Atelier 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. - [The LLM Read Every Register. The Answer Was a Smell.](https://www.d34dman.com/posts/engineering/invisible-facts-llm-hardware-debugging.md): 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. - [Your llms.txt Isn't Being Ignored — Your Analytics Just Can't See It](https://www.d34dman.com/posts/engineering/llms-txt-analytics-blind-spot.md): A 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. - [Why I Don't Trust the Submit Button Toggle](https://www.d34dman.com/posts/engineering/submit-toggle-is-a-cache.md): The day I stopped writing classList.toggle('enabled') around an async submit and started deriving the button's state from the form. A walk through why toggle is a weaker promise than set — and why even set is wrong, just more slowly. ## FlowDrop - [FlowDrop Workflow Specification 1.0: Why a Workflow Engine Needs a Spec](https://www.d34dman.com/posts/flowdrop/flowdrop-workflow-specification-1-0.md): FlowDrop 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. - [Why One Big AI Skill Is Slower Than Many Small Ones](https://www.d34dman.com/posts/flowdrop/skill-orchestration-efficiency.md): I ran the same multi-step AI workflow two ways — as one large skill and as a chain of small focused skills. The difference was staggering: 10 minutes vs. an hour. Here's why, and what it tells us about how workflows should be designed. - [Configurable Workflows Are the Future — Why I Built FlowDrop](https://www.d34dman.com/posts/flowdrop/configurable-workflows-future-flowdrop.md): Why configurable, in‑house workflows beat external orchestrators—and how FlowDrop’s visual editor lets teams own execution while moving fast. ## Musing - [The Bet Ships: Atelier Is Live](https://www.d34dman.com/posts/musing/atelier-is-live.md): A 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. - [Am I Building on Sand? Betting a New Product on an Unfashionable Foundation](https://www.d34dman.com/posts/musing/building-on-an-unfashionable-foundation.md): A reflection on whether it makes sense to build a brand-new product on a mature platform the hype cycle has moved past – and why the answer depends entirely on whether that platform is your audience or your engine. - [Every Time Travel Movie Has the Same Fatal Flaw Nobody Talks About](https://www.d34dman.com/posts/musing/time-travel-fatal-flaw.md): Step into a time machine, punch in a date, and you won't arrive in the past — you'll materialise in empty space. Here's the flaw every time travel story ignores, and why it makes the real version far more interesting. - [Are Micro PHP Packages Becoming Obsolete in the AI Era?](https://www.d34dman.com/posts/musing/micro-packages-in-ai-era.md): A reflection on how AI code generation is changing the value proposition of small, single-purpose open-source packages, and what that means for the future of the PHP ecosystem. ## Project management - [Competence, Capacity, Capability: The Secret Formula for Getting Things Done](https://www.d34dman.com/posts/project-management/project-management-three-c-competence-capacity-capability.md): Avoid missed deadlines and uncompleted tasks. Explore how the 3 “C”s—competence, capacity, and capability—can help you master the art of task delegation. - [Paisa Vasool - Satisfaction for realising Earned Value](https://www.d34dman.com/posts/project-management/project-management-paisa-vasool-satisfaction-earning-value-for-money-spend.md): Explains how striving for 'Paisa Vasool' feeling from your customers can help increase customer satisfaction and improve your business - [Performing Relative Estimations in projects](https://www.d34dman.com/posts/project-management/project-management-performing-relative-estimation.md): Relative estimation sizes tasks against each other instead of in hours: what it is, why it holds up better, and how to run it with a team. - [Calculating planned value for EVM](https://www.d34dman.com/posts/project-management/calculating-planned-value-for-evm.md): Calculating planned value (PV) in "Earned Value Management" with S-curve method - [Project Decomposition](https://www.d34dman.com/posts/project-management/project-management-performing-project-decomposition.md): Use project decomposition to effective manage web development project - [Maximising Project Efficiency using EVM](https://www.d34dman.com/posts/project-management/maximising-project-efficiency-using-evm.md): Utilizing "Earned Value Management" for Website Development Projects ## Web design - [Corporate Component Library Considerations](https://www.d34dman.com/posts/web-design/corporate-component-library-considerations.md): What a component library needs in an enterprise: brand alignment, governance, accessibility and room for many teams. - [Design Systems vs Component Library](https://www.d34dman.com/posts/web-design/design-system-vs-component-library.md): A design system is the rulebook for how a product looks and behaves; a component library is the code that follows it. Where each starts and stops. - [The Importance of Semantics in Component Libraries](https://www.d34dman.com/posts/web-design/component-library-and-semantics.md): Why naming components by meaning rather than looks makes a component library clearer, more accessible and easier to maintain. ## Studies Problems worked through before they were planned: decisions with their options, pros and cons, prior art and the outcome (index: https://www.d34dman.com/studies/index.json). - [Study 0002: Absent, null and empty](https://www.d34dman.com/studies/0002-absent-null-empty.md): decided; What a missing key, a null and an empty value each mean in the FlowDrop spec, so every implementation reads them the same way. - [Study 0001: Blog rethink](https://www.d34dman.com/studies/0001-blog-rethink.md): decided; Why d34dman.com feels cramped, scattered and anonymous, and what a rebuild should fix first. ## Tools - [EVM simulator](https://www.d34dman.com/apps/evm-simulator/): an interactive earned value management simulator ## Optional - [Setting up Drupal project and fabric](https://www.d34dman.com/posts/legacy/drupal-setup-using-fabalicious-and-gitflow.md): archived; Adding fabalicious to a Drupal project and wiring it into a git-flow branching setup. - [Drupal meets Fabric](https://www.d34dman.com/posts/legacy/fabalicious.md): archived; Managing several Drupal instances across servers with fabalicious, a deployment script built on Python Fabric. - [All posts in one file](https://www.d34dman.com/llms-full.txt) - [RSS feed](https://www.d34dman.com/index.xml) - [Support the work](https://www.d34dman.com/support/): GitHub Sponsors and Buy Me a Coffee