— Project 01 · Case study

Memivo

I read constantly and forget most of it within a week. Memivo automates the one habit that actually fixes that.

Next.js TypeScript Groq / Llama 3.3 Supabase Tailwind Live
memivo.app
Memivo login screen — clean, minimal design with magic link auth

Reading without remembering.

I was going through a lot of material (articles, PDFs, documentation) and retaining almost none of it. Spaced repetition systems like Anki work well, but they require you to manually write the flashcards, and that's the step most people skip, myself included.

I wanted something that removed that step entirely. You paste a URL or drop a PDF, it reads the content, generates the cards, then schedules when you review each one based on how well you actually know it. The learning happens automatically; you just show up.

The interesting challenge was card quality. Generate flashcards for an entire document at once and you get vague, surface-level questions nobody wants to study. Chunking the document first, then generating cards per chunk so each one stays grounded in a specific passage, fixed almost all of it. The cards that come out now are sharp enough to actually test you, not just remind you a topic exists.

The things that surprised me.

01

Smaller chunks, better cards

Generating cards from small, focused passages instead of the whole document was the single biggest quality improvement I made. Feed the model a whole document and you get vague, generic paraphrases. Feed it one paragraph at a time and the cards stay grounded in something specific. The difference showed up immediately.

02

SM-2 took more tuning than the AI part

The spaced repetition algorithm looks simple on paper, just a formula and a few multipliers. Getting the ease factor right so hard cards don't pile up into a dreaded backlog took way more iteration than I expected going in. Once it clicked, review sessions stopped feeling like a chore.

03

Nobody hesitates at a magic link

Switching to magic link auth got rid of the "I'll sign up later" excuse almost completely. There's no password to invent or forget, so signing up stopped being something people put off. Coming back is just as easy, and that matters more than the first visit ever does.

04

I was my own toughest tester

I built Memivo partly because I needed it myself, which meant I was using it daily from day one. Bugs that would've slipped through a normal test pass got caught fast, because I actually cared whether the cards it generated were any good. Needing your own product changes what you bother to fix.

What it's built on.

Next.js

App router for routing and server components. API routes handle PDF extraction, card generation, and SM-2 scheduling serverside to keep model keys off the client.

Groq / Llama 3.3

Groq's inference speed makes card generation feel instant. There's no spinner, no waiting for a model to warm up. Llama 3.3 produces consistent, structured JSON output for flashcard pairs.

Supabase

Postgres for decks, cards, and review history. Row-level security ensures users only ever see their own data. Auth is handled via magic links through Supabase Auth.

unpdf

Server-side PDF text extraction. Handles multi-page documents, strips formatting artifacts, and outputs clean text ready for chunking.

TypeScript

End to end. The SM-2 algorithm and card generation pipeline are both typed, which catches schema mismatches between the model output and the database before they ever reach production.

Tailwind

Utility-first styling. The dashboard and review UI are built entirely with Tailwind, keeping component styles co-located with the markup.