Concrete is a lightweight, atomic CSS framework inspired by brutalist design principles. It provides low-level utility classes that let you build completely custom designs without fighting the framework.
- Utility-First: Compose complex components from simple, single-purpose utilities.
- Token-Driven: All values derived from a centralized design token system.
- Brutalist by Default: Strong borders, monospace fonts, high contrast.
- Framework-Agnostic: Works with React, PHP, vanilla HTML, or any tech stack.
- Zero Magic Numbers: Every value comes from the configuration.
npm install @medcore-ua/concrete-css// your-styles.scss
@use 'concrete-css' with (
$primary-color: #000000,
$font-family: 'Roboto Mono'
);<button class="px-4 py-2 bg-black text-white border-4 border-black uppercase">
Click Me
</button>- ~50KB base file size before any optimization or purging of unused styles.
- Responsive mobile-first breakpoint system that scales from small screens to large desktops.
- Customizable through Sass variables and configuration maps to match your design system.
- Tree-shakeable when used with PurgeCSS to remove all unused styles in production builds.
- TypeScript autocomplete support is planned for future releases.
Every utility does one thing:
border-4- 4px borderuppercase- text-transform: uppercaseflex- display: flex
<div class="block md:flex lg:grid">
<!-- Responsive layout -->
</div><button class="bg-black hover:bg-gray-800">
Hover me
</button>| Feature | Concrete | Tailwind | Bootstrap |
|---|---|---|---|
| Approach | Utility-first | Utility-first | Component |
| File Size | ~50KB | ~80KB | ~160KB |
| Brutalist | ✅ | ❌ | ❌ |
| Customizable | ✅ | ✅ | |
| Learning Curve | Low | Medium | Medium |
- Chrome/Edge 90+
- Firefox 88+
- Safari 14+
- Modern mobile browsers
Contributions are welcome and appreciated! Here's how you can contribute:
- Fork the project
- Create your feature branch
git checkout -b feature/AmazingFeature) - Commit your changes
git commit -m 'Add some AmazingFeature') - Push to the branch
git push origin feature/AmazingFeature) - Open a Pull Request
Please make sure to update tests as appropriate and adhere to the existing coding style.
This library is licensed under the CSSM Unlimited License v2.0 (CSSM-ULv2). See the LICENSE file for details.