An AI image generation UI for 700M monthly users
- Role
- Angular / Node.js Frontend Engineer
- Period
- 2022 – 2023
Adobe Express was pushing to expand into small and medium businesses on the back of generative AI, with a user base already north of 700 million monthly actives. The design tooling had to feel instant for people who had never opened a design app before.
What I built
I built the AI image generation UI module — the surface where someone types a prompt, picks from predefined options, and gets an image back. It was written in Lit with a custom state-management layer, rather than the app’s main framework, so it could be dropped into several surfaces without dragging a runtime along with it.
The performance work
The bigger win was not a feature. The application shipped far too much JavaScript on first load, so I modularised it and moved to on-demand module loading, working inside a Bazel build system with Rush for package orchestration. Splitting the dependency graph so modules could actually be deferred was most of the effort; the loading change itself was small.
The unglamorous half
I also resolved a run of critical import/export bugs — i18n multi-language modules, and PDF import fidelity where the rendered output drifted from the source. Playwright end-to-end tests pinned the behaviour down across locales. To catch regressions in production rather than in a bug report, I built Grafana and Splunk dashboards for system health.
What I’d do differently
Reach for the on-demand loading work earlier. It was treated as a performance task late in the cycle, but it was really an architecture decision — and the longer a bundle stays monolithic, the more code gets written that assumes it always will be.
Stack
Angular 18 · Lit · Bazel · Playwright · Node.js · TypeScript · Web Components · Rush · Grafana · Splunk · Figma