Inspiration
As college students ourselves, we know the feeling: it's Sunday night, you have three exams, two papers, and a lab report all converging on the same week, and you have no idea where to start. Most productivity apps let you list your tasks... but none of them actually think with you about how to attack them. We wanted to build something that felt less like a "to-do list" and more like a brilliant friend who happens to know your entire course schedule.
The question that drove MoreTime was simple: what if your phone could read your syllabi, understand your deadlines, and build a realistic study plan around your life?
What It Does
MoreTime is a native iOS app that takes the chaos of college coursework and turns it into an optimized, day-by-day study schedule powered by AI.
Here's what it can do:
- Upload a syllabus (PDF, DOCX, image) — MoreTime uses GPT-5.3 to extract every assignment, exam, and deadline automatically. Drop in a whole semester's syllabi and get a heat map of your busiest weeks before they sneak up on you!
- Chat with a context-aware AI assistant — Unlike generic chatbots, MoreTime's assistant actually knows your tasks, courses, and existing schedule. Say "I have a CS 3120 paper due Friday" and it'll create the task and schedule study blocks automatically.
- Generate an optimized study plan — The AI analyzes your deadlines, priorities, estimated hours, and locked blocks (classes, work, etc.) to build a conflict-free schedule. It never double-books you and auto-escalates overdue tasks.
- Voice input — Record a quick voice note, and MoreTime transcribes and processes it as a chat message in real time. (making brain dumps really easy!)
- Semester heat map — Upload multiple syllabi at once, pick your semester dates, and get a week-by-week workload overview so you can see the crunch weeks coming.
How We Built It
iOS App (Swift / SwiftUI) — The frontend is a native iOS 17+ app built entirely in SwiftUI using
@Observablestores for state management. We have five main tabs: Calendar, Tasks, Chat, Semester, and Settings. The API client handles automatic token refresh on 401s, and auth tokens are stored securely in the iOS Keychain.Backend (Node.js + TypeScript + Express) — Our REST API runs on Node.js 24 with Express and TypeScript. We used Zod for request validation throughout and built a clean service layer that separates AI business logic from route handlers. The backend is deployed to an Azure Web App via GitHub Actions CI/CD.
Database & Auth (Supabase + PostgreSQL) — Supabase handles authentication and our Postgres database. Row Level Security is enabled on every table so users can only ever access their own data. A trigger automatically creates a user profile on signup.
AI (Azure OpenAI / GPT-4o) — GPT-5.3 powers everything: chat completions, syllabus parsing, schedule generation, image OCR for scanned PDFs, and audio transcription. The scheduling service validates generated blocks for time conflicts and retries up to 3 times if the output doesn't meet format requirements. We rate-limit AI-heavy routes aggressively to keep costs and latency in check.
File Parsing — We use
pdf-parsefor text PDFs,mammothfor DOCX files, and GPT-4o vision as an OCR fallback for scanned documents and images. The AI classifies each upload as either a syllabus (extract all assignments) or a single assignment (break into actionable subtasks).
Challenges We Ran Into
Schedule generation reliability — Getting GPT-5.3 to consistently return valid, conflict-free schedule blocks in the exact format we needed was harder than expected. We ended up building a validation + retry loop with up to 3 attempts and a robust fallback, which finally got us to a place where the schedule generator felt trustworthy.
iOS state synchronization — With five tabs all reading and writing shared stores, keeping the calendar, task list, and chat in sync without stale state was a real challenge. We had to carefully design when each store refreshes and how tab switches trigger refetches.
Syllabus diversity — Every professor formats their syllabus differently. Getting the AI to reliably extract structured assignment data from wildly inconsistent PDF layouts required a lot of prompt iteration and careful fallback logic.
Building a full-stack native iOS app in 24 hours — Swift, SwiftUI, TypeScript, Azure, and Supabase all in one hackathon is... a lot. We parallelized as much as possible (frontend and backend developed simultaneously against a shared API contract) but the final integration crunch was intense!!
Accomplishments That We're Proud Of!
- A fully functional, deployed iOS app with a real backend (not just a prototype or mockup)
- An end-to-end AI pipeline that goes from raw PDF syllabus → structured tasks → optimized calendar in seconds
- Voice input with real-time waveform visualization and Azure transcription
- A semester heat map that gives students a bird's-eye view of their entire semester workload
- CI/CD to Azure Web Apps via GitHub Actions, so we were deploying continuously throughout the hackathon
What We Learned
- Prompt engineering for structured output (especially JSON scheduling blocks) is deceptively tricky (basically, validation and retry logic is NON-NEGOTIABLE)
- SwiftUI's
@Observableis genuinely great for this kind of multi-store app, but the state synchronization design has to be intentional from the start - Building with a shared API contract first lets frontend and backend teams work in parallel without blocking each other (really nice in a time crunch)
- Supabase's Row Level Security is incredibly powerful and makes security almost automatic once set up correctly
What's Next for MoreTime
- Android / web app — SwiftUI was the right call for the hackathon, but the backend is fully platform-agnostic and ready for practically any platform
- Canvas / Blackboard integration — Import assignments directly from LMS platforms so students never have to upload a syllabus manually
- Grade tracking — Connect your grades to priority weights so the scheduler automatically focuses you on courses where you need the most work
- Group study scheduling — Coordinate shared study blocks with friends and classmates
- Push notifications — Proactive reminders when a crunch week is approaching or a deadline is tomorrow
The Bigger Picture: MoreTime Isn't Just for Students
We built MoreTime for college students, but the core problem (too many things due, not enough hours, no clear sense of what to tackle first) isn't unique to just academia; it's universal!
A parent juggling soccer practice, dentist appointments, school pickups, and permission slip deadlines is managing a schedule just as chaotic as any student's. A project manager coordinating five workstreams across three teams is drowning in the same kind of deadline disaster. An executive trying to protect deep work time while their calendar gets overtaken by meetings faces the exact same prioritization problem.
The underlying engine of MoreTime (being ingesting unstructured information about commitments, extracting deadlines and effort estimates, generating an optimized time-blocked plan, and letting an AI assistant reason about tradeoffs in real time) maps directly onto all of these personas. The "syllabus upload" becomes a project brief or a family Google Calendar export. The "course" becomes a client, a child, or a department. The schedule generator is just as useful whether it's blocking out study time or carving out focused work hours between back-to-back meetings.
The student use case was the perfect proving ground because students have the most ruthlessly structured version of this problem. But the real opportunity is much bigger: MoreTime for anyone whose life moves faster than their calendar.
Footnotes
Built at HooHacks 2026 by our team:
- Christian Chamberland: Frontend, Azure integration
- Vibby Janardhan: Backend, testing and text scraping integration
- Shabeer Manalai: Frontend, Supabase integration
- Tona Otoro: Frontend, hosting, full-stack integration
Thank you! Big thanks to the HooHacks organizers for putting grand event together and to all the judges for taking time to check out our project! We had a blast building MoreTime this past 24 hours and really appreciate the opportunity!! Wahoowa! 🧡💙
Built With
- azure
- azure-openai
- express.js
- gpt-4o
- mammoth
- node.js
- pdf-parse
- postgresql
- supabase
- swift
- swiftui
- typescript
- vitest
- zod



Log in or sign up for Devpost to join the conversation.