Days 5-10: From Code to Product (Testing, Landing Page, and the Cat Theme)

The first week was infrastructure. This week was about transforming a monorepo into something that looks and feels like a real product.

Days 5-8: The Testing Sprint -- 147 Commits

Set up Vitest across the monorepo. The test coverage priority was:
  1. Shared packages first -- the API layer, Supabase client, credit management. Load-bearing walls.
  1. API routes -- integration tests with mock auth tokens.
  1. Core calculation logic -- BaZi calculations, tarot card draws. I can't personally verify correctness (zero domain knowledge), but I can verify deterministic outputs.
GitHub Actions CI pipeline: lint, type-check, build, test. Every PR gets the full treatment.
147 commits across 4 days. Not glamorous. But by the end I had confidence the platform wouldn't explode.

Days 9-10: The Fun Part -- 100 Commits of Branding

The Cat Theme

PanPanMao. The calculating cat. The fortune-telling cat.
Once the cat theme clicked, everything cascaded. Each app got a cat-themed name. The credit currency became dried fish treats. Because what else would you pay a cat with?

The Landing Page

Built and rebuilt more times than I'd like to admit. Landed on a clear pitch: "Thousand-year wisdom x Modern AI." Warm brown and gold tones. Mobile-first.

Stripe Integration

Three credit package tiers with the classic "Most Popular" badge on the middle tier. Standard pricing psychology, but implementing it myself was new territory.
I priced credits to make each reading cost roughly $0.40-$1.10 USD. The credit abstraction matters -- people are more willing to spend 5 fish treats than $0.70.

The Moment It Felt Real

There's a specific commit on Day 10 where I refreshed the dev server and actually thought: "I would use this." For the first time, it stopped feeling like a side project and started feeling like a product.

What I Learned This Week

  • Testing is an investment, not a cost. Paid for itself immediately during branding refactors.
  • Brand is a product decision, not a marketing decision. The cat theme makes the platform approachable in a domain that can feel intimidating.
  • Pricing is psychology, not math. I spent more time on credit package naming than on the payment flow.
  • AI for domain branding works. Claude helped with Chinese copywriting. The tagline came out of a brainstorming session with 20 options.

© Xingfan Xia 2024 - 2026