Building Consul Pro: Three Months of Relentless Iteration
Shipping Fast, Learning Faster
The last three months have been a blur. We shipped more code between July and September than some teams ship in a year. Every day brought new challenges, breakthroughs, and hard lessons.
This is the story of how we went from "working prototype" to "something people could actually rely on."
The Calendar That Feels Instant
Calendar was our first obsession. It's the foundation of everything—if your calendar is slow or unreliable, nothing else matters.
The first version worked, but it was slow. Loading your week took 3-4 seconds. That doesn't sound like much, but in practice, it felt broken. You'd click, wait, wonder if something went wrong, maybe click again.
We couldn't ship that.
So we tore it apart and rebuilt it. Parallel operations instead of sequential ones. Smart caching that knows when to refresh. Incremental updates instead of full reloads.
The result: 85% faster calendar loading. What used to take 4 seconds now takes under 600 milliseconds. It just appears. That's the experience we were after.
But speed wasn't enough. We also needed real-time sync. When you create an event on your phone, it should appear in Consul instantly—not after a refresh, not after 30 seconds, instantly.
We built a webhook system that gets notifications from Google the moment anything changes. Sub-second latency. You add an event on your phone, and by the time you look at Consul, it's already there.
Email That Doesn't Make You Wait
Email was harder than calendar. The Gmail API is powerful but complex, and email volumes are massive. Some of our test users had 50,000+ emails.
The first version took 8-12 seconds to load your inbox. Unusable. You'd stare at a loading spinner, lose your train of thought, maybe give up and just open Gmail directly.
We rewrote the entire email pipeline:
- Batch operations instead of loading emails one by one
- Smart field filtering to only fetch what we actually need (60-80% smaller payloads)
- Parallel fetching across multiple threads
The result: 96% faster email loading. From 8-12 seconds down to under 2 seconds for 50 emails. That's the difference between "this is annoying" and "this is useful."
We also added real-time notifications. New email comes in? Consul knows within 1-2 seconds. The unread count updates. The AI can start processing it. Everything stays current without you doing anything.
Building the CRM Nobody Asked For (But Everyone Needed)
Here's something we learned: people don't think they want a CRM. They think CRMs are for salespeople—complicated tools with too many fields and not enough value.
But everyone has relationships they're trying to maintain. People they've been meaning to reconnect with. Follow-ups they've forgotten. Important conversations they can't quite remember.
So we built something different. Not "CRM" in the enterprise sense, but relationship intelligence.
When you meet someone, Consul remembers. Every meeting, every email, every note you take—it all goes into a unified timeline. Six months later, before your next meeting with them, you can see the entire history of your relationship.
We added automatic suggestions: "You haven't talked to Sarah in 3 months. Want to send a reconnect message?" Gentle nudges that help you maintain relationships without the overhead of tracking everything yourself.
Making the AI Actually Useful
The AI assistant was the hardest part. Not because language models are hard to use—they're not. Because making AI reliable is hard.
Early versions would sometimes:
- Schedule meetings during existing events (ignoring conflicts)
- Hallucinate times that didn't exist ("How about 3pm on the 32nd?")
- Forget context from earlier in the conversation
- Take 10+ seconds to respond
None of that was acceptable.
We rebuilt the AI system from the ground up:
Context awareness: The AI knows your timezone, your working hours, your calendar, your preferences. When you say "tomorrow afternoon," it knows exactly what that means for you.
Strict validation: Before the AI commits to anything, we validate it against reality. Is that time slot actually free? Does that contact actually exist? No hallucinations make it through.
Speed optimization: We cut response time by 65%. Simple queries now respond in under a second. Complex scheduling might take 2-3 seconds. Fast enough that you don't lose your train of thought.
Scheduling Links: Our First "Wow" Feature
Everyone knows Calendly. It works, but it requires everyone to use the same system. What if scheduling could be smarter?
We built scheduling links that understand context:
- Multi-calendar awareness: The link knows about all your calendars—work, personal, side projects—and only shows times that work across all of them
- Buffer time: Automatically blocks time before and after meetings so you're not back-to-back all day
- Timezone intelligence: Detects the booker's timezone and shows times in their local time
When someone books through your Consul scheduling link, it appears on your calendar instantly. Confirmation emails go out automatically. No manual coordination required.
Security We're Proud Of
People trust us with their calendars, emails, and contacts. That's an enormous responsibility.
We ran a comprehensive security audit in October. It was humbling—we found 30+ issues that needed fixing. Hardcoded secrets that should have been in environment variables. API routes that weren't properly authenticated. Logging that accidentally captured sensitive data.
We fixed all of them. Zero known vulnerabilities. Proper encryption everywhere. Audit trails for everything.
Security isn't a feature you add later. It's a foundation you build on from day one. We learned that the hard way.
The Feedback We Couldn't Ignore
By October, Consul Pro was genuinely good. Fast, reliable, secure, useful. We were proud of what we'd built.
But the feedback kept pointing to the same thing:
"This is great, but I don't want to switch away from Gmail."
"Can I keep using Google Calendar and just have Consul help in the background?"
"I love the AI, but I don't want another app to check every day."
We kept hearing variations of the same theme: people didn't want a new platform, no matter how good it was. They wanted their existing tools to work better.
That realization would change everything.
Next up: The Strategic Pivot—why we decided to flip our entire product strategy.