🎓 Profe PAES Tu preuniversitario gratis — A free AI tutor for every Chilean student preparing the PAES.

💡 Inspiration In Chile, access to quality PAES preparation is deeply unequal. Private preuniversitarios (test prep academies) cost between $500–$2,000 USD per year — a barrier for the vast majority of Chilean families. Meanwhile, the PAES (Prueba de Acceso a la Educación Superior) is the sole gateway to university.

Students from low-income backgrounds often face the exam with:

❌ No structured preparation ❌ No tutoring ❌ No one to ask when they're stuck on a problem at 11 PM

What if every Chilean student had a free, personal tutor available 24/7 — one that knows the official DEMRE curriculum, adapts to their gaps, and speaks their language?

That's how Profe PAES was born — a free AI-powered preuniversitario that democratizes access to quality test preparation.

📚 What it does Profe PAES is a mobile-first web app that acts as a personal PAES tutor. It covers all five PAES subjects:

Subject Code Matemáticas 1 M1 Matemáticas 2 M2 Comprensión Lectora CL Ciencias CIENCIAS Historia y Cs. Sociales HIST

Core Features 🧪 Diagnostic Test — A 7-question adaptive assessment that detects knowledge gaps across all subjects and generates a personalized study path 📅 Personalized Study Plan — A 14-day calendar of daily missions, prioritizing weak areas based on the official DEMRE temario 📖 Mini-Lectures — Preuniversitario-style lessons with clear explanations, key takeaways, and 3 PAES-level multiple-choice exercises (A/B/C/D) with instant feedback 💬 AI Tutor Chat — WhatsApp-style conversational tutor in Chilean Spanish, with clickable quick-reply suggestions 📸 Multimodal Input — Type, speak (voice recognition), or snap a photo of any exercise for the AI to analyze 🔊 Text-to-Speech — The tutor reads responses aloud for auditory learners 🔥 Progress Tracking — Streak counter, subject mastery levels, and a clickable study calendar

🛠️ How we built it Tech Stack Layer Technology Frontend Next.js 14 (App Router) + TailwindCSS AI Model Amazon Nova 2 Lite via Bedrock Converse API Database Amazon DynamoDB Hosting AWS Amplify (SSR) Amazon Nova 2 Lite — One Model, Five Use Cases Amazon Nova 2 Lite (us.amazon.nova-2-lite-v1:0) powers every AI feature through a single, unified Bedrock Converse API integration:

💬 Conversational tutoring — A carefully crafted system prompt makes Nova behave like a Chilean tutor: empathetic, motivating, using local expressions and analogies (la feria, la micro, el almacén). Responses are capped at ~80 words with clickable suggestion buttons. 📸 Multimodal image analysis — Students photograph textbook exercises and Nova 2 Lite analyzes them visually, identifying the problem type, extracting the question, and providing step-by-step guidance. 🧪 Diagnostic gap analysis — After the 7-question test, Nova analyzes results and returns structured JSON with gap levels ($0$–$5$) per subject and a recommended study path (humanista, científico, or mixto). 📅 Study plan generation — Nova generates a structured 14-day curriculum as JSON, mapping daily missions to specific DEMRE temario topics based on the student's gaps. 📖 Lesson generation — For each daily mission, Nova creates a complete mini-lecture with explanations, key points, and 3 verified PAES-level exercises with answer validation. Key Architectural Decisions localStorage persistence — Student profiles stored locally (no login required), removing all friction for students who might abandon a sign-up flow SSR-safe hydration — All localStorage-dependent rendering deferred to useEffect to prevent server/client mismatches on AWS Amplify Lazy AWS client initialization — SDK clients created on first API call (not at module load time) to handle Amplify's env var injection timing Build-time env var inlining — Credentials baked into the server bundle via next.config.ts since Amplify SSR functions don't receive runtime env vars

🚧 Challenges we ran into

  1. AI hallucinating wrong answers Nova would sometimes generate multiple-choice exercises where the marked "correct" answer was actually wrong. We solved this by adding explicit instructions in the prompt:

"Before outputting each exercise, solve it yourself step by step and VERIFY the answer is mathematically correct."

This dramatically reduced incorrect answer keys.

  1. Deploying Next.js SSR to AWS Amplify This was unexpectedly tricky:

Amplify reserves the AWS_ prefix for environment variables → renamed all credentials to BEDROCK_* Env vars in the Amplify Console are only available at build time, not SSR runtime → inlined them via next.config.ts aws-sdk/client-bedrock-runtime was leaking into the client bundle through a type import → extracted shared types into a separate types.ts file

  1. Hydration mismatches Client-side localStorage data caused React hydration errors when server and client rendered different content. We implemented a mounted flag pattern to defer all localStorage-dependent rendering.

  2. Keeping the AI "Chilean" Generic Spanish responses felt impersonal. We iterated on the system prompt to use Chilean expressions, tú instead of usted, and local analogies that resonate with students from all backgrounds.

🏆 Accomplishments that we're proud of ✅ Zero-friction onboarding — From opening the app to the first personalized lesson in under 2 minutes, no account required ✅ 100% powered by Amazon Nova 2 Lite — A single model handles chat, vision, diagnostics, curriculum planning, and lesson generation ✅ Real PAES content — The entire official DEMRE temario is encoded in the app, ensuring every lesson maps to actual exam content ✅ Deployed and live on AWS Amplify 📖 What we learned Prompt engineering is the product — The difference between a generic chatbot and a believable Chilean tutor came down to the system prompt. Small changes (limiting response length, adding suggestion buttons, forcing answer verification) had outsized impact on UX. Nova 2 Lite is surprisingly capable — One model handled conversational AI, structured JSON generation, image analysis, and curriculum planning. The Converse API made switching between use cases seamless. Deploying AI apps on AWS requires specific patterns — Lazy client initialization, build-time env var inlining, and careful module boundary management are essential for Next.js + Bedrock on Amplify.

🔮 What's next for Profe PAES 🔁 Spaced repetition — Track wrong answers and resurface them at optimal intervals 🗣️ Nova 2 Sonic integration — Replace browser TTS with Nova's speech model for natural, expressive tutoring 👩‍🏫 Parent/teacher dashboard — Let educators track student progress across a classroom 📶 Offline mode — Cache lessons for students with limited internet access 📝 Full PAES simulation — Timed mock exams with scoring and detailed analytics

Built With

Share this project:

Updates