How I Built My Own User Feedback Platform

You probably agree customer feedback is important, but handling it well is often tough. Feedback shows up in lots of places – emails, support tickets, chat messages, meeting notes. It gets scattered easily. If you're on a product team, you know the struggle of trying to find that one comment from months ago or connect related suggestions. Because it's spread out, good ideas often get missed. You might even spend time building features your users didn't actually ask for or need. This situation creates what I call a broken feedback loop. Your customers take time to share thoughts, maybe reporting a problem or suggesting an idea. But then... silence. They don't know if anyone saw their feedback, thought about it, or if it led to anything. For your team, even with the best intentions, keeping track of every piece of feedback and updating every customer is very hard when the information is all over the place. Good ideas get lost. Customers can feel ignored and frustrated. They might lose trust or use your product less. I saw this happening – the team's difficulty managing feedback and the customer's frustration – and knew I needed a different way. What’s Already Out There When I started looking for solutions, I checked out the feedback software already available. Tools like Canny, Upvoty, and Productboard are popular choices. These platforms usually offer features meant to bring feedback together in one place: Public feedback boards: A spot for users to add ideas and vote on ideas from others. Roadmaps: Timelines intended to show customers what features are planned or being worked on. Changelogs: A way to announce new releases, updates, and fixes. Basic feedback forms or widgets: Simple tools to collect feedback right from an app or website. These tools often seem like a good answer at first. They promise organization and a way to connect with users. But, when I looked closer, I found several problems for my needs that I couldn’t ignore. Why I Didn’t Use Other Feedback Tools They Try to Do Too Much (And Don't Go Deep Enough) One thing I noticed was that most feedback software tries to be an all-in-one tool. They attempt to handle feedback collection, user surveys, knowledge bases, documentation, and more. Aiming to do a lot isn't bad, but splitting focus across so many areas often means the core job of managing feedback doesn't get the deep attention it needs. Features might feel basic or not fully thought out for handling feedback effectively. It's hard to be really great at feedback management when development time is split between many different functions. I wanted something focused. I believed a platform dedicated to truly solving the main feedback problem would be better than one that only lightly touches on many issues without mastering any. Poor User Experience for Two Different User Types Feedback platforms need to work well for two very different groups: Your own teams: They need to manage, analyze, and act on the feedback efficiently. Your customers: They just want to share their thoughts quickly and easily. The problem I saw was that most tools show a similar, often complex, interface to both groups. This creates friction. Your customers don't want to navigate a complicated layout just to leave a quick comment; they prefer something simple, like sending a message. Your product team needs powerful tools for sorting, searching, grouping, and tracking feedback status – features a customer doesn't need and that might just confuse them. This difference often leads to a subpar experience for everyone, in my opinion. Customers might hesitate to give feedback if it feels like a chore. Your team might struggle to manage the input effectively if the tools aren't built specifically for their workflow. Pricing That Leaves Out Smaller Teams Another big factor for me was the pricing structure. Many platforms start with attractive low prices, but these costs can jump quickly as your needs grow. Often, the essential features a growing team requires are locked away in expensive enterprise plans. This model can exclude smaller businesses, startups, or teams with tighter budgets. Predictable costs are important when you're managing growth. I aimed to build a customer feedback platform that remains accessible for smaller companies as they scale. The goal was fair pricing without steep jumps or forcing upgrades just to get necessary features. How I Built UserJot (And What Makes It Different) UserJot might look similar to other feedback tools on the surface, but its core idea is to help keep users engaged with your product. I believe that when customers feel heard, see their feedback acknowledged, and witness it improving the product, their trust deepens. They become more likely to stick around, use the product more, and remain loyal customers longer. A Focused and Simple Approach With UserJot, I made a conscious decisi

Apr 7, 2025 - 21:28
 0
How I Built My Own User Feedback Platform

You probably agree customer feedback is important, but handling it well is often tough. Feedback shows up in lots of places – emails, support tickets, chat messages, meeting notes. It gets scattered easily. If you're on a product team, you know the struggle of trying to find that one comment from months ago or connect related suggestions. Because it's spread out, good ideas often get missed. You might even spend time building features your users didn't actually ask for or need.

This situation creates what I call a broken feedback loop. Your customers take time to share thoughts, maybe reporting a problem or suggesting an idea. But then... silence. They don't know if anyone saw their feedback, thought about it, or if it led to anything. For your team, even with the best intentions, keeping track of every piece of feedback and updating every customer is very hard when the information is all over the place. Good ideas get lost. Customers can feel ignored and frustrated. They might lose trust or use your product less. I saw this happening – the team's difficulty managing feedback and the customer's frustration – and knew I needed a different way.

Screenshot of UserJot Internal Dashboard

What’s Already Out There

When I started looking for solutions, I checked out the feedback software already available. Tools like Canny, Upvoty, and Productboard are popular choices. These platforms usually offer features meant to bring feedback together in one place:

  • Public feedback boards: A spot for users to add ideas and vote on ideas from others.
  • Roadmaps: Timelines intended to show customers what features are planned or being worked on.
  • Changelogs: A way to announce new releases, updates, and fixes.
  • Basic feedback forms or widgets: Simple tools to collect feedback right from an app or website.

These tools often seem like a good answer at first. They promise organization and a way to connect with users. But, when I looked closer, I found several problems for my needs that I couldn’t ignore.

Why I Didn’t Use Other Feedback Tools

They Try to Do Too Much (And Don't Go Deep Enough)

One thing I noticed was that most feedback software tries to be an all-in-one tool. They attempt to handle feedback collection, user surveys, knowledge bases, documentation, and more. Aiming to do a lot isn't bad, but splitting focus across so many areas often means the core job of managing feedback doesn't get the deep attention it needs. Features might feel basic or not fully thought out for handling feedback effectively. It's hard to be really great at feedback management when development time is split between many different functions.

I wanted something focused. I believed a platform dedicated to truly solving the main feedback problem would be better than one that only lightly touches on many issues without mastering any.

Poor User Experience for Two Different User Types

Feedback platforms need to work well for two very different groups:

  1. Your own teams: They need to manage, analyze, and act on the feedback efficiently.
  2. Your customers: They just want to share their thoughts quickly and easily.

The problem I saw was that most tools show a similar, often complex, interface to both groups. This creates friction. Your customers don't want to navigate a complicated layout just to leave a quick comment; they prefer something simple, like sending a message. Your product team needs powerful tools for sorting, searching, grouping, and tracking feedback status – features a customer doesn't need and that might just confuse them.

This difference often leads to a subpar experience for everyone, in my opinion. Customers might hesitate to give feedback if it feels like a chore. Your team might struggle to manage the input effectively if the tools aren't built specifically for their workflow.

Screenshot of UserJot Public Feedback Board

Pricing That Leaves Out Smaller Teams

Another big factor for me was the pricing structure. Many platforms start with attractive low prices, but these costs can jump quickly as your needs grow. Often, the essential features a growing team requires are locked away in expensive enterprise plans. This model can exclude smaller businesses, startups, or teams with tighter budgets. Predictable costs are important when you're managing growth.

I aimed to build a customer feedback platform that remains accessible for smaller companies as they scale. The goal was fair pricing without steep jumps or forcing upgrades just to get necessary features.

How I Built UserJot (And What Makes It Different)

UserJot might look similar to other feedback tools on the surface, but its core idea is to help keep users engaged with your product. I believe that when customers feel heard, see their feedback acknowledged, and witness it improving the product, their trust deepens. They become more likely to stick around, use the product more, and remain loyal customers longer.

A Focused and Simple Approach

With UserJot, I made a conscious decision to focus on solving three main problems really well:

  • Feedback Boards: Providing an easy way for users to submit ideas and upvote others, simplifying collection.
  • Roadmaps: Offering transparent communication about your plans and progress, building trust.
  • Changelogs: Delivering clear, automatic updates when feedback leads to a change, effectively closing the loop.

I intentionally avoided adding extra features that clutter the experience or distract from the main goal of efficient feedback management. The aim is clarity and effectiveness.

User Experience Designed for Customers and Teams

Addressing the user experience issue was a priority. For your customers, UserJot presents a clean, straightforward feedback submission process. It’s designed for speed and ease, making it painless to share an idea or report an issue. For your internal team, however, there's a separate, uncluttered dashboard. This view is built specifically for feedback management – helping you prioritize, categorize, link related items, and track progress efficiently, without the noise irrelevant to your customers. (Refer back to the comparison screenshot mentioned earlier).

Easy Start, No Tech Trouble

I believe adopting a new tool shouldn't be a major project. Setting up UserJot is designed to be effortless. You don't need coding skills or complex configurations. During signup, UserJot attempts to automatically detect your company logo, brand colors, and name from your website to accelerate onboarding. This makes the initial setup much faster.

Screenshot of UserJot Public Roadmap Page

If you want to host the feedback board on your own custom domain for seamless branding, it only requires a simple CDN change. Embedding the feedback widget directly into your website or app is also straightforward. The goal was to remove barriers so you can start collecting and managing feedback right away.

What I Learned Building Feedback Software from Scratch

Creating an experience that feels simple for the user turned out to be quite complex behind the scenes. Many small details – button behavior, status updates, notification timing – required careful planning to appear intuitive. Features that look effortless often demand significant engineering work.

Take the setup process, for example. Enabling UserJot to automatically fetch company branding involved building a robust system to analyze website structure and styles. I also developed an AI-powered migration tool to help teams easily import their existing feedback from other platforms into UserJot. This tool needs sophisticated logic to understand and map different data structures. This hidden complexity is necessary to deliver the easy-to-use experience, but these were challenging engineering problems. Making things simple takes real effort.

Screenshot of UserJot Public Changelog Page

This Can’t Possibly Be a Dev.to Post Without the Obligatory Tech Stack Section

I wanted to keep the technology used to build UserJot as simple as possible. This means using fewer separate tools and relying less on third-party services.

Database: Using Postgres for Almost Everything

Instead of using many different tools, I decided to use PostgreSQL (often called Postgres) for most of the heavy lifting in UserJot:

  • Core Data Storage: Naturally, this is where all the primary application data, like feedback posts and user details, resides.
  • Database Triggers: We make significant use of Postgres triggers. These allow us to automatically run specific logic inside the database itself immediately after data is inserted or updated, keeping related actions closely tied to the data changes.
  • pgvector for AI Features: For features like the AI-powered feedback migration tool, we use the pgvector extension. This lets us handle vector embeddings directly within Postgres, which is essential for AI tasks, without needing to add and manage a separate, specialized vector database.
  • pg_boss for Background Jobs: To manage background tasks and job queues (like sending notifications or processing uploads), we use the pg_boss extension. This allows Postgres itself to handle job queuing reliably, eliminating the need for external queue systems like RabbitMQ or Redis.

Using Postgres for so much makes our whole setup much simpler.

Very Few Outside Services

It was important to me not to depend too much on other companies' services. We only use a couple of outside tools on purpose:

  • Amazon SES: To send emails reliably.
  • Amazon SQS: To get updates from SES about whether emails were delivered or bounced back.

How the Website and Apps are Built (Frontend)

The parts users see and interact with are split into three pieces, built with tools chosen for being easy to work with:

  • Marketing Website: Built with Astro. It excels at creating fast, content-focused websites and offers a great development workflow.
  • Web Apps (Internal Dashboard & Public Portal): Both the team's dashboard and the public feedback portal are built using TanStack Start. It's a modern meta-framework that provides a solid foundation for building performant web applications quickly.
  • API Communication: We use tRPC for communication between the frontend applications and the backend server. Its key benefit is providing end-to-end type safety, which catches errors at build time and makes development faster by eliminating the need to manually manage API schemas.

Where Everything Runs (Hosting)

  • Frontend Hosting: The Astro site and TanStack Start applications are deployed globally using Cloudflare Workers. This serverless edge compute platform provides low latency for users worldwide, automatic scaling, and simplifies the deployment process.
  • Backend Hosting: The backend API is built with Node.js using TypeScript (for type safety and better code maintainability). It's hosted on a Docker Swarm cluster. Docker Swarm provides straightforward container orchestration, offering resilience and easier management compared to running standalone containers.

The main goal with all these choices was to keep things simple, use fewer separate parts, and not rely too heavily on other companies. This makes it easier to update UserJot, fix things if they break, and handle growth in the future.

I plan to write another blog post soon that goes into more detail about these tech choices, the challenges, and what I learned while building UserJot.

Try UserJot (And Share Your Feedback!)

If you're part of a growing team, perhaps a product manager or founder, and you're looking for a feedback tool that is simple, well-designed, and free of unnecessary bloat, then UserJot might be a great fit. I built it specifically for teams like yours who genuinely care about listening to their customers and want an effective, affordable way to do it. It's designed to help you truly close that feedback loop.

Feel free to try UserJot here. It takes about a minute to get started. And, as you might expect, I would genuinely appreciate hearing your feedback on it as I continue to improve the platform.