update

Production Ready: We're Almost There

The Final Stretch

There's a massive difference between "demo ready" and "production ready."

A demo needs to work for 10 minutes while you're watching. Production needs to work at 3am on a Sunday when nobody's paying attention. A demo can fail gracefully and you laugh it off. Production fails and someone misses an important meeting.

The last few weeks have been about crossing that gap.

High-Stakes Territory

Here's the thing about what we're building: Consul is operating in high-stakes territory. The meeting that can't be missed. The email that can't be botched. The follow-up that determines whether a deal closes.

Too many mistakes and trust is gone. Not damaged—gone. Users will forgive a slow response. They won't forgive a missed meeting with their biggest client.

That's the bar we have to clear. Not "good enough for a demo." Good enough that people stake their professional reputation on it.

What Production Actually Means

By December, we had working agents, working channels, working intelligence. The pieces were all there. But pieces aren't a product.

Production means reliability. When you email your agent at 2am, it responds. Not "usually responds." Always responds. We built automatic retries for everything—API calls, database operations, email delivery. If something fails, the system tries again. And again. And logs exactly what went wrong so we can fix the underlying issue.

Production means security. You're trusting us with your calendar, your email, your contacts. We ran a comprehensive security audit and fixed every issue we found. No hardcoded secrets. Proper authentication on every endpoint. Encryption for everything sensitive. Complete audit trails for every action.

Production means speed. We've talked about this before, but it's worth repeating: fast feels reliable, slow feels broken. Our benchmarks now:

  • Email triage: 2-3 seconds
  • Scheduling requests: 4-6 seconds (including availability calculation)
  • Simple queries: under 200ms
  • Web chat: under 100ms

These aren't demo numbers. These are real performance under real load.

Production means observability. When something goes wrong—and something always goes wrong—we need to know instantly. We built monitoring for everything: agent response times, error rates, channel health, resource usage. When there's a problem, we know before users do.

The Onboarding Experience

First impressions matter. If setup is confusing or frustrating, people leave before they even try the product.

We rebuilt onboarding from scratch:

Five simple steps:

  1. Create your account
  2. Connect Google (one OAuth flow for Gmail, Calendar, Contacts)
  3. Set your preferences (timezone, working hours, communication style)
  4. Configure your agent identity (what should your agent be named?)
  5. Choose your plan

The whole flow takes under 3 minutes. We know because we've watched dozens of people do it.

Every step has real-time validation. If Google authentication fails, you see exactly why. If something looks wrong, there's a clear path to fix it. No dead ends. No confusing error messages.

The Dashboard

Once you're set up, you get a clean dashboard showing:

Activity: What has your agent done recently? Every action logged with full context. You can see exactly what happened and why.

Skills: Which capabilities are active? Email drafting, scheduling, reminders—each one shows its current status and recent activity.

Integrations: Are all your connections healthy? Gmail connected, Calendar synced, everything working. If something's wrong, you see it immediately.

Settings: Customize how your agent behaves. Morning briefing preferences, quiet hours, response style.

Earning Trust

Building production AI taught us things that aren't obvious from playing with ChatGPT:

LLMs hallucinate. They'll confidently schedule a meeting at a time that doesn't exist, or with a contact that's not in your address book. Every AI output needs validation before it becomes action.

Context windows matter. Your agent needs to remember enough to be helpful, but not so much that responses slow down or costs explode. We spent weeks tuning this balance.

Fallbacks are essential. What happens when OpenAI has an outage? When rate limits kick in? When the model just refuses to respond? Every scenario needs a graceful fallback.

Users need visibility. "AI did something" isn't enough. Users want to know what the AI did and why. Transparency builds trust.

At the end of the day, we have to earn something that can't be bought: trust. There are no shortcuts. We have to be right enough, smart enough, reliable enough—every single time.

The Numbers That Matter

After all the optimization and hardening:

Performance

  • 99.9% uptime (measured)
  • Sub-2-second average email response
  • Under 100ms web chat latency

Scale

  • Handles 10K+ emails per day
  • Manages 1000+ users simultaneously
  • Zero-downtime deployments

