This is Elsa Shrader's second web app! She's in 4th grade, she's 10 years old, and she built this with her dad using Claude Code, an AI coding assistant by Anthropic. Her first app is Fun Kid Facts — go check it out too!
💡 The idea
Elsa wanted an app where you answer a few fun questions and it tells you your spirit animal. She drew the whole design on paper first — rainbow stars across the top, pink hearts down both sides, and big colorful sections for your name, age, personality, and favorite animals. The drawing was the real plan!
💬 How we built it
Step 1: Elsa sketched the whole app on paper with rainbow stars and hearts.
Step 2: We talked through every single decision — Claude AI picks the animal, only real animals (no unicorns!), same answers always give the same result, and the animal has to be one Elsa actually picked.
Step 3: We wrote the app in one Python file, just like Fun Kid Facts.
Step 4: We connected it to Claude Haiku 4.5 (an AI model from Anthropic) so the AI picks your spirit animal and writes a special reason just for you.
Step 5: We made the result page shareable — every result has its own link, so when a friend opens the link they see the same animal you got.
Step 6: We added a "Save image" button so you can download your spirit animal card as a picture.
Step 7: We added a star rating and a wishlist box, and connected them to Google Sheets so Elsa can read everyone's ideas.
Step 8: We deployed it to the internet and connected the domain myspiritanimal.app.
Step 9: Elsa found a bug! When she tapped every animal and every personality word, the result showed single letters (P, l, a, y, f) instead of full words. We fixed it.
⚙️ What's under the hood
Python + Flask — the backend that runs the app
Anthropic Claude AI (claude-haiku-4-5) — picks your spirit animal and writes the reason
HTML, CSS & JavaScript — what makes the page look magical
Tool use — a special way to ask the AI to fill out a form so we always get the answer in the right shape
Deterministic seed — same answers always give the same animal (so sharing works!)
Shareable links — your answers get squished into a tiny code in the URL
html2canvas — turns your spirit animal card into a downloadable image
Google Sheets API — saves star ratings and wishlist ideas
Google Cloud Run — the service that runs the app on the internet
🚀 What's different from the first app
Fun Kid Facts gets its facts from Wikipedia — a giant encyclopedia anyone can read.
My Spirit Animal gets its answers from an AI — every result is written fresh, just for you.
This app also has shareable links and save-as-image, which Fun Kid Facts doesn't have!
🎓 What we learned
How to make an app talk to an AI safely (with kid-friendly rules in the prompt)
How to make sure the AI's answer always comes back in the right shape
How to encode information into a URL so links can be shared
How to turn a part of a webpage into an image you can download
How to find a bug by trying weird inputs (like picking everything!)
The deploy command was just one line:
gcloud run deploy spirit-animal-app --source . --region us-east1