Dasasian makes things that should exist.
Software, games, learning tools, and writing. Some of it for ourselves, some for other people, and we stay with it long after others would call it done.
The work
Products
- Pour5 The back office of a bar, for a bar with no back office. Pour5 reads the register and the deliveries, works out which prices have drifted, and proposes the fix rather than making it. Our first product for a physical place instead of a screen someone opens by choice.
- Slingers A gravity-slingshot game about flying between worlds. Hand-authored chapters, no economy, no grind — the only thing a run pays is the next page of the pilot’s log.
- LeafCharge Shows where your car’s charge has got to without going out to look at it, and tells whoever else drives it. If your charger can delay, it works backwards from when you leave so the car is ready without sitting full all night.
Open source
- gdocs-mcp An MCP server that lets an AI agent treat a Google Doc like a local file — edit it by content rather than by index, and read tracked changes as diffs it can act on.
- firebase-mcp-server An MCP server that gives an AI agent a schema-aware view of Firebase — Firestore, Storage, Auth, and Cloud Logging. Reads and writes are checked against your own schema, and the query tools return counts and aggregates instead of hauling whole collections through the context window.
- firebase-structured-logger Structured logging for both halves of a Firebase app, in one pane. Your backend writes structured entries; your browser errors come back symbolicated to your source instead of a minified bundle — the half Crashlytics doesn’t cover — and both land in the same stream, so one filter reads the whole story. Your users’ data stays in the Google Cloud project you already own.
Writing
- Pull Handle, Push Door The app worked from the first day. It took months of using it to see the friction in it.
- Am I Getting Lazier? I was handing more of my work to an AI each day, and every time I had a good reason.
- Brains, But No Hands My wife was reviewing suggestions by hand, and I started wondering what documents are actually for
The outcome is the deliverable.
We keep roadmaps and we ship to dates, the same as anyone. What differs is where we put the finish line. A milestone closed on time and a thing done well are not the same measurement, and only one of them still matters a year later.
That shows up in places nobody will ever look, and sometimes it means undoing work that was already finished. Slingers had a whole economy designed into it — credits, upgrades, things to buy — and we deleted all of it, because the game turned out better when the only reward was the next page of the story. LeafCharge learns what your charger actually does instead of trusting the number printed on it. gdocs-mcp documents what it cannot do, thoroughly, rather than letting you find out later. firebase-structured-logger publishes the list of ways it quietly broke in production, each with a test that fails if it comes back.
Some of what we build is small. Some of what is coming is not. The scale changes; the standard does not.
We absorb the awkwardness.
Every piece of software decides who absorbs the awkwardness: the people who built it, or the person using it. Most hand it to the user and call the translating “learning the system.” We keep it on our side.
Pour5 learns a bar’s own layout, menu and names instead of asking the owner to learn ours. LeafCharge works backwards from when you leave, so nobody has to compute a charge rate. Slingers deleted its whole economy because the story was better without one to manage.
The work is the same either way. The question is only who does it.