TaskFlow API
A backend service for team task management with webhooks and background jobs.
A standalone REST API for team task management, built to practice designing a backend service the way a small product team would run one in production.
Most of my early projects were frontend-heavy. I wanted a project focused entirely on backend concerns — auth, data modeling, background processing — without a UI to lean on.
A REST API with JWT authentication, role-scoped workspaces, background job processing for notifications, and outbound webhooks so other tools can react to task events.
- JWT-based authentication and workspace-scoped authorization
- Background job queue for notification delivery
- Outbound webhooks for task lifecycle events
- Dockerized for consistent local and deployed environments
An Express API with a service layer separating route handlers from business logic, PostgreSQL for storage, a lightweight job queue for async work, and Docker Compose for local development.
Designing webhook delivery to be reliable — retries, signature verification, and not blocking the main request cycle — took more thought than the core CRUD logic.
A much better instinct for where to draw boundaries between route handlers, services, and background workers in a backend codebase.