One technical lesson from building Skej: scheduling is not a calendar UI problem. It’s a state-sy...One technical lesson from building Skej: scheduling is not a calendar UI problem. It’s a state-sy...
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started
One technical lesson from building Skej: scheduling is not a calendar UI problem. It’s a state-synchronization problem.
A scheduling assistant has to coordinate:
• Gmail and Outlook conversations • Multiple calendar providers • Personal availability preferences • Time zones and more than 80 languages • Reschedules, cancellations, and participant notifications
The architecture became much cleaner once we separated three responsibilities:
- The conversational layer interprets what the user wants. - The scheduling engine calculates availability and applies rules. - Provider adapters handle calendar and email differences.
We also treated every meeting as an explicit lifecycle—proposed, confirmed, rescheduled, or cancelled- so repeated integration events could be handled safely.
The takeaway: let AI interpret intent, but keep calendar changes inside deterministic, testable workflows.
That separation makes integrations easier to extend and scheduling behavior far more dependable.
#AIEngineering #SystemDesign #NodeJS #NextJS #SaaSDevelopment
Post image
Back to feed
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started