Playback speed
×
Share post
Share post at current time
0:00
/
0:00
Transcript

Building a Canny Clone with Cursor

A step-by-step guide to create a clone of Canny, a popular user feedback software using Cursor & Claude

Introduction

Are you looking to create a feature-rich user feedback platform? Canny, a popular user feedback software, allows users to create and upvote feature requests with ease. In this post, I'll guide you through building a Canny clone using modern web technologies. This clone will help you gather and manage user feedback effectively.

Setting Up the Project

To get started, we'll create a new Next.js project. Next.js will serve as our frontend framework, enabling seamless integration with our backend services. Go ahead and run your Next.js project. You should see a default page indicating that your setup was successful.

Choosing a Database: Prisma and SQLite

Our next step is to choose a database. We’ll use Prisma, an ORM that simplifies database interactions. For this project, we're integrating Prisma with SQLite, a lightweight and efficient database. Although we're using SQLite here, you can opt for any database that suits your needs. Our database will store all feedback, track upvotes, and manage comments.

Design and UI Customization

With the database set, let’s focus on the UI. We want our Canny clone to mirror the look and feel of the original software. By closely emulating the Canny interface, users will have a familiar experience. Spend some time refining the UI until it matches your envisioned design.

Connecting the Frontend and Backend

Now that our interface is in place, let’s connect it to the backend. Initially, our app might not communicate in real time, so we’ll implement updates to ensure feature requests and upvotes are reflected instantly. Testing is crucial here; check if the data updates without reloading the page.

Testing Functionality: Upvote and Comment Features

Once the connection is established, it’s time to test key functionalities. Start with the upvote feature. After implementing it, try upvoting a feature request and see if it records in the database. Currently, it allows multiple upvotes per user, which we’ll limit to one per anonymous user to avoid skewing results.

Next, introduce individual feature request pages and the ability to add comments. Testing these features ensures the user can engage meaningfully with the feedback platform.

Conclusion

In a few simple steps, we've managed to build a nearly identical clone of Canny's feature request capability. While this tutorial covers the basics, there’s plenty more you can add to enhance your feedback platform. This foundation should get you started on creating an efficient tool for collecting user feedback. Happy coding, and thank you for following along!

Discussion about this podcast

Build With Anant
Build in Action
Step-by-step videos of full software builds using AI tools like Cursor, v0, Replit, ChatGPT Canvas and more. Watch and learn as I tackle real-world coding challenges.
Authors
Anant Garg