A Postman-like API testing tool built with Solid.js and SolidStart.
- Execute HTTP requests
- Manage request collections
- Custom headers and request body support
- Response viewer with formatting and metadata
- Request history tracking
- JSON body normalization (handles trailing commas, unquoted keys, single quotes)
- Frontend: Solid.js with SolidStart
- UI Components: Kobalte + TailwindCSS
- Database: Neon serverless PostgreSQL
- Testing: Vitest + @solidjs/testing-library
- Node.js 22+
- pnpm
# Install dependencies
pnpm install
# Start development server (creates .env and seeds database automatically)
pnpm devOpen http://localhost:3000 to use the app.
| Command | Description |
|---|---|
pnpm dev |
Start development server |
pnpm build |
Build for production |
pnpm preview |
Preview production build |
pnpm test |
Run tests in watch mode |
pnpm test:ci |
Run tests with coverage |
pnpm lint |
Run ESLint |
src/
├── components/
│ ├── ui/ # Reusable UI components (Kobalte-based)
│ ├── api-tester.tsx # Main app orchestrator
│ ├── request-builder.tsx # Request form (method, URL, headers, body)
│ ├── response-viewer.tsx # Response display
│ └── sidebar.tsx # Collections and requests navigation
├── lib/
│ ├── client-request.ts # Client-side HTTP execution
│ ├── normalize-json.ts # JSON parsing utilities
│ ├── db.ts # Database types
│ ├── db-client.ts # Neon SQL client
│ └── server/ # Server-side functions ("use server")
│ ├── requests.ts # Request CRUD
│ ├── collections.ts # Collection management
│ └── proxy.ts # Server-side request proxy
├── routes/
│ └── index.tsx # Home route
└── test/
└── setup.ts # Vitest configuration
- collections - Groups of saved requests
- requests - Saved API requests (method, URL, headers, body)
- request_history - Execution logs with response data
See seed.sql for the full schema.
MIT

