ANALYTICS / LESSON 05
Putting It Together.
Building a complete application

Loading the lesson…
Loading activities…
ANALYTICS / LESSON 05
Building a complete application

Loading the lesson…
Loading activities…
Over the last few modules you met a service for each piece of the puzzle. Now we wire one service from each module into a real app. Clerk handles authentication, Supabase is the database, R2 does file storage, Resend sends email, Stripe takes payments, and PostHog runs analytics. The alternatives you also covered (Better Auth, Convex, SendGrid, Amazon SES, Postmark and Whop) fill the same slots, so you can swap any of them in.
Picture this. You're building a subscription app where people create and share documents. Here's how every service plugs in.
Somebody finds your app through a Google search and lands on your homepage.
Service used. PostHog tracks this page view and where they came from.
They click "Start Free Trial" and create an account.
Services used.
They make their first document and upload an image to it.
Services used.
A week later, they decide to subscribe to the Pro plan.
Services used.
The user keeps coming back to the app every day.
Services used.
Here's a diagram of how it all connects.
Your app is the hub in the middle. It talks to each service whenever it needs to. The lines show your app sending requests out to each service, and each service sends back the data your app asked for.
Here's one pattern that matters a LOT. You need to connect the same person across every service.
When someone signs up with Clerk, they get a Clerk user ID (like user_abc123). You'll store that ID in a few places.
That way, when Stripe says "user xyz paid," you can look them up in your database and update their subscription status.
I've got a Google Ads client running a $5.69 ROAS on non-branded traffic, and that number is tied to their ticketing system. Connecting the dots between systems is what makes a number like that worth trusting.
You don't have to use every one of these services. Start with what you actually need.
Just getting started? You might only need two.
That's it! Add more services as your needs grow.
When you're ready to make money...
As you grow...
Good news. All of these services have free tiers that work for getting started. Free tiers change a lot though, so treat this table as a snapshot from October 2026 and check each service's pricing page before you plan around it.
| Service | Free Tier (as of October 2026) |
|---|---|
| Clerk | 50,000 monthly retained users per app |
| Supabase | 500 MB database, 1 GB file storage, 2 active projects (paused after a week of inactivity) |
| R2 | 10 GB storage per month, and no egress fees |
| Resend | 3,000 emails per month, max 100 per day |
| PostHog | 1 million events per month |
| Stripe | No monthly fee, you pay a fee on each transaction |
| Hosting | Railway Free includes $1 of monthly usage credit. Railway Hobby starts at $5 per month. Vercel Hobby is free for personal, noncommercial projects. |
These free tiers can support a prototype, but a commercial app may need a paid hosting plan and a domain. Check current plan terms before planning a budget. Transaction fees can apply even without a monthly Stripe fee.
Here's a full tech stack for a modern web app.
| Layer | Technology |
|---|---|
| Frontend | Next.js (React) |
| Styling | Tailwind CSS |
| Authentication | Clerk |
| Database | Supabase (or Railway + Prisma) |
| File Storage | Cloudflare R2 |
| Resend | |
| Analytics | PostHog |
| Payments | Stripe |
| Hosting | Vercel or Railway |
This is a production-ready stack that real companies use. And you've already learned about every piece of it!
Let's run back through the services from the last few modules.
Handles signup, login, passwords, and sessions. You never have to store passwords yourself.
Stores your app's data with real-time updates. Great for apps that need data to sync instantly.
Stores images, videos, and documents. Fast, affordable, and ZERO egress fees.
Sends transactional emails like welcome messages, password resets and receipts. Simple API, great deliverability.
Tracks what people do in your app. Page views, clicks, funnels, and session recordings.
Processes credit cards and subscriptions. Handles security, fraud, and compliance for you.
The big lesson from these modules... you don't have to build everything yourself.
Smart developers do a few things.
Each of these services is built by a team that obsesses over one job, whether that's authentication, payments or email delivery. They've already solved problems you'll never have to think about (thank goodness).
Congrats! You've finished the whole run of service modules, and you now understand the building blocks behind modern apps.
In the next module you'll learn how apps talk to each other through APIs, the glue that connects every service you just met...