Chapter Four

EggYouOn


Fig. IV. Egg your friends into a challenge.

Built withSvelteKit · FastAPI · Python · Firestore · Firebase Auth · Cloud Run · Google Cloud · Anthropic · TypeScript · Tailwind CSS

The Problem

Most habit apps die alone. A private streak has no stakes. Nobody is waiting when you skip a day, nothing visible happens when you bail, and the app is easy to ignore once motivation dips. EggYouOn turns accountability into a social game. Your progress lives in a companion chicken, one-time dares you send to friends, and group Challenges where missing a day has consequences people can see.

What I Built

  • Companion chicken lifecycle: Egg, Chick, Grown bird. Check-ins grow it. Miss enough days and it dies. A new generation hatches.
  • Two challenge types: one-time peer Eggs (dare a friend or share a link) and multi-day group Challenges with hatch dates, cohort chat, and completion recaps.
  • Social graph: friends, activity feeds, public profiles at /@username, discoverable Challenges, and every new member is automatically friended with the in-app company account (@eggyouon), MySpace-Tom style, so the app never feels empty on day one.
  • Rooster's Call: every active Challenge gets a short, Claude-written morning prompt each day, generated per member locale (English or Spanish) so a bilingual group gets both. It's idempotent and isolated so one group's failure never breaks the rest of the run.
  • The Roost: an evening recap of the day's group chat, also Claude-written, built with a real privacy rule: every message is stripped down to "A member: [text]" before it ever reaches the model, so nobody's name or identity goes into the prompt. Anyone can opt out entirely, and it skips quiet days automatically.
  • Founder's Note: an admin tool that lets me hand-write a message and broadcast it to every active Challenge at once, kept deliberately separate from the two AI jobs.
  • $1 Emergency Chicken Feed: a real Stripe Checkout flow that instantly heals a dying chicken back to full health for a dollar, with its own webhook and a browser-return confirmation path.
  • Referral rewards: chicken health points for a successful signup through your profile link, an Egg invite, or being the first person to join someone's Challenge.
  • Moderation: user blocking and content reporting, wired into the same event-tracking system as everything else.
  • Full event analytics: over 30 distinct tracked events (signups, check-ins, streaks, chat messages, Feed purchases, referral conversions, and more), each logged once and verified by an end-to-end test that walks a full user story through the real API.
  • Dynamic social-share images generated per Challenge, per Egg, and per invite link, so a shared link actually previews the right content.
  • Automation that keeps the product moving without babysitting: scheduled jobs hatch Challenges, expire stale Eggs, sweep chicken health, and run the two daily AI jobs, with every job failure logged and alerted directly to me.
  • PWA install path: Add to Home Screen, standalone display, themed icons. Sits on your phone like a native app while staying a Cloud Run web product. Bridge before the Android build.
  • Production stack: SvelteKit SSR and FastAPI on Cloud Run, Firestore, Firebase Auth, Cloudflare edge lock, Secret Manager, GitHub Actions deploys, and an automated test suite covering auth, chickens, challenges, chat, friends, admin, billing, and every AI job.

The Flock

Building the brand meant inventing a whole company of chickens, not just a logo. Seven active mascots run the show: Eggsly (Head of Hype), Yolko (Master of Egg Chi), Cluck (Head Coach), Sunny (Director of Nice Mode), Benedict (Sergeant No-Eggscuse), Mabel (Head of Exits), and Paradoxy (Customer Support, Existential). Capon, former VP of Willpower, has a staff funeral after the company's No Fap . 1 Day Challenge. Company lore pages carry the joke: fake company Challenges, a public Graveyard, trophies, Farm stories, and Cock Island HQ. The company page is part of the product, not marketing fluff.

How It Works

Actions hit FastAPI, which evaluates challenge state, chicken health, streaks, and permissions. Firestore holds state for real-time UI. Twice a day, scheduled jobs run the AI layer: Rooster's Call in the morning on Claude's fast tier, The Roost in the evening on a stronger tier after stripping the day's chat of any identifying info. Both are idempotent so a re-run never double-posts, and both isolate failures per group so one broken Challenge never takes down the rest. The frontend is SvelteKit with SSR so egg previews, Challenges, and profiles work for signed-out visitors. Auth is Firebase (Google and magic link) with httpOnly session cookies.

Results

Full production web build at eggyouon.com: invite-only friends beta, English and Spanish, mobile-responsive, installable as a PWA, with two daily AI-written moments per active group, a working micro-transaction, referral rewards, moderation tools, and analytics on everything. This is my passion project, the fun one I keep building. Android is next.

EggYouOn public profile with the mascot flock and waitlist call to action
Company hub page for the fictional EggYouOn flock
Mascot team roster listing each chicken's role and bio
The Graveyard memorial page for retired mascots
Sign-in screen offering Google and magic link authentication

At a Glance

  • RoleSolo builder
  • StatusLive private beta
  • Daily AI jobs2 (Rooster's Call, The Roost)
  • Tracked events30+
  • Active mascots7 (+ 1 memorial)
  • Next upAndroid app

Invite only · Visit the site →