Portfolio case study

HonorLoop: Community nomination and verified voting platform

A full-stack community nomination and verified voting platform that connects public submissions, OTP-protected voting, finalist selection, content management, media workflows, and admin operations.

Name changed to respect NDA.

Abstract community nomination and verified voting platform visual with anonymous workflow cards, voting verification, admin review, and winner announcement surfaces
Project scope

Full-stack product engineering across public website, administration console, backend API, MySQL data model, media handling, deployment, and operational hardening

3
connected product surfaces
4
nomination lifecycle states
OTP
verified voting flow
CMS
editable pages, snippets, menus, and templates

Timeline

Three-surface platform rebuild, feature modernization, and production reliability work

A community awards workflow needed stronger structure

The platform had to support public nominations, reviewed finalists, verified votes, winner announcements, content updates, and media-heavy stories without forcing administrators into manual database or deployment work.

  • Nomination, finalist, voting, and winner states needed a reliable lifecycle across public and admin surfaces
  • Vote integrity required phone verification, duplicate prevention, verified counts, and blackout behavior near the end of a cycle
  • Administrators needed high-density management tools for nominations, cycles, galleries, pages, snippets, menus, and users
  • Production uploads, image URLs, migration safety, and deployment scripts needed to protect stateful media and reduce release risk

A connected public, admin, and API platform

HonorLoop brings the public website, back-office console, backend services, relational data, media storage, and deployment workflow into one coordinated system for community recognition programs.

  • Lifecycle-aware public website that adapts between nomination and voting phases based on active cycle data
  • OTP-authenticated voting with verified vote totals, IP tracking, cycle-aware vote state, and final-days vote hiding
  • React administration console for reviewing nominations, managing cycles, editing content, and handling media galleries
  • ASP.NET Core API with service-repository separation, LinqToDB data access, MySQL storage, upload serving, and CI/CD support

Product surfaces

What the platform brought together

The work spanned core product operations, daily user workflows, data-heavy coordination, and resilient platform management.

Nomination lifecycle engine

Public submissions move through a governed review process before finalists and winners are shown to the community.

  • Public nomination form with nominee, nominator, family overview, relationship, referral, and image data
  • Status progression from submitted to approved, finalist, and winner with admin-controlled transitions
  • Cycle-based nomination windows with schedule, duration, nomination counts, and newest-first ordering

Verified voting system

The voting flow balances accessibility with fraud prevention and suspense for the end of each recognition cycle.

  • OTP verification by mobile number before votes are counted
  • Verified-vote filtering, vote percentages, IP tracking, and debug-safe test modes
  • Cycle-aware cookie state plus final-days blackout behavior for vote counts and percentages

Back-office operations console

Administrators can inspect records, update statuses, manage images, and maintain content without leaving the admin workflow.

  • Paginated nomination tables with search, status badges, vote counts, cycle context, and export support
  • Row-click detail modals, contact groups, image galleries, lightbox viewing, replacement, deletion, and primary-image selection
  • Cycle, user, page, snippet, menu, menu item, email template, app setting, and reference-data management

Media, infrastructure, and deployment

The platform protects production uploads while keeping API, admin, and public website releases repeatable.

  • Centralized upload directories, dynamic absolute image URL resolution, and primary/gallery image support
  • Automated API migration on startup, server-side error logging, forwarded-header handling, and static upload serving
  • Woodpecker CI and PM2 deployment workflows with stateful directories excluded from destructive sync steps

Buyer priorities

What mattered most to the people evaluating the platform

Prospective buyers want to know whether the work solved real workflow, adoption, reliability, data, and operations problems. These priorities shaped the product decisions.

Public trust

A nomination and voting platform has to feel transparent, fair, and easy for community members who may only interact with it once.

  • Clear nomination, finalist, voting, and winner phases reduced confusion
  • OTP verification and verified vote counts strengthened confidence in the voting flow
  • Final-days vote hiding preserved suspense without changing the underlying vote workflow

Admin speed

Program teams needed to manage high-volume submissions, images, content, and cycles without manual database work.

  • Searchable nomination tables and detail modals improved review speed
  • Status controls let administrators move submissions through the lifecycle
  • CMS-style tools kept public content updates inside the admin workflow

Launch reliability

The platform needed safer releases because public campaigns depend on timing, content accuracy, and uploaded media staying intact.

  • Stateful uploads were protected during deployments
  • Server-side logging and migration checks improved operational visibility
  • Dynamic image URL handling kept public and admin surfaces aligned

System model

How the platform connects roles, workflows, and product surfaces

The product architecture brings every role into the same operating model, with shared data moving cleanly between web, mobile, media, and notification layers.

Four states, one lifecycle

Submitted nominations move through approval, finalist selection, verified voting, and winner publication.

Three operating surfaces

The public website, admin console, and backend API share cycle data, nomination records, media, CMS content, and voting rules.

Community roles and controls

Nominators, voters, administrators, and program managers interact with the same records through role-appropriate workflows.

Technology

The Stack We Used And Why

The stack section is written for buyers who need to understand the product architecture, operational trade-offs, and long-term maintainability of the system.

Public website

Used for the public-facing nomination, finalist, voting, and winner experience where speed, SEO, and content flexibility matter.

Next.js 15ReactTurbopackDynamic importsCMS-driven content

Admin console

Used for high-density management workflows where teams review nominations, manage cycles, update content, and handle media.

