Article

Build a Job Board in Bolt.new with Sheet Ninja

Build a Job Board in Bolt.new with Sheet Ninja

Why Bolt.new + Sheet Ninja?

Bolt.new is one of the most impressive vibe coding tools around - you can have a polished, functional app running in the browser within minutes, no local setup required.

Where it gets complicated is persistence. The moment you need data to actually stick around between visits, you're looking at database configuration, API keys, and environment variables - none of which is why you opened Bolt in the first place.

Sheet Ninja removes that wall entirely. Your Bolt app handles what it's great at (the UI and the logic) while Google Sheets handles the data. No database setup, no migrations, no infrastructure to worry about.

The use case

A niche job board is one of the best small internet businesses you can build. It’s low effort to maintain, genuinely useful to a specific community, and easy to monetise with featured listings.

The hard part is usually the backend. With Sheet Ninja, your Google Sheet is the job board database, and you're the editor who controls what goes live.

Here’s how

1. Set up your Google Sheet

Create a new Google Sheet and add these column headers in Row 1:

titlecompanylocationurldescriptiontypecreated_atstatusfeatured

The 'featured' column is optional - set it to true for paid listings you want to highlight.

2. Create your Sheet Ninja API

Then go to sheetninja.io, connect your Sheet, and copy your API endpoint URL. Make sure you toggle the ‘Add row’ functionality in Sheet Ninja. Here’s the Quickstart guide if you need a reminder.

That's your entire backend ready to go.

3. Build it in Bolt.new

Open a new Bolt.new project and paste this prompt into the AI:

text
1Build a job board web app. Here's everything you need:
2
3--- DOCS ---
4API reference: https://docs.sheetninja.io
5
6--- DATA ---
7- The data lives in a Google Sheet connected via Sheet Ninja. My Sheet Ninja base URL is: YOUR_ENDPOINT.
8- The sheet has these columns: id, title, company, location, url, description, type, created_at, status, featured
9
10--- HOW IT WORKS ---
11
12- The public board shows all jobs where status is "approved", newest first
13- Jobs where featured is "true" are shown at the top and visually highlighted
14- Each listing shows: title, company, location, job type, and a link to apply
15- There's a simple filter so visitors can filter by job type: full-time, part-time, contract, remote
16
17--- SUBMISSIONS ---
18
19- There's a "Submit a Job" form that collects: title, company, location, url, description, type
20- Submitted jobs are saved with status set to "pending" and featured set to "false"
21- Show a confirmation message after submitting: "Thanks — we'll review your listing shortly"
22
23
24--- KEEP IT SIMPLE ---
25
26- No login system needed
27- Loading and error states throughout
28- Clean, professional design

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

Why Google Sheets?

Your Sheet is the editorial interface. You can approve listings, mark them as featured, reorder them, or bulk-delete anything that doesn't fit, without touching the app.

When a company pays for a featured listing, you flip one cell. The site updates instantly. That's a business running on a spreadsheet.

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