Skip to main content
saasenterprisearchitecture

OnceHeld - Enterprise Collection Management

Role
CTO & Full Stack
Tech Stack
Next.js 15, Prisma, PostgreSQL

The Problem I'm Solving

Musicians, artists, and estates manage thousands of physical items with no proper tooling. Spreadsheets lose provenance. Generic tools like Notion can't handle complex relationships. Legacy archive systems are stuck in the 90s.

Technical Architecture

OnceHeld is a specialized platform requiring deep domain modeling: provenance chains, condition histories, multi-facility tracking, and valuation audits.

The Hard Technical Problems

Provenance as a First-Class Entity

  • Ownership chains with acquisition methods, transaction prices, custody transfers
  • Bidirectional relationships (items can be split, merged, or grouped)
  • Audit-ready documentation for authentication

Time-Travel Queries

  • Full audit trail with field-level change tracking
  • Reconstruct any item's state at any point in history
  • Required for insurance claims and legal disputes

Flexible Schema Design

  • Type-specific metadata (guitars have pickups, costumes have materials)
  • JSON-based custom fields without schema migrations
  • Searchable across all field types

Multi-Location Asset Tracking

  • Items move between facilities, storage units, exhibitions
  • Movement history with timestamps and handlers
  • Storage cost modeling: volume x rate per location

Technical Decisions

  • Complex relationships: Prisma with explicit junction tables, not implicit many-to-many
  • Audit trail: Trigger-based change capture to separate history table
  • Full-text search: PostgreSQL tsvector with GIN indexes across JSON fields
  • Auth: NextAuth with magic links (estates have non-technical users)

What's Working

  • Core cataloging with rich metadata
  • Provenance documentation with ownership chains
  • Condition tracking with photo evidence
  • Multi-facility location management
  • Complete audit trail with time-travel reconstruction

What's Next

  • Valuation management with auction house integration
  • Public portal for estates/museums
  • AI-assisted cataloging from photos (planned)

Why This Matters for Clients

OnceHeld demonstrates my approach to complex domain problems:

  • Deep domain modeling: Not every problem is CRUD - some need careful entity design
  • Enterprise patterns: Audit trails, role-based access, multi-tenancy
  • Technical pragmatism: PostgreSQL full-text search over Elasticsearch complexity

Building a platform with complex domain requirements? Let's talk.

Visit OnceHeld

Ready to Build Your Next Project?

Let's discuss how I can help you build and scale your startup with the same proven approach.