Inspiration

I’m a full-time biotech operations leader, a working parent of four, and not a professional software engineer. In our house, school communication arrives through teacher emails, weekly principal newsletters, ParentSquare, FinalForms, PTO messages, sports teams, and more. A single newsletter can run thousands of words, while the part we actually need may be one form, one schedule change, or one registration link.

The problem is not simply inbox volume. School information has consequences: a missed waiver, early dismissal, practice change, or testing date affects a real child and a real family schedule.

Existing AI tools still make parents do too much work. Chatbots wait to be questioned, while inbox assistants often return another summary or notification feed. I wanted to explore a different model: an autonomous AI inbox that understands the family’s context, remembers what has already been handled, and presents only the remaining actions visually.

I built SchoolHub solo during this hackathon to solve a problem my own family faces and demonstrate what that future inbox could look like.

What It Does

SchoolHub connects to Gmail and monitors school-related sources while ignoring unrelated personal, work, and financial email. Scheduled background scans use Gemini to associate each update with the right child and extract forms, events, payments, academic notices, sports activities, deadlines, and source links.

Instead of producing another block of generated text, SchoolHub creates a visual action list. Parents can filter the dashboard by child, open the original source, complete a task with one click, dismiss irrelevant topics, and restore archived items when needed. SchoolHub also labels and archives processed school messages so the main Gmail inbox becomes quieter.

Three things make it more than an email scraper:

  • Visual, not conversational. The result is a purpose-built family dashboard, not a prompt box or sidebar summary.
  • Stateful, not repetitive. Completed items stay completed. Dismissed topics become semantic preferences, allowing the system to suppress similar noise even when future emails use different wording.
  • Contextual, not manually configured. SchoolHub can discover teachers, classes, activities, and contacts from email content and build useful child profiles without requiring parents to enter everything upfront.

The goal is simple: parents should see what still needs attention, not reread everything that has already passed through their inbox.

How I Built It

The interface is built with React, TypeScript, and Vite, with a responsive layout designed for rapid visual triage. The AI layer uses Gemini Flash models and structured outputs to turn inconsistent email formats into predictable records the interface can render.

The backend runs on Google Cloud Functions, with Cloud Scheduler enabling hands-off processing. Firestore stores child profiles, action state, suppression preferences, and deduplication memory, while Secret Manager protects credentials. Gmail integration uses OAuth and the Gmail API for ingestion, labeling, and archiving.

I also built parallel model routing to improve responsiveness and resilience. Raw email text is processed ephemerally; SchoolHub persists the structured state needed by the dashboard rather than building a second archive of raw messages.

I built and deployed the project solo using Antigravity to accelerate development. It allowed me to move quickly, while I remained responsible for the product decisions, architecture, testing, and user experience.

Challenges I Ran Into

  • Turning messy communication into reliable actions. School emails rarely follow a standard format. One message can mention multiple children, grades, dates, and links. I had to design extraction rules that distinguish an event date from a form deadline and connect each action to the correct child.
  • Preventing “zombie tasks.” Reminder emails can recreate work a parent has already completed. Solving this required persistent state and closed-loop memory, so completed actions remain resolved and duplicate notices merge into the existing item.
  • Balancing autonomy with trust. Email bodies and user-supplied text must be treated as untrusted input. I added source restrictions, prompt-injection defenses, ephemeral raw-email processing, and inspection tools so the agent’s behavior remains understandable.

Accomplishments I’m Proud Of

I am most proud that SchoolHub works as an end-to-end autonomous loop: it discovers context, processes new school communication, updates Gmail, maintains memory, and prepares a useful dashboard without waiting for a prompt.

I also created a no-login demonstration mode so judges can experience the product with representative unstructured newsletters without connecting a personal inbox.

Most importantly, I turned a recurring problem in my own home into a deployed cloud prototype—solo, during the hackathon, and without a traditional software-engineering background.

What I Learned

The biggest lesson was that the interface is not decoration around an AI agent; it is what makes the agent useful and trustworthy. A well-written summary still leaves a parent with work. A visual action board creates clarity.

I also learned that memory matters as much as extraction. An inbox becomes genuinely intelligent only when it knows what the user completed, what they dismissed, and what still requires attention.

Finally, agentic development tools dramatically increased how quickly I could build, but speed did not replace product judgment. The hardest decisions were still deciding what the agent should do, what it should remember, and how much control the parent should retain.

What’s Next

I plan to keep using SchoolHub with my own family, refine its extraction and privacy controls, and explore an optional local-only mode for families that prefer no cloud persistence.

The larger vision extends beyond school communication. SchoolHub is a proof of concept for a future AI inbox built from purpose-specific visual canvases: school actions, bills and subscriptions, travel plans, and health appointments. Instead of making users interrogate a chatbot or read generated summaries, the inbox should quietly organize life and surface the right action at the right moment.

Built With

  • agentic-ai
  • antigravity
  • cloud-firestore
  • cloud-run
  • cloud-scheduler
  • firebase
  • gemini-3.7-flash
  • gemini-api
  • gmail-api
  • google-cloud
  • google-cloud-functions
  • google-secret-manager
  • node.js
  • oauth2
  • react
  • structured-outputs
  • typescript
  • vite
  • zustand
Share this project:

Updates

Submission history