IMMORTAL
blog

I built a dance app in a month by talking to it

devlog · 7 Oct 2026 · Lars Crawford

For a month, the most useful instrument in my life after my own two legs has been a little microphone in the corner of a chat box.

I press it and then I ramble. I'm speaking to Claude, and when my voice stops it spins up to write code, run tests, and ship to production. The next time I open my phone the thing I described is there for me to use. Then I play with it, the way any user would, to see what works and what doesn't, and then press the microphone again to ramble some more.

On every cycle, the app gets closer to where I want it to be. Here's what's come out so far.


1. The app

Immortal Kinematics is a dance app. You drop in a take of yourself dancing and the kineclipper measures your skeleton, frame by frame, and hands back the most energetic seconds as clips ready to post. Publish one of these clips and !D.A.N.C.E turns it into a challenge anyone can dance, scored against your skeleton on a public leaderboard. And, as of last Saturday, the pose model has become multiplayer, allowing for two dancers in one frame to be scored separately.

The aesthetic is gold on dark steel slate, set in a single typeface, with as few words as we could get away with, and it is live at kinematics.immortal.boutique.

The app as it stood on 3 October 2026, the day two dancers in one frame was released: the landing, home, the challenges, a dance, an attempt, publishing, the kineclipper, a finished take's clips, the account.
The app as it stood on 3 October 2026, the day two dancers in one frame was released: the landing, home, the challenges, a dance, an attempt, publishing, the kineclipper, a finished take's clips, the account.

2. The button

I paid for a single month of the Claude Max plan, and in doing so I did not have to build a single thing myself. Claude did all of the implementation: the server, the pages, the pose pipeline, the scorer, the tests, the deploys, the database migrations, and even the drawings in these posts. I clicked the microphone button and spoke to it, and then I used the app as a harsh and demanding user.

It sounds like a trick, so it is worth saying what the speaking actually covered.

Most of it was taste. What I wanted the app to feel and look like. That it should be gold on dark and nearly wordless, that every word on every page should be set in this one particular serif, that the skeleton should be drawn from one real frame of one real take rather than at random. How the art in these posts should be drawn. Whether a page was shaped just right. I enjoy coding and I've made a living from it, but I could never have typed that fast to write the code nor chat in the chat box. And in this case, I did not want to anyway.

The rest of this process was tacit - the part of me that has spent years around software. I could say how the services should be split, how people should sign in, what a careful web app does that a careless one forgets. One Sunday I asked for a penetration test on every single endpoint, the authentication and the hosting setup, run as a review, then a critic, then a fixer, without the app changing how it looks. That became four rounds of work, a map of all 117 routes and who may call each one, and tests that hold them to it. I never opened the code that came out of it. I knew what to ask for and I trusted the output.

The work happened in a loop I set up on day one of the month: a Claude Fable Chief of Staff routine that wakes every three hours, reads a handful of files in the project, picks one item from the roadmap based on development or go-to-market priorities we've established, delegates to an array of Claude Opus subagents, then reads every diff they produce, runs the tests and ships to production when nobody is using the site. As a final step, it writes down what happened, for the next session and for me.

The next blog post I'll write digs into one of these routine runs minute by minute, so stay tuned for that.


3. Why the app exists

I built it because I wanted it. I dance to shake out the week, I film most of it, and I've almost never watched the footage back. That pile of footage was my first problem.

The app has solved that. Between the fifteenth of September and the first of October I posted seventeen TikToks, every one of them a clip the app cut, which is more than I have posted in my life. Not because I became disciplined. Because it became easy.

And then it kept showing me things I had not asked for. Once your take is a skeleton, it can be a challenge someone else dances to and is scored against by their own skeleton, and together those two features became the front door of the app. But beyond the user-facing app, this same skeleton in motion is exactly the kind of movement data that people teaching robots to move are short of, and that became a research line of its own. Even the way I post grew a machine: a desk where every draft of content about the app and its impetus and mission waits for my yes, and a social media manager that sends what I approve and tracks the outcomes.

Each time something good showed up, I leaned into it.


4. What it takes

Even though I've written little-to-nothing, building this has still consumed many a cognitive cycle of mine. Each session remembers nothing of me, so everything we know lives in files in the project: a queue, every decision with its reason, a line for every run, a brief I read with my morning coffee. Keeping that grounded, coherent, and oriented correctly toward the long-term vision is most of my job and also what makes the loop work sustainably.

And things have definitely broken along the way. On the twenty-second of September a routine release went out and the challenges page started throwing errors, because a library the server installs had shipped a new version in the mean time. But, with our verification systems in place, Claude caught it on its own check right after the deploy and had the fix live less than ten minutes after the release. After that, every version the server installs is now locked to the ones the tests actually run.

What it has taken from me is a few minutes most mornings, a longer sitting now and then with the app in my hand, the vision, roadmap, and taste calls, my judgement on anything public or anything with money in it, and my hands for an account creation or configuration of a service which doesn't have APIs Claude can hit programmatically.

And the dancing, of course, which nobody can do for me, nor would I want them to!

Commits a day, from the first commit on 15 August to this morning. In gold, the month since the three-hourly loop started on 6 September: 2,192 commits, at least one on every one of the 31 days. The tallest bar is the Saturday the whole house moved onto one dark ground and one typeface.
Commits a day, from the first commit on 15 August to this morning. In gold, the month since the three-hourly loop started on 6 September: 2,192 commits, at least one on every one of the 31 days. The tallest bar is the Saturday the whole house moved onto one dark ground and one typeface.

5. Look at what we built

It is insane what you can do with these AI platforms now. Look at what we built.

A person like me, with a day job and a love of dancing and some sense of how good software is put together, can now build something fast and robust in a month by basically just speaking it aloud. That window is open to everyone today, even if the best results may still require some software engineering know-how. But, these systems are getting better by the day, so soon everyone will be able to build high quality, robust applications by just describing plainly what they want and then recognising it when they see it.

There are several engineering-minded folks who repeat the line "engineers are still needed because the AI writes sloppy, insecure code!" This sentiment may be true for now but these systems are also literally the worst they will ever be. My inclination is to flip this premise and instead say "with just a little bit of software engineering knowledge, anyone can build fully functional and secure apps today!"

And, as it turns out, Claude is also one of the best teachers in the world, so anyone can learn just enough to build their dream app by asking Claude if it's secure, and if not why not and how they can fix it. So, my recommendation is to lean in, dream about what you always wanted or needed, and start practicing building by speaking - the microphone is in your hand.

What are you dreaming of?