Article

Build a Testimonials Page with v0 and Sheet Ninja

Build a Testimonials Page with v0 and Sheet Ninja

Why v0 + Sheet Ninja?

v0 by Vercel is a designer's dream - it generates beautiful, production-quality UI components from a simple description. If you care about how your product looks, v0 is one of the fastest ways to get there.

The gap is data. v0 components look stunning but are typically hardcoded, which means every content update requires a developer, a redeployment, or both.

Sheet Ninja bridges that gap. Your v0 components stay beautiful and your content lives in a Google Sheet that anyone on your team can update in seconds. The site reflects the change instantly, no redeploy needed.

The use case

A testimonials page is one of the highest-converting things you can add to a product site, and one of the most annoying to keep updated if it's hardcoded.

With Sheet Ninja, your testimonials live in a Google Sheet. Add a new one, it appears on the site. Remove one, it disappears. Simple.

Here’s how:

1. Set up your Google Sheet

Create a new Google Sheet and add these column headers with some sample data:

namerolecompanyquoterating
Maya ChenHead of GrowthLumenlyWe added this to our site in an afternoon and instantly had more trust on every landing page. The layout is clean, fast, and looks like a premium product.5
Jordan PatelFounderPostbridgeI’ve tried a bunch of testimonial widgets—this is the first one that feels genuinely lightweight. The star rendering and sorting make the best feedback shine without any manual work.5
Alex RiveraProduct ManagerNorthpeakThe grid looks great on desktop and mobile, and the empty/loading states are thoughtful. It’s the kind of polish that makes your brand feel bigger than it is.4

2. Create your Sheet Ninja API

Then go to sheetninja.io, connect your Sheet, and copy your API endpoint URL. That's your entire backend ready to go. Here’s the Quickstart guide if you need a reminder.

3. Build it in v0

Open a new v0 project and paste this prompt into the editor:

text
1Build a testimonials page.
2
3Here's everything you need:
4
5--- DOCS ---
6API reference: https://docs.sheetninja.io
7
8--- DATA ---
9- The data lives in a Google Sheet connected via Sheet Ninja. My Sheet Ninja base URL is: YOUR_ENDPOINT.
10- The sheet has these columns: name, role, company, quote, rating
11
12--- HOW IT WORKS ---
13
14- Show all testimonials where approved is "true"
15- Each card shows: name, role, company, their quote, and a star rating (1–5)
16- Display in a clean grid layout:
17    - 3 columns on desktop
18    - 1 column on mobile
19- Sort by rating descending so the best ones show first
20
21--- DESIGN ---
22- Each testimonial is a card with a subtle shadow
23- Stars are rendered visually (filled/empty), not as a number
24- Quote text is slightly larger and italic
25- Name is bold; role and company are smaller and muted
26
27--- KEEP IT SIMPLE ---
28
29- No submission form needed — this is display only
30- Show a loading state while fetching
31- If there are no testimonials yet, show a friendly empty state
32- Fully responsive

Replace YOUR_ENDPOINT with your Sheet Ninja URL and hit send. v0 builds the whole thing.

What you get

Blog post image

Why Google Sheets?

Most teams hardcode testimonials into their site, which means they never get updated. With Sheet Ninja, your marketing team can add, remove, or reorder testimonials directly in the Sheet - no code, no deployment, no asking a developer.

It's a small thing, but it removes a bottleneck. The site stays fresh because updating it takes ten seconds.

DON'T OVERTHINK IT.
JUST SHIP IT.

You have a dozen ideas in your notes app. Pick one. Grab a Sheet. Go live tonight.

Start Building