Reliability

  • 99.9% message delivery rate
  • Automatic recovery from all transient failures
  • Complete audit trail for every action

What's Next

We're launching in phases:

January 2026: Private beta with a small group of users. Direct feedback. Rapid iteration. Finding the issues we didn't anticipate.

February 2026: Invite-only beta. More users, referral system, validating the experience at scale.

Q1 2026: Public access. No waitlist. Everyone can try Consul Agent.

Later 2026: Consul Pro—the full dashboard experience for people who want more.

Join the Launch

We've been building Consul for 18 months. Hundreds of commits. Thousands of hours. A complete pivot in product strategy. And countless cups of coffee.

Now we're ready to share it.

Consul Agent launches next month.

If you want to be part of the first group:

  1. Join the waitlist — Early access slots are limited
  2. Refer friends — Move up the list
  3. Follow along — We'll keep sharing updates

Early users get beta pricing locked in, direct access to our team, and the chance to shape what we build next.

Thank You

To everyone who's followed this journey, given feedback, and believed in what we're building: thank you.

We started with a simple idea: leaders shouldn't spend their time on coordination. They should have the experience of an executive assistant—someone who handles the overhead so they can focus on work that matters.

That's what Consul is. Software that works like a person. An AI executive assistant that shows up wherever you are—email, text, web—and just handles it.

We're almost there. And we can't wait to show you.


Want early access? Join the waitlist today.

Consul Team
update

Connecting Every Channel: Email, iMessage, and Beyond

The Interface Problem

We had built intelligence that could genuinely help. Scheduling, email drafting, calendar management, relationship tracking—all the capabilities we'd developed over months.

But capabilities mean nothing if people can't access them.

The whole point of Consul Agent is to meet people where they already are. Not in a new app. Not in a separate dashboard. Right there in the tools they use every day.

That meant we needed to work through email, iMessage/SMS, and web—each with its own challenges, each requiring specialized infrastructure.

Email: Where Work Actually Happens

Email was our first and most important channel.

Think about it: email is still the default interface for professional communication. You probably have Gmail open right now. You'll check it 20+ times today. It's the one app that everyone, everywhere, already uses.

What if talking to your AI assistant was as simple as sending an email?

That's exactly what we built. You get a Consul Agent email address—something like alex@youragent.consul.so. Email that address, and you're talking to your assistant.

"Hey, can you schedule a call with Sarah next week? She's in EST, I'm in PST, we need about an hour."

Your agent checks both calendars, finds overlapping availability, proposes times, handles the back-and-forth, and confirms the meeting. All through email.

The key: it looks like a normal email conversation. Proper threading. Professional formatting. No weird app notifications or context switches. Just email, doing what email does, but smarter.

We built robust email infrastructure to handle all the hard stuff—deliverability, spam prevention, proper email headers, threading. Our emails land in inboxes, not spam folders. They look like they're from a human assistant, not an automated system.

The result: 99.9% deliverability, under 2 seconds from your email to agent response.

iMessage: For Everything Else

Email is great for detailed requests. But sometimes you just need to fire off a quick text.

"Remind me to call John tomorrow at 2pm"

That's not an email. That's a text message. Something you can send while walking to your car or waiting in line for coffee.

We added iMessage and SMS support. Real iMessage—not SMS fallback—with all the features people expect: typing indicators, read receipts, rich formatting.

Text your Consul Agent phone number, and you're having a conversation with your assistant. Same intelligence, different interface.

Under 1 second message latency. You send a text, you get a response before you've put your phone back in your pocket.

The verification flow is simple: during onboarding, you verify your phone number. After that, any text from your number goes straight to your agent. No login required. No authentication flow. Just text and go.

Same Intelligence, Different Styles

Here's where it gets interesting: the same request gets different responses depending on the channel.

Via Email (detailed):

Subject: RE: Schedule lunch tomorrow

Hi there!

I found three times that work for both you and John:

• Tomorrow (Wed Jan 8) at 12:00 PM
• Tomorrow at 12:30 PM
• Tomorrow at 1:00 PM

