For the last 2 months, I’ve been intensively building a Bitcoin wallet from scratch as the MVP for my startup, Nummus. It’s been quite the journey so far, and I’m making substantial progress. This post serves as an update as I complete the first major development milestone.
I wanted to share how I got started, what I’ve accomplished, and what’s coming next before the launch.
What I’m Building
Nummus will be a custodial wallet that offers a BTC-backed credit card, collateralized loans, and secure custody. You will be able to hodl your bitcoin while using its value on a card – solving the paradox of “never sell your Bitcoin” and “Bitcoin is the future of money”, allowing you to spend it everywhere mastercard / visa is accepted. I wrote a separate article on this here. Nummus will be Bitcoin + stablecoin only with native Bitcoin infrastructure – no reliance on sketchy third parties like FTX (looking at you, BlockFi).
While I can’t build the entire platform alone, what I can accomplish independently is developing a solid wallet. This MVP is non-custodial and focuses on base layer Bitcoin functionality, with Lightning potentially coming later if time permits. The main goal is to ship a clean, functional Bitcoin wallet that demonstrates my ability to deliver, grow, and scale a product to both users and potential investors.
How I Prepped for This
I’ve been a frontend developer for almost 7 years, and recently obtained my backend certification from Primeagen’s online bootcamp after dedicating 8 months to the program. I’m now confidently full-stack and satisfied with my programming capabilities – particularly after becoming addicted to Factorio, which significantly enhanced my problem-solving skills after investing 250 hours in a single month.
I originally set a goal to find a CTO by January 20th and was feeling kinda hopeless about doing this alone. Then I had a realization – why not be my own CTO? I decided that day I’d just wear both the CEO and CTO hats. How hard could it be, right? I’m already technical.
To enhance my skills, I immersed myself completely in the learning process. I enrolled in several online courses focused on mobile development with React Native – leveraging my existing React knowledge made the learning curve relatively manageable. Within a week, I had grasped the fundamentals and developed several test projects. The most valuable resources were React Native by CodeWithMosh and PlebDev‘s backend wallet course (Shoutout to Mr. PlebDev aka Austin K – his curriculum is excellent).
I also decided it was time to go deeper on Bitcoin’s technical side. I grabbed 5 O’Reilly textbooks about Bitcoin, Lightning, and blockchain to really understand the tech. Plus I added 3 more O’Reilly texts about software architecture, engineering exec leadership, and building microservices. I’m about 2/7 through these books and study for an hour daily. I even learned Vim the motions and how to use my Mac with JUST keyboard shortcuts to work faster (and now I can’t go back).
I basically spent a month studying like a monk – all day, every day – everything about app development and Bitcoin. I’m still going deep on Bitcoin as a technology and will probably finish all those textbooks by year-end.
Upon gaining confidence in my programming abilities, I discovered Cursor and Claude while developing test React native applications. This marked a significant turning point – my productivity increased tenfold almost immediately. Now I can effectively develop complete applications independently by combining my technical knowledge with AI assistance. Combined with my previous experience building BitEscrow and some performance optimization techniques, my capabilities were well-aligned to engineer and scale this project.
I also decided to build in public and livestream my coding sessions, which is actually a ton of fun. On days when I’m not coding or streaming, I’m working on content and distribution like this.
Tech Stack
After a deep dive on what’s out there, I landed on this stack for the wallet:
Tool |
Category |
Why I Picked It |
---|---|---|
React Native + TS |
Frontend |
Cross-platform with type safety |
Go |
Backend |
Fast and handles concurrency well |
Expo |
Framework |
Makes mobile dev way less painful |
Jest |
Testing |
Works great with React |
GlueStack UI |
UI Library |
Flexible and perfect for MVP phase |
Resend |
Mail API |
Simple but reliable |
BDK-wasm |
Bitcoin Lib |
Solid Bitcoin functionality |
Supabase |
Database |
PostgreSQL without the hassle |
If you want to see everything I’m using including all the libraries, check out the GitHub package.json. As much as I’d love to use cutting edge tech like Zig, Elixir, or BunJS, the existing ecosystem for Node and my current stack is already really solid, especially after Microsoft announced they’re rewriting the TypeScript compiler in Go. Maybe when Nummus is building its infrastructure, we’ll explore Zig or Elixir and Bun. For now, I chose this stack because of how quickly I can build with it, and the combo of TS + Go is pretty tough to beat for an MVP.
For project management, I’m keeping it super simple – just Obsidian and markdown using the PARA system. That’s it. No bloated software like Jira needed for a team of one.
Progress So Far
The following screens are functional but currently unstyled. They pass all the tests I’ve written, and when it comes time to implement BDK, it should go pretty smoothly. The code is organized, modular, and clean. I need to do some refactoring and linting before launch, but things are looking good so far.
Wireframing
I sketched the wireframes on my e-ink tablet. I already had a pretty clear vision of what I wanted it to look like – just had to get it on paper.
Figma Designs
From there, I moved the wireframes to Figma and refined the basic designs. I’ll circle back and polish the look of the app once BDK is implemented – functionality first.
Screens Built So Far:
Onboarding: Create or import a wallet
Home Screen: Shows your balance with toggles between USD, BTC, and SATS. Has buttons to send or receive bitcoin (these screens are still in progress)
Credit Card Screen: Details currently under development and will be revealed later.
Bitcoin Screen: Filter by day, week, etc. I’ll replace the test API with something better before launch.
TX History Screen: Using mock data for now, but you can tap on any transaction to see its details.
Roadmap
You can view the complete roadmap on GitHub, which I update daily. Here’s a summary of the key phases:
- Basic frontend
- Refactor and add tests
- Implement real Bitcoin functionality
- Write tests for Bitcoin stuff
- Make the frontend look really nice
- Refactor and test for production
- Final checks and security audit
- Launch
The objective is to have a functional product launched by the Bitcoin Conference Las Vegas in May. Currently, development is progressing on schedule to meet this deadline.
Conclusion
Building Nummus has proven both challenging and rewarding. What began as an exploratory question about feasibility has evolved into a legitimate product taking tangible form. It’s remarkable how much a single developer can accomplish with the appropriate tools and methodology.
This non-custodial wallet MVP represents just the initial phase. The broader vision for Nummus is more ambitious – but every significant project requires a humble starting point.
The decision to build in public has enhanced accountability and transparency, while the feedback received is already improving the product quality.
I’m genuinely enthusiastic about this project’s direction, and you’re welcome to observe the development process live. Below are links to my social media channels and Discord where you can submit questions and feedback to influence the wallet’s development.
Want to join the waitlist and get notified when I launch? Sign up here.