Internet Brands
Duration: March 2018 - August 2019
Role: Frontend Developer (performing Senior-level duties)
The Context
I joined the Health vertical expecting to learn React from people who'd been doing it for years. A month in, the senior frontend engineer left, and I became the de facto technical lead for React across the team, even though I was mid-level on paper.
The team was 4 junior frontend developers, 6 senior backend engineers, and 2 PMs, and none of the remaining frontend folks knew React. I had production experience from my ForceShield contract, but I'd never led a team or architected shared infrastructure at any kind of scale.
The Challenge
The vertical had no shared frontend infrastructure at all. React components were copied across applications and implemented differently every time; each app reinvented buttons, inputs, and modals, all slightly off from one another. There was no shared design language, no way to contribute, and onboarding a new developer meant explaining the same patterns yet again. The real problem was never any one component; it was that nothing let the whole vertical move without re-solving the same problems over and over.
Meanwhile the business needed features shipped fast, and I was suddenly on the hook for both delivery and growing the team.
The Solution
Shared Component Library and Contribution Pipeline
I architected a centralized UI component library to serve as shared infrastructure for the vertical, and I built a contribution workflow and tooling around it so other teams could extend it without coming through me:
- Dumb components first, stateless, reusable primitives (Button, Input, Select, Modal, etc.)
- Smart wrappers, stateful versions when needed for specific use cases
- Full documentation, every component documented with usage examples
- Contribution workflow, established patterns and CI so others could add components safely
- Training program, taught 7 developers how to use and contribute to the library
That turned the library into a self-sustaining system instead of a folder I personally owned, and adoption spread to 80% of Health vertical applications because contributing to it was genuinely easier than duplicating.
Shipping While Building the Foundation
I wasn't only building infrastructure; I also led delivery on the projects that couldn't wait:
- Mobile messaging app redesign: Re-architected a desktop-only doctor messaging app to be mobile-first in under a month. I worked closely with design on the UX and paired with a junior developer the whole way through.
- Doctor-to-doctor communication app: Took over a stalled project from another team and directed 6 developers, a mix of senior, mid, and junior, to ship it on deadline. It covered messaging, WYSIWYG email composition, and patient treatment tracking.
- Electron medical dashboard: Mentored a junior developer through an entire build, including call detection, phone integration, and client data queries, and used it as a chance to teach pipelines and the component library along the way.
Hiring
The senior role was still open, so I ran the hiring myself:
- Interviewed 13 candidates (5 senior, 8 junior)
- Hired a senior developer who turned into a key contributor
- Recommended a junior candidate who got hired by another department
The Impact
- 30+ documented components in the shared library
- 80% of Health vertical applications adopted the library
- 7 developers trained on React and library contribution
- 4 junior developers mentored, one promoted to Senior, another went on to work at JPL
- Delivered mobile app redesign in under 1 month
- Successfully shipped doctor-to-doctor app after the previous team couldn't deliver
Why I Left
After a year of doing the work, leading teams, architecting systems, and hiring, I asked for the promotion to Senior. I was told it was "too much too soon." So I left, voluntarily, fed up with the gap between what I was responsible for and what my title said.
What I Learned
This role proved to me I could lead without the authority on paper. It also taught me to advocate for myself, because doing senior work doesn't get recognized on its own; you have to make the case out loud.
Tech Stack
React, Redux, AngularJS, Angular 2+, Electron, JavaScript, TypeScript, CSS, Webpack, npm, CI/CD
