Engineering for growth

2020-2025Staff Software EngineerReact, TypeScript, CMS, i18n

01 — Overview

How do you build while the audience keeps growing?

I joined mmhmm in its earliest days, when the engineering team was just getting started and the immediate need was simple: launch a new company website quickly. Within a few weeks, the first site was live.

That work led to a full time role with All Turtles, the parent company. Over the next five years, I moved between projects and returned to mmhmm as needed, helping the website and its infrastructure evolve alongside the product, audience, and organization. mmhmm later became Airtime.

Diagrams below are abstractions of the systems described, not screenshots of the product.

02 — The problem

The company had a clear growth objective. As mmhmm grew, the technical needs changed.

A site built quickly for an early product had to become something much more substantial. The audience was growing internationally. Content and campaigns were being published more frequently. Editorial teams needed to update the site every day without waiting for engineers. More languages meant translation had to become part of the publishing workflow, not a separate task.

The organization was changing too. Teams became larger and more specialized, which meant the infrastructure had to support more people, more workflows, and more dependencies while remaining fast, accessible, maintainable, and cost conscious.

03 — My Contribution

My work evolved along with those needs. I helped build the first marketing site, then later helped migrate it into a CMS-driven publishing platform and continued developing the infrastructure around it.

We created reusable page modules that could be composed across the site instead of building every page from scratch. I worked on editorial workflows, internationalization, localized content, blogs, campaign and event experiences, and integrated AI assisted translation directly into the publishing process so frequently changing content could be localized more efficiently.

As the company grew, my role also became increasingly collaborative. I worked across engineering, design, marketing, editorial, product, and other teams, and helped onboard and support engineers through mentorship and day to day collaboration.

Start small, then hold more

A website that became a platform

The first site shipped in weeks. What it had to carry then kept changing: a publishing platform instead of a set of pages, then more languages, then a larger audience, then more people editing it every day. Each stage had to arrive without stopping the one before it.

20202025
1 editorone site
2020
endejaesko+many editorsa publishing platform
many locales, daily
Added along the waycmsi18n routesreusable modulesdaily publishing

Compose the page

A library of parts, not a set of pages

Every page is assembled from the same library of modules, each one carrying its own responsive rules and its own translations. Editorial and marketing teams compose and reorder them in the CMS, and a module built once shows up in every locale that page exists in.

Module libraryOne page, composed
herofeature_gridtestimonialpricingcta_bandlogo_wall
herotestimonialcta_bandadd module
Same page inendejaesko

Localize what earns it

Translation became part of publishing

English is the source of truth. An editor picks the locale they need, AI assisted translation drafts it inside the publishing flow, and progress is visible per locale. Anything not requested stays on fallback rather than costing a translation nobody asked for.

en — source100%
AI translation
LocTranslatedDoneState
de100%live
ja82%review
es64%drafting
ko18%queued
fr0%fallback
Request moreptitzh

Measure, then cut

What the analytics said to remove

A modular site makes it easy to add, which makes it easy to accumulate. Analytics and feedback told us what people were actually doing, so a module that was not serving anyone got reworked or taken out instead of staying because it already existed.

Module engagementLast quarter
herokept
pricingkept
testimonialreworked
logo_wallremoved
video_bandremoved
Modules in library24Retired6Locales measured5

Reach everyone

Accessibility lives in the system

Growth means more people, on more devices, in more conditions. Because every page is built from the same library, accessibility is solved once per module rather than audited page by page: contrast, focus order, alternative text and keyboard paths ship with the part itself.

Module checksFixed once, everywhere
contrastAA
focus orderkeyboard
alt textcms field
reduced motionrespected
type scale200% zoom
Tested onscreen readerskeyboard onlyslow networks5 locales

04 — In hindsight

This project taught me a lot about what growth actually means technically.

It isn’t simply handling more traffic. It means more customers, more content, more languages, more collaborators, more constraints, and more competing needs. The system has to evolve along with all of them. It also reinforced something that appears throughout my work: I am comfortable speaking different professional languages. I can work with engineers, designers, product teams, marketing, editorial teams, and stakeholders without pretending those disciplines are interchangeable.

What matters is being able to understand enough of the whole system to see where the pressure is coming from, make good decisions, and help the work keep moving as the conditions change.

I like working in environments where it matters to see ahead, learn by doing, work collaboratively, and build the systems that support growth.

Next projectTurning compliance into engagement