1761334197930_img

A practical guide to implementing AI chatbots without breaking the bank


Video version of this post can be found here

The $20/User Problem

You’ve heard about Amazon Q Business. It’s impressive—a fully-managed AI chatbot that can answer questions from your company’s knowledge base, integrate with 40+ data sources, and requires zero engineering effort.

The catch? $20 per user per month for the Pro tier (or $3/user for the limited Lite version).

For a team of 20, that’s $4,800 per year. For many small businesses, that’s a significant chunk of the budget—money that could go toward hiring, marketing, or product development.

But here’s the thing: you don’t need Amazon Q. With a few AWS services and some smart architecture choices, you can build your own version for a fraction of the cost.

Let me show you how.


The DIY Alternatives: From Scrappy to Enterprise

I’ve analyzed four approaches to building an AI chatbot with authentication and knowledge base capabilities. Each serves a different business need and budget:

💰 Cost Breakdown (20 users, 50 queries/day each)

Solution Fixed/Month Per User/Month Total/Month Break-Even Point
Amazon Q Business Pro 🏢 $0 $20.00 $400 Reference
OpenSearch + Bedrock (Full RAG) $700 $0.77 $715 36 users
Aurora pgvector + Bedrock (Budget RAG) ⭐ $75 $0.77 $90 4 users
Context-Stuffing (No Vector Search) ⚠️ $12 $0.77 $27 <1 user

Let that sink in: $27 vs $400 per month for 20 users. That’s a 93% cost savings.


Breaking Down Your Options

🏗️ Complete Comparison

Solution Pros ✅ Cons ❌ Best For
Amazon Q Business Pro • Zero setup
• Enterprise support
• 40+ native connectors
• Managed updates
• Built-in analytics
• Slack/Teams integration
• QuickSight integration
• Expensive ($20/user)
• Limited customization
• Vendor lock-in
• Fixed pricing regardless of usage
• Non-technical teams
• Need enterprise SLA
• Want turnkey solution
• Need many integrations
OpenSearch + Bedrock • Full RAG capabilities
• AWS-native & production-ready
• Unlimited documents
• Auto-scaling
• Best performance
• No database management
• Expensive fixed cost ($700)
• Expensive for <30 users
• More complex setup
• Can’t scale to zero
• 40+ users
• Large document corpus
• Enterprise production
• High query volume
Aurora pgvector + Bedrock Best value (90% cheaper than OpenSearch)
• Full RAG with vector search
• Scales to near-zero
• Native Bedrock KB support
• Production-ready
• Familiar PostgreSQL
• Need to manage database
• Slightly more setup
• Manual scaling config
• Less performant at huge scale
5-100 users (sweet spot)
• Startups/SMBs
• Budget-conscious
• Want proper RAG cheap
Context-Stuffing ⚠️ Cheapest option
• Simple setup
• No database needed
• Easy to debug
• Fast to implement
No semantic search
• Only works for <50 pages
• Poor retrieval quality
• Breaks with scale
• High token costs if docs grow
• Limited production capabilities
• <10 documents only
• FAQ bots
• Learning/POC
Limited uses for production

📝 Technical Note: What “Bedrock Knowledge Base” Actually Means

Before we dive deeper, let’s clarify the architecture. When you see “OpenSearch + Bedrock” or “Aurora + Bedrock” in this guide, here’s what’s actually happening:

Both use Amazon Bedrock Knowledge Base (AWS’s managed RAG service). The difference is which vector database backend you choose:

  • OpenSearch Serverless: AWS’s default, premium option ($700/mo)
  • Aurora pgvector: AWS’s budget option ($75/mo)

The Context-Stuffing approach doesn’t use Bedrock Knowledge Base at all—it just calls the Bedrock models directly, which is why it’s so cheap (but limited).

⚠️ Important: Bedrock Model Choice Dramatically Affects Cost

All pricing in this post assumes Claude 3 Haiku (Bedrock’s cheapest model at $0.25 per million input tokens).

Key insight: If you need Sonnet/Opus quality, Amazon Q’s $20/user becomes competitive. But Haiku is surprisingly good for most small business knowledge base queries—and that’s where the 70-93% cost savings come from.

