Utility CSS is fast, but it is not always easy to read.
Classes like p-4, gap-2, and text-xl only make sense once you have memorized what those scales mean. The syntax is compact, but every reader still has to translate it mentally.
SenangStart CSS takes a different approach: describe styles using words that express intent.
<div layout="flex col center" space="p:big" visual="bg:primary text:white rounded:big" > Hello SenangStart! </div>
Instead of putting everything into one long class attribute, SenangStart separates styling into three semantic channels:
-
layout for structure and positioning
-
space for sizing and spacing
-
visual for colors, typography, borders, shadows, and appearance
That makes components easier to scan.
<div layout="flex col" space="p:medium g:small" visual="bg:white rounded:big shadow:medium" > <h2 visual="font:bold text-size:big">Card Title</h2> <p visual="text:grey">Card description goes here.</p> </div>
The spacing system also replaces arbitrary numbers with an ordered vocabulary:
tiny → small → medium → big → giant → vast
So instead of asking whether p-4 should become p-6 or p-8, you can simply move from:
space="p:medium"
to:
space="p:big"
Exact values are still available when needed:
<div space="w:[350px] p:[20px_40px]"> Custom sizing </div>
Why this also helps AI
Readable utilities are useful for humans, but they may be even more useful in AI-assisted development.
A request like:
Make the padding larger.
can translate naturally from:
space="p:medium"
to:
space="p:big"
The vocabulary already contains the relationship between the values. There is less guesswork around arbitrary numeric scales.
SenangStart also provides an llms.txt file so coding assistants can learn its grammar directly.
Zero build or compiled
For quick prototypes, SenangStart can run directly in the browser:
<script src="https://unpkg.com/@bookklik/senangstart-css/dist/senangstart-css.min.js"></script>
For production projects, it also includes a CLI:
npm i @bookklik/senangstart-css sen init sen dev sen build --minify
The compiler validates tokens by default, so invalid utilities can fail during the build instead of silently producing missing styles.
A different direction for utility CSS
Utility-first CSS proved that styling can live comfortably inside markup.
SenangStart CSS asks a different question:
What if those utilities were designed to be read, not memorized?
Instead of making developers remember what every number means, it uses vocabulary that communicates intent directly.
That can make markup easier to understand for developers, designers, beginners, and increasingly, AI coding assistants.
Links
-
npm: npm i @bookklik/senangstart-css