Backend

Node.js

Production Node.js services that power AI, real-estate, and billing platforms.

Expert3+ yearsBackend

Node.js is the runtime I reach for first when building scalable backend services. Across 3+ years at GTCSYS I have used it to ship REST APIs, real-time WebSocket services, document processing pipelines, and integrations with Stripe, Twilio, Salesforce, and AWS — all running on Linux servers behind NGINX in production.

My Journey

How I work with Node.js

I started using Node.js in 2022 when I joined GTCSYS as a Software Engineer. My first project was an internal REST API for a real-estate platform, and within a few months I was leading backend implementation for client-facing systems on the same stack.

Over the next three years I expanded from monolithic Express services into NestJS microservices and serverless Node.js on AWS Lambda. I have shipped Node.js code that handles document ingestion for AI pipelines, payment workflows via Stripe, transactional notifications via Twilio, and OAuth-based auth for B2B portals.

Today Node.js is the foundation of most backend work I deliver. I treat it as a production runtime — with proper logging, graceful shutdown, request validation, structured error handling, and observability — not just a place to glue endpoints together.

Where I've Applied It

Node.js across business domains

AI & Machine Learning Platforms

Built Node.js services that orchestrate document ingestion, queue jobs to AI workers, stream results back to the UI via WebSockets, and persist structured outputs to MongoDB.

Real Estate

Implemented listing-management REST APIs, agent onboarding workflows, search/filter endpoints, and lead-routing logic powering both buyer and seller dashboards.

Smart Building & Utility Billing

Wrote billing calculation services, scheduled cron jobs for meter reads, and payment reconciliation endpoints integrated with Stripe.

NFC & Digital Identity

Built the analytics-tracking backend behind NFC-enabled digital business cards — capturing tap events, aggregating interactions, and serving dashboards.

Automotive Marketplace

Delivered inventory APIs for dealerships, lead-routing webhooks, and Salesforce-integration endpoints that synced enquiries into the dealer CRM.

Problems Solved

Real issues I resolved using Node.js

Cut p95 API latency by ~60% on a high-traffic listing endpoint

Problem

A property-listing endpoint was returning in 1.4–1.8s under load because every request fanned out to multiple downstream services and re-fetched static reference data.

Solution

Introduced a request-scoped cache for reference data, replaced sequential awaits with Promise.all where safe, and added a thin Redis layer for hot listings with a 60-second TTL. Profiled with the built-in Node inspector to confirm the wins.

Impact

p95 latency dropped from ~1.6s to ~620ms, server CPU usage on the API tier fell by ~35%, and the team stopped getting paged for slow-listing alerts.

Node.jsExpress.jsRedisMongoDB

Replaced a brittle webhook handler with a queue-based pipeline

Problem

A Stripe webhook handler was processing payment events synchronously inside the HTTP request, occasionally timing out and causing Stripe to retry — which led to duplicate side effects.

Solution

Refactored the handler to validate + persist the event atomically and enqueue downstream work to a job queue. Made the downstream workers idempotent by keying on the Stripe event id.

Impact

Webhook 5xx rate went to ~0, duplicate-charge incidents stopped, and retries became safe by design.

Node.jsStripeMongoDBBullMQ-style queue

Streamed large document uploads without ballooning memory

Problem

An AI-document pipeline was buffering entire PDFs in memory before writing to S3, which OOM-killed the container on files larger than ~80MB.

Solution

Switched to streaming with multer's disk strategy on input and the AWS SDK v3 streaming upload (`Upload` from `@aws-sdk/lib-storage`) on output, with backpressure preserved end-to-end.

Impact

The same container now handles 500MB+ files without crashing; memory ceiling on the upload pod dropped from 1.5GB to ~280MB.

Node.jsAWS S3StreamsMulter
Related Skills

Often used together

Have a Node.js project in mind?

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