Turn user feedback into a shipping roadmap.
Signal is a lightweight feedback & feature-request tracker — email login, a live dashboard, full CRUD with a status workflow, and an admin view. This is a working demo you can click through right now.
Everything an early-user MVP needs — nothing it doesn't.
The full spine of a single-workspace SaaS, built to validate the idea, not to over-engineer it.
Email sign-in
Register or sign in and land in your workspace. Sessions persist between visits.
Live dashboard
Totals, a status breakdown bar, and recent activity — all recomputed as data changes.
CRUD + status flow
Add, delete and advance requests through Open → In progress → Shipped → Closed. Filter by status.
Admin view
Manage members and content — enable or disable access, see workspace stats at a glance.
Light & dark themes
A consistent colour system in both themes, meeting WCAG AA contrast, with a persisted toggle.
Mobile & desktop
A proper desktop layout and a mobile layout with a bottom tab bar — responsive from 390px up.
From idea to a link your testers can use.
The same approach behind this demo, scaled to your actual product.
Scope
A short call to lock the core entity, the one workflow that matters, and what to simplify to hit budget.
Build
Auth, dashboard, CRUD and admin on Next.js + Supabase (Postgres, REST) — shipped iteratively so you see real screens within days.
Ship
Deployed to a live link, ready to share with early testers — clean, tested code, not a throwaway.
An honest note on what you're looking at.
Everything is real: Supabase Auth for accounts (or one-click guest access), Postgres for storage, and Node serverless functions at /api that verify each session and enforce roles on the server. Every account gets its own private workspace seeded with sample data, so nothing you change affects anyone else. The front end is deliberately framework-free to keep the demo small; a client build would use React / Next.js on the same backend.
Click through the whole thing in 60 seconds.
Create an account or explore as a guest, add a request, advance its status, invite a teammate, switch to dark mode. Refresh — it's all saved.
Open the live demo →