Impulse is a high-performance, collaborative API development platform designed for modern teams. Built with a focus on speed, aesthetics, and agentic workflows, it provides a unified environment for REST testing, Realtime/WebSocket debugging, and team-wide documentation.
- Dynamic Request Builder: Support for all HTTP methods (GET, POST, PUT, DELETE, PATCH).
- Embedded Monaco Editor: Experience VS Code-grade editing for JSON bodies and headers.
- AI-Powered Suggestions: Automatically suggest request names and structure based on your endpoint.
- Response History: Track and compare response times, sizes, and headers over time.
- Live Stream: Monitor incoming and outgoing WebSocket messages in a structured log table.
- Message Editor: Send complex JSON payloads with auto-formatting and syntax highlighting.
- Connection Management: Handle auto-reconnection and status tracking with ease.
- Team Isolation: Organize projects into shared workspaces.
- Invite System: Scale your team with secure, token-based invitation links.
- Role-Based Access: Manage permissions with Admin, Editor, and Viewer roles.
- Instant Migration: Seamlessly import your existing collections from Postman v2.1 or native Impulse JSON formats.
- Folder Organization: Group requests into logical collections for better discoverability.
- Command Palette (Cmd+K): Instant global search for documentation and collections.
- Mobile Responsive: Access your workspaces and test APIs from any device.
- Documentation Hub: Unified documentation page with search and quick-start guides.
- Framework: Next.js 14+ (App Router)
- Database: Prisma with PostgreSQL
- Authentication: Better Auth
- UI Components: Radix UI & Tailwind CSS
- State Management: Zustand & TanStack Query
- Icons: Lucide React
- Node.js 18+
- PostgreSQL database
-
Clone the repository
git clone https://github.com/Somilg11/impulse.git cd impulse -
Install dependencies
npm install
-
Configure Environment Variables Create a
.envfile in the root directory:DATABASE_URL="postgresql://user:password@localhost:5432/impulse" BETTER_AUTH_SECRET="your-secret-here" NEXT_PUBLIC_APP_URL="http://localhost:3000"
-
Initialize Database
npx prisma db push
-
Run the Development Server
npm run dev
Impulse follows a modular architecture for scalability:
- /src/modules/request: Handles the core REST client logic and editor state.
- /src/modules/realtime: Manages WebSocket connections via a global Zustland store.
- /src/modules/collections: Controls the organization and importing of API requests.
- /src/app/api/ai: Internal endpoints for AI-assisted workflow optimizations.
Built with ❤️ by Somil Gupta. This project is open for contribution and community feedback.
