Inspiration

Learning-science research consistently shows that error detection and correction ("erroneous examples") produces deeper encoding than studying correct material, but no consumer app has ever made the lie itself the core mechanic.

What it does

What Liesson does is it incorporates this exact study method into anything you want to learn or practice. It follows the pattern of inviting you to spot different errors in different answers and then shows you how precise you are as well as explaining why something is or is not correct.

How I built it

GPT-5.6 does the actual thinking here, it writes the lesson, decides how subtle each error should be based on a five-tier scale I worked out (from "obviously wrong" up to "sounds completely correct unless you really know the material"), and later grades whether a learner's explanation actually held up, not just whether they clicked the right sentence. I went with the Terra tier instead of the flagship one mostly because this app makes two model calls per lesson, and I didn't want a demo that costs real money every time someone tries it, without giving up the subtlety the harder tiers need.

Codex did basically all of the engineering. I ran it through the CLI in one long session and let it build the Next.js app, wire up both API routes to strict JSON schemas, and handle the session data so the "which sentence is the lie" answer key stays encrypted server-side and never gets shipped to the browser. Later in that same session it added rate limiting through Vercel KV once the app was actually going to sit behind a public link, and then the teacher-upload feature — including the call to extract PDF and text content entirely in the browser, so uploaded files never touch my server at all, just the text that comes out of them.

Challenges we ran into

Making sure the "true" parts were actually true. This is the part I worried about most. If the app is going to lie to you on purpose, everything that isn't a planted lie has to be solid. I added a step where the model has to go back and re-check every sentence it didn't flag as an error before it's allowed to return anything.

Not letting a public demo drain my API key. Once there was a real, funded key sitting behind an unauthenticated link, rate limiting stopped being optional. I built a per-visitor cap plus a shared daily budget using Vercel KV, and mid-build discovered Vercel had actually deprecated their old native KV product for a marketplace integration, so I had to figure out which environment variable names the new setup actually used before anything would connect.

Accomplishments that I'm proud of

To be able to bring forth an underrated side of learning to the world of AI

What I learned

There is much more to building an app than just the idea.

What's next for LIESSON

The expansion of features, statistics and the implementation of ranks to further gamify and enhance the enjoyment of the app. Potential partnerships with schools, exam boards, tutors etc.

Built With

  • codex
  • gpt-5.6
  • nextjs
  • node.js
  • openai-api
  • playwright
  • pwa
  • react
  • responses-api
  • structured-outputs
  • tailwindcss
  • typescript
  • vercel
  • vercel-kv
  • vitest
  • zod
Share this project:

Updates