— THE STACK

Six tools.
One reason each is here.

No trend-chasing, no résumé-padding. Every piece of this stack was chosen because it does one job better than the alternative — and I’ll tell you exactly when I don’t reach for it.

Every project I take on runs on some combination of these six tools. Not because they’re fashionable — GSAP is older than most of the founders I work with — but because each one does a specific job better than the alternative, and I’ve run all six in production long enough to know where they break.

If you’re evaluating whether my tooling is serious or just current, this page is for you. If you’d rather skip the technical read and just send a brief, the link is at the bottom.

  1. 01

    Astro

    What it is
    The framework asksj.com itself runs on, and what I reach for on content-heavy marketing sites where speed and clean markup matter more than a client editing every paragraph.
    Why I use it
    Astro ships close to zero JavaScript by default and generates static HTML — which gets a 90+ Core Web Vitals score without a fight, and happens to be easier for an AI crawler to read correctly. A page that renders completely without executing a pile of client-side JavaScript is a page an AI agent can actually parse.
    When I don’t
    When the client's own team needs to publish new pages weekly without a pull request. That's not a code-first framework's job. That's Webflow's.
  2. 02

    Webflow

    What it is
    A visual development platform that outputs real HTML, CSS, and JavaScript — used for marketing sites and editorial sites where the client needs to manage content after launch without touching code.
    Why I use it
    The client keeps editorial control without the design system degrading every time someone on their team publishes a page. I build to Client-First conventions — Finsweet's naming methodology for Webflow — so the structure holds up as content grows, not just at launch.
    When I don’t
    For real ecommerce complexity. Webflow's commerce layer is thin. Past a certain catalog size or variant structure, forcing commerce into Webflow means fighting the platform instead of building the site. That's Shopify's job.
  3. 03

    Shopify

    What it is
    The commerce platform — checkout, payments, inventory, orders. The parts of a storefront I don't want to build and maintain myself.
    Why I use it
    Checkout and fraud protection at Shopify's scale would take months to build and years to trust. I spend my time on what actually makes the storefront belong to the brand — the data model, the metafields, the catalog logic a stock theme doesn't handle — not reinventing a shopping cart.
    When I don’t
    For a brand still validating product-market fit. Shopify is infrastructure for a catalog worth managing. Before that point, it's overhead nobody needs yet.
  4. 04

    Cloudflare Workers

    What it is
    Serverless compute at the network edge, with D1 for data and R2 for files — the systems behind the storefront: ERP sync pipelines, scheduled reconciliation, admin tools, and the API proxies and middleware that run close to the visitor rather than on one server somewhere.
    Why I use it
    For Gössl, Workers run the bridge that keeps their Intex ERP as the real source of truth while the storefront runs on Shopify — syncing stock, prices and product records on a schedule and reconciling what drifts. Nothing to patch, no server going down at 2 a.m. asksj.com runs on the same infrastructure — this page loaded off it.
    When I don’t
    Honestly, rarely. Even small, single-region projects usually get built on Workers, because the cost difference is close to zero and it removes an entire category of infrastructure problems before they exist. The exception is a client with existing infrastructure I need to build inside of.
  5. 05

    GSAP

    What it is
    The animation library behind scroll-triggered reveals, parallax, and interactive transitions.
    Why I use it
    Precise and consistent across browsers in a way CSS animation alone still isn’t. Every animation-heavy project I build uses it — the scroll experiences on high-end luxury and automotive sites are almost always GSAP underneath.
    When I don’t
    When the brand and the content don't call for motion. Not every heritage brand wants a site that moves. Sometimes restraint is the more expensive-looking choice, and I'll say so before I build animation nobody asked for.
  6. 06

    React Native

    What it is
    The framework for an actual native mobile app — not a mobile-friendly website, an installable app with device access, offline support, and an App Store listing.
    Why I use it
    When the product genuinely needs to live on a phone — offline access, push notifications, camera or biometric integration, something a browser tab can’t do — React Native ships one codebase to iOS and Android both, built and maintained by the same person who built the backend it talks to.
    When I don’t
    When “we need an app” actually means “we need our website to work well on phones.” That’s a responsive-design problem, not a native-app problem, and I’ll say so before quoting native development nobody needs.

Why this combination, and not a different one

Most “here’s my tech stack” pages are a badge collection. This one’s a spec sheet you can hold me to — and the reason these six exist together, instead of some other set of currently-trending tools, is the same reason behind everything else on this site: I build for See / Speak / Sell — sites legible to AI systems, accurate to a brand’s voice when an AI represents it, and capable of completing a transaction through an AI interface, not just describing one.

That’s not a separate skill from the stack above. It’s what the stack produces when it’s assembled correctly. Cloudflare Workers give a site predictable, documented API surfaces instead of a black box. Shopify’s metafields and structured product data give AI systems something specific to read instead of marketing copy to guess at. Astro and Webflow both output clean, semantic HTML instead of a JavaScript bundle a crawler has to execute just to find out what the page says.

None of that gets retrofitted after launch. It’s the reason I reach for these six tools and not six others — what I call AI-Ready in client conversations, whether the project is a single marketing page or a full commerce rebuild.

What I don’t reach for

  • No themes. Gössl’s storefront didn’t ship as a Shopify theme skinned to look custom. Themes are built for a market of buyers who all want roughly the same thing. Heritage and luxury brands don’t.
  • No connector apps standing in for a real integration. When an ERP needs to talk to Shopify, the honest answer is middleware built for that specific system — not a marketplace app that promises to solve it generically and breaks on the first edge case.
  • No page builder where the client needs code discipline, and no code-first build where the client needs to self-serve content. Matching the tool to the actual job is most of what “stack” means. Getting it backwards is how a client ends up either locked out of their own site or afraid to touch it.

Not sure which of this applies to your project?

That’s normal. The point of a project brief isn’t for you to already know the stack — it’s for me to tell you.

Send a project brief

I read every one myself, and I’ll tell you within a week what I’d actually build and roughly what it costs.