knadh/oatPublic

Ultra-lightweight, zero dependency, semantic HTML, CSS, JS UI library. ~10KB min+gz.

AI summary: An ultra-lightweight, zero-dependency semantic HTML and CSS UI library.

Stars
5.4K
+1 today
Forks
256
Watchers
22
Open issues
2
Open PRs
0
Contributors
~25
Commits
247
Branches
5

CSSMITCreated Jan 15, 2026Last push 9d agoLatest release v0.7.1+8 stars this week+14 this month

Star history

since Feb 8, 2026
02K4KFeb 2026Apr 2026Jun 2026Aug 2026
5.4K stars as of Aug 7, 2026, tracked back to Feb 8, 2026. Historical curve reconstructed from public GitHub event archives, calibrated to the current total.

Contribution activity

commits per day, last 52 weeks
AugSepOctNovDecJanFebMarAprMayJunJulAugMonWedFri2025-08-09: 0 commits2025-08-10: 0 commits2025-08-11: 0 commits2025-08-12: 0 commits2025-08-13: 0 commits2025-08-14: 0 commits2025-08-15: 0 commits2025-08-16: 0 commits2025-08-17: 0 commits2025-08-18: 0 commits2025-08-19: 0 commits2025-08-20: 0 commits2025-08-21: 0 commits2025-08-22: 0 commits2025-08-23: 0 commits2025-08-24: 0 commits2025-08-25: 0 commits2025-08-26: 0 commits2025-08-27: 0 commits2025-08-28: 0 commits2025-08-29: 0 commits2025-08-30: 0 commits2025-08-31: 0 commits2025-09-01: 0 commits2025-09-02: 0 commits2025-09-03: 0 commits2025-09-04: 0 commits2025-09-05: 0 commits2025-09-06: 0 commits2025-09-07: 0 commits2025-09-08: 0 commits2025-09-09: 0 commits2025-09-10: 0 commits2025-09-11: 0 commits2025-09-12: 0 commits2025-09-13: 0 commits2025-09-14: 0 commits2025-09-15: 0 commits2025-09-16: 0 commits2025-09-17: 0 commits2025-09-18: 0 commits2025-09-19: 0 commits2025-09-20: 0 commits2025-09-21: 0 commits2025-09-22: 0 commits2025-09-23: 0 commits2025-09-24: 0 commits2025-09-25: 0 commits2025-09-26: 0 commits2025-09-27: 0 commits2025-09-28: 0 commits2025-09-29: 0 commits2025-09-30: 0 commits2025-10-01: 0 commits2025-10-02: 0 commits2025-10-03: 0 commits2025-10-04: 0 commits2025-10-05: 0 commits2025-10-06: 0 commits2025-10-07: 0 commits2025-10-08: 0 commits2025-10-09: 0 commits2025-10-10: 0 commits2025-10-11: 0 commits2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 0 commits2025-10-16: 0 commits2025-10-17: 0 commits2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 0 commits2025-11-06: 0 commits2025-11-07: 0 commits2025-11-09: 0 commits2025-11-10: 0 commits2025-11-11: 0 commits2025-11-12: 0 commits2025-11-13: 0 commits2025-11-14: 0 commits2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 0 commits2025-11-18: 0 commits2025-11-19: 0 commits2025-11-20: 0 commits2025-11-21: 0 commits2025-11-22: 0 commits2025-11-23: 0 commits2025-11-24: 0 commits2025-11-25: 0 commits2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 0 commits2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 0 commits2025-12-02: 0 commits2025-12-03: 0 commits2025-12-04: 0 commits2025-12-05: 0 commits2025-12-06: 0 commits2025-12-07: 0 commits2025-12-08: 0 commits2025-12-09: 0 commits2025-12-10: 0 commits2025-12-11: 0 commits2025-12-12: 0 commits2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 0 commits2025-12-16: 0 commits2025-12-17: 0 commits2025-12-18: 0 commits2025-12-19: 0 commits2025-12-20: 0 commits2025-12-21: 0 commits2025-12-22: 0 commits2025-12-23: 0 commits2025-12-24: 0 commits2025-12-25: 0 commits2025-12-26: 0 commits2025-12-27: 0 commits2025-12-28: 0 commits2025-12-29: 0 commits2025-12-30: 0 commits2025-12-31: 0 commits2026-01-01: 0 commits2026-01-02: 0 commits2026-01-03: 0 commits2026-01-04: 0 commits2026-01-05: 0 commits2026-01-06: 0 commits2026-01-07: 0 commits2026-01-08: 0 commits2026-01-09: 0 commits2026-01-10: 0 commits2026-01-11: 0 commits2026-01-12: 0 commits2026-01-13: 7 commits2026-01-14: 3 commits2026-01-15: 13 commits2026-01-16: 1 commit2026-01-17: 0 commits2026-01-18: 0 commits2026-01-19: 11 commits2026-01-20: 3 commits2026-01-21: 4 commits2026-01-22: 10 commits2026-01-23: 8 commits2026-01-24: 9 commits2026-01-25: 1 commit2026-01-26: 0 commits2026-01-27: 0 commits2026-01-28: 0 commits2026-01-29: 0 commits2026-01-30: 0 commits2026-01-31: 0 commits2026-02-01: 0 commits2026-02-02: 6 commits2026-02-03: 0 commits2026-02-04: 0 commits2026-02-05: 0 commits2026-02-06: 0 commits2026-02-07: 0 commits2026-02-08: 0 commits2026-02-09: 0 commits2026-02-10: 6 commits2026-02-11: 12 commits2026-02-12: 7 commits2026-02-13: 7 commits2026-02-14: 14 commits2026-02-15: 3 commits2026-02-16: 3 commits2026-02-17: 8 commits2026-02-18: 0 commits2026-02-19: 0 commits2026-02-20: 16 commits2026-02-21: 0 commits2026-02-22: 12 commits2026-02-23: 4 commits2026-02-24: 0 commits2026-02-25: 6 commits2026-02-26: 2 commits2026-02-27: 6 commits2026-02-28: 0 commits2026-03-01: 1 commit2026-03-02: 0 commits2026-03-03: 1 commit2026-03-04: 1 commit2026-03-05: 1 commit2026-03-06: 1 commit2026-03-07: 1 commit2026-03-08: 1 commit2026-03-09: 0 commits2026-03-10: 0 commits2026-03-11: 0 commits2026-03-12: 0 commits2026-03-13: 0 commits2026-03-14: 0 commits2026-03-15: 1 commit2026-03-16: 5 commits2026-03-17: 1 commit2026-03-18: 0 commits2026-03-19: 0 commits2026-03-20: 0 commits2026-03-21: 5 commits2026-03-22: 0 commits2026-03-23: 2 commits2026-03-24: 1 commit2026-03-25: 0 commits2026-03-26: 0 commits2026-03-27: 0 commits2026-03-28: 0 commits2026-03-29: 0 commits2026-03-30: 0 commits2026-03-31: 0 commits2026-04-01: 0 commits2026-04-02: 0 commits2026-04-03: 0 commits2026-04-04: 0 commits2026-04-05: 0 commits2026-04-06: 0 commits2026-04-07: 0 commits2026-04-08: 0 commits2026-04-09: 0 commits2026-04-10: 0 commits2026-04-11: 1 commit2026-04-12: 0 commits2026-04-13: 0 commits2026-04-14: 2 commits2026-04-15: 0 commits2026-04-16: 0 commits2026-04-17: 0 commits2026-04-18: 0 commits2026-04-19: 0 commits2026-04-20: 0 commits2026-04-21: 0 commits2026-04-22: 0 commits2026-04-23: 0 commits2026-04-24: 0 commits2026-04-25: 0 commits2026-04-26: 0 commits2026-04-27: 1 commit2026-04-28: 0 commits2026-04-29: 0 commits2026-04-30: 0 commits2026-05-01: 0 commits2026-05-02: 0 commits2026-05-03: 0 commits2026-05-04: 0 commits2026-05-05: 0 commits2026-05-06: 0 commits2026-05-07: 0 commits2026-05-08: 0 commits2026-05-09: 0 commits2026-05-10: 0 commits2026-05-11: 0 commits2026-05-12: 0 commits2026-05-13: 0 commits2026-05-14: 0 commits2026-05-15: 0 commits2026-05-16: 0 commits2026-05-17: 1 commit2026-05-18: 0 commits2026-05-19: 0 commits2026-05-20: 0 commits2026-05-21: 0 commits2026-05-22: 0 commits2026-05-23: 0 commits2026-05-24: 0 commits2026-05-25: 0 commits2026-05-26: 0 commits2026-05-27: 0 commits2026-05-28: 1 commit2026-05-29: 0 commits2026-05-30: 0 commits2026-05-31: 0 commits2026-06-01: 0 commits2026-06-02: 2 commits2026-06-03: 0 commits2026-06-04: 1 commit2026-06-05: 0 commits2026-06-06: 0 commits2026-06-07: 0 commits2026-06-08: 0 commits2026-06-09: 0 commits2026-06-10: 0 commits2026-06-11: 0 commits2026-06-12: 0 commits2026-06-13: 0 commits2026-06-14: 0 commits2026-06-15: 0 commits2026-06-16: 0 commits2026-06-17: 0 commits2026-06-18: 0 commits2026-06-19: 5 commits2026-06-20: 0 commits2026-06-21: 4 commits2026-06-22: 0 commits2026-06-23: 0 commits2026-06-24: 0 commits2026-06-25: 0 commits2026-06-26: 1 commit2026-06-27: 1 commit2026-06-28: 4 commits2026-06-29: 0 commits2026-06-30: 0 commits2026-07-01: 0 commits2026-07-02: 0 commits2026-07-03: 0 commits2026-07-04: 2 commits2026-07-05: 0 commits2026-07-06: 0 commits2026-07-07: 0 commits2026-07-08: 0 commits2026-07-09: 0 commits2026-07-10: 0 commits2026-07-11: 0 commits2026-07-12: 0 commits2026-07-13: 1 commit2026-07-14: 0 commits2026-07-15: 0 commits2026-07-16: 0 commits2026-07-17: 4 commits2026-07-18: 0 commits2026-07-19: 1 commit2026-07-20: 9 commits2026-07-21: 0 commits2026-07-22: 0 commits2026-07-23: 0 commits2026-07-24: 0 commits2026-07-25: 0 commits2026-07-26: 0 commits2026-07-27: 0 commits2026-07-28: 1 commit2026-07-29: 1 commit2026-07-30: 0 commits2026-07-31: 0 commits2026-08-01: 0 commits2026-08-02: 0 commits2026-08-03: 0 commits2026-08-04: 0 commits2026-08-05: 0 commits2026-08-06: 0 commits2026-08-07: 0 commits2026-08-08: 0 commits
247 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Permissive license

    MIT

  • Continuous integration

    Automated checks passing

  • Repeat trending

    3 trending appearances

