From Chaos to Contracts
AI isn't magic — it's probabilistic. Engineers don't ship dice rolls. We ship systems.
Last week I built an MVP with AI.
Not vibe coding. Not throwing prompts into the void and hoping something useful came back. I treated it like engineering, because AI isn’t magic — it’s probabilistic. Every response is a roll of the dice. And engineers don’t ship dice rolls. We ship systems.
That realization changed everything.
Instead of asking the model to build features, I started asking myself how to make the whole process deterministic. How to get repeatable outcomes from something that is, by nature, chaotic. That became the real project.
It’s funny — in markets, probabilistic thinking is exactly what engineers struggle with. We’re trained to expect deterministic behavior. Same inputs, same outputs. But markets don’t work that way. You learn to think in distributions, in edges, in noise versus signal.
Systems are the opposite.
In systems, determinism is good.
In systems, you want the same input to produce the same result. You want to filter the stochastic wave until all that’s left is a clean signal. That’s when things scale. That’s when things become reliable.
So I stopped thinking in prompts and started thinking in contracts.
Every feature, every bugfix, every change got its own schema. Inputs had structure. Outputs had rules. Agents weren’t free anymore — they had guardrails. No more “hey AI, fix this.” Now it’s: here’s the spec, here’s the context, here’s the expected result, return only this shape.
And suddenly the noise dropped.
The agents hallucinated less. The code stopped drifting. The system became predictable. Not perfect — but predictable. And that’s the difference between experimenting and building.
The product is called Transliminal.
It’s an experience. Guided audio. Binaural sessions. Affirmations. Long-form flows designed to move people into focused, intentional states.
On paper the stack is simple: a Next.js frontend, AI in the middle, and a lot of audio at the end.
Reality, of course, is messier.
Third-party APIs go down. Voice generation stalls. Audio rendering takes minutes, sometimes hours. So I designed everything assuming failure. Long-running workflows don’t belong in HTTP requests, so I moved them into Temporal. Each session became a durable process: generate the script, generate the voice, render the tones, stitch everything together with FFmpeg, retry on failure, resume on crash.
No fragile chains. Just steps, state, and time.
FFmpeg does the heavy lifting — carrier waves, music beds, voice layers. It’s not glamorous, but it works.
What surprised me wasn’t the speed. It was the clarity.
Once you stop treating AI like magic and start treating it like an unreliable junior engineer, everything gets easier. You give it structure. You constrain it. You verify its output. You don’t trust it blindly. And suddenly you’re not vibe coding anymore. You’re doing formal development with a stochastic collaborator.
The goal of Transliminal is simple: help people enter focused, intentional states. Not hacks. Not dopamine loops. Presence. Clarity. Momentum.
Same thing I found myself chasing while building it.
Funny how that works.
Building this MVP reminded me of something important: tools don’t replace thinking. They amplify it. AI doesn’t remove the need for architecture — it makes architecture more important. Because when everything is fast, direction is the only thing that matters.
Right now, the distance between idea and reality has never been shorter.
But only if you slow down enough to design the bridge.