Case Study

I Built a Testimonial Collector App in a Weekend With AI

From a simple idea to a deployed SaaS product in 48 hours. Here's how.

Published on August 2, 2024

Collecting testimonials is a pain. You email a client, they say yes, then you have to follow up, they send you a paragraph in an email, and you have to manually copy it to your website. I wanted to automate this. So, I gave myself a challenge: could I build a simple SaaS product to solve this problem in a single weekend, using only AI tools?

The answer is yes. Here's the story of how I went from a simple idea to a deployed, functional application in about 15 hours of focused work.

The Goal: A Simple, Shareable Testimonial Collector

I defined the Minimum Viable Product (MVP) with a few core features:

  • A public page with a form where clients can submit testimonials.
  • A password-protected dashboard where I can view, approve, and manage the testimonials.
  • Email notifications when a new testimonial is submitted.

Day 1: Planning and Building the Core

Hour 1: The Game Plan (with Claude)

I started by having a strategic conversation with Claude. I laid out my vision and asked for a tech stack and a plan.

My Prompt: "I want to build a testimonial collector app. Users should be able to submit testimonials through a public form, and I should be able to manage them in a private dashboard. What's the simplest, most modern tech stack for this? Recommend a database, framework, and deployment platform. Break down the build into logical steps."

Claude's Recommendation: Next.js with TypeScript and Tailwind CSS, Supabase for the database and authentication, and Vercel for deployment. The plan was to start with the database schema, then build the submission form, then the dashboard, and finally the authentication.

Hours 2-4: Database and Form

I moved to Cursor, my AI-powered IDE. First, I set up the Supabase project and designed the database schema with AI assistance.

My Prompt in Cursor: "Create a SQL schema for a 'testimonials' table in Supabase. It should include fields for the author's name, their title/company, the testimonial text, a rating (1-5), and a status (pending, approved, rejected)."

With the database ready, I prompted Cursor to build the frontend form. I was specific about validation to ensure data quality.

Hours 5-8: The Admin Dashboard

This was the most complex part. I needed a secure page to manage the testimonials. I prompted Cursor to build a login page using Supabase Auth, and then the dashboard itself.

My Prompt in Cursor: "Create a new page at `/dashboard`. This page should be protected and require a login. On this page, fetch all testimonials from the Supabase table and display them in a grid. Each card should show the testimonial text and author, and have 'Approve' and 'Reject' buttons."

The AI generated the page, the API route to fetch the data, and the functions to update the status of a testimonial when I clicked the buttons. By the end of Day 1, I had a fully functional, if a bit rough, application.

Day 2: Review, Polish, and Deploy

Hours 9-11: AI-Powered Code Review

Before deploying, I spent two hours on a critical step: code review. I started a new Claude session and pasted in my application code, asking it to act as a senior developer.

My Prompt to Claude: "Review this Next.js application that uses Supabase. Look for security vulnerabilities, performance issues, and areas where the code could be more maintainable. Pay special attention to the form submission and the dashboard data fetching."

Claude found a few issues: my form didn't have rate limiting, and I was fetching all testimonials on the dashboard, which could be slow with thousands of entries. I then used Cursor to fix these issues, adding rate limiting and pagination to the dashboard.

Hour 12: Deployment

This was the easiest part. I pushed my code to a GitHub repository, connected it to Vercel, added my Supabase environment variables, and clicked "Deploy." Five minutes later, the app was live on the internet.

Hours 13-15: The Final Polish

With the app live, I spent the last few hours adding polish. I used AI to:

  • **Add email notifications:** I used Resend and prompted Cursor to create a serverless function that sends me an email whenever a new testimonial is submitted.
  • **Improve the UI:** I asked for subtle animations and loading states to make the app feel more professional.
  • **Write a simple homepage:** I generated a basic landing page explaining what the app does.

The Result: A Working SaaS Product

In one weekend, I had a fully functional testimonial collector. It's a simple tool, but it solves a real problem. More importantly, it's a real product that I can now share with clients. The total cost? $0, using the free tiers of all the recommended tools.

What This Means for You

This story isn't about my weekend project. It's about the new reality of software development. The barrier to entry has been obliterated. If you have an idea and the right workflow, you can build and launch it yourself, without writing a single line of code from scratch.

You don't need to spend months learning syntax. You need to learn how to be an effective architect, a skilled prompter, and a diligent reviewer. You need to learn how to orchestrate AI.

Ready to learn the workflow that makes this possible? Our 2-hour crash course is designed to give you this exact skillset.