About me

Building software with clarity and purpose.

I'm a software engineer who enjoys solving complex problems by turning them into simple, reliable, and maintainable systems.

My approach

Good software should be understandable.

Dynamic Software Engineer with over a decade of expertise in frontend tech lead responsibilities, sprint planning, and codebase maintenance. Proficient in JavaScript, TypeScript, React, Vue, and modern web standards, with a strong emphasis on team delivery and long-term maintainability.

Focused on breaking down epics into user stories, running sprint planning, and maintaining large codebases through code reviews, refactoring, and establishing standards that keep projects healthy over time.

Build component libraries and internal tools that reduce repetitive work and help teams ship faster. Comfortable across React, Vue, and TypeScript ecosystems, with experience scaling frontend systems for large user bases.

This mindset influences how I approach architecture, APIs, application code, databases, testing, and deployment.

Engineering principles

Principles I try to bring into every project.

Keep it simple

Prefer straightforward solutions that are easy to understand, test, debug, and maintain.

Understand the problem

Good technical decisions start with understanding the actual requirements, constraints, and trade-offs.

Build for the long term

Code is easier to write than it is to maintain, so I value consistency, clarity, and sensible architecture.

Measure what matters

Performance, reliability, and quality should be evaluated using meaningful signals rather than assumptions.

Areas of interest

Problems I enjoy working on.

  • Sprint & Backlog ManagementBreaking down epics, refining user stories, and keeping delivery predictable across frontend teams.
  • Codebase HealthRefactoring, reducing technical debt, and establishing standards that keep large codebases maintainable.
  • Component ArchitectureDesigning reusable component libraries and design systems that reduce duplication across teams.
  • Developer ToolingBuilding internal tools, CI/CD pipelines, and automation that reduce friction in the development workflow.
  • Frontend PerformanceOptimizing bundle size, rendering performance, and user experience for large-scale applications.
  • Mentoring & Knowledge SharingCoaching engineers, running code reviews, and documenting decisions that help the team grow.

Toolbox

Technologies I work with.

Frontend

  • React
  • Next.js
  • Vue.js
  • Nuxt
  • TypeScript
  • Tailwind CSS
  • Angular

Backend

  • Go
  • Node.js
  • Express
  • PHP
  • REST API
  • GraphQL
  • MySQL / MariaDB
  • MongoDB

Tooling & DevOps

  • Git
  • Docker
  • GitLab CI/CD
  • Jenkins
  • Vite
  • Webpack
  • Storybook

AI & Emerging

  • GitHub Copilot
  • AI-assisted development
  • WebXR / A-Frame
  • WebAssembly
  • Flutter

Beyond code

Engineering is more than writing code.

Software development involves much more than implementation. I enjoy thinking about how technical decisions affect users, teams, operations, and the future of a product.

I value clear communication, documentation, thoughtful code reviews, and the ability to explain technical decisions in a way that makes them accessible to both technical and non-technical stakeholders.

Continue exploring

Want to see what I've built?

Explore my professional experience and selected projects to learn more about my work.