I Built UTMStamp in 13 Days — Here’s How
On January 14th, I had an idea. On January 27th, UTMStamp was live at utmstamp.com.
Thirteen days. A complete SaaS product — email signature builder, UTM tracking engine, team deployment, analytics dashboard. Not a prototype. Not a landing page. A working product.
Here’s exactly how that happened.
Day 0: The Idea
I was setting up email signatures for a client’s team. 15 people, all needed consistent branding, all had links in their signatures that marketing wanted to track.
The process was painful:
- Design a signature (manually, in HTML)
- Add UTM parameters to every link (manually)
- Install on every person’s email client (manually)
- Want to update it? Repeat all of the above.
Nobody tracks email signature clicks. Every company sends thousands of emails per day, and the signature — the one thing that appears on every single message — is completely dark to analytics.
That’s a product.
Day 1-3: The Core
I didn’t open Figma. I didn’t write a PRD. I opened my code editor.
Day 1: Set up the project (Next.js, TypeScript, Vercel), built the basic signature editor. WYSIWYG editing with live preview. By end of day, I could create a professional email signature.
Day 2: Template system. Built 5 starter templates that looked good out of the box. Most people don’t want to design from scratch — give them something beautiful and let them customize.
Day 3: Export and installation. One-click copy to clipboard, Gmail integration guide, Outlook support. The signature had to work everywhere, not just look good in a preview.
Three days in, I had a signature builder. That’s it. No UTM tracking yet.
Key decision: Ship the builder first, tracking second. A beautiful signature builder is useful on its own. UTM tracking makes it powerful.
Day 4-7: The Engine
This is where UTMStamp becomes UTMStamp.
Day 4-5: UTM parameter engine. Every link in every signature gets automatic UTM parameters — source, medium, campaign, content. Configurable per team, per person, per campaign. Non-technical users can set it up without understanding what UTM parameters even are.
Day 6: Campaign management. Create campaigns, assign them to signatures, change the tracking parameters without touching the signature itself. Marketing team dream.
Day 7: Dynamic campaign banners. Add a promotional banner to your signature that links to a specific campaign. Update it once, it updates across every person’s signature.
Day 8-10: Team Features
A signature tool for individuals is a nice-to-have. A signature tool for teams is a business.
Day 8: Team workspace. Invite team members, assign roles, manage signatures centrally.
Day 9: Click analytics dashboard. Track clicks per signature, per link, per campaign. Finally — data on whether those “Book a Demo” links actually work.
Day 10: Bulk deployment. Push signature updates to your entire team without touching individual email clients.
Day 11-13: Polish and Ship
Day 11: Auth system, onboarding flow, empty states. The boring stuff that makes the difference between “a project” and “a product.”
Day 12: Free forever plan. I’m a big believer in product-led growth. Let people get value before asking for money. The free plan is generous enough to be actually useful.
Day 13: Final bug squashing, DNS setup, production deploy.
Live at utmstamp.com. Done.
What Made This Possible
1. No Spec, Just Building
A PRD is a document about what you’ll build someday. Code is what you’re building today. For a product this focused, the fastest way to figure out the right UX is to build the UX.
2. Ruthless Scoping
UTMStamp v1 doesn’t have:
- Google Workspace auto-push (coming soon)
- Video signatures (coming later)
- Advanced analytics (coming later)
- A mobile app (maybe never)
It does have: Everything you need to create, track, and deploy email signatures for your team. That’s the MVP.
3. Modern Stack = Speed
Next.js + TypeScript + Vercel. I can go from component to deployed in minutes, not hours. The deployment pipeline is the feature.
4. 50+ Hour Sessions
I’m not going to pretend this was casual. There were multiple 50+ hour coding sessions. Midnight café shipping. This isn’t a “build a SaaS in your spare time” story — it’s a “drop everything and build” story.
When I’m in the zone, I’m in the zone. Sleep when it ships.
The Lesson
Thirteen days is not the point. The point is: How long has your idea been sitting in a Notion doc?
If the answer is “months,” the problem isn’t time or resources or technical complexity. The problem is that you haven’t started building.
UTMStamp isn’t special because it was fast. It’s special because it exists. Most ideas never become products.
Try It
utmstamp.com — free forever plan, no credit card needed.
If your team sends emails (they do), their signatures should be tracked (they aren’t).
Fix that in 5 minutes.
Want me to build your idea this fast? Check the menu.