DEV Community

Nityam Sheth
Nityam Sheth

Posted on

Why I’m Building NSheth App Kit

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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:

  1. Booking core
  2. Service booking
  3. Hotel and multi-property support
  4. Commerce
  5. Payments and integrations
  6. Cloudflare, Vercel and Node/VPS deployment targets
  7. Reusable TanStack add-ons
  8. 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)