Languages

JavaScript

Modern JavaScript across server, browser, and tooling.

Expert3+ yearsLanguages

JavaScript is the language I have shipped the most production code in. I work primarily in modern JS (ES2020+) across Node.js services, React/Next.js UIs, build tooling, and one-off scripts. I default to TypeScript when starting new projects, but I read, maintain, and refactor a lot of plain JS as well.

My Journey

How I work with JavaScript

JavaScript is the language I have spent the most hours in. I started with it as a frontend skill and grew into a full-stack JS engineer once Node.js became my main backend runtime.

I am comfortable with the full modern toolbox — async/await, modules, iterators, generators, proxies, and the runtime quirks of both V8 and modern browsers — and I have maintained codebases that still need to support ES5-ish output for older clients.

Day-to-day I am almost always writing TypeScript, but I treat that as 'JavaScript with types' — the underlying language fluency comes from years of writing plain JS, debugging it in browsers, and operating it in Node in production.

Where I've Applied It

JavaScript across business domains

AI & Machine Learning Platforms

Wrote orchestration code in Node.js and the operator-facing UI in React — both predominantly JavaScript with TypeScript adopted incrementally.

Real Estate

Shipped both server and client code in JavaScript — REST APIs in Node + Express, dashboards in React.

Automotive Marketplace

Built marketplace UIs and integration glue in JavaScript, including Salesforce webhooks and lead-routing scripts.

NFC & Digital Identity

Implemented analytics capture, dashboard rendering, and the public profile UI in JavaScript.

Problems Solved

Real issues I resolved using JavaScript

Fixed a memory leak in a long-running Node worker

Problem

A background worker was slowly growing its RSS over days and eventually OOM-killing. The leak was invisible in short test runs.

Solution

Took heap snapshots with the Node inspector, diffed them across hours, and isolated a closure capturing growing payloads. Refactored to release references after each job.

Impact

Worker memory stabilized at a flat baseline; the OOM kills stopped without needing to scale up memory.

JavaScriptNode.jsChrome DevTools

Replaced callback hell with async/await on a critical path

Problem

A legacy webhook handler was deeply nested callbacks, with inconsistent error propagation — some errors were swallowed.

Solution

Refactored to async/await with explicit try/catch and a single error-handling middleware. Added unit tests for each branch as I refactored.

Impact

Errors started surfacing reliably in logs and Sentry, the handler became readable, and a class of silent failures disappeared.

JavaScriptNode.jsJest
Related Skills

Often used together

Have a JavaScript project in mind?

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