Election Management Platform
- Client project
- Full-stack
- On-premise
- Solo built
A full-stack, on-premise platform for administering delegate-based elections from setup through voting to finalized, anonymized results. Designed and built solo on a three-tier, domain-driven architecture.
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
Web clients, API, and database — clean, domain-driven backend with business rules isolated from the framework layer.
Role-based access control
Fine-grained, per-user permission model — multiple roles per user with individual grant/deny overrides independent of role.
Secure voting workflow
Transactional integrity enforced at every stage — votes are either fully recorded or fully rolled back. Full audit logging throughout.
Reporting & analytics
Live election monitoring dashboard, exportable reports, and printable views — all generated from the same data layer.
Offline-first deployment
Dockerized for on-premise, air-gapped environments — timezone-aware throughout the stack, with health checks and structured logging.
Skills demonstrated
What this build exercised end to end
- Full-stack development (NestJS + Next.js + TypeScript)
- Relational DB design & ORM (PostgreSQL + TypeORM)
- Clean / layered architecture & domain-driven design
- Authentication, authorization & RBAC
- Transactional integrity & audit logging
- Containerized, offline-capable deployment (Docker)
Tech stack
Each tool and the job it does here
NestJS
Next.js · React
TypeScript
PostgreSQL · TypeORM
Docker
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.