Card Ritual: Solo Full-Stack Build

A solo-built tarot journaling web app, three months from concept to live product, grown from nine years of personal daily practice.

B2C Subscription SaaS 0 to 1 Product Strategy UX/UI Full-Stack Development Brand
Role Founder, sole designer and engineer
Team Solo
Timeline 3 months, concept to live

The Numbers

9 years

of personal daily tarot practice as the research foundation

3 months

from first brainstorm to live product

Live

and in active use today

Card Ritual app screen showing the daily tarot card pull, the emotional entry point of the product

The Problem

I’ve pulled one card a day for nine years, using a physical journal. That practice is genuinely valuable, but it doesn’t scale the way a memory does. I couldn’t easily look back and see a pattern, a shift, how a reading from three years ago connected to something happening now. Doing that meant flipping through hundreds of handwritten pages. I also just wanted the practice to go where I go, pull a card and log it from my phone, in bed, privately, without needing my physical deck or journal on hand.

The tarot app market isn’t small, it’s a $5.6 billion space with roughly 5 million users globally. But it’s saturated with apps built by people who don’t actually practice. Most either lean fully into mystical, algorithm-generated interpretations, or they’re generic journaling tools with a card deck bolted on. None of them were built by someone with a real, sustained daily practice, and it showed.

The Build

Month one was concept and infrastructure: brainstorming the product with Claude, designing the brand, defining the ideal customer and business model, then building the first versions, a React Native mobile app, a Next.js web app, and an Astro marketing site, all at once. Month two was testing and go-to-market groundwork, user testing with ten different types of users, early email and social strategy. Month three was the hard turn: submitted to the App Store and Google Play, got rejected, rebuilt the payment integration from RevenueCat to Stripe, and made the call to go web-only. That same month is when the smaller delight details went in, theme switching, gesture interactions, onboarding walkthroughs.

Card Ritual's daily loop screen showing a pulled tarot card alongside the journal reflection prompt

Most of the stack was new to me going in, Claude Code, Vercel, even basic SQL. I’d never submitted an app to a store before either. What made it possible was a decade of front-end experience underneath all of it, enough foundation to move fast through genuinely unfamiliar territory.

Apple rejected the app on submission, not for a bug or a policy violation, but because they were actively rejecting tarot and astrology apps outright to reduce category bloat in a saturated space. That’s not a problem you fix with a better app. I changed course entirely, dropped the native app plan, and rebuilt the payment layer for a standalone web app instead. It ended up being the right call. No app store gatekeeping, no 30% cut, full control over the experience.

Where It Stands

Card Ritual is live today with a small, real user base, 9 people including me, with 3 to 4 daily journal entries happening consistently. It has paying subscribers at $5 a month. These are small numbers by design right now, the focus so far has been proving the product works end to end before pushing on growth.

Card Ritual's entry history view showing past tarot journal entries over time
Card Ritual marketing site and brand identity

What I'd Do Differently

I’d have researched app store policy before committing to a native build. I lost real time building for a platform that was actively hostile to the category I was entering, time I could have spent building the web version from day one. I’d also get feedback from real users earlier, in the planning phase rather than after a working version already existed. Some of what changed in month three could have been decided in month one.

What’s next isn’t more features. It’s marketing and getting real usage data from a wider group before I add anything else. I built the thing I wanted to build. Now it’s about finding out if other people who share the practice want it too.