Dashboard Widgets Pack — 113 Components Born From One Very Annoying Tuesday 📊
What I Built
Dashboard Widgets Pack — a library of 113 dashboard components across 16 categories, built for developers who are tired of rebuilding the same charts, cards, and tables for every single client project.
Cards, stat widgets, charts, tables, calendars, activity feeds, progress trackers — the pieces that show up in every dashboard, but that somehow you always end up rebuilding from scratch.
The Problem
Around a year ago I was freelancing on my third dashboard project in a row. Different client, different brand colors, same exact components: a revenue card, a line chart, a “recent activity” feed, a stats grid.
I opened my old project folder to copy-paste what I’d built before. Nothing matched. Different prop names, different styling approach, half of it written before I’d even settled on a consistent design system. I spent two hours untangling code I’d written myself just three months earlier.
That’s when it hit me — I wasn’t reusing anything. I was rebuilding the same 20 ideas over and over, slightly differently each time, and losing hours I could’ve spent on the parts of the project that actually needed my attention.
So I stopped mid-project and asked myself: what if I built this once, properly — typed, consistent, actually reusable — and never had to do this again?
The Build
That question turned into a much bigger project than I expected. What started as “let me just clean up my stat cards” became a full component system:
• 113 components across 16 categories (stats, charts, tables, calendars, activity feeds, forms, and more)
• Fully typed with TypeScript — no more guessing what props a component expects
• Built on shadcn/ui so it fits naturally into projects that already use it
• Charts powered by Recharts, animations by Framer Motion
• Styled with Tailwind CSS, so every widget is easy to re-theme per client
The rule I held myself to: every component had to be something I’d actually drop into a real client project without editing it first. Not a demo piece — a working piece.
What I’m Most Proud Of
Not the count. It’s that the next time I open a new dashboard project, I’m not starting from zero. I’m starting from a library that already knows what a good stat card, a good chart, a good table looks like — so I can spend my time on what makes that client’s project different, instead of rebuilding what’s always the same.
Try It
🔗 Get it on Gumroad:
[https://lynala.gumroad.com/l/dashboard-widgets]
What’s next: more categories based on what people actually ask for after using it — this pack grows with real project needs, not just my own.
Top comments (0)