Bottom line: Start with Haiku. Upgrade only if quality suffers. Most teams never need to.


That’s it! Just drop this in and you’re good. The rest of the blog’s math stays accurate since it’s based on Haiku pricing.

┌─────────────────────────────────────────────────────────┐
│                  BEDROCK KNOWLEDGE BASE                  │
│  (Manages ingestion, embeddings, retrieval, RAG logic)  │
└────────────┬────────────────────────────┬───────────────┘
             │                            │
             │ Needs vector storage       │ Queries LLM
             │                            │
    ┌────────▼─────────┐         ┌────────▼────────┐
    │  Vector Store    │         │  Bedrock Model  │
    │  (Pick one):     │         │  (Claude 3)     │
    │                  │         └─────────────────┘
    │  • OpenSearch    │
    │    ($700/mo)     │
    │                  │
    │  • Aurora        │
    │    ($75/mo)      │
    └──────────────────┘

The “Bootstrapper Special”: Context-Stuffing Explained

Let’s talk about the cheapest option—what I’m calling the “Bootstrapper Special” (or context-stuffing, in technical terms).

What Is It?

Instead of using Bedrock Knowledge Base with a vector database to search through your documents, you simply:

  1. Store all your documents in S3
  2. When a user asks a question, load ALL the documents
  3. Stuff everything into Claude’s 200K token context window
  4. Let Claude figure it out

The architecture is relatively simple:

User Question
    ↓
Lambda Function
    ↓
Fetch ALL docs from S3
    ↓
Combine: Documents + User Question
    ↓
Send to Bedrock Claude (direct API call)
    ↓
Get Answer

No Bedrock Knowledge Base. No vector database. Just brute force.

When Does This Actually Work?

✅ Perfect for:

  • Small internal FAQ bots (company policies, HR docs)
  • Product documentation (<50 pages)
  • Simple customer support (10-20 common questions)
  • Testing an idea before investing in infrastructure
  • Side projects and MVPs

❌ Don’t use for:

  • More than 50 pages of content
  • Hundreds of documents
  • When you need accurate document retrieval
  • Production apps with paying customers

Real-World Example

Scenario: You run a 10-person marketing agency and want to build a chatbot that answers questions about your:

  • Standard Operating Procedures (15 pages)
  • Client onboarding guide (10 pages)
  • Brand guidelines (8 pages)

Total: 33 pages, 10 users

Solution Monthly Cost Setup Time Annual Cost
Amazon Q Pro $200 30 minutes $2,400
Aurora pgvector $83 2 hours $996
Bootstrapper Special $20 30 minutes $240

Annual savings vs Amazon Q: $2,160

For a 10-person team with simple documentation needs, the Bootstrapper Special is a no-brainer. You get 90% of the value for 8% of the cost.


The “Best Value” Option: Aurora pgvector + Bedrock

Once you outgrow the Bootstrapper Special (or if you have >50 pages of content from day one), Aurora with pgvector is your sweet spot.

What You Get:

  • Real semantic search (finds relevant info even if wording doesn’t match)
  • RAG (Retrieval Augmented Generation) (only sends relevant chunks to Claude)
  • Scales with your business (near-zero cost when idle)
  • Production-ready (proper database, backups, monitoring)
  • Full Bedrock Knowledge Base integration (managed RAG pipeline)

The Architecture:

User Question
    ↓
Lambda Function
    ↓
Bedrock Knowledge Base
    ↓
Convert question to vector (embeddings)
    ↓
Search Aurora pgvector database
    ↓
Retrieve top 5 relevant chunks
    ↓
Send ONLY relevant info + question to Claude
    ↓
Get high-quality answer

Cost Scaling for 20-Person Team

# Users Amazon Q Pro Aurora pgvector Monthly Savings Annual Savings
20 $400 $90 $310 $3,720

At 20 users, you’re saving $3,720 per year. That’s:

  • A serious marketing budget
  • A few months of a junior developer
  • 2-3 months of office rent
  • Or… you get the idea

