Product Readiness
URLsToGo is a production-grade URL shortener running on Cloudflare's edge. Here's where it stands.
Feature Readiness Scorecard
| Feature | Status | Notes |
|---|---|---|
| URL shortening + redirects | LIVE | ~50ms edge latency, 302 redirects |
| Click analytics (geo, device, browser) | LIVE | Per-link + global dashboard |
| Google OAuth (Clerk) | LIVE | 10K MAU free tier |
| API keys (scoped read/write) | LIVE | Programmatic access |
| Categories + tags | LIVE | Full organization system |
| Shared collections | LIVE | Token-based public pages |
| GitHub integration | LIVE | Auto preview link workflows |
| Link expiration + passwords | LIVE | Per-link security |
| Waitlist | LIVE | Email + geolocation capture |
| Import/export | LIVE | Full data portability (JSON) |
| Stripe billing | NEEDED | Subscriptions, portal, webhooks |
| Usage limit enforcement | NEEDED | Link caps per tier |
| Landing page + pricing | POLISH | Needs pricing section, CTAs |
| Onboarding flow | POLISH | First-link wizard |
| Email notifications | NEEDED | Welcome, alerts, conversion |
| Custom domains (user) | FUTURE | Business tier feature |
| Team workspaces | FUTURE | Business tier feature |
Cost Projections by Scale
| Scale | CF Workers | CF D1 | Clerk Auth | Domain | Total Cost | Revenue (Pro mix) | Profit |
|---|---|---|---|---|---|---|---|
| 100 free users | $0 | $0 | $0 | $0.83 | $0.83/mo | $0 | -$0.83 |
| 50 free + 50 Pro | $0 | $0 | $0 | $0.83 | $0.83/mo | $600 | +$599 |
| 100 Pro users | $5 | $0 | $0 | $0.83 | $5.83/mo | $1,200 | +$1,194 |
| 500 mixed | $5 | $0-2 | $0 | $0.83 | $5-8/mo | $3,850 | +$3,842 |
| 1,000 mixed | $5 | $0-4 | $0 | $0.83 | $6-10/mo | $8,900 | +$8,890 |
Launch Strategy
The Founding 100 program drives initial adoption at zero cost, building word-of-mouth before charging.
The Founding 100 Program
Conversion Funnel
Three-Phase Rollout
Phase 1: Founding 100 (Weeks 1-2)
- 100 users get full Pro features for 6 months free
- Recruit from Reddit, personal network, Product Hunt
- Waitlist already built into the product
- After 6 months: auto-convert at founding rate ($9/mo)
- Links never break, even if they don't convert (Free tier)
Phase 2: Next 100 at 50% Off (Weeks 3-6)
- Display "Founding 100 is FULL" on landing page
- Next 100: 50% off for life ($6/mo Pro, $14.50/mo Business)
- Progress bar: "73 of 100 spots remaining at this price"
- Scarcity drives conversion urgency
Phase 3: General Availability (Month 2+)
- Full pricing: $12/mo Pro, $29/mo Business
- Free tier always available (25 links)
- Referral program: 1 month free per referral who subscribes
Revenue Targets
| Metric | Month 1 | Month 3 | Month 6 | Month 12 |
|---|---|---|---|---|
| Total Users | 100 | 200 | 500 | 1,000 |
| Paying Users | 0 | 20-30 | 100-150 | 300-400 |
| MRR | $0 | $240-$360 | $1,200-$1,800 | $3,600-$5,200 |
| Links Created | 500 | 3,000 | 15,000 | 50,000 |
| Monthly Clicks | 5,000 | 50,000 | 250,000 | 1,000,000 |
Marketing Channels
Zero-budget marketing strategy focused on developer communities and build-in-public storytelling.
Reddit (Primary Channel)
r/SideProject — Show and Tell
Hey r/SideProject! I've been building URLsToGo — a developer-friendly URL shortener that runs entirely on Cloudflare Workers + D1.
It costs me less than $5/month to run, even with hundreds of users. Looking for 100 founding users to test it free for 6 months.
[screenshots]
What would you want to see in a URL shortener?
r/webdev — Technical Deep-Dive
Wanted to share the architecture of URLsToGo. No React, no Next.js — just a single Worker with D1 for storage.
- Auth: Clerk (Google OAuth)
- DB: D1 (SQLite at edge)
- Analytics: click_events table with geo/device/browser
- CI/CD: GitHub Actions auto-deploy on push
- Cost: ~$5/mo at 1000 users
[code snippets + architecture diagram]
r/Entrepreneur — Business Angle
I see a lot of SaaS founders spending $200+/mo on infrastructure before they have 10 users. Here's how I keep URLsToGo running for nearly free:
[cost breakdown table]
Total cost for 1000 users: $8.83/month
Revenue at 30% paid conversion: $3,600/month
Margin: 99.7%
r/SaaS + r/selfhosted + r/CloudFlare
Product Hunt
Product Hunt Launch
- 5+ high-quality dashboard screenshots
- 60-second Loom demo video
- Maker's comment with the cost/margin story
- 10+ authentic first-day reviews lined up
- "Founding 100" offer exclusive to PH users
Other Channels
Posting Rules
- ✓Post at 8-9am EST, Tuesday-Thursday (peak engagement)
- ✓Be genuine — show the build story, never be salesy
- ✓Respond to every comment within 2 hours (algorithm boost)
- ✓Include screenshots of the actual dashboard
- ✓Never say "startup" — say "side project" or "tool I built"
- ✓End every post with a question to drive comments
Email Campaigns
8-email sequence over 6 months for Founding 100 beta users. Designed to onboard, engage, and convert.
Email Provider
Beta User Sequence (8 Emails / 6 Months)
- What they get: 6 months full Pro features, free
- How to create their first short link (direct link to dashboard)
- Where to get help or give feedback
- Emphasize: "You're one of 100 people who get this"
- Analytics: See who clicks your links, from where, on what device
- Categories: Organize links by project, client, or campaign
- API keys: Automate link creation from your own tools
- Personalized: show their actual click count if possible
- Explain the analytics dashboard: geo map, device pie chart, referrer list
- Tip: "Share your links on social media and watch the analytics light up"
- How to generate an API key (Settings > API Keys)
- Example cURL command to create a link
- GitHub integration: auto-update preview links on deploy
- Link to API docs
- 3-question survey: What do you use most? What's missing? Would you recommend?
- Feature request invitation
- Reminder of community/support channels
- Personalized usage stats: "You've created X links and tracked Y clicks"
- Preview founding member pricing: $9/mo (25% off Pro, forever)
- Explain what happens at month 6: keep Pro at founding rate, or drop to Free tier
- Reassure: "Your links never break, no matter what"
- Usage summary: links, clicks, top-performing link
- Side-by-side: Free tier (25 links, no analytics) vs Pro (1000 links, full analytics)
- Founding rate ($9/mo) vs full price ($12/mo) — save $36/year
- This rate is only for Founding 100 and never offered again
- Final reminder — direct, clear, no pressure
- One-click subscribe button
- Reassure: links continue working on Free tier if they don't subscribe
- Founding rate expires with this email
Post-Conversion Emails
- Monthly usage digest (top links, total clicks, new milestones)
- Feature announcements (new capabilities, integrations)
- Annual renewal reminder with discount ($99/year vs $108)
- Referral program nudges ("Give 1 month, get 1 month")
Pricing Strategy
Undercutting the market by 50-66% while maintaining 95%+ margins thanks to Cloudflare's edge pricing.
Competitive Landscape
| Service | Free Tier | Pro/Starter | Business/Team | Enterprise |
|---|---|---|---|---|
| Bitly | 10 links/mo | $35/mo | $300/mo | Custom |
| Dub.co | 25 links/mo | $24/mo | $59/mo | Custom |
| Short.io | 50 links | $19/mo | $49/mo | Custom |
| TinyURL | Basic | $12.99/mo | - | - |
| URLsToGo | 25 links | $12/mo | $29/mo | Custom |
URLsToGo Tier Details
Basic click counts
URLsToGo-branded links
1 category
No API access
Full analytics (geo, device, browser)
Custom slugs
Unlimited categories + tags
API access (scoped keys)
Link expiration + passwords
Shared collections
Import/export
Priority support
Everything in Pro
Custom domains (BYO domain)
Team workspaces (5 members)
Webhook events
Advanced analytics + CSV export
GitHub integration
99.9% uptime SLA
Feature Comparison Matrix
| Feature | Free | Pro $12 | Business $29 | Bitly $35 |
|---|---|---|---|---|
| Short links | 25 | 1,000 | Unlimited | 500/mo |
| Click analytics | Count only | Full | Full + CSV | Full |
| Custom slugs | No | Yes | Yes | Yes |
| API access | No | Yes | Yes | Yes |
| Custom domains | No | No | Yes | $500/mo plan |
| Teams | No | No | 5 members | $300/mo plan |
| Geo analytics | No | Yes | Yes | $35/mo |
| Link expiration | No | Yes | Yes | $35/mo |
| Password protection | No | Yes | Yes | No |
| Shared collections | No | Yes | Yes | No |
| GitHub integration | No | No | Yes | No |
| Data export | No | JSON | JSON + CSV | $300/mo plan |
Founding Member Pricing
| Cohort | Pro Price | Business Price | Duration |
|---|---|---|---|
| Founding 100 (first 100) | $9/mo (25% off) | $22/mo (25% off) | Forever |
| Early Adopter (next 100) | $6/mo (50% off) | $14.50/mo (50% off) | Forever |
| General Availability | $12/mo | $29/mo | Standard |
| Annual discount | $99/yr (save $45) | $249/yr (save $99) | Yearly billing |
Cost Infrastructure
Detailed breakdown of every cost component. TL;DR: 100 free users costs you $0.83/month.
Cloudflare Workers
| Tier | Requests | Price | URLsToGo Usage (100 users) |
|---|---|---|---|
| Free | 100,000/day | $0 | ~2,000/day (well within) |
| Paid | 10M/month | $5/mo | ~65,000/mo (needed at ~500 users) |
| Overage | Per million | $0.50 | Not needed until 10K+ users |
Cloudflare D1 (Database)
| Tier | Reads | Writes | Storage | Price |
|---|---|---|---|---|
| Free | 5M/day | 100K/day | 5GB | $0 |
| Paid | 25B/mo | 50M/mo | 5GB + $0.75/GB | $5/mo (bundled with Workers) |
D1 read/write costs are essentially free for URL shortener workloads. Even at 1,000 users, total DB operations are well under free tier limits.
Clerk Authentication
| Tier | MAU | Price | Google OAuth | Notes |
|---|---|---|---|---|
| Free | 10,000 | $0 | Included | More than enough for launch |
| Pro | 10,000+ | $25/mo + $0.02/MAU | Included | At 10K users: $225/mo |
Google OAuth Costs
- ✓Google OAuth via Clerk: $0 — Google never charges for OAuth sign-in
- ✓Google API console quotas are generous — no practical limit at our scale
- ✓Clerk handles all OAuth complexity — we just pay Clerk's MAU pricing
- ✓No Google API sign-up limits for basic OAuth consent flow
- At 10K+ MAU: evaluate self-hosted auth (Lucia, Better Auth) vs Clerk cost
Other Costs
| Item | Cost | Notes |
|---|---|---|
| Domain (urlstogo.cloud) | ~$10/year | Cloudflare registrar |
| SSL/TLS | $0 | Free via Cloudflare |
| CI/CD (GitHub Actions) | $0 | Free for public repos / 2000 min/mo private |
| Email (Resend) | $0-$20/mo | 3K/mo free, then $20/mo for 50K |
| Stripe fees | 2.9% + $0.30/txn | On revenue only — no base cost |
Total Cost by Scale
| Scale | Workers | D1 | Clerk | Domain | Total/mo | Per User | |
|---|---|---|---|---|---|---|---|
| 100 users | $0 | $0 | $0 | $0 | $0.83 | $0.83 | $0.008 |
| 500 users | $5 | $0 | $0 | $0 | $0.83 | $5.83 | $0.012 |
| 1,000 users | $5 | $0-2 | $0 | $0 | $0.83 | $6-8 | $0.007 |
| 5,000 users | $5 | $2-5 | $0 | $20 | $0.83 | $28-31 | $0.006 |
| 10,000 users | $5-10 | $5-10 | $25 | $20 | $0.83 | $56-66 | $0.006 |
Break-Even Analysis
Decision Points
| Trigger | Users | Action | Impact |
|---|---|---|---|
| Upgrade Workers plan | ~300+ | Switch to $5/mo paid | 10M req/mo capacity |
| Add email provider | ~200+ | Resend $20/mo | 50K emails/mo capacity |
| Evaluate auth costs | ~8,000+ | Consider self-hosted auth | Save $135+/mo vs Clerk Pro |
| Add CDN/caching | ~5,000+ | CF Cache Rules (free) | Reduce D1 reads by ~60% |
Roadmap
What exists today vs what's needed for a paying-customer launch. Estimated 5-7 days of focused work.
Launch Readiness
What's Done (12 of 17 features)
- ✓URL shortening + 302 redirects (~50ms edge)
- ✓Click analytics (geo, device, browser, referrer, time series)
- ✓Google OAuth via Clerk
- ✓Scoped API keys (read/write)
- ✓Categories + tags + favorites
- ✓Shared collections (public link pages)
- ✓GitHub integration (auto preview links)
- ✓Link expiration + password protection
- ✓Waitlist with email + geolocation
- ✓Import/export (JSON)
- ✓Rate limiting (per IP/endpoint)
- ✓CI/CD auto-deploy (GitHub Actions)
What's Needed for Launch (5 items)
Future Enhancements (Post-Launch)
30-Day Launch Checklist
| Week | Focus | Tasks | Status |
|---|---|---|---|
| Week 1 | Infrastructure | Implement Stripe billing | TODO |
| Add usage limit enforcement | TODO | ||
| Set up Resend for emails | TODO | ||
| Write welcome email template | TODO | ||
| Week 2 | Polish | Redesign landing page + pricing | TODO |
| Build onboarding flow | TODO | ||
| Create "Founding 100" branding | TODO | ||
| Prepare 5 screenshots for PH | TODO | ||
| Week 3 | Launch | Post on r/SideProject (Tue 8am EST) | TODO |
| Post on r/webdev (Thu 8am EST) | TODO | ||
| Launch on Product Hunt (Tuesday) | TODO | ||
| Send founding invite to waitlist | TODO | ||
| Week 4 | Iterate | Respond to all feedback | TODO |
| Fix top 3 reported issues | TODO | ||
| Post Month 1 update on IH | TODO | ||
| Activate "50% off" if Founding full | TODO |
Developer Plugin Acquisition
1p-local-auth is a free Claude Code plugin targeting the exact developer that buys URLsToGo Pro. Own the niche across multiple tools, drive organic sign-ups.
What the Plugin Does
Manages local dev OAuth credentials via 1Password. Developers building Google/GitHub/Todoist OAuth apps run one command to inject credentials into their dev server — no more swapping .env files or sharing secrets in Slack.
| Skill | What It Does |
|---|---|
/setup-local-auth | Interactive setup wizard — creates 1Password item, writes .env template, adds dev:auth npm script |
/auth-status | Read-only diagnostic — checks all credentials exist in 1Password, flags conflicts |
/auth-inject | Preflight validation — runs op run dry-run to confirm credentials resolve before starting server |
/auth-rotate | Targeted credential rotation — updates single field in 1Password, no template changes needed |
/teardown-local-auth | Reverses setup — removes template, dev:auth script, .gitignore entry; preserves 1Password item |
The Upsell Connection
A developer using 1p-local-auth is:
- ✓Building an app with OAuth — they will deploy it and need to track preview URLs
- ✓Already using Claude Code — they're comfortable with developer tooling at $12/mo price points
- ✓Working with GitHub Actions — the URLsToGo auto-preview-link workflow is immediately relevant
- ✓Thinking about local vs production environments — they want a stable URL per environment
- ✓A solo dev building something real — exactly the Founding 100 profile
Cross-Promotion Strategy
In 1p-local-auth → URLsToGo
go.urlstogo.cloud/your-app--preview → always points to latest preview build
In URLsToGo → 1p-local-auth
claude plugin install https://github.com/Aventerica89/1p-local-auth
Reddit + Product Hunt Launch Angle
This is the "give before you ask" content marketing playbook.
Authority Stack (All Free Tools)
| Tool | Audience | URLsToGo Signal |
|---|---|---|
| 1p-local-auth | Claude Code devs building OAuth apps | Direct: they need URL management for their deployed app |
| URLsToGo Claude Code plugin | Claude Code devs who already use URLsToGo | Deepens retention, reduces churn |
| artifact-manager | Claude.ai power users | Adjacent audience — same solo-dev profile |