Vibecode WishKit

track this build4 phases, 12 steps, beginner friendly
KINDA · weekend project
price $15/moyou'd save $180/yrbuild time a weekendcategory 🔬 user researchreplaced by 0 people

The data model here is four tables and a sort function: wishes, votes, comments, statuses. An agent can produce the whole web board plus a REST API in a single sitting, and it will work fine for a side project. The part that is actually work is everything after that: a native in-app widget for each platform you ship on, anonymous device identity so the same user cannot vote fifty times, spam and profanity handling, and an endpoint that stays up for people who already installed your binary. Nothing there is hard, it is just a real backend you now own forever. Build it if you like owning it, pay if your roadmap board is not the thing you want to be on call for.

the project pack5 files · written for this build, step by step
README.md
# WishKit · indie build

A feature request board whose hard problems are an API that must keep working for binaries you shipped last year, a device identifier that is a hint rather than an identity, and abuse handling on endpoints anybody on the internet can post to.

Estimated effort: **weekend**. Work `BUILD_PLAN.md` top to bottom · every phase ends in a check that has to pass before the next one starts.

## Stack

| Part | Choice | Why |
| --- | --- | --- |
| Runtime | Next.js 15 with the App Router and TypeScript | one deployment serving a board, an admin view and an API |
| Storage | SQLite through Drizzle, one file | a board is small and a single file is the easiest thing to back up |
| Identity | A client-generated identifier treated as a hint, never as proof | anything a client sends about itself is a claim |
| API | A versioned path with fields that are only ever added | an old build of your app cannot be asked to update |
| Admin | One password from the environment behind a signed cookie | the smallest thing that is not nothing |

## Before you start

Have every one of these ready. The plan assumes them from step one.

- [ ] **Node.js 22 or newer** · free
  - Why: Runs the board, the admin view and the API.
  - Get it: nodejs.org, or nvm install 22.
  - Verify: node --version prints v22 or higher
- [ ] **A small host with persistent disk and a stable name** · a few pounds a month
  - Why: The endpoint has to answer for as long as an old build of your app is installed somewhere, which is longer than you think and not something you can shorten.
  - Get it: Any small virtual machine or container platform with a volume and a domain you control.
  - Verify: The health endpoint answers over TLS at a name you own
- [ ] **A proxy or platform that can rate limit** · free with most hosts
  - Why: Application rate limiting protects the database and does nothing about the bandwidth, so the layer in front needs a limit too before a public write endpoint meets its first script.
  - Get it: Any reverse proxy or platform feature that limits requests per source.
  - Verify: A burst from one source is refused before it reaches the application
- [ ] **Xcode, if you want the native widget** (optional) · free, on a Mac
  - Why: The small SwiftUI package is the part that makes this worth self-hosting, and it cannot be compiled or tested anywhere else.
  - Get it: Xcode from the Mac App Store.
  - Verify: The package builds and the board view lists wishes from your API
- [ ] **Your API deprecation window** · free
  - Why: It is a promise to people running software you can no longer change, and picking the number after the first breaking change means picking it too late.
  - Get it: Decide a minimum period an API version is served after it is superseded, and write it in the README.
  - Verify: The figure is in the README and the old version still answers

## Quick start

Follow Phase 1 in `BUILD_PLAN.md`; it creates the project.

Then copy `.env.example` to `.env` and fill in the values it documents.

## Honest limits

This build deliberately does not replace:

- Email and push notifications.
- Multi-tenant signup and billing.
- User accounts and sign-in.
- Public roadmap columns.
- A maintained SDK per platform, so every new client is your code to write and version
- Anti-abuse that someone else already tuned: duplicate votes, spam floods, garbage submissions
- Uptime you did not have to think about for users running an old build of your app
- Email or push notifications when a request they voted for ships
- Duplicate merging, tagging and the other board hygiene features that only matter once you have hundreds of wishes

If one of those is essential to you, that is the reason to keep paying for WishKit, and the README should say so rather than pretend.

$ choose a build depth, inspect the files, then open the complete pack in your agent

why people still pay

Because a feature request board is not the product, it is a chore attached to the product. Paying converts an endpoint you have to keep alive, patch, and defend from spam into a line item, and it gets you a native widget that matches the platform without you writing UI you do not care about. Indie developers in particular are buying the SDK and the uptime, not the CRUD.

what you lose

xA maintained SDK per platform, so every new client is your code to write and version

xAnti-abuse that someone else already tuned: duplicate votes, spam floods, garbage submissions

xUptime you did not have to think about for users running an old build of your app

xEmail or push notifications when a request they voted for ships

xDuplicate merging, tagging and the other board hygiene features that only matter once you have hundreds of wishes

prior art · use these instead of building, if you'd rather

Nothing worth pointing at. That's why the prompt exists.

share on X ↗"I just replaced WishKit ($15/mo) with one prompt"
questions
Vibecode WishKit

Kinda. The core of WishKit is buildable in a weekend with the prompt on this page, but there are real gaps: A maintained SDK per platform, so every new client is your code to write and version, Anti-abuse that someone else already tuned: duplicate votes, spam floods, garbage submissions. Read the honest list above before committing.

How much does WishKit cost?

WishKit costs about $15/month (Premium, checked 2026-08-18), which is $180 per year.

What do I lose by replacing WishKit?

Honestly: A maintained SDK per platform, so every new client is your code to write and version; Anti-abuse that someone else already tuned: duplicate votes, spam floods, garbage submissions; Uptime you did not have to think about for users running an old build of your app; Email or push notifications when a request they voted for ships; Duplicate merging, tagging and the other board hygiene features that only matter once you have hundreds of wishes. If any of those are load-bearing for you, keep paying.

Is there an open-source alternative to WishKit?

No mature open-source alternative worth pointing at, which is exactly why the one-shot prompt on this page exists.