Hi, I’m Ricky — a passionate Frontend Engineer who loves crafting intuitive, performant, and visually engaging web experiences. I specialize in JavaScript, TypeScript, and modern frameworks like React.js (Next.js, Vite) and Vue.js (Nuxt.js). Over the years, I’ve built scalable platforms, high-performance form-driven applications, and seamless WebView-based solutions that bridge the gap between web and mobile. I’m also experienced in optimizing websites with Static Site Generation (SSG) and Incremental Static Regeneration (ISR) to achieve lightning-fast performance and SEO-friendly architecture.

I’ve worked on projects in the banking, finance, and investment sectors, developing secure, data-rich platforms that prioritize stability and user trust. I care deeply about clean architecture, performance, and maintainability — using tools like Node.js, Firebase, Turborepo, and Git to create efficient, scalable development workflows.

Outside of work, I’m often experimenting in the kitchen, exploring new recipes, or making a perfect cup of coffee to recharge. I love listening to jazz and swing, relaxing with video games, and learning Japanese — hoping to visit Japan someday to experience the culture firsthand. For me, great engineering is a lot like cooking or music — it’s about creativity, balance, and finding harmony between all the moving parts.

Experience

Senior Web Engineer

Ajaib2025 - Present

Revamped the company's main website using Next.js with SSG and ISR, improving SEO rankings and boosting overall performance by more than 70%. Designed and developed core WebView-based applications, including Bill Payment and Ajaib Saving, delivering faster load times and a seamless in-app experience. Collaborate across design, product, and backend teams while leading and mentoring a team of 5+ engineers, ensuring clean architecture, efficient development workflows, and high-quality releases.

Next.jsTypeScriptReact

Web Application Developer

CIMB Niaga2020 - 2025

Developed and maintained multiple large-scale web applications for the Digital Banking Division, focusing on performance, scalability, and clean architecture. Built the Bizstart form submission platform using React.js and Redux, and developed both back-office and customer-facing systems for the OCTO Friends app using Angular (JHipster) and React.js. Contributed to the OCTO Mobile back-office web app using Vue.js, and enhanced the Online Form CC, PL, and Mortgage platforms using Nuxt.js, later leading their successful migration to Next.js for improved performance and maintainability. Additionally, maintained a Turborepo monorepo to unify and streamline development across all digital banking web applications.

TypeScriptJavaScriptReactNext.jsReduxVueNuxt.jsAngularTurborepo

Mobile & Web Application Developer

Sprout Digital Labs2019 - 2020

Contributed to the development of various digital products, including a donation platform and a modular framework designed to power CMS-driven and e-commerce-style applications. Collaborated in building the core architecture to streamline future client projects and ensure scalability across multiple use cases. Additionally, maintained and enhanced an Android application, improving performance, stability, and user experience through iterative development and close coordination with cross-functional teams.

JavaScriptTypeScriptReactReact NativeAngularJavaAndroidFirebase

Junior Mobile Developer

Apple Developer Academy2018 - 2019

Developed responsive, user-focused applications for iPhone and iPad, emphasizing clean design and performance. Collaborated in multidisciplinary teams to research, identify, and prototype solutions for real-world problems using mobile technology, following Apple’s design and development principles.

SwiftiOSXcodeUIKit
View full Resume

Designed in a moment of inspiration (and mild chaos) inside VS Code, built with Next.js + Tailwind CSS, and shipped via Vercel. Everything’s typed in Sometype Mono, because monospace just feels right. Copilot probably deserves partial authorship for all those “yeah, that looks right” Tab presses.