Skip to content
View longlho's full-sized avatar

Organizations

@infernojs @formatjs

Block or report longlho

Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
longlho/README.md

Hey, I'm Long Ho πŸ‘‹

I build and write about the engineering work behind durable web products: frontend systems, build graphs, runtime boundaries, type systems, and the tiny workflow choices that decide whether a team keeps cruising or slowly turns into soup.

Most of my notes live at longho.dev, my vanity URL for the GitHub Pages site, where I poke at the places product engineering meets infrastructure.

Current Quest Log 🧭

  • πŸ—οΈ Build systems: Bazel, TypeScript, monorepos, selective builds, explicit dependencies, generated metadata, and package boundaries that stay understandable.
  • 🧩 Frontend runtime: shared browser, webview, and desktop capabilities; platform APIs; storage; telemetry; localization; and config that behaves consistently across surfaces.
  • 🌍 Internationalization: localization architecture, message extraction, translation workflows, and maintaining FormatJS.
  • ⚑ Product engineering: fast interfaces, routing, data loading, UX systems, deploy safety, artifact verification, and tooling that remains maintainable after launch.

Opinions I Keep Reusing Like A Favorite Hoodie πŸ§₯

  • πŸ“¦ Build outputs are APIs.
  • 🧱 Boundaries should be visible in code, not only in convention.
  • πŸͺ„ Generated framework wiring still has API-like failure modes.
  • 🌍 Internationalization belongs in the architecture early, not as a late-game string scramble.
  • πŸŒ‰ Shared runtime layers are product infrastructure, not just convenience utilities.
  • 🧘 The best internal tooling makes the right thing feel boring.

For writing, RSS, and more engineering rabbit holes, just go to longho.dev ✨

Pinned Loading

  1. formatjs/formatjs formatjs/formatjs Public

    The monorepo home to all of the FormatJS related libraries, most notably react-intl.

    TypeScript 14.7k 1.4k

  2. dropbox/ts-transform-import-path-rewrite dropbox/ts-transform-import-path-rewrite Public

    TS AST transformer to rewrite import path

    TypeScript 130 13

  3. tc39/proposal-intl-localematcher tc39/proposal-intl-localematcher Public

    Proposal for Intl.LocaleMatcher

    HTML 39 2

  4. hermeticbuild/gazelle_ts hermeticbuild/gazelle_ts Public

    Bazel build setup, a Gazelle TypeScript language extension, and the Rust import-extractor that powers it (linked in via cgo).

    Go 7 1

  5. perplexityai/gazelle_py perplexityai/gazelle_py Public

    A Gazelle language extension for Python, paired with a Rust import-extractor that the plugin links in via cgo.

    Go 8 1

  6. perplexityai/codescythe perplexityai/codescythe Public

    Codescythe is a focused TypeScript dead-code analyzer and remover

    Rust 22