Every shared package, actually running
Not screenshots — these demos call this app's own real API routes and its own Postgres schema. Also see /for/freelancers for @appsnap/seo's programmatic landing-page factory.
Error tracking
Client-side errors beacon here automatically; the viewer below reads live from Postgres via a same-origin proxy.
Loading…
Rate limiting
A sliding-window limiter shared by Express and Next.js route handlers.
Security headers
CSP, HSTS, and friends, applied by this page's own middleware.ts.
- content-security-policy
- not present
- x-frame-options
- not present
- x-content-type-options
- not present
- referrer-policy
- not present
- permissions-policy
- not present
- strict-transport-security
- not present
Free-tier usage gating
A pre-auth free-use counter, backed by localStorage on the client.
3 of 3 free actions left (resets 60s after first use)
Theme customizer
Preset swatches, a custom hex picker, and an optional font select.
Color
Font
Newsletter signup
Subscribe/unsubscribe with a real Postgres-backed subscriber list.
Shareable links + live presence + comments
Create a link, open it in another tab, watch the viewer count update.
CSV / PNG export
RFC 4180-correct CSV (commas, quotes, newlines) and canvas-to-PNG.
The CSV includes a value with a comma, embedded quotes, and a newline — open it to confirm it still parses as one row per line.
Bulk CSV processing
Upload a CSV, process each row, download everything as one ZIP.
Upload a CSV with one name per line (no header) — each row becomes a personalized .txt file, bundled into a ZIP.