← All work

Case 02 of 05 · Personal project · AI Study Companion App (Next.js + LLMs)

Edniv

An AI study companion he built for his little brother, who lives far away.

Edniv is an AI study companion Yassine Amraoui designed and built for his younger brother Rayan: every evening Rayan explains his lesson by voice or text, an AI scores the explanation against a rubric that must quote his own words, and Yassine, who lives far away, sees what was actually understood.

Year
2026
Type
Personal project
Role
Product, UX/UI, brand and mascot, AI engineering, development, launch film
Built with
Next.js, TypeScript, PostgreSQL, Claude, Gemini, OpenAI-compatible
See it
Visit the app ↗
Written, animated and scored in code. In French, with voice-over.

Act 1 · Before

Did you revise? Yes. Always yes.

His younger brother Rayan lives far from him. Every evening the same message went out, "did you revise?", and every evening the answer was yes, which says nothing. The brief he set himself: a study companion that answers a harder question, can Rayan explain the lesson, apply it and still remember it later, and that tells a big brother far away what actually happened.

  • Built for one real student, on his own time: his brother.

Act 2 · The work

How he built it

Structure

One loop, every evening

The product was mapped as one evening loop before any screen existed: the timetable, a check-in, a photo of the notebook page, the lesson confirmed, an explanation by voice or text, a scored rubric, a few verified exercises, then mastery and the big brother's view. Two apps share it: Rayan's, desktop-first with a phone layout, and Yassine's dashboard.

  • The timetable narrows tonight's lesson to a handful of candidates, so the notebook photo is context, not a transcription problem.
  • French interface, with Arabic right-to-left built in from the first component.
Rayan's handwritten weekly timetable: maths, Arabic, sport, music and English, with "Réviser chaque soir !!" written underneath.
Where the loop starts: his real timetable.
System

A companion, not a teacher

Edniv got its own identity: a round purple robot, a soft palette and a voice that never scolds. A day without study is declared, not hidden: "C'est noté, ce n'est pas grave. On reprend demain." The streak is protected, so honesty never costs anything.

  • Challenges set by Yassine come with a real reward, like an outing together.
The Edniv logo beside its purple robot mascot, with the line "Son compagnon d'étude, au quotidien".
Edniv: a study companion with its own face.
Craft

Explaining, not reciting

The heart of the experience is Rayan explaining the lesson in his own words, by voice or in writing. The AI never invents a percentage: it fills a four-criterion rubric, and every point it awards must quote something Rayan actually said. Reading the notebook aloud is caught: when most of the explanation matches the page word for word, the session is flagged and he is asked to say it again without looking.

  • No quote, no credit: every score can be checked by the person reading it.
Edniv recording Rayan's spoken explanation of fractions, with the waveform and his words transcribed.
Rayan explains the lesson out loud, in his own words.
Build

Measured in code, not guessed by a model

Built in Next.js and TypeScript on PostgreSQL. Mastery is computed in code from stored evidence, with a forgetting curve so cramming fades and spaced success stays. Three AI engines sit behind one interface, Claude, Gemini and any OpenAI-compatible provider, chosen in settings; keys are encrypted at rest and the cost of every call is tracked. 88 automated checks cover the measurement and the access control.

  • A labelled evaluation set decides which model grades best: same cases, same prompts, one variable.
An Edniv score card for fractions: four criteria, each one proven, with a score per criterion.
Four criteria, each one proven with his own words.

Look closer

Click a number

A goes and stands on it, then explains the decision.

Edniv on two screens: Rayan picks tonight's subject, maths and fractions, while Yassine's side shows the notification "Rayan m'a expliqué « Les fractions »" and a week of explained sessions.

Act 3 · After

A message worth receiving

An evening routine that reports understanding instead of attendance: explanations scored with evidence, recitation caught, mastery tracked over weeks, and an honest message to a big brother far away.

The evening message changed. Instead of "yes", Yassine now gets "Coucou Yassine ! Rayan m'a expliqué « Les fractions »", with what was understood and what to review. He also wrote and animated the launch film in code, and composed its score the same way.