← Home

About TLC

A lesson-building tool with a point of view.

TLC was built for the Gemma 4 Good Hackathon (Impact Track). It answers a specific question: what does an AI lesson-builder look like when it’s scoped to a single honest job and given structure instead of chat?

Why two Teacher’s Assistants

One-pass lesson generation is usually flat. Every section sounds the same because one model is doing every job. TLC splits the work across two specialist Teacher’s Assistants:

Hunter

Hunter

Structure & rigor

The lesson architect. Objective, lesson steps, assessment, answer key, time allocation. Direct. Precise. Doesn’t soften.

Christine

Christine

Depth & engagement

The pedagogue. Engagement, demonstrations, teacher notes, discussion prompts, misconception recovery. Warm. Practical. Specific.

They’re not style skins on the same call. They’re separate Gemma 4 invocations with separate system prompts and separate ownership areas. A review layer audits both before the final package is assembled.

What Gemma 4 does here

Every lesson takes five Gemma 4 calls: two in the Build phase (Hunter and Christine in parallel), one in the Review phase, two in the Package phase. All use function-calling so the output is structured JSON, not free text. If a call doesn’t honor the schema, we retry once with the validation error in the prompt. If that also fails, we surface a clean error — we never fabricate output.

Every content field in every lesson carries a source_origin label: grounded (traces to teacher’s source), scaffolded (source shaped structure), or generated (open generation — teacher should review). Teachers see the labels inline. Transparency over magic.

Privacy

  • No login. No teacher accounts, no emails collected, no tracking.
  • Lessons kept for 30 days.Each lesson lives at a private UUID URL. After 30 days it’s deleted. You can share the URL freely while it exists.
  • Uploaded source material kept for 1 hour.If you upload a PDF or paste source text, it’s used to build your lesson and then deleted. A content hash is kept briefly for deduplication but never the text.
  • IPs never stored raw.Rate limiting uses a daily-salted SHA-256 hash — it’s stable for you for 24 hours, not reversible to an IP, and rotates out.
  • All code is open source. MIT license. Everything — schema, prompts, orchestration — is in the public repo.

Credits

Built for the Gemma 4 Good Hackathon, Impact Track. Model: Gemma 4 via Google AI Studio. Stack: Next.js + Tailwind + Prisma + Neon Postgres + Vercel. Two Teacher’s Assistants, one goal: teachers get a lesson they can teach tomorrow.