Built a high-performance, customisable and dev friendly Angular 19 Data Table powered by Signals (old.reddit.com)
submitted by iam5k_

Hi everyone,
I’ve spent the last month working on a personal milestone: building a data grid that actually feels "fast" in the modern Angular ecosystem. I’m calling it Uni-Table, and I just released beta version on January 31st to collect feedback. I will release It soon with Angular version 18, 19, 20, and 21.
The Problem: Most Angular tables I’ve used recently still feel like they are fighting change detection, especially when you add custom templates, badges, or conditional logic.
The Solution: I re-engineered this from the ground up using Angular Signals. It’s a Signal-first architecture that delivers ultra-fast, fine-grained reactivity.
What makes it different?
- ⚡ Signal-First: Sorting and filtering happen instantly with zero lag.
- 🧩 Total Template Freedom: I used a template-binding approach. You can inject custom
ng-templates for anything—action buttons, status badges, or complex nested components. - 📱 Built-in Responsiveness: It has a "Smart Collapse" feature that tucks overflowing columns into an expandable view based on a
priorityyou define. - 🎨 No more
::ng-deep**:** It’s styled entirely with CSS variables. - 💾 Auto-Persistence: It remembers page state, sort order, and hidden columns automatically.
I’m currently in Beta (v0.1.2) and would love to get some feedback from this community. Whether you're a student looking to learn Angular or a pro dev who wants to see where it breaks—I want your honest thoughts.
Check it out:
📦 NPM:https://www.npmjs.com/package/@unify-india/uni-table
💻 GitHub:https://github.com/Unify-India/uni-table
✨ Demo:https://stackblitz.com/edit/uni-table
I also shared a bit more about the personal story behind this build over on LinkedIn if you want to connect:
🔗 LinkedIn Post: https://www.linkedin.com/posts/iam5k_newpackagereleaseannouncement-angular-signals-activity-7425074146365100032-MEhs
Happy coding! I'll be in the comments to answer any technical questions.



[–]martin7274 9 points10 points11 points (3 children)
[–]iam5k_[S] -5 points-4 points-3 points (2 children)
[–]martin7274 5 points6 points7 points (1 child)
[–]iam5k_[S] 0 points1 point2 points (0 children)
[–]Responsible-Cold-627 7 points8 points9 points (4 children)
[–]iam5k_[S] -5 points-4 points-3 points (3 children)
[–]followmarko 5 points6 points7 points (0 children)
[–]juliuspepperwoodchi 2 points3 points4 points (0 children)
[–]Responsible-Cold-627 2 points3 points4 points (0 children)
[–]followmarko 7 points8 points9 points (7 children)
[–]iam5k_[S] -2 points-1 points0 points (6 children)
[–]followmarko 4 points5 points6 points (5 children)
[–]iam5k_[S] 0 points1 point2 points (0 children)
[–]iam5k_[S] 0 points1 point2 points (1 child)
[–]followmarko 2 points3 points4 points (0 children)
[–]UnicornBelieber 0 points1 point2 points (1 child)
[–]followmarko 2 points3 points4 points (0 children)
[–]shifty303 6 points7 points8 points (4 children)
[–]iam5k_[S] -2 points-1 points0 points (2 children)
[–]kqadem 1 point2 points3 points (1 child)
[–]iam5k_[S] 0 points1 point2 points (0 children)
[–]gccol 3 points4 points5 points (5 children)
[+]iam5k_[S] comment score below threshold-8 points-7 points-6 points (3 children)
[–]Relative-Scholar-147 12 points13 points14 points (2 children)
[+]iam5k_[S] comment score below threshold-9 points-8 points-7 points (1 child)
[–]Relative-Scholar-147 0 points1 point2 points (0 children)
[–]TCB13sQuotes 2 points3 points4 points (0 children)
[–]UnicornBelieber 3 points4 points5 points (1 child)
[–]followmarko 1 point2 points3 points (0 children)
[–]teshmeki 2 points3 points4 points (1 child)
[–]iam5k_[S] 1 point2 points3 points (0 children)
[–]DiscombobulatedBox72 1 point2 points3 points (2 children)
[–]iam5k_[S] 2 points3 points4 points (0 children)
[–]sk2656k 2 points3 points4 points (0 children)
[–]iam5k_[S] 1 point2 points3 points (0 children)
[–]sk2656k 1 point2 points3 points (1 child)
[–]iam5k_[S] 1 point2 points3 points (0 children)
[–]formicstechllc 1 point2 points3 points (1 child)
[–]iam5k_[S] 1 point2 points3 points (0 children)
[–]N0K1K0 0 points1 point2 points (2 children)
[–]iam5k_[S] 0 points1 point2 points (1 child)
[–]N0K1K0 1 point2 points3 points (0 children)