React 19Viteshadcn/uiTailwind CSSreact-hook-form

Backend API

Used to centralize authentication, nomination lifecycle logic, vote verification, uploads, CMS data, and admin operations.

.NET Core 8ASP.NET Web APIJWTElmahCoreService-repository pattern

Data and media

Used for structured records, exports, nomination images, gallery assets, and lifecycle state that must remain auditable.

MySQLLinqToDBCSV exportExcel exportStructured uploads

Infrastructure

Used to keep deployment repeatable while protecting uploads and production state during active campaign cycles.

Woodpecker CIPM2SSH deploysMySQL tuningSlow-query logging

Why Next.js For The Public Site

The public experience needed fast page loads, search visibility, dynamic campaign states, and content-driven pages.

  • Next.js supports SEO-friendly public pages for campaigns, finalists, voting, and winners
  • Dynamic rendering patterns let the page adapt to active cycles and lifecycle states
  • CMS-backed content keeps marketing and program updates out of code-only workflows

Why A Typed API Layer

Voting, nomination review, media, and CMS operations need stronger boundaries than a thin database wrapper.

  • ASP.NET Core services kept business rules centralized
  • JWT authentication separated public and administrative permissions
  • Repository patterns made lifecycle and media operations easier to maintain

Why MySQL And Structured Uploads

The product had relational lifecycle data plus media-heavy nomination records that needed a predictable operational model.

  • MySQL fit cycles, nominations, votes, users, settings, and CMS relationships
  • Structured uploads supported primary images and galleries without hiding files in opaque blobs
  • Export paths gave administrators practical reporting and review options

Delivery

How the product came together

The work moved from domain modeling to core platform delivery, mobile adoption, and operational hardening.

1

Model the recognition program

Clarify how cycles, nominations, finalist states, winners, vote verification, media, and editable content should interact.

2

Build the API foundation

Create typed backend services, repositories, authentication, upload handling, CMS entities, and database-backed cycle logic.

3

Ship public and admin workflows

Connect the public nomination/voting journey with the back-office tools needed to review, manage, and publish each cycle.

4

Harden production operations

Improve deployment, stateful upload protection, logging, image URL resolution, export paths, and performance-sensitive queries.

Operational depth

What made the platform usable after launch

The strongest case studies are not only feature lists. They show how the system is operated, monitored, governed, and improved when real users depend on it.

Campaign lifecycle management

Administrators can operate each recognition cycle from submission intake through finalist review, voting, and winner publication.

  • Cycle scheduling and lifecycle state controls
  • Status-driven nomination workflows
  • Winner, finalist, and public visibility management

Content and media control

The system lets program teams update the public experience without relying on developers for every content change.

  • Editable pages, snippets, menus, email templates, and settings
  • Image galleries with replacement, deletion, and primary-image workflows
  • Dynamic URL handling for public and admin media surfaces

Deployment safety

Production operations were hardened around the parts that most often break public campaign platforms: uploads, migrations, and release scripts.

  • Stateful directories excluded from destructive sync steps
  • Automated migration behavior and server-side error logging
  • Slow-query logging and MySQL tuning for performance-sensitive workflows

Results

The measurable and observable lift from the work

The strongest improvements are the ones a buyer can connect to daily work: fewer disconnected tools, safer operations, clearer workflows, and more reliable product behavior.

4 states

Lifecycle Clarity

Submitted, approved, finalist, and winner states gave teams a clearer operating model for every nomination.

OTP

Verified Voting

Phone verification and verified-count filtering improved vote integrity compared with open, unauthenticated voting.

CMS

Faster Content Updates

Pages, snippets, menus, templates, and settings became admin-managed rather than developer-only updates.

Protected

Safer Releases

Upload directories and stateful media were protected during deployment, reducing operational risk for active campaigns.

Outcome

A stronger operating system for community nomination and voting platform

The platform reduced tool fragmentation and gave each role a clearer path from live activity to day-to-day action.

A clearer end-to-end recognition workflow from public nomination intake to verified voting and winner publication

Administrative tools that reduce manual intervention across nominations, cycles, media galleries, content, settings, and users

Vote integrity safeguards through OTP verification, verified-count filtering, cycle-aware UI state, and final-days blackout rules

A production foundation that protects uploaded media, improves deployment repeatability, and keeps the public and admin surfaces aligned

FAQ

Frequently Asked Questions About HonorLoop

Answers about the community nomination and voting platform scope, platform model, technology choices, operational workflows, and related build patterns.

What Kind Of Platform Does HonorLoop Represent?

HonorLoop represents a public nomination and verified voting platform with campaign lifecycle management, public pages, admin review tools, CMS controls, media workflows, and deployment hardening.

Why Does A Voting Platform Need Custom Software?

Custom software becomes valuable when the program needs controlled nomination states, verified voting, image workflows, cycle rules, content editing, and administrative reporting in one governed system.

How Did The Platform Improve Operations Over Time?

The system moved key workflows from manual intervention into admin-managed tools, including nomination review, cycle setup, media handling, content updates, exports, and deployment-safe upload handling.

Can The Same Pattern Work For Awards, Grants, Or Community Programs?

Yes. The same architecture can support awards, nominations, grants, contests, recognition programs, and other public-submission workflows that need review, verification, publishing, and administration.

Related services

Build a similarly ambitious product without starting from a blank page.

We can help scope the web, mobile, AI, media, and operating layers needed for your own platform.

Start a project inquiry