What oat does

Oat UI is a minimalist CSS framework that styles semantic HTML tags directly, avoiding the class soup common in other libraries. Clocking in at around 10KB for both CSS and JS, it provides clean, modern styling for standard web elements without requiring a build step or external dependencies. It includes a few dynamic components implemented as WebComponents, making it perfect for simple web applications and dashboards.

Web developers looking for a simple, lightweight alternative to complex CSS frameworks like Tailwind or Bootstrap. Great for those who value semantic HTML and minimal overhead.

  • Zero Dependencies: No build tools, preprocessors, or JavaScript frameworks required.
  • Semantic Styling: Styles are applied to native HTML tags rather than custom classes.
  • Ultra-Lightweight: Total bundle size is approximately 10KB for fast loading times.
  • WebComponent Integration: Includes lightweight WebComponents for complex interactive elements.

Where teams use it

Rapid Prototyping

Quickly build decent-looking web interfaces without setting up a complex toolchain.

Minimalist Web Apps

Ideal for small projects or internal tools where heavy frameworks are overkill.

Learning Modern HTML

Encourages best practices by forcing the use of semantic HTML elements.

Getting started: Include the CSS and JS files from oat.ink in your HTML.

README

master branch

Oat UI

Semantic, minimal, zero dependencies. ~10KB CSS and JS.

