Bakend Technical Stack
Philosophy
Bakend is designed around one principle:
One executable. One database. One admin panel. One deployment.
The goal is to provide PocketBase simplicity while adding first-class Functions and Jobs.
Core Runtime
Bun
Responsibilities:
- HTTP Server
- WebSocket Server
- Function Runtime
- Job Scheduler
- CLI Runtime
- Packaging into executable
Reasons:
- Native TypeScript support
- Fast startup
- Excellent developer experience
- Single executable compilation
- Modern tooling
Programming Language
TypeScript
Used for:
- Core platform
- Functions
- Jobs
- SDK generation
- Internal APIs
Example:
export default async ({ db, auth }) => {
console.log("Hello Bakend");
}
Database
SQLite
Storage engine for Version 1.
Responsibilities:
- Collections
- Authentication
- Sessions
- Metadata
- Internal configuration
Reasons:
- Zero configuration
- Embedded
- Fast
- Backup friendly
Future:
- PostgreSQL support (optional)
- Read replicas
API Layer
REST API
Automatically generated APIs for collections.
Features:
- CRUD
- Authentication
- Pagination
- Filtering
- Sorting
Realtime
WebSocket-based subscriptions.
Features:
- Collection subscriptions
- User subscriptions
- System events
Authentication
Version 1:
- Email/password
- Sessions
- JWT
Future:
- Apple
- GitHub
- Microsoft
Storage
Local filesystem storage.
Features:
- Uploads
- Downloads
- Public files
- Protected files
Future:
- S3
- Cloudflare R2
- Backblaze B2
Functions Engine
Functions are TypeScript files.
Triggers:
- onCreate
- onUpdate
- onDelete
- onLogin
- onRegister
Development:
- Hot reload
- Automatic discovery
Jobs Engine
Cron-based scheduler.
Features:
- Scheduled jobs
- Background jobs
- Retry support
- Logging
Future:
- Queues
- Delayed jobs
- Distributed workers
Admin Dashboard
SvelteKit
Features:
- Collection management
- User management
- Storage browser
- Function management
- Job management
- Logs
SDKs
Version 1:
- JavaScript
- TypeScript
- Dart / Flutter
Future:
- Swift
- Kotlin
- Python
Deployment
Supported:
- VPS
- Docker
- Cloud VM
- Self-hosted
Examples:
- Hetzner
- DigitalOcean
- Linode
- Vultr
- AWS EC2
CLI
Executable:
bak
Examples:
bak init
bak start
bak dev
bak functions
bak jobs
bak migrate
Future Features
Not planned for V1:
- Kubernetes
- Redis dependency
- Microservices
- Workflow builders
- Enterprise-only features
Focus remains:
Simplicity first.