Same Components, Different Worlds: Two Card Games from One Codebase
When I started building Party Challenges, I didn't plan to ship a second product from the same code. But about two weeks in, I noticed something. The card component, the deck selector, the game loo...

Source: DEV Community
When I started building Party Challenges, I didn't plan to ship a second product from the same code. But about two weeks in, I noticed something. The card component, the deck selector, the game loop, the PWA setup... none of it cared what was on the card. A dare and a deep question look exactly the same to a React component. So I built Here We Ask on top of the same foundation. Same card flip animation, same deck navigation, same offline-first architecture. Completely different product. Here's what I learned shipping two products from one codebase, and why I think more indie builders should try this. The shared layer Both products are React SPAs built with Lovable (a vibe-coding tool I use for rapid prototyping). They share roughly 70% of their component tree: Card component with flip animation and swipe gestures Deck selector with category filtering Game modes (Hot Seat, Timed, Classic) PWA service worker for offline play Daily content rotation logic Premium gate and payment flow ($1.