Oat is an ultra-lightweight HTML + CSS, semantic UI component library with zero dependencies. No framework, build, or dev complexity. Just include the tiny CSS and JS files and you are good to go building decent looking web applications with most commonly needed components and elements.

Semantic tags and attributes are styled contextually out of the box without classes, forcing best practices, and reducing markup class pollution. A few dynamic components are WebComponents and use minimal JavaScript.

I wrote this to use in my own projects after getting sick of the ridiculous bloat, dependencies, and rug-pulls in Javascript UI/component libraries.

See live demo and docs at oat.ink

IMPORTANT: The lib is currently sub v1 and is likely to have breaking changes until it hits v1.


image
View on GitHub

Recent activity

commits and pull requests

Recent open issues

view all

Releases and announcements

12 total
  1. v0.7.1v0.7.1Jul 28, 2026

    ## What's Changed * Fix `aria-disabled` styling issue. ## New Contributors * @jainambarbhaya1509 made their first contribution in https://github.com/knadh/oat/pull/143 **Full Changelog**: https://github.com/knadh/oat/compare/v0.7.0...v0.7.1

  2. v0.7.0v0.7.0Jul 21, 2026

    ## What's Changed * New components: File upload, Taginput * Many minor fixes and improvements * Fix documentation errors: wrong theme colors, missing variables, invalid HTML by @MADEVAL in https://github.com/knadh/oat/pull/172 * Fix mobile sidebar overflow by @UjjwalGupta49 in https://github.com/knadh/oat/pull/175 ## New Contributors * @UjjwalGupta49 made their first contribution in https://github.com/knadh/oat/pull/175 **Full Changelog**: https://github.com/knadh/oat/compare/v0.6.2...v0.7.0

  3. v0.6.2v0.6.2Jun 20, 2026

    ## What's Changed * docs(usage): align basic example with published minified asset names by @pavan-sh in https://github.com/knadh/oat/pull/160 * docs: add Oat Table extension by @MADEVAL in https://github.com/knadh/oat/pull/162 * docs: add Oat Upload extension by @MADEVAL in https://github.com/knadh/oat/pull/163 * style: update error display logic for input validation by @KumarSidharth in https://github.com/knadh/oat/pull/167 * chore: update .gitignore to include additional files and add CODEOWNERS by @KumarSidharth in https://github.com/knadh/oat/pull/168 ## New Contributors * @MADEVAL made their first contribution in https://github.com/knadh/oat/pull/162 * @KumarSidharth made their first contribution in https://github.com/knadh/oat/pull/167 **Full Changelog**: https://github.com/knadh/oat/compare/v0.6.1...v0.6.2

  4. v0.6.1v0.6.1Jun 20, 2026

    **Full Changelog**: https://github.com/knadh/oat/compare/v0.6.0...v0.6.1

  5. v0.6.0v0.6.0Apr 11, 2026

    ## What's Changed * Tooltips: optional placement (top / bottom / left / right) by @ramjawade in https://github.com/knadh/oat/pull/155 ## New Contributors * @ramjawade made their first contribution in https://github.com/knadh/oat/pull/155 **Full Changelog**: https://github.com/knadh/oat/compare/v0.5.1...v0.6.0

