Aurijin
Enterprise multi-tenant CRM/ERP for the jewelry industry, managing the full order lifecycle — from order intake through multi-stage production, gram-level gold traceability, to delivery. Scale: 4 frontend apps, ~30 backend modules, 45+ data models.
- Next.js 16
- React 19
- Turborepo
- NestJS
- Prisma
- PostgreSQL
- Redis
- BullMQ
- Socket.io
- TanStack Query
- Zustand
- Tailwind CSS 4
- AWS S3

Highlights
- Automatic gold weight logging and loss calculation across every production step — metal and gems tracked separately, using Vietnamese jewelry industry units.
- Multi-stage Kanban production workflow (Casting → Stone Setting → Polishing → Plating → QC) with batch handover tickets.
- Distributed locking (Redlock) to prevent race conditions when multiple workers claim tasks.
- Immutable BOM snapshots — past orders stay unchanged even when products are repriced later.
- Granular role-based access control with soft-delete and full audit trail.
- Real-time chat & notifications (Socket.io) between teams across the production workflow.
About the project
Aurijin is a multi-tenant CRM/ERP system I built for the jewelry industry, from December 2025 to June 2026, as CTO & Lead Engineer — owning the architecture and personally building both backend and frontend.
The core problem is managing a jewelry order's full lifecycle: from order intake, through multiple production stages (casting, stone setting, polishing, plating, QC), to delivery — while accurately tracing gold weight loss at every step.
On the engineering side, the system uses Redlock for distributed locking so multiple workers can't claim the same task; immutable BOM snapshots so past orders stay unchanged when products are repriced later; and granular RBAC with an audit trail for a multi-role enterprise environment.
The frontend is a Turborepo (pnpm) monorepo with 4 Next.js 16 + React 19 apps sharing UI/types packages; the backend is NestJS + Prisma + PostgreSQL, using Redis for caching and Redlock, BullMQ for background jobs, and Socket.io for real-time chat/notifications.
Got questions?
I'm always excited to collaborate on innovative and exciting projects!