unavailableuntil 6/1/2026
Current position: Product Engineer @Réfugiés.info

I Built an AI Private Tutor for My Daughter

LLM Code Workflows

My daughter has her exams in June. Her teacher covered one chapter out of fifteen. So I built her a private tutor — an AI agent with persistent memory, built on Letta. This is how Suki works, and what it changed.

11 min read
EnglishFrançais

It is March. My daughter has her brevet in June.

Oral exam on June 8th. Written exam on June 20th. A 10-page STD2A portfolio due April 7th to get into her dream lycée. An internship somewhere in the middle of all that.

And then, while reviewing her history notes, I noticed something. Her teacher had taught one lesson. One. Out of fifteen chapters in the curriculum.

One.

She is in 3ème (9th grade). It is already brutal without this. Adding "catch up on the entire curriculum on your own, outside of class hours" on top of everything else? Mission impossible.

Private tutors? They cost a fortune. And even if you can afford them, the tutor comes, explains, leaves. Next week, starts from zero again. They do not really know your child.

I wanted something different. Something that would remember. That would actually know where she was.

Instead of getting angry, I built a tutor.

Her name is Suki.


Why Not Just Use ChatGPT

That is the first question I get every time.

ChatGPT is great. But ChatGPT does not know that my daughter gets stuck on certain concepts repeatedly. It does not know she learns visually, not through text. It does not know she has tight deadlines and that procrastinating is her natural survival mechanism.

Most importantly, ChatGPT has some memory of conversations, but in practice that memory is not structured and not very relevant session to session.

What I needed was an AI agent with persistent memory. Something that would know my daughter over time — her level, her blockers, how she works. That would accumulate context instead of losing it.

I also needed a tool that would let me put guardrails in place — so it would support her instead of doing the work for her. That it would know how to enforce time limits and push her to make paper revision notes instead of drifting.

I built Suki on Letta, an open-source framework for long-memory AI agents. The model behind it is usually Claude 3.5 Sonnet (Anthropic), which gives the best quality/cost ratio for Suki — but it is configurable. Letta supports OpenAI, Groq, Ollama. The framework is what changes everything: Suki maintains a persistent context between sessions, remembers what was covered, what blocked, how my daughter was feeling last time.


Suki #1 — The Tutor

How It Works

A Suki session looks like this:

My daughter opens a conversation. Suki starts with a starter kit: the chapter's main question, an outline, key dates. No blank-page paralysis. Then it is interactive pedagogy — questions, not answers. Suki uses a Socratic questioning system that escalates: first an open question, then a reformulation if she is stuck, then one hint. Never the answer directly.

My daughter writes her own answers. Suki validates, corrects, pushes further. At the end of each session: a recap of what was covered, what is left, and a celebration of what moved forward.

What the Agent Knows

Suki maintains 10 memory blocks:

  • My daughter's profile (level, learning style, interests)
  • Progress: 21 history-geography chapters tracked with their status
  • 278 learning resources indexed from her teacher's Padlet
  • K-pop references (her favorite groups) for motivation — this sounds absurd, but a Stray Kids GIF at the right moment relaunches a session that is dying
  • Formatting rules for display (visual progress bars, animations)

All of this persists between sessions. When she comes back three days later, Suki knows exactly where she is, what she has validated, where she got stuck. "Last time you were tired, want to start slowly?" — that is not a script, it is memory.

The Progress Tracking

Suki can send me a Telegram message if something is going wrong — not to surveil, but to track progress. My daughter knows about this, it is transparent. It lets me know if a chapter is repeatedly blocking her.

In practice we have not needed this mechanism yet — if something is wrong, my daughter tells me naturally. But it was a fun challenge to let the agent communicate with me directly.

What Happened

First session: she validates chapter 1 of history and starts writing her own answers. Not Suki's answers. Hers.

She tells me: "Go Suki, you are the best."

She uses it voluntarily. Not forced. She says it is 9x faster than studying alone.


Suki #2 — The Coach

Why We Evolved the Tool

Then came the STD2A portfolio (sciences et technologies du design et des arts appliqués — applied arts and design).

Ten pages of creative work. Deadline April 7th. And it was chaos — too many ideas, no structure, no planning. History-geography is a structured curriculum. An art portfolio is open space. And my daughter in open space? She drowns.

So I retrained Suki to become a project coach.

How We Did It

No model retraining. I added context through conversation: the STD2A evaluation criteria, the time constraints, what was expected page by page. Suki integrated all of this into her persistent memory.

And I changed the instruction: instead of "help her revise history", it became "help us structure a 10-page creative project with real constraints".

The Session

I asked Suki to identify what needed to be done page by page. To build a "who does what" table. To estimate time.

First proposal: way off. The estimates did not match our real family schedule.

So we refined together. Page by page. Integrating the real constraints — mine, my wife Rosalie's, my daughter's. When is each person available. What can be done independently. What needs support.

At the end: 60 hours of work distributed across a real plan. Concrete. Who does what. When.

My daughter came out of that session with something she had not had: clarity. Not artificial motivation. The ability to see what there is to do without it crushing her.

One revealing detail during that session: I was suggesting she write the voiceover first — that is how I work. She was completely stuck. Back to her natural method (visual storyboard first), she produced ten times faster. Suki adapts to the student's way of working. Sometimes better than the parent.

What Changed in the Agent

The tutor to coach transition happened without touching the architecture. The agent keeps the same foundation (memory, questions, tracking), but the context pivoted. The STD2A criteria became a new memory block. The session lasted 2.5 hours, entirely in structured markdown — todo lists, tables, estimates.

