Inspiration

I am not a teacher or a software engineer. I am a father of four young children.

As they grow up, I can already see the problem coming.

One school year, there will be four children in four different grades, sitting at four different desks, learning four different lessons. One may be doing fractions, another geometry, another physics, and another something I have already forgotten from school.

I cannot sit beside all four of them at the same time.

Even when I have time, I may not remember the right way to explain every lesson. Giving a child the answer is easy. Understanding where the child is stuck, explaining it in a way that makes sense, waiting for another attempt, and knowing when to give a hint is much harder.

That is why I started Gia Sư AI.

I did not want to build another chatbot that solves homework. I wanted each of my children to have something closer to a patient tutor sitting beside them: following the lesson, using a learning board, remembering where they stopped, and helping without immediately giving away the answer.

But while building it, I ran into another problem.

How could I trust an AI to teach my children?

An AI can give the correct final answer and still teach badly. It can reveal the solution too early, skip over a misconception, explain the wrong idea, or confidently make a claim that is not supported by what actually happened in the lesson.

I want to know how it taught, what evidence it used, what went wrong, and whether a mistake that was already corrected can come back later.

That became the focus of my OpenAI Build Week submission.

What it does

Gia Sư AI is a one-to-one AI tutoring platform for Vietnamese students.

In the demo, a synthetic Grade 6 student learns the fraction 3/4 on a persistent learning board.

The student gives a wrong answer first. The tutor does not immediately reveal the solution. It gives a hint, lets the student think and try again, and then verifies the corrected answer.

The lesson can survive a page refresh and resume from the same state without losing the student’s progress or drawing the learning board twice.

After the lesson, the accountability flow begins:

  1. The system creates a privacy-bounded snapshot of the synthetic lesson.
  2. Gia Su AI reviews the teaching evidence in a structured format.
  3. Deterministic validation checks whether each finding points to real lesson events and learning objectives.
  4. Parent can accept, edit, or dismiss the finding.
  5. An accepted or edited correction becomes a reusable regression test.
  6. Quality Assurance Lab replays that test and records an explicit PASS or FAIL.

This means a parent, educator, or product owner does not have to leave a correction inside a forgotten chat or document.

The correction becomes something the system can test again after a prompt, model, or code change. If the same teaching problem returns, QA Lab can detect it.

The AI does not get to approve itself. It cannot automatically change student mastery or release learning content. Human authority and deterministic checks remain in control.

How I built it

Gia Sư AI uses React, TypeScript, Vite, Node.js, Firebase, Firestore, Cloud Functions, Playwright, Gemini Live, the OpenAI Responses API, and GPT-5.6.

Before Build Week, the project already had a working foundation:

  • Persistent lesson sessions
  • Guided learning
  • Live AI assistance
  • A semantic learning board
  • Answer verification
  • Progress tracking
  • Parent learning reports
  • Protected administration tools

During Build Week, I focused on making the teaching process more inspectable and accountable:

  • Privacy-bounded synthetic lesson evidence
  • Structured GPT-5.6 teaching review
  • Fail-closed evidence validation
  • Human accept, edit, and dismiss controls
  • Regression-test generation
  • QA Lab replay
  • An automated browser-driven classroom demo
  • Reproducible tests and submission evidence

I used Codex heavily throughout the process.

I am a low-tech founder working with a large codebase, so Codex helped me inspect the existing system, trace old decisions, implement new contracts, write tests, automate the classroom demonstration, investigate failures, and assemble the submission package.

But I made the product decisions myself.

I decided what kind of tutor I would allow near my children, what data it must never use, what the AI is allowed to suggest, what it is not allowed to decide, and where a human must remain responsible.

Challenges I ran into

Honestly, the project was messy.

During the week, I changed direction several times and rebuilt large parts of the system. At different moments, I was working on the learning board, lesson content, visual generation, independent review, Admin workflows, QA Lab, and the student experience.

The project became too large, and I had to stop asking, “What else can this system build?” and start asking, “What would actually make me trust this system. But for my children, and for parents like me, I will try my best to complete and develop it. I'm doing this alone, but I hope that after submitting my work here, I will gain more confidence and find more people with similar ideas to develop together. For the future of our children.

Built With

Share this project:

Updates