Platforms
Multi-tenant products, admin consoles and the APIs behind them. Built to carry many customers on one codebase.
0x.Dev · full-stack engineer
I build products end to end: interface, API, payments, servers, and the AI agents that keep them moving.
I’m 0x.Dev, a full-stack engineer who likes owning the whole thing, from the first sketch to the server it runs on.
I’ve built distribution platforms, white-label software, payment systems, real-time apps and a newsroom staffed by AI agents. I run them on infrastructure I set up and harden myself. I move fast, I verify everything, and I write down what I learn so the next fix is quicker.
Six products I designed, built and still run. Client and product names are left out; the work is real.
Releases go out to every major store, and every cent that comes back gets accounted for.
One codebase that record labels run as their own product, under their own brand and domain.
Hosted checkout, invoices and recurring billing, with a kill switch for when something looks wrong.
A multilingual publication where AI desks write, and gates written by a human decide what ships.
A 360° office where the team and AI agents share rooms, desks and group chats.
Small apps that take friction away, and pipelines that publish while nobody is watching.
Counted by the servers themselves every fifteen minutes: commits that land on live repos, releases cut, and server changes made by hand.
asking the server…
They’re boring on purpose, because boring is what survives contact with production.
Before I change a line, I follow the request from the click to the database and back. Most bugs live in the hand-offs between the parts.
Least privilege, no secrets in code, nothing running as root that doesn’t need to. Security gets built in as I go, so there is never a big clean-up sprint at the end.
Every change goes out in a slice I can roll back in seconds. It counts as done once I’ve watched it work in production, whatever the tests said.
Runbooks, decisions, and the trap that caught me last time. The next person to touch this might be me, at 2am, half awake.
Do it by hand once to understand it. The second time, it becomes a script, a cron job or an agent, with logs and an off switch.
Big change or one-line fix, it goes through the same loop, and the loop is what keeps it safe.
Read the code, the logs and the data before touching anything. Name every root cause, including the quiet ones.
Small, reversible changes. Boring tech where it matters, sharp tools where they pay for themselves.
Test in a real browser, against real data, at real screen sizes. Then check it again, live.
A short report: what changed, what I verified, what’s still open, and how to roll it back.
Mostly the unglamorous middle: the parts that move money, data and messages around without drama.
Multi-tenant products, admin consoles and the APIs behind them. Built to carry many customers on one codebase.
Checkout, invoicing, recurring billing, and the reconciling nobody sees.
Linux, nginx, DNS, TLS, backups. I run what I build.
Crons, queues and AI agents with guardrails, logs and an off switch.
Chat, presence and live dashboards that stay in sync.
My rubber duck, upgraded. Hex reads the logs with me, cheers every deploy and dozes off when the cron jobs take over.
or give Hex a tap
If you work with me, this is what you get without having to ask.
Good software is mostly invisible. It loads fast, fails loudly, recovers quietly and leaves a trail you can follow. I build for the day something breaks, because that day always comes.