The “Enterprise” Option: OpenSearch Serverless + Bedrock

Once you hit 40+ users or have massive document libraries (10,000+ documents), OpenSearch Serverless becomes worth considering.

Why upgrade?

  • Better performance at scale
  • Auto-scaling without management
  • More advanced search capabilities
  • Zero database administration
  • AWS’s recommended/default option

The $700/month fixed cost becomes more palatable when spread across 40+ users ($17.50/user), and you get enterprise-grade performance.


📊 How Costs Scale Over Time

Here’s what happens as your team grows:

# Users Amazon Q Pro OpenSearch Aurora pgvector Bootstrapper
10 $200 $708 ❌ $83 ✅ $20 ✅
20 $400 $715 ❌ $90 ✅ $27 ✅
30 $600 $723 ❌ $98 ✅ $35 ✅
50 $1,000 $739 ✅ $114 ✅ $51 ✅
100 $2,000 $777 ✅ $152 ✅ $89 ✅
200 $4,000 $854 ✅ $229 ✅ $166 ✅

Notice: Even at 200 users, every custom option is dramatically cheaper than Amazon Q.

OpenSearch break-even point: 36 users (where $715 < $720)


🎯 Decision Framework for Small Businesses

Start Here: What’s Your Document Volume?

Do you have less than 50 pages of content?
│
├─ YES → Start with Bootstrapper Special ($20/mo for 10 users)
│         Upgrade later when you hit limits
│
└─ NO → Start with Aurora pgvector ($83/mo for 10 users)
          You'll need proper search from day one

Consider Your Team Size:

How many people will use this?
│
├─ 5-30 users → Aurora pgvector (best value)
│
├─ 30-100 users → Aurora pgvector (still cheaper)
│
└─ 100+ users → Consider OpenSearch (performance matters)

Factor in Technical Capacity:

Do you have a developer on staff?
│
├─ YES → Build custom (93% cost savings possible)
│
└─ NO → Amazon Q might be worth it
          (but consider hiring a contractor for setup)

Real-World Case Studies

Case Study 1: 15-Person SaaS Startup

Challenge: Need internal chatbot for company wiki, HR policies, and engineering docs (120 pages total)

Solution: Aurora pgvector + Bedrock Knowledge Base

Results:

  • Setup time: 4 hours (one developer)
  • Monthly cost: $87
  • Amazon Q would have cost: $300/month
  • Annual savings: $2,556
  • ROI: Positive after month 1

Case Study 2: Solo Founder Building Customer Support Bot

Challenge: 8 pages of product documentation, 100 customers asking similar questions

Solution: Bootstrapper Special (Context-Stuffing)

Results:

  • Setup time: 45 minutes
  • Monthly cost: $15
  • Handles 1,500 queries/month
  • Amazon Q wouldn’t make sense (customer-facing, not employee tool)
  • Saved 10+ hours/week in support time

Case Study 3: 25-Person Digital Agency

Challenge: Client knowledge bases, internal SOPs, 300+ documents

Solution: Aurora pgvector + Bedrock Knowledge Base

Results:

  • Setup time: 6 hours (including document migration)
  • Monthly cost: $94
  • Amazon Q would have cost: $500/month
  • Annual savings: $4,872
  • Used savings to hire part-time DevOps consultant

🚀 Getting Started: Your First Week

Day 1-2: Bootstrapper Special (Proof of Concept)

What you need:

  • AWS account
  • Basic Python/Node.js knowledge
  • Your documents in PDF/text format

Architecture:

S3 (documents) → Lambda → Bedrock Claude (direct call) → API Gateway → Simple frontend

Cost: ~$15/month

This gets you:

  • Document upload to S3
  • Basic Q&A (loads all docs into context)
  • User authentication (Cognito)
  • Proof that this works for your use case

Day 3-5: Add Proper Frontend

  • Deploy React/Next.js app on Amplify
  • Add chat interface
  • Implement chat history (DynamoDB)

Total cost: ~$20-27/month (depending on users)

Week 2-3: Upgrade to Aurora pgvector (if needed)

