Example execution pack
This is a saved public example of an Edge Arena execution pack. It shows the same structure a user receives after a run, using the prompt: “Build a dead-simple invoicing tool for freelancers that gets them paid faster by automatically chasing late invoices.”
Saved example artifact • Your own pack will reflect your goal, launchpad, and constraints
Executing:
Freelance Invoices That Chase Themselves
Use this pack like a working document — review, validate, then execute.
Create invoice, send, get paid — the reminders handle the awkward part.
Selected from 11 ideas • Winner score 83
A laser-focused invoicing tool for independent freelancers whose one sharp feature is an automatic, polite reminder sequence that fires after the due date - so freelancers get paid faster without drafting an awkward follow-up. Built as a 6-week MVP on Next.js + Supabase + Stripe.
If you execute consistently, you could have a usable MVP in ~6 weeks.
boltStart here - first steps
Have a working invoice creation flow with a Stripe payment link and a scheduled reminder job firing on a real email address inside 5 business days.
Build auth + client creation + invoice form + Stripe payment-link generation.
2 days
Implement the Supabase scheduled Edge Function that queries overdue invoices and fires reminder emails via Resend.
2 days
Wire the Stripe webhook to mark invoices paid and suppress the remainder of the reminder sequence.
1 day
Why This Won
01. Execution Plan
Get the invoice creation + Stripe payment-link + scheduled reminder flow working end-to-end against a real email address.
- 1.Build auth + client + invoice creation + Stripe payment-link generation.
- 2.Implement Supabase scheduled Edge Function for the reminder sequence.
- 3.Wire Stripe webhook to mark-paid + reminder suppression.
- 4.Run 3 end-to-end test cycles with the operator as both freelancer and client.
An invoice that fires a day+3 reminder to a real email, and stops reminding the moment the Stripe payment webhook fires.
Supabase Edge Functions have cold-start latency and cron scheduling quirks. Budget an extra day for reminder-timing edge cases (reminder fires 2 hours late, reminder fires twice).
Resist adding expense tracking or a client portal in this phase. The narrow create-send-remind-paid loop is what makes the 6-week timeline possible.
Onboard 20 pilot freelancers and observe the full invoice lifecycle - creation, send, reminder, and payment - for at least one invoice per user.
- 1.Recruit 20 freelancers from Twitter/X and Indie Hackers.
- 2.Onboard each manually and confirm the first invoice is created.
- 3.Watch for the first reminder fire and confirm delivery.
- 4.Run the day-14 call with each pilot user.
15-18 Pilot users send at least one real invoice, at least 5 reminders fire successfully, and 2-3 users report a payment that came in faster than expected.
Some pilot freelancers will ask for time tracking or expense fields in the first week. Log the request and decline for v1 - the ask confirms the audience but not the priority.
Do not manually follow up on behalf of pilot users. The point is to measure what the automated sequence achieves without intervention.
Launch publicly, activate Stripe subscriptions, and reach 200 paying freelancers through organic content and freelancer community posts.
- 1.Flip the $9/month subscription gate on and extend pilot users to a 30-day trial.
- 2.Post a case study on Indie Hackers: "I built a tool that got my own invoices paid faster - here is how it works.".
- 3.Post in r/freelance, r/webdev, and the Freelancers Union community with a real before/after days-to-paid story.
- 4.Read the 12-week numbers and decide v2 priorities (recurring invoices? client portal? PDF branding?).
200 Paying subscribers ($1,800 MRR), 4.5+ Product Hunt rating, and written v2 spec based on real pilot feedback.
Freelancer community posts convert better with a concrete "I got paid X days faster" story than with a feature list. Secure at least one pilot testimonial with a real number before posting.
Do not run paid ads in the first 12 weeks. Freelancer acquisition through community content is a fraction of the cost and produces better-fit users.
02. Validation Signals
71% Of freelancers report being paid late, with average invoices outstanding 22 days past due (Freelancers Union State of Freelancing 2023)
Confirms the problem is structural and widespread - not a niche pain point. The 71% prevalence means the addressable audience is most freelancers, not a subset.
Limitation: Self-reported survey data; actual days-to-paid variance is wide across industries. B2B service freelancers (design, dev, consulting) skew toward longer delays than gig-platform freelancers.
Businesses that send automated payment reminders collect invoices an average of 8 days faster than those relying on manual follow-up (QuickBooks Accounts Receivable Benchmark Report 2022)
Directly validates the core mechanic - automated reminders produce a measurable, quantified days-to-paid lift. 8 days faster on a 30-day net invoice is meaningful.
Limitation: QuickBooks data covers SMBs broadly, not freelancers specifically. The effect size may differ for solo operators with fewer client relationships and lower invoice volumes.
Late-payment prevalence among freelancers is well-documented. The unknowns are willingness to pay $9/month vs using a free invoicing tool and whether automated reminders meaningfully shift days-to-paid in practice - verify with at least 50 paid users before scaling.
03. Core Strategy
MVP Architecture
Next.js (web app) -> Supabase (Postgres + Auth + Edge Functions for scheduled reminders) -> Stripe Invoicing API for payment links -> Resend or Postmark for transactional email delivery.
Tech Stack
Next.js 14 + TypeScript, Supabase managed backend (Postgres + Auth + scheduled Edge Functions), Stripe Invoicing API for hosted payment pages and webhook-based paid detection, Resend for transactional email (reminder copy), Vercel for deploy. No native apps in v1.
Scope Boundary
MVP supports: client and invoice creation, a Stripe-hosted payment link per invoice, a configurable due date, automatic email reminders at +3/+7/+14 days past due with pre-written polite copy, webhook-triggered "mark paid" on Stripe payment, and a $9/month subscription. Out of scope for v1: time tracking, expense reports, multi-currency accounting, client portal, recurring invoices, tax calculations, PDF customization.
Build Timeline
Week 1: auth + client + invoice creation + Stripe payment-link generation. Week 2: Supabase scheduled Edge Function + reminder email sequence (Resend). Week 3: Stripe webhook -> mark-paid flow + subscription billing. Week 4: internal end-to-end QA, bug fixes, reminder-timing edge cases. Week 5: pilot with 20 freelancers, observe first reminder fires and payment webhook. Week 6: production deploy, pilot feedback incorporated, public launch.
First User Strategy
Recruit 20 freelancers from Twitter/X and Indie Hackers with a single post: "I built a tool that automatically follows up on your late invoices so you don't have to - free for 30 days." Onboard each manually, watch the first invoice go out, and confirm the first reminder fires on day +3.
04. Risks & Operator Advice
A reminder fires after the client already paid by bank transfer, damaging the freelancer-client relationship
DuePing only detects payment via Stripe webhook - clients who pay by wire, ACH outside Stripe, or check will trigger reminders indefinitely until the freelancer manually marks the invoice paid. A reminder to a client who already paid is the most visible possible bug.
Mitigation: Add a one-tap "Mark as paid" button to every invoice view and include the same link in every reminder email. Add an in-app banner: "Did your client pay outside Stripe? Mark it paid to stop reminders." Make manual mark-paid the safety valve that covers all non-Stripe payment methods.
Supabase Edge Function scheduler fails silently and reminders stop firing without alerting the operator
A silent scheduler failure means no reminders fire, no error surfaces, and freelancers assume the product is working when it is not. This is the failure mode most likely to cause quiet churn - users stop getting paid faster and assume the tool stopped working.
Mitigation: Add a daily health-check job that writes a heartbeat row to a 'scheduler heartbeats' table and send an operator alert (email or Slack) if no heartbeat is written in 26 hours. Scheduler observability is non-negotiable for a product whose core value is automated background work.
05. Immediate Next Steps
The Stripe integration is the highest-risk technical dependency. De-risking it in week 1 prevents a late-stage surprise that collapses the 6-week timeline.
The reminder scheduler is the entire differentiator. A scheduler that is not proven to run reliably by end of week 1 becomes a week-3 fire drill.
A 6-week MVP without identified pilots in week 0 becomes a 10-week MVP. Pilot recruitment is the launch dependency, not the build.
The tone of the reminder copy is the product's personality. 'Polite but persistent' is harder to write than it sounds - draft and user-test the copy before it is baked into the scheduler.
06. Supporting Evidence
Claims
Market size
71% Of freelancers report being paid late, with average invoices outstanding 22 days past due (Freelancers Union State of Freelancing 2023).
Mechanism
Businesses that send automated payment reminders collect invoices an average of 8 days faster than those relying on manual follow-up (QuickBooks Accounts Receivable Benchmark Report 2022).
Market context
B2B Days Sales Outstanding averages 40-55 days across service industries, confirming late payment is a systemic market pattern (Atradius Payment Practices Barometer 2023).
Evidence
Industry data
Freelancers Union State of Freelancing 2023 survey, late-payment prevalence and average days past due.
Industry data
QuickBooks Accounts Receivable Benchmark Report 2022, automated-reminder days-to-paid lift.
Industry data
Atradius Payment Practices Barometer 2023, B2B Days Sales Outstanding benchmarks across service industries.
System Provenance
AI-generated plan, stress-tested by competing agents for feasibility. May contain assumptions, inaccuracies, or incomplete context. Outcomes may vary—use your judgment.