Back to Blog
#zerocontact#engineering#story#infrastructure

How We Built a 2-Second Notification Infrastructure

The technical story behind ZeroContact: from frustrated agency owner to building notification infrastructure that delivers in 0.5 seconds.

Every product starts with a problem.

My problem: clients weren't getting their leads.

Not because forms were broken. Not because spam was eating emails.

Because email is fundamentally slow, and nobody told me there was a better way.

This is the story of how we built ZeroContact.

The Problem That Started It All

I ran a small web agency. WordPress sites, contact forms, the usual.

One day, a client called, furious: "I paid you for a website and I'm not getting ANY leads!"

I checked. The forms were working. Emails were being sent. But...

They were arriving 15-30 minutes late. Some went to spam. Some never arrived at all.

In those 15 minutes, the leads had already called competitors.

Email was the bottleneck, and I didn't even know it.

The First Attempt: Better Email

Like everyone, I tried to fix email:

  • WP Mail SMTP ✓
  • SPF, DKIM, DMARC records ✓
  • Dedicated SMTP service (Mailgun) ✓
  • Email deliverability testing ✓

It helped. Delivery went from 70% to 95%. Speed improved from 30 minutes to 10.

But 10 minutes is still 10 minutes. In the age of instant everything, 10 minutes feels like an eternity.

The Realization

One night, after another client complaint, I asked myself:

"Why are we using email for real-time alerts?"

Email was designed for asynchronous communication. Send a letter, get a response tomorrow. That's the mental model.

But lead notifications aren't letters. They're alarms. Someone is literally waiting RIGHT NOW to talk to you.

Alarms shouldn't go through the mail system.

The Webhook Experiment

I started experimenting with webhooks + Slack.

Contact Form 7 has a plugin (CF7 to Webhook). I set it up. Pointed it at Slack.

It was instant.

Form submitted → Slack notification → 3 seconds later.

That's when I knew: the technology existed. It just wasn't packaged properly.

Building the MVP

The first version was embarrassingly simple:

  • Supabase for real-time database
  • Next.js for the dashboard
  • Expo for iOS/Android app
  • Edge functions for webhook processing

The flow:

Webhook → Supabase Realtime → Phone buzzes

Total latency: under 500 milliseconds.

I tested it obsessively. Submit form, start stopwatch. Phone buzzes. Stop. 0.3 seconds. 0.5 seconds. 0.8 seconds at worst.

This was 1,000x faster than email.

The Multi-Channel Problem

Slack was great, but clients wanted options:

  • "Our team uses Discord"
  • "Can you send to LINE?"
  • "What about regular email as backup?"

So I built multi-channel delivery:

Webhook → ZeroContact → 5 channels simultaneously

├── Push notification (iOS/Android)

├── LINE

├── Slack

├── Discord

└── Email (as backup)

If one channel fails, others still deliver. Redundancy built in.

The Onboarding Challenge

The hardest problem wasn't technical. It was onboarding.

Agency workflow:

  • Build website for client
  • Client needs form notifications
  • Client doesn't want to create accounts
  • Client doesn't understand webhooks
  • Everyone wants it to "just work"

Traditional flow required:

  • Account creation
  • Email verification
  • Password setup
  • App installation
  • Settings configuration
Too many steps. Too much friction.

The QR Code Solution

I thought about how Apple Pay works. How you pair AirPods. Scan, done.

So I built QR-based authentication:

  • Agency creates form in dashboard
  • Dashboard generates QR code
  • Agency sends QR to client
  • Client scans with phone
  • Done. No account. No password. No setup.
30 seconds from QR to notifications.

This was the breakthrough. Agencies could onboard clients in a single message.

The Architecture Today

After two years of refinement:

Receiving Layer

  • Edge functions in multiple regions
  • Sub-100ms processing time
  • Automatic retry on failure

Processing Layer

  • Supabase Realtime for pub/sub
  • Row-level security for data isolation
  • Real-time database sync

Delivery Layer

  • APNs (Apple Push Notification service)
  • FCM (Firebase Cloud Messaging)
  • Webhook dispatch to LINE/Slack/Discord/Email

Client Apps

  • SwiftUI for iOS
  • React Native for Android (coming)
  • QR-based authentication

Performance Numbers

Current SLA:

  • Webhook to notification: < 2 seconds (99th percentile)
  • Uptime: 99.9%
  • Delivery rate: 99.8%
  • Multi-channel simultaneous: 5 channels

For comparison:

  • Email: 5-60 minutes
  • Zapier (free): 15 minutes
  • Zapier (paid): 1-2 minutes

We're in a different league.

Lessons Learned

1. Purpose-built beats general-purpose

Zapier, Make, IFTTT can do everything. We do one thing extremely well.

2. Onboarding is the feature

Technology doesn't matter if users can't get started. QR onboarding was our moat.

3. Speed competes

In a world of "fast enough," being 1000x faster is a differentiation that's impossible to ignore.

4. Infrastructure is leverage

Once built, it costs almost nothing to add another user. Near-zero marginal cost.

What's Next

We're just getting started:

  • Android app: Q1 2026
  • Action buttons: Call back directly from notification
  • Analytics: Response time tracking
  • API: For custom integrations

The mission hasn't changed: make form notifications instant for everyone.

Try It Yourself

If you're running a web agency, you've felt this pain. Your clients aren't getting leads fast enough. Email is the bottleneck.

We built ZeroContact to solve it.

Set it up. Send a test form. Watch your phone buzz in 2 seconds.

Then imagine every lead getting that kind of response time.

---

Ready to experience 2-second notifications? Get started with ZeroContact →

Experience 2-Second Notifications

Solve your form notification delays with ZeroContact

Get Started Free