How We Built UTMStamp in 13 Days: A Real Shipping Story
Day 1, I had an idea. Day 13, paying users were generating email signatures with UTM tracking.
No framework debates. No architecture committee. No sprint planning. Just a problem, a Cursor window, and an unhealthy amount of caffeine.
Here’s exactly how it happened — the decisions, the shortcuts, the things that almost killed the project, and why it shipped anyway.
The Problem (Found in 5 Minutes)
Marketing teams spend thousands on campaigns but have zero idea which email signatures drive clicks. Your sales team sends 200 emails a day, each with a signature. That’s 200 potential touchpoints — completely untracked.
The idea: email signatures with built-in UTM parameters. Create a beautiful signature, embed tracking links, measure which team member’s emails actually drive traffic.
I didn’t validate this for weeks. I checked two things: 1.”utm email signature” had search volume (it did — about 800/month) 2. Existing solutions were either enterprise-only ($500+/month) or garbage
That took one evening. The next morning, I started building.
Day 1-3: Foundation
Stack decision (10 minutes): Next.js + Supabase + Vercel. Not because it’s optimal for everything — because I can move fastest in it. Your MVP tech stack should be whatever you’re most productive in. Period.
What I built:
- User auth (Supabase magic links — 20 minutes to implement)
- Basic signature editor (HTML contenteditable + template rendering)
- Three starter templates
What I skipped:
- Team management (v2 problem)
- Analytics dashboard (v2 problem)
- Custom domains (v2 problem)
- Password auth (magic links are fine for v1)
Day 3 end: I could create an account, pick a template, customize a signature, and copy the HTML. Ugly, but functional.
Day 4-7: The Core Feature
The actual UTM tracking is deceptively simple:
- User fills in their details + campaign parameters
- System generates signature HTML with UTM-tagged links
- User copies HTML into their email client
- Every click on those links shows up in Google Analytics
The hard parts:
- Email client compatibility. Gmail, Outlook, Apple Mail, and Thunderbird all render HTML differently. I spent almost 2 full days just testing signatures across email clients. Tables, not divs. Inline styles, not CSS classes. It’s 2026 and email HTML is still stuck in 2004.
- The copy-paste experience. Copying rich HTML to clipboard works differently on every browser. Had to write three different clipboard functions for Chrome, Safari, and Firefox.
Day 7 end: Core product worked. Create signature → copy → paste in Gmail → links have UTM parameters → clicks show in GA.
Day 8-10: Making It Not Embarrassing
The product worked but looked like a developer designed it (because a developer did).
I used an AI design tool to generate three template variations, then hand-tweaked them. Spent one day on the landing page. One day on the in-app experience.
Key decisions:
- Free tier: Unlimited signatures, 1 template. Enough to be useful, limited enough to upsell.
- Paid tier: All templates, team features, analytics. $8/month.
- No free trial. The free tier IS the trial. Reduces friction, eliminates”your trial expires” emails.
Day 11-12: Distribution Mechanics
Here’s the move that most founders miss: I built distribution INTO the product.
Every signature generated by UTMStamp includes a tiny”✨ Powered by UTMStamp” link at the bottom. Free tier users can’t remove it. Paid users can.
This means every email sent by a UTMStamp user is an ad for UTMStamp. A sales team of 20 people sends 4,000 emails/week. That’s 4,000 impressions/week from a single customer.
Other day 11-12 work:
- Submitted to a few directories
- Wrote 3 blog posts targeting”email signature generator” and”utm tracking email”
- Set up basic analytics (Plausible — privacy-friendly, lightweight)
Day 13: Ship Day
Deployed to production. Tested the full flow one more time. Announced on LinkedIn and Twitter.
Total cost to build and launch:
- Hosting: $0 (Vercel free tier)
- Database: $0 (Supabase free tier)
- Domain: ₹800 (~$10)
- Design tools: $0 (free tiers)
- Developer cost: $0 (built it myself)
- Total: Under $15
Okay sure, my time wasn’t free. But the cash outlay to get a working product in front of users was less than a nice dinner.
What I Deliberately Didn’t Build
This matters more than what I built:
- Team management — Added later after 3 teams asked for it
- Analytics dashboard — Google Analytics handles click tracking. No need to build my own for v1
- Stripe integration — Used Gumroad for the first month. Ugly but zero development time
- Email client integrations — Copy-paste works. Direct integration into Gmail/Outlook is a v3 feature
- Custom branded links — Nice-to-have, not need-to-have
- User onboarding flow — The product is simple enough that it doesn’t need one
Each of these would have added 1-2 weeks. Skipping all of them saved 2 months.
The Lessons
1. Your MVP Timeline Should Scare You
13 days felt insanely aggressive when I set the deadline. That’s the point. A comfortable timeline means you’re building too much. If your deadline doesn’t make you cut features ruthlessly, it’s too generous.
2. Pick Technology You’re Fast In, Not Technology That’s”Right”
Is Next.js the optimal choice for an email signature tool? Probably not. But I can ship a Next.js app faster than anything else. In MVP stage, your speed > theoretical performance.
3. Build Distribution Into the Product
The”Powered by UTMStamp” badge wasn’t an afterthought — it was in the day 1 plan. If your product doesn’t spread itself, you’ll be doing all the marketing manually. That doesn’t scale.
4. Free Tier Is Your Best Marketing Channel
Every free user is a walking billboard (literally, in my case — their emails carry my branding). The free tier isn’t charity. It’s a growth mechanism.
5. Ship Ugly, Ship Fast, Ship Now
UTMStamp v1 looked rough. The editor was basic. The templates were limited. And it worked. Users don’t care about polish. They care about solving their problem.
Want to build your MVP in weeks instead of months? That’s exactly what we do at mvp.cafe. No 6-month timelines, no bloated feature lists. Just the fastest path from idea to product in users’ hands.