Software Engineer
2025 — PresentSongsterrRemote
Popular guitar tablature service with a multi-million user audience. I work on the core of the product's interactive editor — features that touch domain rules, the data model and rendering, not just screens — plus product experiments and the frontend i18n platform, in an async remote team.
- Shipped a notation feature end-to-end across three repositories — file-import parsing in a separately versioned package, data model, editor UI, user docs and ten languages — with a deliberate backward-compatibility design so existing user content kept behaving exactly as before.
- Designed a reusable core for a family of editor commands that move notes under real instrument constraints, and rebuilt three commands on top of it; the same logic drives both the command and the toolbar state, so controls are disabled exactly where the action would fail.
- Built an interaction layer over an SVG-rendered document: clickable notation symbols that open the right editing tools (12 components, each with a component test), geometry-based mapping between symbols and data, and a hover preview showing what a toolbar command will affect.
- Architected a read-only command preview computed in a Web Worker: runs against a throwaway copy of the document, renders through the production pipeline, defers expensive work so a user's click never waits behind a hover preview, and drops stale responses — in review.
- Unified the app's floating UI — dropdowns, pickers, settings panels — behind a single shared hook, removing per-component boilerplate; redesigned complex notation UI with a responsive mobile layout and contextual help.
- Built and maintain the i18n platform: ten languages across hundreds of components on a typed gettext/.po workflow with grammar-aware word order, plus a static analyzer with auto-fix and translation-quality tests wired into the CI of three services — turning a class of localization bugs from manual QA into automated gates.
- Run product A/B experiments end-to-end — experiment design and exposure rules, UI, analytics attribution, e2e coverage and QA coordination — including source attribution for the subscription upgrade funnel.
TypeScript · Preact · SSR · SVG · Web Workers · CSS Modules · gettext/.po · Mocha / Playwright (e2e, component tests)