Fernando Oviedo
Projects
October 14, 2026apunto.fernandooviedo.site

Apunto - Degree-based study assistant for Argentine university students

Students build the map of their degree with its prerequisites, upload their notes per subject and study with an AI that explains, asks questions and cites the page behind every answer. It works for social-science degrees and for math-heavy ones.

Apunto - Degree-based study assistant for Argentine university students
Live view
An Argentine university student keeps material scattered across PDFs, photos of the blackboard, scanned notebooks and loose notes, with the study plan somewhere else. General-purpose AI tools answer well, but they don't know which subject the student is in, what is missing before the next one, or what their own notes say. File libraries and Notion store everything and study nothing. Apunto organizes studying around the degree and the student's own material, in Rioplatense Spanish.
The student builds the map of their degree from the official study plan, with its prerequisites (the Argentine "correlativas"), or from a custom path. The roadmap shows which subjects are done, which are left and which unlock next. It is drawn with React Flow, and dagre lays out the prerequisite graph. The public catalog holds 64 degrees from 7 universities and can be browsed without signing up. A reconciler builds it by reading official study plans from a registry, and a person reviews and publishes the result. A paid AI run needs an explicit budget and a yes: without the command exits with code 2 and refuses to spend.
Each subject takes PDFs, photos and notes in Markdown or text, organized by unit. A vision model transcribes scanned or handwritten pages, six pages at a time. If a page fails, the document doesn't: the page is flagged and the rest continue. The worker renews its lock after every page, so a long scan isn't claimed twice by another process, and an interrupted job resumes keeping the pages already read.
A session opens the documents in tabs with the AI studio beside them: a tutor chat that answers only from the session's files and cites where each answer comes from, plus a summary, concept map, mind map, flashcards with spaced review, a timed quiz and step-by-step practice exercises. Math renders with KaTeX, so it works for a Physics or Engineering course as well as for a Sociology one. The student also picks a study style: theory-first, visual-first or practice-first. That preference shapes every generation.
The AI is built to help the student learn: it explains, asks questions and cites the page. It is not built to do their work or to help them cheat. The backend is a monorepo of hexagonal packages (core, contracts, db, persistence-drizzle, ai-mastra, ui). The AI runs on Mastra and the AI SDK through OpenRouter, with the model configurable per task: main, fast and OCR. Auth is Clerk and data lives in PostgreSQL with Drizzle. Tests use Vitest with PGlite integration tests and mock AI models, so they run offline and spend no tokens.
Live, early stage: you can sign in and use the product. I built it solo, end to end. Try it at apunto.fernandooviedo.site.