Warren Bowie & Smith
2026
Warren Bowie & Smith
One folder per section, each with its own scoped stylesheet — and a third-party signup flow absorbed as templates rather than an iframe.
Delivered to
Retail brokerage
Warren Bowie & Smith
Framework
Astro
Styling: Scoped stylesheet modules, one per component
Techniques
2
2 constants, formulas and guards
The main marketing site for a brokerage brand, and the largest component set in this section. Its organising decision is strict co-location: every section is a folder containing its markup and its own scoped stylesheet, so a section can be lifted out or dropped in without touching a global file. It also absorbs an external registration flow, which is the part of a brokerage site nobody designs and everybody inherits.
Offline
The brand's main site. Not linked from this page, and the tournament sub-page built for the same client is a separate entry. Claims are made against the source.
A section is a folder, and the third-party signup wears the site's own clothes.
What was built, and for whom.
Warren Bowie & Smith
Retail brokerage
en
Full marketing site with an embedded third-party registration flow and a shared section library.
Each one starts with something that was broken.
- 01
A section is a folder, not a file
The failure
Marketing sites accumulate one enormous stylesheet where every section's rules sit beside every other section's, and deleting a retired section becomes archaeology — nobody can tell which rules were only ever used by it.
The decision
Pair every component with its own scoped stylesheet in its own folder. Deleting a section is deleting a directory; its styles cannot outlive it because nothing else can reach them. The cost is more files, which is the cheapest thing a repository can spend.
- constantsrc/components/
Each section is a folder of Component.astro + Component.module.scss
- 02
The signup flow is absorbed, not framed
The failure
Brokerage registration is provider software, and the default integration is an iframe — which cannot inherit the brand's type or colour, breaks the page's responsive behaviour at its own breakpoints, and looks like a different company at the exact moment a visitor is deciding to trust one.
The decision
Carry the provider's screens — signup, loading, activation — as templates inside the site so they render as part of the document and take the site's own styling. The seam between the marketing site and the provider stops being visible to the person signing up.
- constantsrc/components/Nxreg/
SignUp, Loader and SignUpActivation carried as in-repo templates
What it cost
The templates have to be re-synchronised when the provider changes them, which an iframe would have handled automatically. For the screen where a brokerage either earns a signup or loses it, that maintenance is worth paying.
Every animation, with what it does when asked for less.
The last column is the one worth reading. “Respects reduced motion” is easy to assert and easy to skip, so where it is not true here, it says so.
Asset slider
Continuous marquee
Linear
Not gated in source — recorded because the table reports the unflattering rows too.
Section reveal
On intersection
Ease-out
Not gated in source.
What it was built on, what is claimed, and what is not.
Framework
Astro
Static pages assembled from a section library.
Styling
Scoped stylesheet modules, one per component
Class names are locally scoped by the module system, so two sections cannot collide even if both call something `.card`.
Registration
Embedded provider templates
The signup, loader and activation screens are carried as templates in the repository rather than framed in — see the technique.
Claimed — and how to check it
Every section component has its own scoped stylesheet
The paired .astro / .module.scss files throughout src/components/.
The registration flow is carried in-repo as templates
The Nxreg template files in the component tree.
Not claimed
- No traffic, signup or conversion figure.
- No claim over the registration provider's software. Its screens were styled and embedded, not written.
- No performance measurement.
- The tournament sub-page built for this same brand is a separate entry and its claims are not shared with this one.
Structure read from the repository's component tree. This repository's README is the framework's unmodified starter text, so nothing on this page is taken from it.