Not a frontend engineer who dabbles. React, TypeScript and micro frontends on the surface; PostgreSQL, Redis and Cassandra underneath; Docker, Jenkins, GitHub Actions and AWS carrying it to production. I design the data model, write the API, wire the pipeline and own the deploy.
Everything I ship is built SEO-friendly and performance-budgeted from the first commit — semantic markup, Core Web Vitals, server rendering where it earns its keep.
Download résuméPDF · 1 PAGE ↓
Most portfolios stop at the components. Mine keeps going down to the query plan and the deployment pipeline.
Micro frontend architecture with independently deployable React microapps, shared TypeScript component libraries, and state that stays predictable at scale.
REST and GraphQL APIs serving high-volume production traffic, with polyglot persistence chosen per access pattern rather than by default.
Jenkins and GitHub Actions pipelines, Nginx deployment configuration, containerised services and AWS runtime — built by me, not handed over.
Semantic, accessible markup, structured data, and a performance budget held from the first commit. AMP pages on a previous product extended reach on low-bandwidth connections.
Architected and shipped React microapps on a micro frontend architecture — independently deployable modules across a distributed delivery pipeline serving multiple product teams.
Engineered the Exabeam Search Audit Dashboard, turning structured security audit data into diagnostic views that speed up triage, and a Kanban scheduling tool in React, Python, SQL and D3.
Owned REST and GraphQL integration end to end, built shared TypeScript component libraries, and authored the architecture documentation partner teams plan against.
Delivered the Risk Sensing UI Dashboard for Johnson & Johnson, surfacing risk intelligence across events, goods and materials from large structured datasets.
Raised automated test coverage to 90%, cutting production defects 45%, and led five developers through a React and Redux rewrite that improved functionality 35%.
Implemented Jenkins CI/CD with Nginx deployment configuration for automated analysis and validation, improving maintainability 15%.
Built the Renewal Management Portal for Care Health Insurance, integrating manual and auto-dialer systems into policy renewal workflows.
Designed authenticated REST APIs with JWT, OAuth and role-based authorization across a hierarchical permissions structure.
Investigated production telemetry, APM metrics and logs to catch defects early, and shipped AMP pages that extended reach on low-bandwidth connections.
Real-time multiplayer chess where each store does exactly one job: Redis holds session and live game state, Cassandra absorbs write-heavy match logs, PostgreSQL keeps relational user data, and WebSockets keep both players on the same board.
Groups co-create, sync and navigate shared travel itineraries in real time.
Boating management: payments, real-time notifications and admin tooling over Socket.IO.
Responsive, SEO-optimized personal site with animation tuned for engagement and accessibility.
29 posts on Hashnode, mostly long-form: what I learned building something, or the JavaScript and systems fundamentals I wanted to explain properly.
The full write-up behind the Grandmaster case study: Redis, Cassandra, Postgres and WebSockets, and why each one is there.
Node.js, Express, PostgreSQL and oidc-provider — standing up real OpenID Connect rather than reaching for a hosted one.
Ten things digging through the file system changed about how I read the operating system underneath my services.
Cursor and Claude Code are in the daily workflow behind a deliberate rule for when they accelerate delivery and when standard engineering rigor is required instead. Test coverage on shipped code stays mine either way.
I lead teams as much as I write code: code-review standards, testing gates, and architecture documentation that gives partner teams something to plan against. Five developers through a legacy rewrite, a quality bar that became the team's, and the pipelines to keep it honest.
The work I like best sits where a messy dataset becomes a screen someone can make a decision from — and where the thing behind that screen stays fast under real traffic.