Commits per week

last 52 weeks
460Week of 2025-08-09: 0 commitsWeek of 2025-08-16: 0 commitsWeek of 2025-08-23: 0 commitsWeek of 2025-08-30: 0 commitsWeek of 2025-09-06: 0 commitsWeek of 2025-09-13: 0 commitsWeek of 2025-09-20: 0 commitsWeek of 2025-09-27: 0 commitsWeek of 2025-10-04: 0 commitsWeek of 2025-10-11: 0 commitsWeek of 2025-10-18: 0 commitsWeek of 2025-10-25: 0 commitsWeek of 2025-11-01: 0 commitsWeek of 2025-11-09: 0 commitsWeek of 2025-11-16: 0 commitsWeek of 2025-11-23: 0 commitsWeek of 2025-11-30: 0 commitsWeek of 2025-12-07: 0 commitsWeek of 2025-12-14: 0 commitsWeek of 2025-12-21: 0 commitsWeek of 2025-12-28: 0 commitsWeek of 2026-01-04: 0 commitsWeek of 2026-01-11: 24 commitsWeek of 2026-01-18: 45 commitsWeek of 2026-01-25: 1 commitsWeek of 2026-02-01: 6 commitsWeek of 2026-02-08: 46 commitsWeek of 2026-02-15: 30 commitsWeek of 2026-02-22: 30 commitsWeek of 2026-03-01: 6 commitsWeek of 2026-03-08: 1 commitsWeek of 2026-03-15: 12 commitsWeek of 2026-03-22: 3 commitsWeek of 2026-03-29: 0 commitsWeek of 2026-04-05: 1 commitsWeek of 2026-04-12: 2 commitsWeek of 2026-04-19: 0 commitsWeek of 2026-04-26: 1 commitsWeek of 2026-05-03: 0 commitsWeek of 2026-05-10: 0 commitsWeek of 2026-05-17: 1 commitsWeek of 2026-05-24: 1 commitsWeek of 2026-05-31: 3 commitsWeek of 2026-06-07: 0 commitsWeek of 2026-06-14: 5 commitsWeek of 2026-06-21: 6 commitsWeek of 2026-06-28: 6 commitsWeek of 2026-07-05: 0 commitsWeek of 2026-07-12: 5 commitsWeek of 2026-07-19: 10 commitsWeek of 2026-07-26: 2 commitsWeek of 2026-08-02: 0 commitsAug 9, 2025Aug 2, 2026
247 commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 0 commitsSun 1:00 — 0 commitsSun 2:00 — 0 commitsSun 3:00 — 0 commitsSun 4:00 — 1 commitsSun 5:00 — 0 commitsSun 6:00 — 0 commitsSun 7:00 — 0 commitsSun 8:00 — 0 commitsSun 9:00 — 2 commitsSun 10:00 — 3 commitsSun 11:00 — 6 commitsSun 12:00 — 5 commitsSun 13:00 — 3 commitsSun 14:00 — 3 commitsSun 15:00 — 0 commitsSun 16:00 — 1 commitsSun 17:00 — 1 commitsSun 18:00 — 0 commitsSun 19:00 — 2 commitsSun 20:00 — 0 commitsSun 21:00 — 0 commitsSun 22:00 — 2 commitsSun 23:00 — 0 commitsMon 0:00 — 0 commitsMon 1:00 — 0 commitsMon 2:00 — 0 commitsMon 3:00 — 0 commitsMon 4:00 — 0 commitsMon 5:00 — 0 commitsMon 6:00 — 0 commitsMon 7:00 — 0 commitsMon 8:00 — 0 commitsMon 9:00 — 0 commitsMon 10:00 — 2 commitsMon 11:00 — 1 commitsMon 12:00 — 1 commitsMon 13:00 — 0 commitsMon 14:00 — 0 commitsMon 15:00 — 5 commitsMon 16:00 — 4 commitsMon 17:00 — 11 commitsMon 18:00 — 3 commitsMon 19:00 — 0 commitsMon 20:00 — 2 commitsMon 21:00 — 5 commitsMon 22:00 — 5 commitsMon 23:00 — 3 commitsTue 0:00 — 1 commitsTue 1:00 — 0 commitsTue 2:00 — 0 commitsTue 3:00 — 0 commitsTue 4:00 — 1 commitsTue 5:00 — 0 commitsTue 6:00 — 0 commitsTue 7:00 — 0 commitsTue 8:00 — 1 commitsTue 9:00 — 0 commitsTue 10:00 — 0 commitsTue 11:00 — 0 commitsTue 12:00 — 2 commitsTue 13:00 — 0 commitsTue 14:00 — 3 commitsTue 15:00 — 1 commitsTue 16:00 — 3 commitsTue 17:00 — 0 commitsTue 18:00 — 0 commitsTue 19:00 — 0 commitsTue 20:00 — 2 commitsTue 21:00 — 1 commitsTue 22:00 — 8 commitsTue 23:00 — 9 commitsWed 0:00 — 14 commitsWed 1:00 — 0 commitsWed 2:00 — 0 commitsWed 3:00 — 0 commitsWed 4:00 — 0 commitsWed 5:00 — 1 commitsWed 6:00 — 0 commitsWed 7:00 — 0 commitsWed 8:00 — 0 commitsWed 9:00 — 0 commitsWed 10:00 — 1 commitsWed 11:00 — 1 commitsWed 12:00 — 0 commitsWed 13:00 — 0 commitsWed 14:00 — 0 commitsWed 15:00 — 0 commitsWed 16:00 — 0 commitsWed 17:00 — 1 commitsWed 18:00 — 0 commitsWed 19:00 — 0 commitsWed 20:00 — 0 commitsWed 21:00 — 0 commitsWed 22:00 — 1 commitsWed 23:00 — 8 commitsThu 0:00 — 3 commitsThu 1:00 — 0 commitsThu 2:00 — 0 commitsThu 3:00 — 0 commitsThu 4:00 — 0 commitsThu 5:00 — 0 commitsThu 6:00 — 0 commitsThu 7:00 — 0 commitsThu 8:00 — 0 commitsThu 9:00 — 4 commitsThu 10:00 — 0 commitsThu 11:00 — 3 commitsThu 12:00 — 1 commitsThu 13:00 — 0 commitsThu 14:00 — 0 commitsThu 15:00 — 4 commitsThu 16:00 — 3 commitsThu 17:00 — 1 commitsThu 18:00 — 0 commitsThu 19:00 — 0 commitsThu 20:00 — 0 commitsThu 21:00 — 2 commitsThu 22:00 — 2 commitsThu 23:00 — 12 commitsFri 0:00 — 8 commitsFri 1:00 — 2 commitsFri 2:00 — 0 commitsFri 3:00 — 0 commitsFri 4:00 — 0 commitsFri 5:00 — 0 commitsFri 6:00 — 0 commitsFri 7:00 — 0 commitsFri 8:00 — 0 commitsFri 9:00 — 0 commitsFri 10:00 — 2 commitsFri 11:00 — 2 commitsFri 12:00 — 4 commitsFri 13:00 — 3 commitsFri 14:00 — 5 commitsFri 15:00 — 2 commitsFri 16:00 — 2 commitsFri 17:00 — 0 commitsFri 18:00 — 7 commitsFri 19:00 — 0 commitsFri 20:00 — 0 commitsFri 21:00 — 6 commitsFri 22:00 — 5 commitsFri 23:00 — 1 commitsSat 0:00 — 3 commitsSat 1:00 — 0 commitsSat 2:00 — 0 commitsSat 3:00 — 0 commitsSat 4:00 — 0 commitsSat 5:00 — 0 commitsSat 6:00 — 0 commitsSat 7:00 — 0 commitsSat 8:00 — 0 commitsSat 9:00 — 2 commitsSat 10:00 — 3 commitsSat 11:00 — 6 commitsSat 12:00 — 7 commitsSat 13:00 — 1 commitsSat 14:00 — 4 commitsSat 15:00 — 2 commitsSat 16:00 — 2 commitsSat 17:00 — 0 commitsSat 18:00 — 0 commitsSat 19:00 — 0 commitsSat 20:00 — 1 commitsSat 21:00 — 0 commitsSat 22:00 — 0 commitsSat 23:00 — 2 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.

Who is committing

last 52 weeks
Maintainer commits211 (85%)
Community commits36 (15%)

247 commits in total over the last year.

DateListRankStars gained
Feb 15, 2026daily#12+229
Feb 14, 2026daily#13+183
Feb 13, 2026daily#14+154