Inspiration
Controlled began with something I wanted for myself: a wallet that understands the goal behind my money.
We rarely understand the value of something until it leaves us. Money is no different. I noticed this in myself and the people around me. We all had different forms of impulsive spending and were surprisingly good at justifying them to ourselves. But when someone else genuinely questioned the purchase, those reasons often fell apart.
While researching commitment contracts: promises backed by real stakes, the idea clicked. The most universal financial goal is not simply to earn more. It is to spend the money we already have in the way we intended.
The world has made payments blazingly fast. Sometimes money leaves faster than a heartbeat. Yet budgets are still only planned, tracked, analyzed, and warned about. They are rarely enforced.
That inspired Controlled: a wallet that remembers what you promised yourself and intervenes before an impulsive payment breaks that promise. If the promise matters, why should it not become an actual pact, backed by a stake and supported by people you trust?
What it does
Controlled is a wallet that helps people keep the financial promises they make to themselves.
A user creates a pact with a goal, spending limit, time period, financial stake, and a circle of trusted accountability partners.
Normal spending continues without friction. When a payment would cross an active pact's limit, Controlled pauses it before the money leaves and sends it to an accountability partner. The partner can approve it as an emergency, approve it as a conscious break, or deny it with a reason.
Controlled also provides guidance based on the user's active pact and recent spending patterns. AI can advise, but it cannot move money, override limits, or approve transactions. Financial rules remain deterministic, while important exceptions remain human decisions.
The prototype includes PayPal Sandbox funding and withdrawals, internal transfers, payment requests, spending guidance, pact enforcement, accountability circles, stakes, notifications, and a Commitment Reserve for money associated with broken pacts.
How we built it
Before writing code, I spent nearly a week wireframing, designing the logo, choosing the brand style, studying colour theory and shape psychology, and defining the product's visual language.
The mobile app was built with React Native and Expo. The backend is a Go modular monolith using PostgreSQL and a double-entry ledger. PayPal Sandbox handles provider-backed funding and withdrawals, while a deterministic policy engine enforces pact and accountability rules.
AI guidance is deliberately separated from financial authorization: AI advises, humans authorize, the policy engine enforces, and the payment provider moves the money.
I used coding agents such as Codex and Claude as development partners while staying behind the wheel: defining the product, questioning suggestions, reviewing implementations, testing edge cases, and deciding what belonged in the experience.
The final system is containerized and deployed on AWS EC2 with PostgreSQL, the API, landing page, monitoring, and Cloudflare Tunnel.
Challenges we ran into
The hardest challenge was not technical.
It was coming home after work and choosing to build again. Part of me regularly wanted to postpone it until the next day. But the idea felt too personal to leave inside a notes file. I wanted it to exist, even if I was the first person who needed it.
On the product side, I had to create friction without making the experience feel controlling or judgmental. Controlled needed to interrupt impulsive spending while respecting that it is still the user's money.
On the engineering side, financial behavior could not be vague. I had to handle overlapping pacts, insufficient balances, duplicate requests, approval expiry, concurrent transactions, stake movement, and the distinction between an emergency and a conscious break.
Scope was another challenge. There were always more features to add. Learning when to stop, protect the central idea, and prepare a clear demo was as important as writing the code.
Accomplishments that we're proud of
This is the project I am proudest of building so far.
I began as a backend developer who did not consider himself a frontend developer or designer. By the end, I had created a visual identity, built a mobile experience, implemented a financial ledger and policy engine, produced a narrative demo, and deployed the entire product as a live system.
I am especially proud that Controlled does not use AI as a shortcut around responsibility. AI advises, humans authorize, the policy engine enforces, and the provider moves the money.
Most importantly, I took something I personally wanted to exist and brought it to life.
Controlled is the second product in my FroMH: From My Heart series. Products I build not simply because they could exist, but because I genuinely want them to exist.
What we learned
I learned how to move beyond being only a developer and become a builder.
For the first time, I seriously studied colour theory, shape psychology, UI/UX, motion, product design, and storytelling. I learned that the more personal a project becomes, the harder it is to accept the bare minimum.
I also learned how to work effectively with AI. Progress accelerated when I stopped expecting AI to build the product for me and learned to direct it while remaining responsible for the architecture, trade-offs, verification, and final quality.
Finally, I learned when to stop adding features. Building the product was only part of the challenge; I also had to shape a focused story, create a memorable demo, and communicate the idea quickly enough for someone else to care.
What's next for Controlled
The next step is to test whether the accountability loop genuinely changes spending behavior outside a demo.
One planned addition is earned pact-skip passes: a scarce, auditable fallback when an accountability circle is unavailable. These passes would be earned by successfully keeping pacts rather than given freely.
Other future directions include:
- a transparent control profile showing pact consistency and protected money;
- stronger account recovery and session security;
- richer merchant context and QR-based payments;
- stronger AI guidance using better models, longer spending patterns, clearer explanations, and more relevant merchant context, while keeping authorization deterministic;
- production-ready iOS support;
- safer external transfers and deeper payment integrations;
- optional stake-based yield with explicit user consent, transparent risk disclosures, clear withdrawal rules, and no guaranteed returns;
- and integration with a Web3 stablecoin ecosystem for transparent settlement and verifiable on-chain commitments, subject to security, legal, and compliance review.
Controlled is still a sandbox prototype, not a production financial institution. But the central idea is now real:
A budget can do more than tell you what happened. It can help protect what you intended before the money leaves.
Built With
- channel3
- codex
- docker
- expo.io
- figma
- golang
- paypal
- postgresql
- react-native