AssetLane
My own SaaS product, live at assetlanehq.com — multi-tenant asset tracking with QR code lookup, recurring maintenance scheduling, warranty alerts, role-based team access, CSV import, and a complete audit trail, on web and Android. Designed, built, deployed, and taken to market solo.

Project Gallery




About the Project
AssetLane is my own SaaS product, launched independently at assetlanehq.com and currently open for early access. It helps organizations track, manage, and audit their physical assets—from laptops and monitors to office equipment and machinery. Companies maintain a centralized inventory, assign assets to employees with a full activity history, define custom asset categories with flexible field schemas, schedule recurring maintenance with due-soon and overdue alerts, track warranty expiry, control access by role, and migrate off spreadsheets through CSV import. Assets carry printable QR labels that resolve in any phone browser, with no app required. A companion Android app, built with React Native and Expo against that same hosted API, adds camera-based scanning and a fuller asset detail view on the phone—condition, location, warranty dates, custom fields, and maintenance summary. It is built and not yet published to the Play Store. I own every layer of it: product design, backend, frontend, mobile, infrastructure, and the go-to-market work now underway.
Problem Statement
Organizations of all sizes struggle with asset management. Many companies track assets in Excel files that become outdated and impossible to audit. Without proper assignment tracking, assets get lost and no one knows who had them last. Generic tools don't accommodate different asset types, and there's no audit trail when something goes wrong.
My Solution
I built a flexible, multi-tenant asset management system with row-level tenant isolation, a dynamic field schema system where each category defines its own custom fields, a complete audit trail that survives user deletion, bulk operations for CSV import/export, recurring maintenance schedules that surface due-soon and overdue work, warranty expiry alerts, role-based access for admins, managers, and users, and QR code integration for quick asset lookup. The storage layer uses a provider pattern supporting both local filesystem and Vercel Blob. Choosing row-level isolation here was deliberate: it is the simplest model that meets the requirement, and for a product I intend to sell to small and mid-sized teams it keeps operational overhead low without giving up separation between tenants.
Challenges & Learnings
Next.js 16 App Router Patterns
Established clear patterns: Server Components for data fetching, Client Components only for interactivity, Server Actions for mutations. RSC dramatically simplifies data fetching and reduces client bundle size.
Multi-Tenancy Without Leaks
Every database query includes tenantId filter with authorization check before every operation. Defense in depth at middleware, page, and query level.
Dynamic Custom Fields
Store field schema as JSON in AssetCategory, field values as JSON in Asset, with dynamic form components that render based on schema and validate on import.
Audit Trail That Survives
Store userId as plain string (no FK) and performedBy name in JSON details field, so history remains readable even after user deletion.
Technology Stack
Next.js 16
Full-stack React framework with App Router, Server Components, and Server Actions for simpler data fetching and reduced client bundle size.
React 19
Latest React with Server Components paradigm for rendering data-fetching components on the server.
TypeScript
Type-safe development from database to UI, ensuring reliability across the full stack.
PostgreSQL
Relational database with JSON column support for flexible custom field schemas while maintaining query performance.
Prisma
Type-safe ORM with excellent migrations and Prisma Studio for database management.
Clerk
Managed authentication service with webhook support for user syncing.
TailwindCSS 4
Utility-first CSS framework with shadcn/ui components for rapid, accessible UI development.
React Native + Expo
Companion Android app built as a thin client against the same hosted API, so web and mobile share one backend and one source of truth. Expo's build service produces an installable Android package without maintaining a native toolchain.
Expo Camera + TanStack Query
Camera-based QR scanning on the phone, with cached, request-deduplicated data fetching so scan results stay fast and consistent with the web app.