Inspiration

As students, we’re often overwhelmed by massive textbooks, dense lecture slides, and endless PDFs. Traditional studying usually means hours spent manually writing out flashcards before we can even begin testing ourselves. I wanted to build a tool that bridges the gap between passive reading and active learning: a system that reads complex study materials and instantly converts them into an interactive, spaced-repetition study environment. That’s how Synaptic was born!

What it does

Synaptic is an AI-powered study workspace that transforms static PDFs and learning materials into living study decks:

Instant PDF Parsing: Upload study guides, textbooks, or notes, and Synaptic extracts key concepts automatically.

Smart Flashcard Generation: Users can generate tailored flashcard decks (from 5 to 20 cards) powered by fast LLM inference.

Live Web Research: Integrated with Tavily for real-time web search and context enrichment when study materials need extra depth.

Spaced Repetition & Auth: Secured with Supabase authentication so students can track their study decks and progress over time.

How I built it

Frontend: Built with a modern, responsive web UI utilizing Tailwind CSS for styling.

Backend: Express application structured to run as serverless functions on Vercel.

AI & Search: Integrated OpenAI (gpt-4o-mini) for low-latency JSON card generation and Tavily API for live web research.

Database & Auth: Supabase for user account management and data storage.

PDF Processing: Refactored PDF parsing using pdf2json for serverless Node.js stability.

Challenges I ran into

Building Synaptic came with a steep learning curve:

Serverless Environment Crashes: Early on, heavy native PDF parsing libraries (pdfjs-dist and native canvas bindings) crashed on Vercel with 500 status codes and missing browser DOM globals (DOMMatrix). I had to refactor the backend to lightweight Node-native alternatives like pdf2json and rewrite byte-buffer handling to eliminate memory offset issues.

API Route Fallbacks & SPA Routing: Resolving SPA routing rewrites on Vercel to ensure /api routes returned clean JSON instead of default HTML fallback pages (<!DOCTYPE html>).

Latency & Timeout Optimization: To handle dynamic flashcard requests (5, 10, 15, or 20 cards) within strict serverless execution limits, I optimized system prompts and token caps so responses stream back reliably without timing out.

Accomplishments that I'm proud of

Building this at 16 years old: As a 16-year-old entering my very first hackathon, stepping into full-stack web development, serverless architecture, and AI API integrations was a huge leap forward!

First Time Working with AI: Successfully prompting, parsing, and structured-formatting JSON responses from LLM endpoints for a real-world application.

100% Test Pass Rate: Resolving native dependency crashes, achieving passing regression test suites, and delivering a live, production-ready Vercel deployment.

What I learned

How to architect serverless Express backends that conform to stateless cloud deployments.

The nuances of AI token budgets, system prompt constraints, and structured JSON outputs.

Debugging cross-environment production bugs using browser developer tools, Vercel logs, and unit testing.

What's next for Synaptic

Supercharged Spaced Repetition: Implementing an automated SuperMemo/Anki-style algorithm (SM-2) for optimized review schedules based on confidence scores.

Interactive Quiz Mode: Expanding beyond flashcards into multiple-choice and fill-in-the-blank practice tests.

Collaborative Study Rooms: Allowing students to share generated study decks with classmates.

Built With

Share this project:

Updates

Submission history