Hire me

Open to web platform roles, Senior to Principal.

Email me → Resume
Years coding
13+
Years at Mamikos
6+
Mentees
60+

I build the frontend foundations product teams ship on, and help engineers grow. Today that's the core frontend at Mamikos, Indonesia's leading boarding house rental platform, with millions of monthly visitors.

Selected work

A few things I'm proud of

Full work history
Mamikos /2024 – Present

Modernizing the core frontend system

Principal Software Engineer, Frontend

Faster builds and dev server starts, a supported framework, and better Core Web Vitals, shipped alongside feature work.

Problem
The core frontend still ran on Vue 2 and Webpack. Vue 2 had reached end of life, builds were slow, and Core Web Vitals needed work.
Approach
I planned the improvements as a roadmap, upgraded the codebase to Vue 3, migrated the build to Vite, and tracked performance with Lighthouse and WebPageTest.
Read the article on Mamitech
Mamikos /2020 – 2022

Building the Mamikos design system

Senior Frontend Engineer, Core Frontend team

Teams now pick components off the shelf instead of rebuilding them, and new pages ship with a consistent UI.

Problem
Product teams rebuilt the same buttons, inputs and modals in every app, and the UI drifted apart from one release to the next.
Approach
We built a shared component library with designers as the single source of truth for the web, with docs, versioning and a migration path for each app.
Read the story (in Bahasa Indonesia)
Mamikos /2020 – 2023

Bringing black-box testing to the Mamikos frontend

Senior Frontend Engineer, then Tech Lead

Tests became part of every pull request, and the team catches regressions in review instead of in production.

Problem
Regressions in core features reached production, and slow CI made engineers reluctant to add more tests.
Approach
I introduced black-box tests with Testing Library for core features, parallelized unit tests in CI to cut pipeline time, and shared the practice in internal talks.
View the talk slides
Recommendations

What colleagues say

Read all
“As the Front End Tech Lead, Tri provided exceptional guidance and ownership, steering front-end development with clear vision and effectively meeting goals.”
Read full recommendation

“As the Front End Tech Lead, Tri provided exceptional guidance and ownership, steering front-end development with clear vision and effectively meeting goals. He consistently delivered clean, well-structured code and thorough documentation, ensuring high standards of quality and clarity in all projects. His proactive approach to learning is truly commendable. Tri's dedication, technical skills, and leadership qualities make him a standout professional.”

Arifin
Arifin

Software Architect - Backend

“He is a strong communicator and has a talent for breaking down complex technical concepts for his team and stakeholders.”
Read full recommendation

“As his Manager, I have seen the exceptional contributions he has made as a Lead Front-End Engineer. Tri is an innovative problem-solver who is always willing to go above and beyond to ensure that his tasks are completed to the highest standard. He is a strong communicator and has a talent for breaking down complex technical concepts for his team and stakeholders. I have no doubt that he will just keep getting better.”

Giga Prakosa
Giga Prakosa

Senior Engineering Manager

How I lead

Four habits I keep

The thinking behind this
  1. I grow the team

    At Mamikos I started a mentorship program and brag documents, and ran regular 1-on-1s. Pairing, code review and a monthly rotation of duties spread the knowledge, so nobody becomes the one person the team can't work without.

    How I avoid bus factors
  2. I change my mind

    When someone brings a better argument in a code review or an architecture discussion, I change my view and say so. I want the team to land on the best answer, even when it isn't mine.

  3. I say “I don't know”

    A confident wrong answer can send a team down the wrong path for days. When I don't know, I say so and go find out. That makes it easier for everyone else on the team to say it too.

  4. I slow down first

    I've jumped into code before understanding the problem. One hour saved at the start turned into three extra days at the end. Now I read the existing code and ask the clarifying questions before I write the first line.

Practical details

Logistics and common questions

Looking for
Senior to Principal Engineer, Web Platform
Work setup
Remote, or hybrid in Yogyakarta, Indonesia
Time zone
UTC+7 (WIB), overlaps with APAC and EU mornings
Stack
Vue.js, React, React Native, TypeScript, Node.js (Vue 3 and Vite day to day at Mamikos)

Common questions

How much experience do you have?

I've been writing code professionally since 2013, first as a full stack web developer, and on JavaScript frontends and apps since 2018. I've been at Mamikos since 2020, growing from Senior Frontend Engineer to Tech Lead to Principal Software Engineer. The full work history is on the About page.

What kind of work do you enjoy most?

Building the foundations product teams ship on: design systems, build tooling, performance and testing. I also enjoy helping the engineers around me grow.

Have you worked with React, or only Vue?

Both. I work in Vue 3 day to day at Mamikos. Before that I built the Edumu iOS and Android app with React Native, and the interactive parts of this site are React. I've also given three talks on React, such as “Styling React Applications” at the Kitabisa Tech Meetup.

Have you led a large migration?

Yes. I moved the Mamikos core frontend from Vue 2 to Vue 3 and from Webpack to Vite while feature work kept shipping. I wrote about how we planned it in How We Plan Improvements for Our Core Frontend System.

How do you approach web performance?

With data first. At Mamikos I track Core Web Vitals with Lighthouse and WebPageTest, and I decided which browser versions to support from real visitor data, which I wrote about in Defining Browser Support with Global Usage Data. This site's own Lighthouse reports are public at inspect.trihargianto.com.

How do you use AI in your work?

Every day. I use Claude Code to explore codebases, write features and review changes, and I teach it how I like things done with Agent Skills. I review every change it makes before I commit it. I explain where I draw the line in Balancing Vibe Coding and AI-Assisted Coding and The AI Slop Problem.

Have you led a team?

Yes. I was the frontend Tech Lead at Mamikos from 2022 to 2024. I led the roadmap against quarterly OKRs, started a mentorship program and brag documents, and ran regular 1-on-1s. As a Principal Engineer, I now standardize coding practices across teams.

Do you mentor engineers?

Yes. I started the mentorship program at Mamikos, mentored more than 60 students as a web programming instructor at Hacktiv8, and I'm a mentor on ADPList.

How do you work with designers and product managers?

We built the Mamikos design system with designers as the single source of truth for the web, so design and code stay in sync. Yunda Bella, a product manager I worked with, put it this way: “He brings ideas and feedback to solve issues, and open to other perspective at the same time.”

Do you speak or write publicly?

Yes. I've given 11 talks since 2018, mostly at JogjaJS meetups and Mamikos tech talks, and I co-organize JogjaJS, a community of 1,000+ developers in Yogyakarta. I started Mamitech, the Mamikos engineering blog on Medium, and I write on this blog, which also lists my Medium articles. See my talks.

Can I see your work?

Yes. My code is on GitHub, including my pet projects and the source of this site. I also write about frontend and leading teams and give talks.

What's the next step?

Email me at trihargianto@gmail.com with the role, the team and what they're building. My resume has the full details.

Get in touch

Hiring for a role like this?

Email me the role, the team, and what they're building. My resume has the full details.

trihargianto@gmail.com →