Google Calendar is 20 years old. It's still fundamentally the same product: a grid of time slots where you put things.
That's not a knock on Google. A calendar is a coordination primitive — it needs to be shared, simple, reliable. The grid format is almost universally understood.
But coordination and scheduling are different problems.
Coordination is "make sure everyone knows the meeting is at 3pm." Scheduling is "figure out when the meeting should be, given everyone's energy levels, preparation needs, and the rest of their week."
Calendar apps solve coordination. No mainstream tool has ever seriously solved scheduling.
Until AI made it possible.
The Scheduling Problem Is Actually a Planning Problem
When a skilled executive assistant schedules your week, they're not just moving blocks around. They're doing something much more sophisticated:
- Prioritizing — what needs to happen before what else?
- Energy matching — which tasks need your best thinking vs. which can be done on autopilot?
- Sequencing — what needs prep time? What needs recovery time after?
- Protecting — what time should not be touchable, no matter what?
- Buffering — where are the hidden friction points in the day?
This is a multi-variable optimization problem with fuzzy inputs. Human judgment + context awareness + knowledge of your habits and preferences. Impossible to systematize with rule-based software.
Possible — genuinely possible for the first time — with LLMs and trained scheduling models.
What We're Building at TimeManager
Our scheduling engine works in three layers:
Layer 1: Slot detection. The system knows your calendar, your working hours, your existing commitments. It knows what free time exists and what kind of free time it is (morning focus window vs. afternoon fragmented 30-minute slots).
Layer 2: Task scoring. Every task gets a dynamic score based on priority, urgency (time-decay function based on deadline), estimated duration, and your historical energy patterns. The score isn't static — it changes as deadlines approach and as your day evolves.
Layer 3: Greedy assignment. The scheduler matches highest-scoring tasks to best-fit slots. Deep work tasks → morning focus blocks. Quick admin tasks → afternoon fragments. Creative work → whenever your energy data says you're most generative.
The formula is:
score = 0.35 × priority + 0.35 × urgency + 0.20 × energy_match + 0.10 × duration_fit
Where urgency is exp(-days_until_due / 3) — exponential decay so tasks don't spike to critical until they're actually close, but also don't sit flat until the day before.
This is v1. Over time, the model learns from your completions: which tasks you actually did when scheduled, which you skipped, which times of day produced your best work. The scheduling gets better as you use it.
What This Isn't
It's not an AI chatbot that suggests your schedule. That's a parlor trick.
It's not a rigid automation that forces you to follow a prescribed day. That creates anxiety, not productivity.
It's a system that proposes an intelligent starting point for each day, that adapts as reality diverges from the plan, and that learns your patterns over weeks and months. You stay in control. The AI does the cognitive heavy lifting of translating your task list into a buildable, realistic day.
The Hard Parts
The genuinely hard engineering problems in scheduling AI:
Context switching cost. Back-to-back meetings then deep work doesn't work — you need transition time and recovery. The scheduler needs to model this.
Task estimation is terrible. Humans consistently underestimate how long things take. The scheduler needs to pad estimates based on historical completion data, task type, and complexity signals.
Interruptions. Real days don't follow plans. The scheduler needs to replan gracefully when something takes longer or a priority shifts, without creating a cascade of anxiety.
Psychological resistance. If the scheduler puts something uncomfortable at 9am every day, people will resent it and ignore it. The system needs to balance optimal scheduling with user buy-in.
We're thinking about all of this. The scheduling engine is the hardest part of TimeManager to build — and the most important.
If you're curious about the technical implementation, we're building in public — follow the Build in Public series. And if you want early access, join the waitlist.