AI / RAG
RecallAI
RAG-powered study assistant



Recall answers questions about your own class notes. Upload a PDF, markdown file, or text file, ask it something, and it replies using only what is in your documents, with the source files it pulled from listed under every answer. It grades its own output too, so you can see when it is guessing.
- 01You drop a file in. PDFs get their text extracted server side with unpdf. Anything over 5MB is rejected before upload, because the whole app runs on free tiers.
- 02The text is cleaned and split into 800-word chunks with 100 words of overlap, so a sentence that straddles a boundary still lands intact in one of them.
- 03Each chunk goes to Jina AI and comes back as a 768-dimension vector, stored in Postgres through the pgvector extension.
- 04When you ask a question, the question is embedded the same way, then a Postgres function does cosine similarity search over your chunks and returns the five closest ones. You can scope this to a single document or search the whole library.
- 05Those five chunks are passed to Llama 3.3 70B on Groq as context. The model answers from that context only, and the source documents get shown with the answer.
- 06Every answer is then scored by a second model call on faithfulness, relevance, and completeness. The scores are written back to Postgres and averaged on a dashboard, so answer quality is a number you can watch instead of a feeling.
Core
- Next.js 14 App Router
- React 18
- TypeScript
Styling
- Tailwind CSS with custom design tokens
- Four typefaces through next/font: Gabarito, Instrument Sans, Caveat, IBM Plex Mono
Graphics & motion
- Hand-rolled components on IntersectionObserver and CSS, no animation library
- A scroll reveal, a self-drawing SVG underline sized in em so it tracks the headline, and a highlighter sweep painted as a background so it strokes each line of wrapped text
- lucide-react: icons
Backend & data
- Next.js Route Handlers
- Supabase Postgres with pgvector and an IVFFlat index
- Jina AI embeddings (jina-embeddings-v2-base-en)
- Groq running Llama 3.3 70B for both answers and evaluation
- unpdf for PDF text extraction
Deploy
- Vercel