All times are at Café Milano (123 Main St). I can book any of these—just reply with your preference.

Best,
Alex
Your Consul Agent

Via iMessage (concise):

Found 3 lunch times tomorrow:

  1. 12:00pm
  2. 12:30pm
  3. 1:00pm

Which one? (reply 1, 2, or 3)

Same intelligence, same information, but adapted to how people actually use each channel. Emails can be longer and more formal. Texts should be quick and scannable.

Via Web Chat (interactive):

The web interface can show a calendar widget with available slots. One click to book. Visual confirmation. The full experience when you want it.

The Magic of Multi-Channel

The real power isn't any single channel—it's how they work together.

Scenario: You're in a meeting and get an important email that needs scheduling. You can't open Gmail without looking distracted. But you can glance at your phone.

So you text your agent: "Did I get an email from David? What does he need?"

Agent responds: "Yes, David asked about scheduling a call this week. Want me to propose some times?"

You text back: "Yes, Thursday afternoon works."

Agent sends David an email with Thursday afternoon options—properly formatted, from your agent's email address, with your calendar link. David books a time. The event appears on your calendar.

You never opened an app. You never left your meeting. The coordination just happened.

Technical Foundation (The Short Version)

Making this work required solving some genuinely hard problems:

Unified context: Your agent remembers you across all channels. Text a reminder in the morning, reference it in an email that afternoon. The agent knows.

Channel-appropriate responses: The same intelligence adapts its style—detailed for email, concise for text, interactive for web.

Reliable delivery: Webhooks with retry logic, dead-letter queues for failed messages, automatic fallbacks if one channel is down.

Speed: Email webhooks respond in under 2 seconds. iMessage in under 1 second. Web chat in under 100ms. Fast enough that it feels like talking to a person, not waiting for a system.

What We Learned Building This

A few lessons from connecting every channel:

Channel choice is personal. Some people are email-first. Some prefer texting. Some want the web interface. Don't force people into one pattern—let them choose.

Consistency matters. Your agent should feel like the same assistant across every channel. Same voice. Same knowledge. Same reliability.

Speed is non-negotiable. If the response takes more than a few seconds, people assume something's broken. Every channel needs to be fast.

Focus on what matters. Building great channel infrastructure takes time and expertise. We invested heavily in making each channel reliable and fast so you can focus on getting things done.

The Numbers

Our channel infrastructure now delivers:

  • Email: 99.9% deliverability, under 2s latency
  • iMessage: 99.8% delivery rate, under 1s latency
  • Web Chat: under 100ms response time

Reliable enough that you can depend on it for real work. Fast enough that it feels natural.


Next up: The final stretch—production infrastructure, security, billing, and getting ready to launch.

Consul Team
update

Powered by Mastra: Finding the Right Foundation

The Build vs. Buy Decision

When we pivoted to Consul Agent, we faced a critical choice.

Building one AI agent is straightforward. You call a language model, parse the response, maybe add some tools. A competent developer can do it in a weekend.

Building 26 specialized agents that coordinate across email, SMS, and web chat—while managing calendars, emails, contacts, documents, and schedules—while running 24/7 for real users who depend on it? That's an entirely different problem.

We could build all of it ourselves. We had the skills. We had the time. We had the arrogance of thinking we could do it better than anyone else.

But we'd also learned something important over the past six months: the best product teams focus on what makes them unique, not on reinventing infrastructure.

What We Actually Needed

Here's what a production AI agent system requires:

Reliability that never sleeps. When you email your agent at 3am, it needs to respond. Not "usually responds" but "always responds." Retry logic. Error recovery. Graceful degradation. The kind of reliability that takes months to build right.

Memory that actually works. Your agent needs to remember that you prefer morning meetings. That you're in Pacific time. That you had lunch with John last month. Not just for one conversation, but across every interaction, forever.

Visibility into what's happening. When something goes wrong (and it will), you need to know exactly what happened. Which tool failed? What input caused the error? Where did the chain break? Production debugging without observability is just guessing.

