Inspiration
As a Computer Science student at Carleton, life is a constant juggling act. Between lectures, endless coursework, side projects, and trying to maintain a social life, I found myself stuck in a cycle of "productivity paralysis" :/.
There were countless days where I’d wake up, look at a massive to-do list, and simply freeze. Even though I wanted to get things done, the mental tax of trying to find the perfect time slot, factoring in my energy levels, existing commitments, and social plans was exhausting. I’d spend so much brainpower trying to organize my life that by the time I actually figured out a schedule, I was already burnt out. I realized that traditional, manual calendar apps are just empty grids that don’t actually help you decide how to spend your time. I wanted to build something that removed that friction entirely, and I know I’m not the only one who feels this way.
What it does
Syncora is an AI-native scheduler that turns the "chore" of organization into an effortless experience. Instead of manually mapping out your day in a rigid calendar grid, you simply speak your goals, like "I need to study for 40 hours this week" or "Find a time for a hangout with Taylor between Thursday and Friday", and Syncora does the heavy lifting. It analyzes your current calendar, your energy levels, and your social constraints to automatically block out the optimal times, providing a clear, human-friendly explanation for why it suggested those specific slots.
How we built it
We built Syncora as a local Node.js application using Vite, React, and standard CSS/JS. The core engine leverages the Gemini 3.5 Flash API to handle constraint satisfaction. We treat the calendar as a dynamic system, feeding task lists and event data to the AI to generate structured, JSON-formatted schedules that our UI then renders.
Challenges we ran into
The most significant hurdle during our development was managing the stability and performance of our AI-native scheduling engine.
API Constraints: Because we are using the Gemini 3.5 Flash API, our application is currently subject to strict rate limits (Requests Per Minute). During high-volume testing, specifically when processing "bulk" scheduling requests, we frequently encountered connection timeouts and 429 Too Many Requests errors.
Response Reliability: We faced challenges with maintaining a consistent JSON output format, especially when the model's context window became crowded. To mitigate this, we implemented a "self-healing" parsing layer, but perfecting the balance between speed and reliability remains an ongoing task.
Scalability: Moving from a local, single-user environment to a scalable, multi-user system is our current primary development focus. We have yet to implement a persistent database layer, which currently limits our ability to manage state across sessions and fully realize the "Friend Sync" feature.
Accomplishments that we're proud of
AI-Native Workflow: We successfully integrated an agentic loop where the UI dynamically updates based on the AI’s reasoning, rather than just acting as a static display.
Fast-Paced Prototyping: We managed to get a complex, AI-driven scheduling engine up and running using Vite and Node.js in a single weekend.
*Also, how cute/aesthetic it looks in our opinion.
What we learned
Debugging AI: We learned that AI debugging is different from standard code debugging. We spent more time on prompt engineering and optimizing the payload size to ensure the AI "thinks" faster and produces more reliable output.
Vite & Tooling: We became much more proficient in managing a local development environment with Vite, learning how to quickly iterate on frontend components while keeping the backend logic tightly coupled.
Context Management: We learned the hard way that "more data" isn't always better. We discovered that carefully pruning the information sent to the API is the most effective way to improve both response speed and logic accuracy
What's next for Syncora
We are transitioning from a local prototype to a cloud-based service. Our priority is implementing persistent storage using a real-time database (like Supabase) to enable the "Sync Link" feature, allowing friends to share availability without manual exports. We also plan to integrate Google Calendar APIs to make the tool a genuine drop-in replacement for standard generic calendars. As well as ALOTTT of debugging.
Log in or sign up for Devpost to join the conversation.