Members Information System
- Client project
- Full-stack
- On-premise
- Solo built
The cooperative's core system of record — member and account data that almost every other workflow depends on — rebuilt from a years-old, heavily patched desktop application into a modern three-tier web platform. Diagnosed the real performance problem, kept the business rules that worked, and migrated the data and the users across, solo.
Client project — implementation details confidential
Internal workflows, data models, and system-specific flows are omitted out of respect for client confidentiality. Happy to walk through the architecture and approach on a call.
What I built
The capabilities behind the platform
Three-tier architecture
Next.js client, NestJS API enforcing every business rule, and a relational database as the single source of truth — domain logic in dedicated policies and use cases, not controllers.
Member & account system of record
Central member and account master data, status and history tracking, and the lookups the rest of the cooperative's systems build on.
Performance diagnosis, not rewrite-for-its-own-sake
Traced the legacy slowness to missing database indexes rather than the queries themselves — search went from seconds to instant while the proven logic was preserved.
Legacy data migration
Import pipelines around the old system's exports — field mapping, record validation, and mismatch reconciliation before anything touched the new database.
Safe-by-default writes
Transactional integrity on every write that matters, audit logging on anything sensitive, and soft-deletes throughout so a mistake is always recoverable.
Offline-first deployment
Dockerized for on-premise, low-connectivity environments — Nginx reverse proxy, health checks, and its own private-cloud server.
Skills demonstrated
What this build exercised end to end
- Legacy system analysis & domain reverse-engineering
- Full-stack development (NestJS + Next.js + TypeScript)
- Relational DB design, indexing & query performance
- Data migration & reconciliation pipelines
- Clean / layered architecture & domain-driven design
- Transactional integrity, audit logging & soft-delete
- Containerized, offline-capable deployment (Docker, Nginx)
Tech stack
Each tool and the job it does here
NestJS
Next.js · React
TypeScript
PostgreSQL · TypeORM
Docker · Nginx
CI/CD & deployment
Release-driven · Registry-based · On-premise
- 01
Tag a GitHub Release
Triggers the pipeline automatically
- 02
GitHub Actions
Build web + server Docker images via multi-stage builds → slim, runtime-only images
- 03
Push to Docker Hub
Versioned, immutable image tags → reproducible deploys and easy rollback
- 04
On-prem server
docker compose pull → up -d, behind Nginx
Let's work together
Have a product to build?
I'm available for full-time roles and select contract work. Tell me what you're building and I'll get back within a day.