If you’ve read the Web App Builds or Mobile App Builds pages on this site, you’ll have noticed the stack we pitch clients: React, Supabase, Express, React Native. So it’s a fair question — why does fluxarax.au itself run on Astro, with zero React, zero client-side framework, hand-written CSS, and vanilla JS in inline scripts?

Because those are different jobs, and using the same tool for both is exactly the kind of default that makes a site slower and harder to maintain for no real benefit.

What this site actually needs to do

fluxarax.au is a marketing site. Pages, content, images, a bit of scroll animation, a contact form. Nothing on it needs client-side state, nothing needs to react to user input beyond a form submission and a mobile menu toggle. There’s no dashboard, no logged-in user, no data that changes per visitor.

React earns its cost when you need interactivity that reacts to state — a SaaS dashboard, a portal, an app with real user-specific data. ReContent genuinely needs that, which is why it’s built in React with a Supabase backend. This site doesn’t need any of that, so shipping a JavaScript framework to render mostly-static pages is shipping weight for a problem that doesn’t exist here.

What Astro actually gets you for this job

Astro ships zero JavaScript by default. Pages render as static HTML, and JavaScript only loads for the specific bits that need it — here, that’s the scroll-reveal effects and the mobile menu, both handled with a single vanilla JS file loaded globally. No hydration overhead, no framework runtime shipped to a visitor who’s just reading a services page.

Practically, that means faster load times and a simpler mental model for anyone working on the codebase later. There’s no component tree to reason about, no state management library, no build step doing more than it needs to. Just pages, layouts, and content.

The honest tradeoff

This isn’t a “React is bad” post. It’s the wrong tool for a mostly-static marketing site, the same way Astro would be the wrong tool for ReContent’s actual dashboard. Complex, stateful, interactive product — React. Content-first marketing site — something that ships as little JavaScript as it can get away with.

The scroll-driven redesign work on this site (layered parallax, the portfolio card stack, the whole forest-to-sunrise hero) all happens without React, using Astro’s zero-JS-by-default approach, with plain vanilla JS for anything genuinely interactive and inline vanilla JS for the rest. It’s proof that “simple stack” and “feels premium” aren’t in tension — they just require choosing the right tool for what the page actually has to do, instead of defaulting to the framework you’d reach for on a different kind of project.