Build Your MVP This Weekend for $0 on AWS

Everything I shared at AWS Community Day Cebu about shipping real products on the free tier. No surprise bills, just smart architecture choices.

Ship a real MVP this weekend without the surprise bills

I gave this talk at AWS Community Day Cebu on September 13, 2025. The event theme was "Build Beyond Limits" and it was held at UP Cebu Performing Arts Hall. This post covers everything from that session so you can follow along at your own pace.


The Problem We All Face

You've got an idea. You want to build it. But then you start thinking about cloud costs and suddenly you're paralyzed.

What if I rack up a massive bill? What if I pick the wrong architecture? What if, what if, what if...

And the idea just sits there. Unbuilt. Forever.

Sound familiar? Yeah, me too.

The Good News

You can build and deploy a real, working MVP in one weekend. With authentication, a database, file storage, analytics, the whole package. And it'll cost you somewhere between $0 and $5.

This isn't about cutting corners or building something janky. It's about being smart with your architecture choices. AWS Free Tier is genuinely generous if you know how to use it.


What You'll Learn

The MVP Mindset

  • Start small: serverless and managed services are your friends
  • Ship fast: perfect is the enemy of done
  • Track costs: set up billing alerts before you build anything
  • Iterate: real user feedback beats imaginary perfect features

What We're Building

A QR Code Generator app. Sounds simple, but it covers all the bases:

  • User authentication with Amazon Cognito
  • Database storage with DynamoDB
  • File storage with S3
  • Serverless APIs with Lambda
  • Analytics and tracking
  • Production deployment with Amplify

Why This Works

The traditional approach looks like this: spend weeks on perfect architecture, write perfect code, build all the features, never actually ship.

The MVP approach: pick a good enough architecture, write working code, build one feature really well, ship it, then iterate based on what real users tell you.


The Architecture

Why Serverless for MVPs?

Serverless is perfect for MVPs because you only pay for what you use. No traffic? No bill. Suddenly go viral? It scales automatically. You don't have to babysit servers, and monitoring comes built in.

Focus on building features, not managing infrastructure.


Weekend Timeline

Here's roughly how your weekend could look:

Saturday Morning (2 hours)

Set up your AWS account and immediately configure billing alerts (seriously, do this first). Bootstrap a Next.js app, deploy it to Amplify, and wire up authentication with Cognito.

Saturday Afternoon (4 hours)

Design your database schema in DynamoDB, build out the core QR generation feature, and throw together a basic UI.

Sunday (3 hours)

Polish everything, test it properly, deploy to production, and share it with your first users.

That's about 9 hours total, and you'll stay well within the free tier.


AWS Free Tier Limits

Here's what you get for free every month:

Service Free Limit Duration Use Case
Lambda 1M requests/month Always free Your API endpoints
DynamoDB 25GB storage Always free All your user data
S3 5GB storage 12 months File uploads
Cognito 10K monthly users Always free Authentication
API Gateway 1M calls/month 12 months REST APIs
CloudFront 1TB transfer/month Always free CDN for your assets
Amplify 5GB hosting + builds Always free Deploy and host

Note: Cognito's free tier changed in late 2024. New user pools created after November 2024 get 10K MAU free (down from 50K for older pools). S3 and API Gateway free tiers expire after your first 12 months, so keep that in mind for longer-running projects.

These limits can comfortably handle 1000+ active users in your first months. By the time you outgrow them, you'll hopefully have revenue to cover the costs.


The QR Code Generator

What exactly are we building? A real SaaS app with:

MVP Features

  • User registration and login
  • Generate QR codes with custom URLs
  • Dashboard showing your QR code history
  • Track when your codes get scanned
  • Download QR images

What We're NOT Building (Yet)

  • Fancy analytics dashboard
  • Team collaboration
  • Custom QR designs with logos
  • Bulk operations
  • Developer API

Why such a narrow scope? Because one feature done really well beats ten features done halfway. You can always add more later once real users tell you what they actually want.


