DEV Community

Cover image for How I Built an AI Quiz Generator, a PWA Hub, and an Animated Kids' Brand — All on One Phone
Ganga Ponnu
Ganga Ponnu

Posted on • Edited on

How I Built an AI Quiz Generator, a PWA Hub, and an Animated Kids' Brand — All on One Phone

I don't have a studio. I don't have a team. What I have is a smartphone — and that single constraint ended up shaping every decision behind RandomTyms, an AI-animated Tamil-English educational brand built around two characters, Lokesh and Varsha, and now a small suite of free learning apps.

This post is about the "how" — not the brand story, but the actual technical build: a PWA hub, an AI-powered quiz generator, and the scrappy fixes that come with building mobile-only.

What I ended up shipping

The core of it is a Progressive Web App hosted on GitHub Pages: randomtyms.github.io. It bundles together:

AI Textbook Quiz Generator

— generates quizzes from textbook content using Google Gemini, with OMR-style answer bubbles and score-tiered feedback

Spinner Wheel

— a simple randomizer for classroom use
Multiplication Practice — quick-fire drills for kids

Symmetry Detective

— an interactive shape-recognition tool
All free. No sign-up, no ads, no tracking.

Building the PWA hub

The hub itself is a manifest + service worker setup, which sounds simple until you're debugging it entirely from a phone browser's dev tools.

A few specific things that took longer than expected:

Live content feeds: the Blog tab pulls from a live Blogger JSONP feed, and the Shorts tab runs through an RSS-to-JSON proxy — no dashboard, just feeds updating automatically.

YouTube thumbnails silently failing: this one took a while to track down. Shorts-style RSS links didn't match the video ID regex I was using, so thumbnails just wouldn't render for some videos. Fixed it by adding /shorts/ pattern matching plus a fallback to the guid field.

Building the quiz generator

RandomTyms Textbook to AI Quiz Generator

This is the piece with the most moving parts. It's not just "call an API and show the output" — the widget needed:

  • Prompt engineering tuned so Gemini reliably hits a minimum question count (it would sometimes shortchange this)

  • CSV export handling — cleaning up BOM characters and CRLF line endings that were quietly corrupting downloads

  • OMR-style answer bubbles and score-tiered feedback, built as a reusable embeddable component (rt-quiz-embed.html) and a full standalone version (rt-quiz-full.html)

Basic security hardening on the widget itself

One unexpected debugging detour:

Google Safe Browsing flagged the blog at one point. After digging in, the likely trigger wasn't the quiz code — it was the instructional pattern

"copy this prompt → open Gemini → paste → send"

reading as suspicious to automated scanners. Worth knowing if you're building anything that walks users through copy-pasting into another AI tool.

Making the repo actually discoverable
Shipping the apps was only half the job — a live PWA with no polish around it just doesn't get found.

Recent cleanup included:
A`` proper README.md with screenshots of each app, not just a text description

  1. MIT license added (code only — the characters and brand art stay separately owned)

  2. GitHub topics (education, pwa, kids-learning, quiz-app) so it surfaces in topic search

  3. A pinned profile repo and a real profile picture instead of the default identicon

Small things, but they add up to a repo that looks maintained rather than abandoned.

What's next

More apps are in active development on the hub. If you're curious about building AI-powered tools without a team or a dev environment beyond a phone, happy to answer questions in the comments — this whole thing has been one long lesson in working within constraints rather than around them.

🔗 Try the apps: randomtyms.github.io
📖 Follow the blog: lokeshvarsha.blogspot.com

Top comments (0)