Coordination between agents. The scheduling agent needs to talk to the calendar agent. The email agent needs to pass information to the drafting agent. These handoffs need to be reliable and traceable.

We estimated building all of this from scratch would take 4-6 months. And that's just to reach parity with existing solutions—not to add any unique value.

Discovering Mastra

In late December, we found Mastra.

Mastra is a TypeScript framework for building production AI systems. Not demos. Not prototypes. Systems that can run in production, 24/7, with real users depending on them.

It had everything we needed:

Agents with memory: Built-in conversation history and user preference tracking. Your agent remembers context across every interaction.

Reliable tool execution: Automatic retries with exponential backoff. Error handling that doesn't crash the entire system. Timeouts that prevent runaway operations.

Workflow orchestration: Multi-step operations that can pause, resume, and recover. When a complex scheduling negotiation spans multiple emails over days, the system keeps track.

Built-in observability: Every agent call traced. Every tool execution logged. Full visibility into what's happening and why.

The best part? It's TypeScript-first, which matched our entire codebase. Type safety throughout. No runtime surprises.

The Migration

On December 24th—yes, Christmas Eve—we migrated to Mastra v1.

It was a significant undertaking:

  • 89 tools adapted to Mastra's format
  • 26 specialized agents rebuilt on the new framework
  • 10 production workflows orchestrating complex operations
  • Complete type safety throughout

But the migration itself was smooth. Mastra's patterns are clean and intuitive. What we thought would take two weeks took five days.

What Changed After Mastra

The difference was immediate and measurable.

Development velocity jumped 3x. Building a new agent went from days to hours. The framework handles all the boilerplate—retry logic, error handling, memory management. We just write the actual logic.

Reliability improved dramatically. Before Mastra, we were debugging edge cases constantly. Random failures, context getting lost, tools timing out without recovery. After Mastra, these issues virtually disappeared. The framework handles them automatically.

Debugging went from painful to easy. When something does go wrong, we can trace the entire execution path. Which agent was called, which tools it used, what inputs it received, what outputs it generated. Issues that used to take hours to diagnose now take minutes.

Our Agent Architecture

With Mastra as the foundation, we built out our agent system:

Scheduling Intelligence: Agents that handle initial meeting requests, negotiate alternative times, send follow-ups, and coordinate across multiple calendars. A scheduling conversation that spans days and multiple emails is handled seamlessly.

Email Management: Agents that triage incoming messages, draft responses in your voice, and know when to escalate vs. handle automatically.

Calendar Coordination: Agents that read your availability, create events, manage conflicts, and understand your preferences (no meetings before 9am, buffer time between calls, etc.)

Document Handling: Agents that create meeting agendas, take notes, and organize your Google Drive.

Daily Intelligence: An agent that generates your morning briefing—what's on your calendar, what needs follow-up, what you might have forgotten.

Each agent is specialized for its domain but shares context through Mastra's memory system. The email agent knows what the calendar agent knows. The scheduling agent remembers your preferences from past interactions.

Why Framework Choice Matters

Here's the thing about infrastructure decisions: they compound.

Build on a shaky foundation, and every feature you add makes the shakiness worse. Build on a solid foundation, and every feature benefits from the stability beneath it.

Six months ago, we might have been tempted to build everything ourselves. We'd have spent those months wrestling with edge cases instead of building features.

By choosing Mastra, we got 6+ months of someone else's hard work on reliability, observability, and best practices. We got to focus on what makes Consul unique: the intelligence that helps you get time back.

What This Means for Users

If you're going to trust an AI to manage your calendar and email, it needs to work. Not "usually works." Not "works if you phrase things correctly." Just works.

Mastra gives us the foundation to deliver that reliability. When you email your Consul Agent, we can guarantee:

  • Your message will be processed (retry logic ensures it)
  • Context from previous conversations will be remembered
  • If something does go wrong, we'll know exactly what happened and can fix it

That's the kind of reliability that turns a demo into a product people can depend on.


