A planner that looks at your todos, your prescheduled events and what time of day you actually get things done — then proposes a schedule you'd have written yourself, if you had the time. Approve it with one tap and it writes straight back to Google Calendar.
Most scheduling tools treat time as a dumb container — here's a slot, shove a task in. Smart Scheduler treats time like the scarce, opinionated resource it actually is: you don't do deep work at 9pm, you don't take meetings before coffee, and Tuesdays feel different from Thursdays.
You brain-dump your todos in a natural shorthand — durations, categories and priority flags become inline chips as you type — and the app reads your Google Calendar plus a personal energy map of your day. Gemini proposes a full plan that fits the new tasks into the gaps: focus work in your peaks, admin in your dips, meals at meal times. Review, drag-to-refine, hit Add to Calendar.
The model gets the current time, today's locked events, the user's energy windows tagged PEAK / STEADY / DIP, and the todos left to place. The prompt enforces a handful of rules: never schedule in the past, leave ten minutes between blocks, match category to time of day, never overlap a locked event, and drop anything that genuinely won't fit today.
The reply has to be strict JSON. A balanced-brace extractor pulls it out even if Gemini wraps it in prose or fences, then every item is validated server-side — unknown categories coerced, priorities boolean-checked, times sanity-checked. If the first response doesn't parse, the pipeline retries once with a schema-correction hint before surfacing an error to the UI.
Next.js 15 · React · Google Gemini · Google Calendar API · MongoDB · @dnd-kit · PWA