Every time I start a new web project, a surprising amount of work is the same.
Authentication.
Users and roles.
Permissions.
Admin panels.
CMS.
Database setup.
Forms.
Tables.
UI.
The actual product changes, but a big part of the foundation doesn’t.
So instead of rebuilding that foundation again, I started NSheth App Kit.
What is NSheth App Kit?
NSheth App Kit is a modular, source-first foundation built around TanStack Start.
The goal is not to make another massive framework or a starter with 50 features that nobody uses.
I want a clean base where I can take only the modules a project actually needs.
For example:
Portfolio
→ UI + CMS + SEO
Catalogue
→ Products + Admin + CMS + RFQ
Booking
→ Customers + Availability + Reservations
Hotel
→ Booking + Properties + Rooms + Rates
Ecommerce
→ Products + Cart + Orders + Payments
Same foundation, different products.
Current stack
The project currently uses:
- React 19 + TypeScript
- TanStack Start + Router
- TanStack Query
- Untitled UI React
- React Aria Components
- Tailwind CSS
- PostgreSQL
- Prisma
- npm workspaces
- ESLint + Prettier
TanStack DB, Table, Form, Store, Hotkeys and Pacer are also part of the planned stack, but I’m intentionally not forcing a library into the project until there is a real feature that needs it.
What already works?
This is still an early project, currently at v0.1.0, but it isn't just folders and placeholder code.
The current playground already has:
Identity and RBAC
Users, sessions, roles and permissions are provider-neutral.
Authorization is checked on the server, not just hidden in the UI.
The current development flow uses opaque HTTP-only sessions and permission checks such as:
admin
identity.read
The idea is that future apps can define their own roles without rebuilding the permission system.
Admin foundation
There is already a responsive admin shell with permission-based module visibility.
Eventually modules like products, bookings, hotels or orders should be able to plug into the same admin system instead of each project having its own dashboard implementation.
CMS and Blog
Posts can currently be created through the admin with validation and:
draft
published
states.
There is also a public /blog implementation that only exposes published content.
PostgreSQL + Prisma
Database-backed features use PostgreSQL with Prisma.
For local development, the repo includes Docker Compose, so the database can be started separately while the TanStack app runs normally on the host.
The UI matters too
I don't want the project to look like a generic generated starter.
The UI foundation currently uses Untitled UI React patterns and accessible React Aria controls.
The plan is to keep a consistent system for:
- forms
- tables
- navigation
- admin screens
- responsive layouts
- loading/error states
- accessibility
- application UI
Then individual projects can change the branding without rebuilding the underlying interface every time.
What comes next?
The next major piece is the Product Core + Catalogue/RFQ module.
After that:
- Booking core
- Service booking
- Hotel and multi-property support
- Commerce
- Payments and integrations
- Cloudflare, Vercel and Node/VPS deployment targets
- Reusable TanStack add-ons
- Finished application templates
Eventually I want to have seven usable starting points:
Portfolio · Blog · Booking · Hotel · Multi-Hotel · Catalogue · Ecommerce
But the important part is that they share modules underneath instead of being seven unrelated codebases.
Why build this publicly?
Mostly because I know I’ll use it myself.
I build different kinds of websites and applications, and having a foundation I understand completely is more useful to me than starting from a different boilerplate every time.
Keeping it public also forces me to keep the architecture, docs and setup understandable instead of letting it turn into another private folder that only works on my machine.
There’s still a lot to build, but the foundation is working and I’ll keep adding one real vertical slice at a time.
GitHub:
https://github.com/nityam2007/nsheth-app-kit
Feedback, ideas and contributions are welcome.
#tanstack #react #typescript #opensource #webdev
Top comments (0)