FeedexOne feedback inbox for every project you ship.
01
Where the idea came from
Feedex came straight out of my own problem. I had built a whole shelf of things by this point, this portfolio, a handful of live products, a pile of side experiments, and I slowly realized I had no real way to hear back from the people actually using them. When I went looking for a feedback tool, everything was either paid or built for an organization with a team and a budget, not for a solo developer shipping small products. The people who most need cheap, low-friction feedback, indie builders and small projects, were exactly the ones the market skipped over. So I built the tool I wanted: something a solo developer can drop into any project in a minute, that still scales up into a proper multi-tenant SaaS if it ever needs to.
02
How it works
You add one script tag to any web app. Feedex renders a small widget that lets a user report a bug, request a feature, or flag a UI issue in a single step, and it quietly attaches the technical context you would otherwise have to chase, the exact page, the browser, the operating system, and the viewport size. Every report flows into a dashboard where you triage, organize, and resolve it. The reporter types one thing; you get everything you need to act on it.
03
One inbox across every project
Most feedback tools assume you have one product. A developer with a portfolio, a storefront, a blog, and two side projects ends up with a different inbox per site, or no inbox at all. Feedex inverts that. Every project gets its own widget, its own keys, and its own feedback stream, and all of them roll up into a single workspace. It is multi-tenant from the first commit: workspaces own projects, projects own feedback, and every read is scoped to the workspace in the service layer, so adding teammates later is a feature rather than a rewrite.
04
Built to stay out of the way
The widget is 7 kB gzipped with no dependencies and lives inside a shadow root, which means it cannot touch your page's styles and your page cannot touch it. It loads without blocking, collects only what is useful, and gets out of the way. The goal was that dropping Feedex into a project should feel like a one-line decision, not an integration project.