The landscape of the internet is constantly changing, and the available technologies are always improving. Here is a list of the current technologies that form the core of our development strategies, along with a short description of the benefits that each provides.
React
React is the foundation of nearly every interface we build. Breaking a page into small, reusable components keeps even large applications predictable and easy to change, and the same components can render on the server for fast first loads before taking over in the browser. This site is a good example: every page is rendered by React ahead of time into plain HTML, then brought to life in your browser without a single page reload.
Sass
Sass adds structure to stylesheets that plain CSS still lacks. Shared variables for colors, fonts, and spacing keep a design consistent across hundreds of components, while partials and mixins let us write a style once and reuse it everywhere. Paired with CSS modules, each component's styles are scoped to that component alone, so changing one corner of a site never unexpectedly breaks another.
Vite
Vite is the build tool behind our development workflow. Its dev server starts almost instantly and updates the page the moment a file is saved, without losing your place, which keeps the feedback loop between an idea and seeing it on screen nearly immediate. For production, it bundles, minifies, and fingerprints every asset so that visitors download as little as possible and browsers can cache it for as long as possible.
Stripe
Stripe is our go-to for accepting payments online. One-time purchases, subscriptions, invoices, and checkout flows can all be built on its APIs and hosted payment components, which means sensitive card details never touch our servers. The result is a secure, polished checkout experience your customers will trust, with far less compliance burden than building it all yourself.
Storybook
Storybook is a workshop for building interface components in isolation. Every button, form, and card can be developed and reviewed in each of its states (loading, empty, error, and everything in between) without clicking through an entire application to reach it. Over time it becomes a living design system: a browsable catalog that designers, developers, and product owners can all use to see exactly what is available.
LaunchDarkly
LaunchDarkly separates shipping code from releasing features. With feature flags, new work can be deployed safely behind a switch, turned on for a handful of users first, rolled out gradually, or A/B tested against the original, and turned off instantly if anything goes wrong. It takes the risk out of releases and lets the business decide when a feature goes live, rather than the deploy schedule.
Claude Code
Claude Code, from Anthropic, is an AI pair programmer that works directly in the codebase. We use it to explore unfamiliar code, build and refactor features, write tests, and review changes before they ship, while every decision and every line still gets a human review. It frees up more of our time for the parts of the work that need careful judgment: design, user experience, and validating that everything works as it should.
Semantic HTML and accessibility
HTML is still the basic building block of every webpage, and using the right element for the job matters more than ever. Real buttons, links, headings, and landmarks give screen readers, keyboards, and search engines a page they can understand, with ARIA added only where HTML falls short. We build to the WCAG guidelines so that every visitor, whatever device or assistive technology they use, gets the full experience.
Modern CSS
CSS has grown into a remarkably capable layout and design language. Grid and flexbox handle layouts that once needed elaborate workarounds, custom properties make themes and dark modes straightforward, container queries let components adapt to the space they are given, and selectors like :has() replace a surprising amount of JavaScript. Variable web fonts round it out, delivering an entire type family in a single, efficient file.
Testing
Automated tests are how we make changes with confidence. Vitest and Testing Library check that components behave the way a user would expect, by clicking, typing, and reading the page rather than inspecting implementation details. Playwright drives real browsers for end-to-end flows and visual comparisons, catching the regressions that slip past unit tests, like a layout that shifts by a few pixels.
Performance
A fast site is a better site for visitors and for search rankings alike. We measure against Core Web Vitals and design for speed from the start: prerendering pages to static HTML, shipping only the JavaScript a page needs, sizing and lazy-loading images, and loading fonts without blocking the text. The payoff is a page that appears quickly and stays responsive, even on a slow phone connection.
Git, GitHub, and CI/CD
Every change we make goes through version control and review. Work happens on a feature branch and lands through a GitHub pull request, where automated checks lint, test, and build the site before anything is merged. Once a change is approved, continuous deployment publishes it automatically, so releases are small, frequent, and easy to roll back, rather than rare and stressful.
Node.js and pnpm
Node.js powers the tooling behind modern front end development, from build tools and test runners to the scripts that prerender and deploy a site. pnpm manages the packages a project depends on, installing them quickly, sharing them efficiently across projects, and keeping each project strictly limited to the dependencies it declares, so builds are reproducible from one machine to the next.
Error monitoring
No amount of testing catches every problem, so we watch for them in production. Error monitoring services like Sentry capture the errors real visitors run into, along with the browser, the page, and the steps that led there, and alert us right away. Many issues are fixed before anyone thinks to report them, and performance tracing shows exactly which pages and requests are slowing visitors down.
