Backend

Express.js

Minimal, fast Express services for APIs, gateways, and webhooks.

Expert3+ yearsBackend

Express is my tool of choice when the brief is 'small, fast, no framework ceremony'. I have used it for REST APIs, webhook handlers, lightweight gateways in front of microservices, and integration adapters between systems. I add structure with middleware + routers, not by reaching for a heavier framework.

My Journey

How I work with Express.js

Express was my first Node.js framework. I have shipped many production Express services since — typically smaller, focused apps where NestJS would be overkill, or older services I have inherited and maintained.

My Express style is opinionated even though the framework is not: thin route handlers, business logic in service modules, validation via a single middleware (Joi or Zod), centralized error handling, and a request-scoped logger.

I am comfortable both extending Express apps and migrating them to NestJS when they outgrow the simple structure.

Where I've Applied It

Express.js across business domains

Real Estate

Built lightweight Express services for listing search, lead intake webhooks, and partner integrations.

Smart Building & Utility Billing

Used Express for billing-event webhooks (Stripe) and small scheduled-job runners.

NFC & Digital Identity

Wrote the public tap-event ingest API as a focused Express service so it could scale independently.

Problems Solved

Real issues I resolved using Express.js

Brought consistency to a wild-west Express codebase

Problem

An inherited Express service had error handling, validation, and logging done differently in every route.

Solution

Introduced a shared validation middleware, a single error-handling middleware, a request-scoped logger, and an ESLint config to enforce the conventions.

Impact

Bug rate fell, onboarding got faster, and the code stopped feeling like 30 different mini-services living in one repo.

Express.jsZodWinstonESLint

Replaced sync request work with a thin queue producer

Problem

An Express endpoint was doing 4+ seconds of work inside the request — image processing + emails + downstream API calls.

Solution

Made the endpoint enqueue a job and return 202 immediately; the worker handled the slow steps with retries and observability.

Impact

Endpoint latency dropped to under 100ms, timeouts stopped, and slow downstream APIs no longer cascaded into user-facing failures.

Express.jsBullMQRedis
Related Skills

Often used together

Have a Express.js project in mind?

I am open to full-time and contract work where Express.jsis core to the stack. Let's talk about what you are building.