Open source · Product
FeedbackFlow
Collect, prioritize and deliver product feedback — an open-source alternative to Canny. A public voting space, a roadmap and a dashboard, designed to stay simple to self-host.

// Context
Why this project
Tools like Canny are effective but closed and paid beyond minimal usage. I wanted a short-scoped project to demonstrate my ability to ship a complete, clean and deployable product — from the data schema to the public interface.
FeedbackFlow is therefore designed as a self-hostable building block: a team installs it, opens a feedback portal, and retains full control of their data.
// Problem
What needed to be solved
Beyond the 'clone' concept, three constraints shaped the project:
- Signal over noise. Many submissions, little signal: a voting and status system is needed to surface what matters.
- Two audiences, one codebase. A public space for users, an admin back-office for the team — without duplicating logic.
- Simple to deploy. No exotic infrastructure: a Postgres database and a Vercel-type platform should be enough.
// Solution
The approach taken
I split the product into three surfaces: a public portal (submit an idea, vote, track progress), a roadmap in columns by status, and a dashboard to sort, merge and evolve requests.
Everything is built on a single data model and server-side rendering (App Router) for fast, indexable public pages.



// Technical decisions
The choices that matter
Server rendering for the public
Public pages (ideas, roadmap) are server-rendered: fast on first load and indexable by search engines.
One schema, two uses
The same model (ideas, votes, statuses, comments) feeds both the public portal and the admin. Prisma secures queries with end-to-end typing.
End-to-end typing
Shared types between the database, API and components: fewer silent bugs, confident refactors.
// Result
What it delivers
A complete, open-source product deployable in minutes — that also serves as a concrete demonstration of how I work: clear scope, typed code, real production deployment.