If your document count grows or quality suffers:

  • Set up Aurora Serverless v2 with pgvector extension
  • Configure Bedrock Knowledge Base with Aurora backend
  • Migrate documents through ingestion pipeline
  • Implement proper RAG architecture

New cost: ~$85-90/month (for small team)


Feature Comparison: What You’re NOT Getting

Let’s be honest—building custom means you sacrifice some features:

Feature Amazon Q Pro Your Custom Build
Setup time 30 minutes 4-8 hours
40+ data connectors ❌ (build what you need)
Enterprise support ❌ (you’re the support)
Auto-updates ⚠️ (you manage)
Slack/Teams integration ✅ Native ⚠️ (2-4 hours to build)
Admin analytics dashboard ⚠️ (4-8 hours to build)
Web crawler ❌ (need to add separately)
QuickSight integration ❌ (manual integration)
Microsoft 365 plugins ❌ (manual integration)
Cost for 20 users $400/mo $27-90/mo

The trade-off: You spend 8-16 hours upfront building and save $3,000-4,000+ per year.

For most small businesses, that’s an easy ROI calculation.


🎯 Feature Matrix

Feature Amazon Q Pro OpenSearch + Bedrock Aurora pgvector + Bedrock Bootstrapper Special
Semantic Search
RAG (Retrieval)
Document Limit Unlimited Unlimited Unlimited ~50 pages max
Query Quality Excellent Excellent Excellent Poor (context overflow)
Setup Time 0 min 2-4 hours 1-2 hours 15 min
100% AWS Native
Scales to Zero N/A
Database Management None None Required None
Bedrock KB Equivalent

Common Objections (And My Responses)

“We don’t have a developer”

Hire a contractor for $500-1,000 to set this up. With 20 users, you’ll break even in 2 months and save $3,000+ annually.

“What about maintenance?”

AWS manages the infrastructure. You’ll spend ~2 hours/month on updates and monitoring. Compare that to $4,800/year for Amazon Q.

“Our documents will grow over time”

Start with the Bootstrapper Special. Upgrade to Aurora pgvector when you hit 50+ pages. The migration takes 2-3 hours and the architecture is designed for this.

“We need enterprise support”

If you truly need 24/7 SLA and dedicated support, Amazon Q might be worth it. But most 20-person businesses don’t need this—they need cost-effective tools that work.

“Doesn’t Amazon Q have more features?”

Yes—40+ data connectors, Slack integration, QuickSight, etc. But ask yourself: do you actually need all of that? Most small businesses need:

  • Document Q&A ✅ (you can build this)
  • User authentication ✅ (Cognito)
  • Chat interface ✅ (simple React app)

The 80/20 rule applies: build the 20% of features you’ll actually use.


The Bottom Line

Your Situation My Recommendation Monthly Cost (20 users) Annual Savings vs Amazon Q
<10 documents, testing idea Bootstrapper Special $27 $4,476
10-100 users, <1000 documents Aurora pgvector $90 $3,720
100+ users, production workload OpenSearch Serverless $777 $14,676 (at 100 users)
No developer, need turnkey Amazon Q Pro $400 $0 (baseline)

For 90% of small businesses with 20 users, you should NOT pay $400/month for Amazon Q.

The custom-built alternatives give you:

  • ✅ 78-93% cost savings
  • ✅ Full control and customization
  • ✅ No vendor lock-in
  • ✅ Learn valuable AI/AWS skills
  • ✅ Scale costs with actual usage

The trade-off:

  • ⚠️ 4-16 hours of initial setup
  • ⚠️ 1-2 hours/month maintenance
  • ⚠️ You’re responsible for uptime
  • ⚠️ Need basic technical skills

Start with the Bootstrapper Special. It costs $20-30/month for a small team and takes 2-3 hours to set up. If it works for your use case, you’ve just saved your business $3,000-4,000 per year.

If you outgrow it (which is a good problem to have), upgrade to Aurora pgvector + Bedrock Knowledge Base. You’ll still save 77% compared to Amazon Q.


💡 Quick Decision Tree