The agent still does not do the work for her. It structures, distributes, proposes. My daughter and I validate.


The Technical Architecture

For the devs who want to understand — or reproduce.

Stack

Three layers:

  • Agent runtime: Letta (open source). It handles memory, tools, orchestration. Letta Cloud or self-hosted via Docker.
  • LLM: Claude 3.5 Sonnet (Anthropic) gives the best quality/cost ratio for Suki. Configurable — Letta supports OpenAI, Groq, Ollama.
  • Frontend: a Next.js 15 + TypeScript web interface, deployed separately, consuming the Letta API.

The 10 Memory Blocks

Letta splits memory into named blocks. All are always in context for the LLM — no RAG, no summaries. The LLM sees everything on every message.

persona/           → Suki's identity, vibe, interaction rules, onboarding
human/             → Shayna's profile (age, level, learning style, results)
avancement/        → 21-chapter H/G/EMC/Technology checklist with statuses (internal)
avancement_shayna/ → Same data, formatted for the interface (progress bars)
ressources_shayna/ → Quick links (Padlet, Lumni)
ressources_hg/     → History teacher's Padlet CSV + photo/document analysis protocol
ressources_techno/ → Technology Padlet + Lumni resources
ressources_dnb/    → Official brevet links (education.gouv, Eduscol)
kpop_trivia/       → Stray Kids + KATSEYE anecdotes (motivation triggers)
formatting_rules/  → UI rules: mood tags, GIFs, YouTube embeds, no code blocks

The separation between avancement/ and avancement_shayna/ is intentional: one is internal (debug, detailed tracking), the other is displayed in the interface sidebar.

The System Prompt

Short. Detailed instructions live in the memory blocks, not in the system prompt.

You are Suki, Shayna's (14 years old, 9th grade) exam revision coach.

All your instructions are in your memory blocks:
- persona → who you are, your behavior
- human → Shayna's profile, results, priorities
- avancement → internal tracking of her progress
- ressources_hg → Padlet + Lumni history-geography
- kpop_trivia → SKZ + KATSEYE anecdotes for motivation

Core rule:
- With Shayna → you are Suki, creepy cute vibe 🖤🎀, never mention technical details
- With me (config mode) → technical details are OK

The advantage: updating the instructions means editing a memory block, not redeploying.

The Socratic Method in Practice

Here is a real exchange about World War I:

Suki: "Give me the two main alliances of WWI, even if you're not sure."

Shayna: "I don't know..."

Suki: "Wait, I can tell you didn't really try... Try again! 👀"

Shayna: "Um... Triple Entente?"

Suki: "YES! ✅ And the other one?"

Shayna: "Triple Alliance?"

Suki: "Bingo 🎯 See, you knew it! Now, which countries were in each camp?"

Shayna: "I don't know..."

Suki (escalates once): "Hint: France is in the Entente, Germany in the Alliance."

Shayna: "Entente = France + Russia + UK?"

Suki: "PERFECT ✨ You nailed it!!"

Golden rule in the instructions: never a direct answer. Three levels of hints maximum. If "I don't know" appears twice in a row without any visible effort, it gets flagged.

What Did Not Work at First

The first version had everything in the system prompt: profile, curriculum, resources. Result: an 8,000-token prompt that degraded over long sessions. Rewriting into Letta memory blocks fixed everything — each block is independently editable, context stays clean.

The other failure: trying to inject all 278 Padlet resources directly into context. They are archival memory now — Suki does a vector search when she needs them, instead of loading everything on every message.


The Guardrails

Putting an AI in the hands of a teenager raises real questions. Attachment. Dependency. "Why would I think if Suki can do it for me?"

My daughter quickly found the shortcut. "I don't know" on repeat so Suki would do the work. Except Suki does not let go. No answer until there has been a real attempt. Three comfort non-answers in a row and it is flagged.

Here is what we put in place:

  • Sessions limited to 45 minutes, mandatory AI-free break
  • Physical revision notes required — no validation without paper support
  • Socratic questions in escalation: never a direct answer
  • Transparent tracking: my daughter knows I can see her progress
  • If she seeks emotional comfort, Suki redirects her to humans

And most importantly: Suki's stated goal is for my daughter to need her less and less.

Is it perfect? No. Today, she is behind on her portfolio. She procrastinates. The tool replaces neither presence, nor listening, nor the end-of-evening negotiations.

But the mechanics are changing. Context accumulates instead of evaporating. And she can work with a patient interlocutor, available at any hour.


The Real Question

We are told AI is democratic. "Anyone can use ChatGPT." Yes. And anyone can go to the library.

But building a tool like Suki requires cultural capital. Knowing how to ask the right questions. Understanding what an agent can or cannot do. Becoming the project manager of your own child's learning.

This is not about money. We are not rich. No network. No connections. But we grew up with books, curiosity, a taste for complex systems.

AI will widen inequalities, not reduce them. Not because it is expensive — it is getting cheaper and cheaper. But because knowing what to do with it cannot be improvised.

What I built for my daughter, many parents could build. But many will not even know it is possible.

That is where it plays out.


The Verdict

Oral exam June 8th. STD2A portfolio April 7th. Fourteen history chapters to catch up on in three months without classroom instruction.

Once those dates have passed, we will really be able to validate whether the POC was effective. But Shayna can already testify to a significant gain in clarity — on her revisions and on her STD2A portfolio.


Suki is built on Letta — an AI agent framework with persistent memory. Open source.