Local-first, offline mock API tool for frontend developers. Define schema-driven endpoints, get realistic fake data instantly — no backend, no internet.
- Quick Start
- Build & Run
- Features
- Writing Schemas
- Data Directory
- Project Structure
- Scripts
- Contributing
git clone https://github.com/Gr1shma/voidend/
cd voidend
pnpm install
pnpm db:push
pnpm dev
pnpm build
pnpm start
Or use pnpm preview to build and start in one step.
- Schema-driven mock endpoints with
$faker.*powered fake data - Nested objects and repeated arrays via
$array/$count - Network simulation — delays, failure rates
- Mock JWT authentication (
/login,requiresAuth) - Export/import projects as JSON
- Everything runs locally in SQLite — no external services
responseSchema is a JSON object. Strings starting with $faker. resolve to fake values via faker.js.
{
"id": "$faker.string.uuid",
"name": "$faker.person.fullName",
"tags": {
"$array": "$faker.lorem.word",
"$count": 3
}
}- Static values (
"admin",42,true) pass through unchanged. $arrayrepeats its template$counttimes (default 3).- Use
responseCounton the endpoint for top-level list responses — don't combine with a top-level$array. - Invalid faker paths silently resolve to
null.
Data is resolved once and cached to disk; editing the schema or count regenerates it.
| platform | path |
|---|---|
| linux | ~/.local/share/voidend/ |
| macOS | ~/Library/Application Support/voidend/ |
| windows | %APPDATA%\voidend\ |
src/
├── app/ next.js routes and pages
├── components/ shared ui components
├── hooks/ react query hooks
├── lib/ data store and schema utilities
├── modules/ feature modules (projects, workspace)
├── server/ trpc routers and db
├── trpc/ client and server trpc setup
└── styles/ global css
| command | does |
|---|---|
pnpm dev |
start dev server with turbopack |
pnpm build |
build for production |
pnpm start |
start production server |
pnpm preview |
build and start in one step |
pnpm check |
lint and format |
pnpm check:fix |
lint + autofix + format |
pnpm db:push |
push schema changes to db |
pnpm db:studio |
open drizzle studio |
pnpm typecheck |
run typescript checks |
pnpm test |
run tests |