Next up: How we connected every channel—email, iMessage, and web—to create a seamless experience across wherever you already communicate.

Consul Team
update

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.

Consul Team
update

The Beginning: Why We're Building Consul

The Moment It Clicked

I've spent years in rooms with leaders. The pattern is always the same.

The bottleneck is never the product, the market, or the team. It's bandwidth. Every channel is on fire. The inbox is a graveyard. The calendar is a war they're losing.

I watched a friend—a startup founder, brilliant at what she does—spend an entire afternoon trying to schedule a single investor meeting. Back and forth emails. Checking three different calendars. Apologizing for the delay. By the time the meeting was booked, she'd lost two hours and most of her creative energy for the day.

This wasn't a one-time thing. Every leader I knew was drowning in the same overhead.

And the solution has always been the same: hire someone to help.

The Problem With Human Assistants

That someone costs $100,000 a year, takes 42 days to find, and leaves in 23 months. There are 3.9 million executives in America. Fewer than 300,000 have one.

The rest? They're left with productivity tools. More tabs, more notifications, more context-switching. The average professional now uses 9+ apps just to manage their work life. And somehow, we're all still losing 10+ hours a week to coordination.

Developers got Cursor. Everyone else got SaaS with chatbots.

That's when it clicked: people don't need another productivity tool. They need the coordination to just... happen.

What If You Had an Assistant?

Think about how executives with full-time assistants work. They don't schedule their own meetings. They don't track their own follow-ups. They don't spend mental energy on coordination—they spend it on the work that actually matters.

What if everyone could have that? Not by hiring someone, but through software that works like a person?

That's the vision we started building toward on July 17th, 2025.

The First Prototype

We called it Consul Pro. The idea was ambitious: build a complete command center for your work life. Calendar, email, contacts, AI assistant—all working together intelligently.

In those first weeks, we focused on three core capabilities:

Smart Calendar Management — Not just syncing your calendar, but understanding it. Multi-account support, intelligent scheduling, real-time conflict detection.

Relationship Intelligence — A CRM that actually helps you maintain relationships. Who have you been meaning to reconnect with? Who's waiting for a response? The system should know.

Natural Conversation — Talk to Consul like you'd talk to a human assistant. "Schedule lunch with Sarah next week" should just work.

Early Choices That Shaped Everything

From day one, we made decisions that would pay off later:

We built for speed. Every interaction needed to feel instant. When you click something, it should respond in milliseconds, not seconds. We obsessed over this from the first commit.

We built for reliability. AI that works 80% of the time is actually useless—it's the 20% failures that destroy trust. We invested heavily in error handling and fallback systems.

We built for security. People were going to trust us with their calendars, emails, and contacts. We couldn't cut corners on protecting that data.

The First Signs of Life

By August, we had a working AI assistant. It was rough—the responses were sometimes clunky, the scheduling had edge cases we hadn't considered, the UI needed polish. But it worked.

You could tell Consul to "schedule a call with John tomorrow afternoon" and it would check your availability, find a time that worked, and create the event. It felt like magic the first time it worked.

More importantly, the people who tried it immediately understood the vision. Not "this is a cool demo" but "I need this in my life."

What We Were Learning

Those first months taught us lessons we carry to this day:

Speed is trust. When something responds instantly, you trust it. When it takes 3 seconds, you wonder if it's broken. We cut our calendar loading time by 85% in those early weeks, and it changed how people felt about the entire product.

AI needs guardrails. The model could hallucinate times that didn't exist or schedule meetings during conflicts. We learned that reliable AI is about knowing what the model shouldn't do as much as what it should.

Simple beats clever. Our early UI had all kinds of fancy features. Users ignored most of them. They just wanted the basics to work perfectly.

The Road Ahead

By the end of summer 2025, we had something real. A prototype that worked, a vision that resonated, and a small group of early users who were genuinely excited.

But we were also starting to see a pattern in the feedback—something that would ultimately change our entire approach. That's a story for the next update.


Building Consul is a journey we're sharing publicly. If you want to follow along—or be one of the first to try it—join our waitlist.

Consul Team