Cost Control (Super Important)

Set Billing Alerts FIRST

Before you do anything else, set up billing alerts. Seriously. Do this first.

aws budgets create-budget \
    --account-id $(aws sts get-caller-identity --query Account --output text) \
    --budget '{
        "BudgetName": "Weekend MVP Budget",
        "BudgetLimit": {"Amount": "10", "Unit": "USD"},
        "TimeUnit": "MONTHLY",
        "BudgetType": "COST"
    }'

Keep an Eye on Things

Check your AWS bill weekly. If you hit 80% of your budget, start optimizing. If you see unusual spikes, investigate immediately. Don't wait for a surprise bill.

As You Grow

  • Starting out ($0/month): Free tier handles 100 to 1000 users just fine
  • Getting serious ($5 to $20/month): Add a custom domain, email
  • Growing fast ($20 to $100/month): Time to scale up features

Success Metrics

How do you know if your MVP is actually working?

Technical Stuff

  • App loads in under 2 seconds
  • QR codes generate in under 5 seconds
  • 99%+ uptime (serverless makes this pretty easy)
  • Works on mobile

Business Stuff

  • 10 users in your first week
  • 50 QR codes generated
  • 100 scans recorded
  • At least 1 person gives you feedback (this is gold)

Cost Stuff

  • Stay under $5/month
  • Check your spending regularly
  • Optimize before you need to scale

Implementation Details

Pick Managed Services

Let AWS handle the infrastructure so you can focus on your actual product:

const smartChoice = {
  database: 'DynamoDB',
  auth: 'Amazon Cognito',
  storage: 'S3',
  api: 'API Gateway + Lambda',
  hosting: 'Amplify',
}

Don't do this to yourself:

const painfulChoice = {
  database: 'PostgreSQL on EC2',
  auth: 'Custom JWT implementation',
  storage: 'EC2 file system',
  api: 'Express server on EC2',
  hosting: 'Custom nginx setup',
}

You'll spend all your time managing servers instead of building features.

Database Design

type QrItem @model @auth(rules: [{ allow: owner }]) {
  id: ID!
  targetUrl: String!
  s3Key: String!
  createdAt: AWSDateTime!
  scanCount: Int @default(value: 0)
}

type QrScan @model @auth(rules: [{ allow: public, provider: apiKey }]) {
  id: ID!
  qrId: String! @index
  scanAt: AWSDateTime!
  userAgent: String
}

Simple, and it respects user privacy. That's all you need to start.


What You'll Have by Sunday

By the time you close your laptop Sunday evening, you'll have:

A Real Product

  • Working auth system
  • Database with real data
  • File storage with CDN
  • Analytics and tracking
  • Mobile responsive UI
  • Live in production

Actual Skills

  • AWS Amplify development
  • Serverless architecture patterns
  • React/Next.js best practices
  • Database design
  • Cost monitoring

A Foundation to Grow

  • Modern architecture that scales
  • Industry standard tech stack
  • Something real for your portfolio
  • Real users giving real feedback

Ready to Build?

Don't let this become another tutorial you bookmark and forget. Pick a weekend and actually ship something.


Key Takeaways

  1. Start small: one feature done well beats ten done poorly
  2. Ship fast: real feedback beats perfect features every time
  3. Use managed services so you can focus on your product instead of infrastructure
  4. Set billing alerts before you create anything
  5. Build, ship, get feedback, repeat

The best time to ship was last weekend. The second best time is this weekend.


Resources

Community: AWS Amplify Discord

Huge thanks to AWS User Group Cebu for having me, to all the volunteers who made the event happen, and to everyone who showed up. The energy at UP Cebu was incredible. And if you're hesitant about starting small, remember that every iteration gets you closer to something real.

Let's build something together.

Got an idea? I'm always up for a new challenge, whether it's a side project, a startup, or something in between.

© 2026 Cyrus David Pastelero. All rights reserved.

Built with Next.js, TypeScript & Tailwind CSS