Build lightning-fast, source-protected React apps with file-based routing, built-in API routes, and zero-config deployment to any Node.js server.
Revolutionary features that redefine React development
Industry-standard dist/ folder instead of .bini/dist. Works with all CI/CD pipelines and major hosting platforms.
File-based routes take precedence over folder-based. Support for admin.tsx → /admin and admin/page.tsx → /admin patterns.
Works on all Node.js servers - Vercel, Netlify, Heroku, Railway, Render, and traditional VPS. Zero config required.
2x faster than Express with built-in security, rate limiting, and auto-opening browser for dev, preview, and start commands.
File-based routes win when both file-based and folder-based routes exist. Complete flexibility for your routing needs.
Sensible defaults for TypeScript, routing, and modern tooling. Works out of the box with all major platforms.
Next.js-compatible organization with industry-standard output
All routes automatically discovered and compiled at startup with priority system
Instant updates in development with sub-100ms HMR and auto-opening browser
Choose between file-based or folder-based routing per route with automatic precedence
Fastify server with security, rate limiting, and graceful shutdown included
Two routing patterns with intelligent priority system
Simple single-file routes for quick development and less boilerplate.
src/app/
├── admin.tsx # /admin
├── settings.tsx # /settings
└── profile.tsx # /profile
Traditional Next.js structure for complex layouts and better organization.
src/app/
├── admin/page.tsx # /admin
├── settings/page.tsx # /settings
└── profile/page.tsx # /profile
When both exist, file-based wins. Complete flexibility for your routing needs.
src/app/
├── admin.tsx ✅ WINS → /admin
├── admin/page.tsx ❌ IGNORED
Support for [id], [...slug] patterns with full type safety and parameter validation
Create beautiful not-found.tsx pages that work in dev, preview, and production
Nested layouts with proper hierarchy and persistent state across navigation
Lazy-loaded routes with 64% smaller initial bundles and automatic code splitting
Create powerful endpoints with zero boilerplate
Simple endpoints with automatic JSON serialization and type safety.
// src/app/api/hello.ts
export default function handler(req: any, res: any) {
return {
message: 'Hello from Bini.js!',
method: req.method,
timestamp: new Date().toISOString()
};
}
URL parameters with full type safety. Supports [id] and [...slug].
// src/app/api/users/[id].ts
export default function handler(req: any, res: any) {
const { id } = req.params;
if (req.method === 'GET') {
return { id, name: `User ${id}` };
}
res.status(405);
return { error: 'Method not allowed' };
}
Full REST support with GET, POST, PUT, DELETE, PATCH.
// src/app/api/users.ts
export default function handler(req, res) {
switch (req.method) {
case 'GET': return { users: [] }
case 'POST':
res.status(201)
return { created: true }
default:
res.status(405)
return { error: 'Method not allowed' }
}
}
Helmet.js security headers, rate limiting, CORS protection, and XSS prevention.
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 87
X-RateLimit-Reset: 1730396400
// Automatic in all responses
Input validation and path traversal prevention built-in.
// src/app/api/search.ts
export default function handler(req, res) {
const { q, limit = '10' } = req.query
// Auto-sanitized ✓
return { query: q, results: [] }
}
Everything needed for enterprise APIs with Fastify performance.
Deploy your Bini.js apps anywhere with zero configuration
Works on any platform with Node.js runtime support:
npm run build
npm run start
Perfect for Heroku, Railway, Render, AWS, Google Cloud, and traditional VPS.
Zero configuration deployment with automatic detection:
# Push to GitHub
git push origin main
# Vercel auto-detects and deploys
Automatic deployments on every push with proper configuration.
Deploy with Node.js runtime in minutes:
# Build command:
npm run build
# Publish directory:
dist
Automatic deployment with zero configuration:
# Connect GitHub repo
# Railway auto-detects Node.js
# Sets PORT automatically
Perfect for continuous deployment with automatic branch deployments.
Traditional deployment made simple:
heroku create my-bini-app
git push heroku main
Works out of the box with proper Procfile and build configuration.
Full development experience on all platforms:
Everything you need for production applications
Advanced obfuscation and minification. Your code stays protected from reverse engineering.
Vite-powered with sub-100ms HMR. Production builds under 10 seconds.
Helmet headers, CORS, rate limiting (100 req/15 min), and graceful shutdown out of the box.
File-based and folder-based routing with intelligent priority system.
Fastify server (2x faster than Express) with automatic code splitting and lazy loading.
Works on all Node.js servers with zero configuration. No platform lock-in.
TypeScript and modern tooling pre-configured. Start coding immediately.
Full TypeScript throughout. Type-safe pages, components, and APIs.
Create your first app with a single command
# Create new project
npx create-bini-app@latest my-app
# Install dependencies
cd my-app
npm install
# Start development server (auto-opens browser)
npm run dev
# Your app opens at http://localhost:3000
--typescript --tailwind
--git --readme
--force --skip-install
Everything you need to know about Bini.js
Major features released in v9.2.3:
Bini.js works on all Node.js platforms:
Note: Bini.js requires Node.js runtime for API routes and full functionality.
Bini.js supports two routing patterns with intelligent precedence:
src/app/
├── admin.tsx ✅ WINS → /admin
├── admin/page.tsx ❌ IGNORED
├── settings/page.tsx ✅ USED → /settings
└── dashboard.tsx ✅ USED → /dashboard
This gives you complete flexibility to choose the right pattern for each route.
File-based routing:
admin.tsx → /adminFolder-based routing:
admin/page.tsx → /adminYou can mix and match both patterns in the same project.
Absolutely! Bini.js includes everything for production:
Deploy to any Node.js platform with zero configuration.
Production-grade security built-in: