DEV Community

Michael Esola
Michael Esola

Posted on

๐Ÿ“ž I'm Not a Coder but Used Claude to Build a Free AI Answering Service

Try Sloane free

I'm not a coder. Zero experience. Claude taught me everything - it was fun. I learned a ton. Never expected to get any customers. But I just crossed 500 users yesterday. Just as email is free, AI phone systems should also be free. Every business deserves to have its own free AI phone system. Businesses can customize their voice through 960 permutations when choosing from 20 different languages, 8 different voice styles and 6 different voice tones.

โš™๏ธ The Tech Stack

I wanted this to be fast, scalable, and genuinely free to use. Here's what powers it:

Frontend (Dual Architecture)

  • Next.js 14 with SSR for the public marketing site (SEO matters!)
  • React 18 SPA for the authenticated dashboard (snappy UX)
  • Material-UI + TailwindCSS + Framer Motion for that modern feel
  • Deployed on Netlify with edge functions

Backend

  • Python Flask running on Google App Engine (auto-scaling FTW)
  • MongoDB Atlas for data persistence
  • 45+ API endpoints organized by domain
  • JWT auth with refresh tokens + Google OAuth

AI Pipeline

  • Azure OpenAI GPT-4 for natural language understanding
  • Google Cloud Speech-to-Text (350ms latency!)
  • Azure Neural TTS with streaming support
  • Custom business-specific training for each client

Telephony

  • Asterisk PBX server on Google Compute Engine
  • Telnyx SIP trunks for phone number provisioning
  • Custom AGI scripts in Python for call logic
  • Sub-250ms response time from speech to AI reply

๐Ÿง  How It Actually Works

When a call comes in, here's what happens in under 250 milliseconds:

  1. Call hits Asterisk โ†’ AGI script triggers
  2. Business context fetch โ†’ Optimized MongoDB lookup with phone number mapping
  3. Speech-to-text โ†’ Google Cloud converts audio to text
  4. AI processing โ†’ GPT-4 understands intent with business-specific knowledge
  5. Text-to-speech โ†’ Azure Neural TTS streams natural response
  6. Conversation flows โ†’ Context retained throughout the entire call

The magic is in the optimization. That <50ms AGI context API? Critical. MongoDB projections, connection pooling, lazy loading for non-critical data โ€“ every millisecond matters when you're trying to sound human.

๐ŸŽจ The Onboarding Experience

One of my favorite parts is the 3-minute onboarding. Seriously, three minutes from signup to taking calls:

Step 0: Connect Your Business

  • Paste your website URL โ†’ AI scrapes and extracts everything
  • Or use Google Business Profile integration
  • Or manually fill in details (but why would you?)

Step 1: Customize Your AI

  • Preview your AI greeting with live audio generation
  • 960 voice permutations (20 languages ร— 8 styles ร— 6 tones)
  • Real-time audio player to hear how you'll sound

Step 2: Create Account

  • Email/password or Google OAuth
  • Email verification with pretty dialog
  • Automatic phone number provisioning via Telnyx

Done. You're taking calls.

๐Ÿ“Š The Dashboard

I built a consolidated dashboard because I hate clicking through tabs:

  • Live call feed with real-time status updates
  • Full transcripts with searchable text
  • Call recordings with inline audio players
  • Analytics showing call volume, duration, outcomes
  • Business settings for hours, services, transfers
  • AI training interface for teaching your bot

WebSocket integration keeps everything updating in real-time without refreshing.

๐Ÿ”ง The Architecture Decisions

Why dual frontends?
SEO matters for acquisition, but a rich dashboard needs client-side routing. Next.js SSR for marketing, React SPA for the app. Cross-domain auth via localStorage tokens keeps users logged in across both.

Why MongoDB?
Fast lookups with phone number indexing, flexible schema for diverse business types, and MongoDB Atlas auto-scales better than I ever could manually.

Why persistent connection pooling?
This was huge. Initially, I was closing connections on teardown (standard practice). But with high call volume, I was getting "Cannot use MongoClient after close" errors. The fix? Never close the connection. Global client, 100 connection pool. Problem solved.

Why Flask over FastAPI?
Hot take: Flask's maturity won out. I needed battle-tested deployment on App Engine, not bleeding-edge async (calls are inherently synchronous anyway).

๐Ÿช„ The Result

When someone calls a business using Sloane, they hear:

"Hi, thank you for calling [Business Name]! This is Sloane, how can I help you today?"

Natural. Professional. Available 24/7.

The AI can:

  • Answer questions about services, hours, location
  • Book appointments and send calendar confirmations
  • Take detailed messages with follow-up emails
  • Transfer calls to humans based on keywords
  • Text customers booking links, forms, or info
  • Screen spam and obvious sales calls

And businesses get:

  • A FREE professional phone number
  • Full call transcripts and recordings
  • Real-time notifications via email/SMS
  • Analytics and lead capture
  • All for $0 on the Starter plan

๐Ÿš€ What I Learned

Latency is everything in conversational AI. That 250ms response time took weeks to optimize. Every database query, every API call, every speech processing step needed scrutiny.

The freemium model actually works. 90% gross margins + viral growth = sustainable. Businesses upgrade when they need more minutes or advanced features.

Dual frontends are worth the complexity. Next.js gives me SEO juice I could never get with a SPA. The React dashboard gives users the snappy experience they expect. Having both is powerful.

MongoDB projections are criminally underused. Don't fetch full documents when you only need 3 fields. That AGI context endpoint went from 200ms to 40ms just by being specific about what data to return.

Build for scale from day one. Auto-scaling on App Engine, connection pooling, optimized indexes, CDN caching โ€“ these weren't premature optimizations. They were table stakes.

๐Ÿ’ฐ The Business Model

Freemium tiers:

  • Starter: FREE (25 min/month)
  • Essentials: $19/mo (100 min)
  • Pro: $49/mo (250 min)
  • Growth: $99/mo (500 min)

Compare to competitors charging $49-99/mo for just the AI, $29-97/mo for the phone number, and $24-49/mo for recording. We give it all away free.

The bet? Get businesses hooked on the value, let them grow, and they'll upgrade naturally. So far, it's working.

๐Ÿ”ฎ What's Next

Currently scaling to support 1000+ concurrent calls. Roadmap includes:

  • Multi-language support (Spanish, French)
  • SMS/WhatsApp integration
  • Advanced workflow automation
  • CRM integrations (Salesforce, HubSpot)
  • White-label offerings for agencies

The goal is to make professional AI phone systems accessible to every business, regardless of size or budget.

๐ŸŽฏ The Takeaway

Building Sloane taught me that solving real problems with AI doesn't require massive ML teams or millions in funding. It requires:

  1. Deep understanding of the problem space
  2. Obsessive attention to latency and UX
  3. Smart use of existing tools (GPT-4, Azure TTS, etc.)
  4. Business model that aligns with user value
  5. Willingness to iterate based on real usage

The most rewarding part? Seeing small businesses actually use it. Dentist offices, law firms, home service companies โ€“ they're taking real calls, booking real appointments, and never missing another customer.

If you're thinking about building something with AI, don't wait for the perfect idea or the perfect stack. Pick a real problem, ship fast, and iterate. The best time to build was yesterday. The second best time is now.


Try Sloane free
How to post feedback: support@hi-sloane.com

Top comments (0)