Full-Stack · SaaS ProductNext.js · Node · Postgres

A full-stack project-management tool that replaces spreadsheet, Notion, and Trello sprawl with one workspace teams actually open every day. I engineered it end to end: a Next.js front end and a Node and Postgres back end, on a Figma design by Hamail Hassan.

Tasktrox marketing landing

Client
TasktroxSelf-initiated SaaS
Year
2024Shipped & in use
Role
EngineerFull-stack development
Stack
Next · NodePostgres · Redis · Docker
Status
LivePublic, paid plans next

Tasktrox started as a tool for a friend's company, a small team drowning in spreadsheets, Notion docs, and a Trello board nobody trusted. They needed one place to see who was doing what, by when.

The brief was narrow and honest: a project-management tool simple enough that a team would actually open it every day. No feature bloat, no dashboard spaghetti, no AI-as-mascot. Just the handful of things a team needs to coordinate work, built well.

Hamail Hassan handled the design in Figma. I built everything else. Front end, API, database, caching, and the containers it all runs in. One engineer owning the full stack end to end.

When the original company moved on, we shipped Tasktrox live as a public product instead of shelving it. It quietly found real users beyond the team it was built for, and paid plans come next.

The Vision

A tool we'd
actually open.

Three rules shaped the build. One: fewer screens, done well. A small team doesn't need fifty features. It needs the five it touches daily to be fast and obvious. Scope was a feature, not a limitation.

Two: keep the data honest. If a task is blocked, the board says blocked, with no silently recoloured badges. State lives in Postgres and changes through real transitions, never optimistic guesses. Three: it has to feel instant. Redis caches the hot paths, the API stays lean, and motion is 240ms, quick enough to stay out of the way.

MartinaFull-stack engineer
The Product

The dashboard,
built to scan.

The dashboard is where the team lives: every project at a glance, status and owner up front, detail one click away. The right rail is for context, never controls.

Under it sit the boring contracts that hold it together: a Prisma schema modelling projects, tasks and members; REST endpoints with real auth; Redis caching the views that get hit most. Cards align to an 8-pt grid, and motion is 240ms expo.out, fast enough to feel earned, quick enough to stay out of the way.

Tasktrox project dashboard
Fig. 04 · Project dashboard · 2024
The Build

All 7 screens.

01Marketing landingLanding page, scroll-led hero2400 × 1500
02Project dashboardStatus grid, owner + due date2400 × 1500
03Product surfaceCard system, 8-pt grid2400 × 1500
04About pageTeam page, folio layout2400 × 1500
05PricingThree tiers, no asterisks2400 × 1500
06TestimonialsQuotes section, marginalia2400 × 1500
07Footer marqueeClosing flourish2400 × 1500
Architecture

Under the
hood.

Behind the screens, Tasktrox is a Kanban project tool I built and run end to end: a typed React client, a versioned REST API, and a Postgres core with Redis in front, all containerised and shipped with zero-downtime deploys.

Client
  • Next.js
  • Tailwind
  • TypeScript

Server-rendered React, typed end to end, talking to the API over a versioned REST contract.

API
  • Node
  • Express
  • TypeScript

Auth on every route: Google and Apple OAuth plus email login, JWT access tokens with refresh-token rotation, and four access roles from owner to viewer.

Data
  • PostgreSQL 16
  • Prisma
  • Redis 7

A 12-model Prisma schema: projects, columns, tasks, assignees, labels, comments and attachments, with soft deletes and a full activity log. Redis caches the read-heavy board views.

Runtime
  • Docker
  • Nginx
  • GHCR
  • GitHub Actions

Every service in its own container, built in CI and pushed to GHCR. Self-hosted behind Nginx on isolated networks, released blue/green for zero downtime.

12Modelsin the Prisma schema
4Access rolesowner to viewer, per project
0Downtimeblue/green releases
2Networksproxy and data, isolated
Outcome

What it is,
in numbers.

7Surfacesshipped to production
3Tools replacedNotion · Trello · sheets
1Engineerfront end to infra
100%Self-hostedDockerised, our own box
Colophon

Made with a small circle.

Engineering
Muhammad Abdullah
Full stack · FE, API, DB, infra
Design
Hamail Hassan
Figma · UI
About M.A

Muhammad Abdullah is a full-stack web engineer. He builds web products end to end: interfaces in React and Next, APIs and services in Node, and the Postgres, Redis and Docker plumbing that keeps them running.

Tasktrox started as a tool for a friend's company and outlived the company itself. It's now live as a public product, picking up real users beyond the team it was built for. Currently open to full-time roles and freelance builds.