FounderPass
Searchable directory of free startup perks and credits

- Perks listed
- 214
- Listed credit value
- $7.6M
- Categories
- 19
- Largest single perk
- $1M
- Client-side filtering
- 0 extra requests
- License
- MIT
FounderPass lists 214 startup perks and credit programs across 19 categories, from cloud and AI credits to design, HR and security tools. Founders can search, filter by category, show only no-strings offers, set a minimum credit value, and sort by value, name, ease of approval or category. Each perk opens a detail view with its conditions and application steps.
The problem
Startup perk programs are scattered across accelerator portals, vendor pages and paywalled perk platforms. A founder deciding which credits to apply for has to compare value, eligibility conditions and approval difficulty across dozens of tabs. FounderPass puts all of that on one fast, free page with no sign-up.
How it is built
The app is a Next.js App Router site. Perk data is a JSON dataset bundled with the build plus an overlay file of admin-added perks; the server merges the two and hands the list to the client once, so search, filtering, sorting and pagination run in the browser with no further requests.
All filter state (search text, selected categories, free-only, minimum credits, sort order, grid or list view, page) lives in one client component, and the derived list is memoised, so every control responds instantly on a few hundred records.
An admin page and a small JSON API support adding, editing and removing perks in the overlay file, with no database. The contact page posts to a route handler that sends the message through a transactional email API.
Pages ship Open Graph and Twitter card metadata, the layout supports light and dark themes, and a sticky sidebar on desktop becomes a toggleable panel on phones.
What it taught me
- For a few hundred records, shipping the whole dataset once and filtering in the browser is simpler and faster than any search backend.
- A JSON overlay file plus a tiny admin API is enough CMS for a one-person directory; a database can wait until the data outgrows a file.
- Headline numbers such as total value and perk count are best derived from the dataset at build time so the copy cannot drift from the data.
Architecture
The server renders the page after merging the bundled perk dataset with the admin overlay file and passes the full list to the browser as props. From there, search, filters, sorting and pagination run in memory. An admin page talks to route handlers that write the overlay file, and the contact form posts to a handler that relays the message through an email API.
Layer 1
BrowserClient
Filters, sorts, pages in memory
→ Next.js server (page request) → Route handlers (contact form)
Admin pageClient
Maintains the overlay file
→ Route handlers (add, edit, delete)
Layer 2
Next.js serverEdge
Merges and renders perks
→ Perk data (merge perks) → Browser (perks as props)
Route handlersService
Perks CRUD and contact
→ Perk data (writes overlay) → Email API (send message)
Layer 3
Perk dataStore
Bundled JSON plus overlay file
Email APIExternal
Delivers contact messages
Stack
Frontend
- Next.js 16 (App Router)
- React 19
- Tailwind CSS 4
- Framer Motion
Backend
- Next.js route handlers (perks CRUD, contact form)
Data
- Bundled JSON dataset
- JSON overlay file for admin additions
Infrastructure
- Serverless hosting
- Transactional email API for the contact form