Project Info
Inspiration
We’ve all had that “I used to know this” moment, whether it’s preparing for an interview, helping out a friend with homework, or revisiting a college topic we once mastered. Knowledge fades quickly without repetition, yet existing tools like flashcard apps don’t adapt well to richer learning media like lecture videos, articles, handwritten notes, PPTs, PDFs, and more. Dawned was born out of the desire to make knowledge retention effortless. It combines spaced repetition, AI-generated study content, and playful, periodic reminders that keep your learning “fresh,” long after you’ve finished a course.
What it does
Dawned helps you retain what you’ve already learned through smart, periodic micro-reviews. User Input: Upload your notes, PDFs, images, articles, or lecture videos into Tags (topics). Behind the scenes, an AI extracts and summarizes key ideas to create flashcards, quiz questions, and discussion prompts. User Interaction: Each day, Dawned sends you a short “challenge,” which includes a mix of flashcards, quiz questions, and a “tutor-a-student” chat where you teach an AI student. Your confidence ratings and explanations drive a spaced repetition algorithm that adapts to your progress. Analytics: A beautiful dashboard visualizes your mastery over time using a time-of-day motif, from twilight (foggy memory) to dawn (concept clarity). Weekly digests summarize how your knowledge is “dawning” across tags.
How we built it
Frontend: Built with Vite, React, and TailwindCSS for fast, responsive, and elegant UI/UX. Backend: Node.js + Express REST API connected to a Supabase PostgreSQL database via Prisma ORM. Database Schema: Structured around User, Tag, QuizQuestion, Flashcard, Log, and UserInput models for seamless tracking of spaced repetition intervals and user progress. AI Generation: AI agents analyze uploaded materials (PDFs, text, YouTube links, etc) to auto-generate flashcards, quizzes, and discussion prompts using LLM-based question generation. Analytics: Data visualized as twilight-to-dawn gradients, representing the user’s growing retention.
Challenges we ran into
Inconsistent WiFi connectivity Establishing a persistent database connection Integrating the frontend, backend, and middleware to work seamlessly Processing multiple input types (images, PDFs, YouTube videos, etc) and normalizing them into structured text for question generation. Building a cohesive experience across AI generation, spaced repetition, and analytics to ensure the system feels intelligent, not random.
Accomplishments we're proud of
Built a full end-to-end spaced repetition learning assistant within a weekend. Seamlessly connected Letta AI content generation Created an engaging visual motif (“twilight to dawn”) that turns analytics into a metaphor for learning progress. Designed an expandable system where users can plug in any learning material and immediately get actionable quizzes.
What we learned
How to design a schema that supports temporal learning (tracking “next review dates” and retention intervals). The power of combining AI retrieval, question generation, and reinforcement in one feedback loop. How important UX metaphors (like “dawn”) are for motivation and retention.
What's next
Mobile App + Push Notifications: Bring the periodic “Dawned challenge” to your phone for true habit formation. Multi-modal AI Ingestion: Support lecture audio, screenshots, and course slide decks. Social Learning: Compare your “dawn levels” with friends or study groups. Open Education Integration: Create a browser extension to process learning materials directly from a university's LMS (such as Canvas) Automation: Integrated Postman Flows and Monitors to schedule daily review runs and weekly digest emails — turning Postman into a no-cron “brain” for our spaced repetition system. Email Notifications: Automated via Composio Tool router to deliver personalized “daily dawn” challenges and digest summaries. Here is a bonus content video: https://youtu.be/BUN0QlzG9MA
Analysis
View
Metric
- 14
- 10
- 3
- 1
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- ExpressIn code
- HTMLIn code
- JavaScriptIn code
- ReactIn code
- SupabaseIn code
- Tailwind CSSIn code
- TypeScriptIn code
- Node.jsClaimed
8 of 9 appear in the indexed code. 1 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
197 KB
Source files
57
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
ktagdiwala/calhacks12
76 files · 449 KB · @ 860ccf7
Structure
Interface
27 files · 36%Screens, components and styles rendered to the user.
API & routing
6 files · 8%Request entry points: routes, handlers and controllers.
Application logic
14 files · 18%Domain rules, services and shared utilities.
Data & schema
2 files · 3%Schema definitions, migrations and data access.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- TypeScript60%
- JavaScript31%
- Markdown6%
- CSS2%
- HTML0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
frontend/package.json
npm · 29- @letta-ai/letta-client
- @radix-ui/react-avatar
- @radix-ui/react-dialog
- @radix-ui/react-label
- @radix-ui/react-progress
- @radix-ui/react-radio-group
- @radix-ui/react-scroll-area
- @radix-ui/react-select
- @radix-ui/react-tabs
- @supabase/supabase-js
- @tailwindcss/postcss
- axios
- class-variance-authority
- clsx
- lucide-react
- react
- react-dom
- tailwind-merge
- +11 more
express/backend/package.json
npm · 11- @prisma/client
- @supabase/supabase-js
- bcryptjs
- cookie-parser
- cors
- debug
- dotenv
- express
- http-errors
- morgan
- +1 more
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.