Clean, public docs for search indexing

How the full Nudge flow works from first visit to paid invoice.

This page documents the complete product journey, the moving parts behind invoice follow-up automation, and the operational rules that keep reminders, billing, and user access in sync.

Nudge product flow visual
Primary product visual used alongside the public documentation.
Nudge workflow and interface visual
Secondary visual supporting the indexed docs experience.

End-to-End Flow

The user journey and automation loop

1. Visitor to authenticated user

A freelancer lands on the marketing site, reviews value props, pricing, and FAQ, then signs up or logs in through Supabase authentication.

2. Client and invoice setup

Inside the app, the user creates clients, adds invoice records, attaches due dates and amounts, and optionally chooses the reminder sequence to run.

3. Sequence scheduling

Each invoice is mapped to a follow-up sequence. Nudge stores the current step, the next send time, and the state required to continue or stop automation safely.

4. Automated reminders

A protected cron endpoint checks invoices that need a nudge, sends branded reminder emails with Resend, and records each attempt in a delivery log.

5. Status tracking and visibility

The dashboard surfaces invoice health, sends history, and outstanding balances so freelancers can see which accounts are moving and which need attention.

6. Payment and plan control

When an invoice is marked paid, nudges stop. Subscription state from Polar unlocks or restricts premium features like unlimited invoices and custom sequences.

System Map

The major product layers

Public website

The public experience lives in the App Router and introduces the problem, workflow, pricing, and sign-up path. This page is part of that public surface and is safe to index.

Authenticated app

Once a session exists, users are redirected into the app shell for dashboard, clients, invoices, sequences, analytics, plan management, and settings.

Data model

Core entities include profiles, clients, invoices, sequences, sequence steps, nudge logs, and subscriptions. Everything revolves around the invoice lifecycle and user ownership.

Automation engine

The cron route finds due nudges, sends the next email, advances the sequence pointer, stores logs, and clears future nudges when the invoice has been fully escalated or paid.

Invoice Lifecycle

What happens after an invoice is created

Execution sequence

  1. User signs up, logs in, and reaches the protected dashboard.
  2. Client records are created with contact information and commercial context.
  3. Invoice data is stored with amount, due date, and selected reminder sequence.
  4. Sequence steps determine when follow-ups should be sent and what tone they should use.
  5. The cron job checks invoices whose `next_nudge_at` time has arrived.
  6. Resend delivers the email and a nudge log is written for auditing.
  7. The invoice advances to the next step or stops if the final reminder is complete.
  8. When payment is confirmed, invoice status switches to paid and automation ends immediately.

Operational Detail

Rules that shape the product

Authentication and access

Supabase handles sign-up, login, password reset, callback flow, and server-side session access. Route protection keeps app-only pages behind an authenticated boundary.

Plan limits

Free users are limited to one client, three active invoices, and the Gentle sequence. Pro removes those limits and unlocks all built-in sequences plus custom ones.

Email delivery

Reminder emails are generated from React Email templates and sent through Resend. Copy uses the freelancer profile so the messages feel personal instead of generic.

Billing and subscription sync

Polar checkout and webhook events keep profile and subscription records aligned. New or updated subscriptions immediately change feature access inside the product.

Security model

RLS is enabled across the data model, user-scoped reads are required, and privileged operations stay inside server routes that use the service role safely.

Deployment shape

The app is designed for Vercel, with scheduled automation running through Vercel Cron and public metadata like sitemap, robots, and Open Graph helping discoverability.

Why this page exists

Search-friendly documentation for the public site

This route is public, cleanly structured, internally linked, and now included in the sitemap so it can support indexing while still helping real visitors understand the full Nudge workflow.