Back to work
03BACKEND / API

TaskFlow API

A backend service for team task management with webhooks and background jobs.

View CodeShipped
Node.jsExpressPostgreSQLDocker
Overview

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.

Problem

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.

Solution

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.

Features
  • 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
Architecture

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.

Challenges

Designing webhook delivery to be reliable — retries, signature verification, and not blocking the main request cycle — took more thought than the core CRUD logic.

Learnings

A much better instinct for where to draw boundaries between route handlers, services, and background workers in a backend codebase.