Dropping a UI kit does not mean dropping structure. It means being more deliberate about what the structure is for.
The difference between reuse and residue
In mature front-end codebases, old components often survive because they once solved a real need. Later, they become residue:
- wrappers that exist only to wrap another wrapper
- styling utilities that leak design decisions from a previous phase
- imported interactions that are not needed on the current page
The Astro blog avoids that by starting with a very small component set and a shared stylesheet with clear tokens.
What we keep
We still want consistency. The lighter approach simply changes where that consistency lives:
- color tokens tied to the SlashCode palette
- typography that matches the brand voice
- a few shared cards and layout patterns
- article styles that make long-form writing easy to read
This is enough to create a coherent product without recreating a large design-system package.
When a component library would make sense again
If the new Astro site grows into more interactive application flows, richer forms, or repeated complex widgets, we can absolutely reintroduce abstractions. The important part is that those abstractions should be shaped by the product we are building now, not by the residue of the old stack.
That is the real cleanup rule for the migration: keep what earns its place.