Case study

Snow HQ

Next.js and tRPC CRM implementation proof with tenant-aware PostgreSQL models, role-aware access, dashboards, and reporting/invoicing workflows.

in-progressFull-stack TypeScript engineer and product-systems designerOutcome

Problem

CRM-like internal tools need more than forms and tables: they need tenant separation, permissions, operational workflows, dashboard views, and reporting paths that stay coherent as the product grows.

Constraints

  • Private project; do not claim public users, production scale, or open-source status.
  • Must model tenant separation and permissions clearly enough to defend in a technical interview.
  • Must keep workflows maintainable as CRM entities and reporting needs expand.

What I built

Build a tenant-aware CRM architecture with typed API boundaries, database models that reflect operational roles, and dashboards/reporting workflows that map to how teams actually use the system.

Architecture

Next.js/React frontend, tRPC typed API layer, PostgreSQL data model via Drizzle, authentication and RBAC-aware access patterns, tenant-scoped workflows, and dashboard/reporting modules.

01

Public UI

02

Typed API boundary

03

Database-backed content

Decisions and trade-offs

  • Modeled tenant ownership and permissions as application and database boundaries.
  • Kept frontend workflows aligned with typed tRPC contracts and PostgreSQL/Drizzle models.

Outcome

Built a private end-to-end CRM implementation proof spanning UI workflows, typed APIs, data modeling, auth/RBAC boundaries, dashboards, and reporting paths.

Repository context

Private build. Discuss architecture and implementation decisions in interviews; do not present as public/open-source unless the repository is intentionally made public.