Start Here: What's your situation?
│
├─ No developer on team
│  └─→ Amazon Q Pro ($400/mo for 20 users)
│      Worth it for zero engineering
│
├─ Have developer, <50 pages of docs
│  └─→ Bootstrapper Special ($27/mo)
│      Save $4,476/year
│
├─ Have developer, 50+ pages or need quality search
│  └─→ Aurora pgvector + Bedrock KB ($90/mo)
│      Save $3,720/year
│
└─ 100+ users or massive doc library
   └─→ OpenSearch + Bedrock KB ($777/mo at 100 users)
       Still save $14,676/year vs Amazon Q

Next Steps

Ready to build your own?

  1. Start small: Implement the Bootstrapper Special this weekend (2-3 hours)
  2. Measure usage: Track queries per day and document growth
  3. Upgrade strategically: Move to Aurora pgvector when you hit 50+ pages or quality issues
  4. Scale smartly: Consider OpenSearch only when you have 100+ users

The typical path for a 20-person company:

  • Month 1-3: Bootstrapper Special ($27/mo) - validate the idea
  • Month 4-12: Aurora pgvector ($90/mo) - scale with proper RAG
  • Year 2+: Evaluate OpenSearch if you hit 100+ users

Total first-year cost: ~$900
Amazon Q first-year cost: $4,800
First-year savings: $3,900


📦 Architecture Comparison

Bootstrapper Special (No Bedrock Knowledge Base)

┌─────────────┐
│   User      │
└──────┬──────┘
       │
┌──────▼──────────┐
│  Cognito Auth   │ (User login)
└──────┬──────────┘
       │
┌──────▼──────────┐
│  API Gateway    │
└──────┬──────────┘
       │
┌──────▼──────────┐
│  Lambda         │
│  1. Load ALL    │
│     docs from S3│
│  2. Stuff into  │
│     Claude      │
│     context     │
└──────┬──────────┘
       │
┌──────▼──────────┐
│  Bedrock        │
│  Claude 3       │
│  (Direct API)   │
└─────────────────┘

Cost: $12/mo (AWS) + $0.77/user (Bedrock) = $27/mo for 20 users


Aurora pgvector (WITH Bedrock Knowledge Base)

┌─────────────┐
│   User      │
└──────┬──────┘
       │
┌──────▼──────────┐
│  Cognito Auth   │
└──────┬──────────┘
       │
┌──────▼──────────┐
│  API Gateway    │
└──────┬──────────┘
       │
┌──────▼──────────┐
│  Lambda         │
└──────┬──────────┘
       │
┌──────▼──────────────────────────────┐
│     BEDROCK KNOWLEDGE BASE           │
│  (Managed RAG pipeline)              │
│  1. Embed query                      │
│  2. Search vectors                   │
│  3. Retrieve relevant chunks         │
└──────┬──────────────┬────────────────┘
       │              │
┌──────▼────────┐ ┌──▼────────────┐
│  Aurora       │ │  Bedrock      │
│  PostgreSQL   │ │  Claude 3     │
│  + pgvector   │ │               │
└───────────────┘ └───────────────┘
       ▲
       │
┌──────┴──────┐
│     S3      │
│ (Documents) │
└─────────────┘

Cost: $75/mo (Aurora) + $12/mo (AWS) + $0.77/user (Bedrock) = $90/mo for 20 users


OpenSearch Serverless (WITH Bedrock Knowledge Base)

Same as Aurora architecture above, but replace:

┌──────────────────┐
│  Aurora          │     with     ┌──────────────────┐
│  PostgreSQL      │    ───────→  │  OpenSearch      │
│  + pgvector      │              │  Serverless      │
│  ($75/mo)        │              │  ($700/mo)       │
└──────────────────┘              └──────────────────┘

Cost: $700/mo (OpenSearch) + $12/mo (AWS) + $0.77/user = $715/mo for 20 users


Remember: Every dollar you save on SaaS is a dollar you can invest in growing your business. Build smart, not expensive.


<
Previous Post
A Comprehensive Guide to Prompt Engineering: Text and Image Generation Techniques
>
Next Post
Demystifying Vector Indexes: How Amazon Q Business Actually Finds Your Data