Developers are famous for saying that design does not matter right before spending an afternoon aligning the README badges.
The contradiction is understandable. While a tool is private, correctness dominates. The command must run. The experiment must finish. The API must return the right value. Visual quality can wait.
Then the work becomes public. A user meets the docs before the package. A potential collaborator scans the project page before cloning the repository. A lab publishes a result whose presentation affects whether anyone can understand the method. An employer or customer encounters the interface before they can evaluate the implementation.
Design did not suddenly become decoration. It became part of whether the work can be trusted, navigated, and remembered.
The TidyPress design problem is therefore two-sided: provide enough taste that a project can publish without becoming a design-system team, while allowing a serious project to become unmistakably its own without copying the framework.
The shallowest boundary that owns the decision is usually the most durable one.
A default should have a point of view
“Unstyled” is still a style. It usually means browser defaults mixed with the accidental preferences of whoever built the starter.
TidyPress’s baseline makes deliberate choices: a single monospaced voice, architectural spacing, square or nearly imperceptibly softened surfaces, quiet dividers, centered navigation, restrained motion, and equal care for light and dark modes. The interface should feel composed without competing with the work.
Those choices will not fit every publication. They are not supposed to. A useful default gives the author something coherent to accept, reject, or modify. A neutral pile of components gives them a design project before they can publish a sentence.
Opinionated defaults are a form of saved labor.
The public site is part of the technical explanation
Design earns its place when it helps a reader complete an action.
- A calm docs sidebar exposes hierarchy without becoming a second article.
- A strong code block separates executable material from narrative.
- A project card makes status and destination visible before the click.
- A writing hero establishes authorship, date, summary, and visual identity.
- Search offers likely destinations before the reader knows the exact words.
- Light and dark modes preserve hierarchy instead of merely inverting colors.
None of these decisions changes the underlying facts. They change the cost of finding and interpreting those facts.
For technical audiences, that cost is often mislabeled as patience. A developer who abandons a confusing quickstart is not proving they dislike design. They are proving that friction won.
Copying a layout feels free once
The fastest route to a custom design is often to copy the framework’s main layout and edit it.
On the day of the copy, this feels like complete freedom. Six months later the file contains old responsive behavior, private class names, outdated search integration, missing accessibility changes, and assumptions about route data that the current engine no longer makes.
The project did not escape the framework. It inherited a frozen, undocumented version of the framework and became responsible for maintaining it.
This is why TidyPress treats presentation as a layered API rather than one “custom theme” escape hatch.
Different changes deserve different ownership
The presentation ladder moves from cheap semantic changes to complete project control:
- Tokens and typography change meanings such as background, foreground, border, surface, accent, and type without changing component structure.
- Project styles and scripts add behavior that belongs across the site.
- Named slots insert content at stable seams such as the navbar or docs rail while the engine keeps the surrounding layout.
- Component overrides wrap or replace one named UI boundary.
- Layouts and docs forms change page geometry and documentation models.
- Collection presentations own the bundle and views for an entire route family.
Changing the accent should not require owning the navbar. Adding a banner should not require reimplementing search. Creating a genuinely new kind of public work should not be limited to CSS.
The ladder makes the cost visible: deeper control comes with deeper ownership.
Slots add; overrides change
These two extension points sound similar but encode different intentions.
A slot says, “The framework still owns this region; place my content at this named seam.” A component override says, “At this boundary, the project wants to wrap or replace the engine behavior.”
slot → add an announcement after the navbar
wrap → keep the default search and add project behavior around it
replace → own the complete named componentThat explicit vocabulary is less glamorous than arbitrary monkey-patching. It is also what lets the framework improve without guessing which private details a project may have touched.
A theme is more than color
A project’s identity lives in relationships: spacing density, type scale, border strength, image treatment, hover behavior, navigation rhythm, and how content types differ from one another.
Tokens cover the semantic base. They should not pretend to describe every possible composition. When a publication needs a different story structure—an experimental project archive, a journal-like essay, a lab result with a methods rail—the project can own a layout or collection presentation instead of forcing the change through 200 CSS selectors.
This keeps two important ideas separate:
- a theme changes the visual language of known structures;
- a presentation changes how a public content model is assembled and read.
Confusing them is how a theme configuration turns into a hidden application framework.
Taste includes what you refuse
A coherent design system is partly a list of things it will not do by default.
TidyPress avoids gratuitous rounded containers, ornamental gradients, glowing technology motifs, and motion that draws attention away from reading. It does not assume every piece of content should become a card. It does not force a brand color into every interaction.
These are not universal laws. They are the baseline’s identity. A project can change them through the appropriate boundary, but the default should not drift each time a fashionable component appears elsewhere.
Consistency creates the “quiet” feeling people often attribute to simplicity. It is usually the result of many constraints being honored at once.
Design must survive both color modes and real content
A component is not finished because its empty example looks good in dark mode. It needs long titles, multiline descriptions, keyboard focus, narrow screens, light-mode hover states, missing images, real code, and content written by somebody other than the component author.
This is where taste meets engineering. The system must preserve its hierarchy under pressure.
TidyPress cannot guarantee that every project override remains beautiful. It can make the default complete, expose stable variables, and keep ownership clear when the project departs from it.
The goal is pride without permanent maintenance
Technical people do care how their work appears. They may articulate it as credibility, clarity, speed, calm, or “this finally feels right,” but the public interface changes their relationship to the work.
A good default lets a researcher publish a result without designing a journal. It lets an open-source maintainer ship documentation without maintaining a frontend application. It lets an independent developer show several years of work without choosing a generic portfolio template.
And when the default is no longer enough, a good presentation API lets the project change exactly what it intends to own.
That is the design standard TidyPress is pursuing: strong enough to publish with, open enough to outgrow, and explicit enough that customization does not become an accidental fork.