01GOVERNANCE & DATA INTEGRITY

Shareholder Voting System.

A shareholder governance platform connecting attendance, representation, and share-weighted voting.

CONTRIBUTION

Full-stack development

TYPE

Enterprise application

TECHNOLOGY
Next.jsTypeScriptPrismaMySQLTailwind CSS
Shareholder Voting System
Original Shareholder Voting System interface from Aaron’s published portfolio
Original application screenshot · published portfolioOpen full image

01 / OVERVIEW

Making every vote count.

A web application for managing shareholder meetings and the information behind a weighted vote. The system connects shareholders, representatives, attendance records, nominees, and voting results in a relational model.

My contribution

Full-stack development, bringing the interface, business workflow, and data layer together.

02 / THE BUSINESS REQUIREMENT

The problem to solve.

A shareholder vote is more than a simple tally. Attendance, representation, and share ownership all affect the result. These relationships need to remain consistent throughout a meeting and traceable after it closes.

03 / THE APPLICATION

What the system does.

Meeting lifecycle

Separate draft, open, voting-open, and closed states organize the progression of a meeting.

Attendance & representation

Track a shareholder’s attendance and connect representatives to the shareholders they represent.

Weighted voting

Associate each vote with a meeting, nominee, voter, and voting weight.

Historical snapshots

Preserve shareholder details and share values in attendance and vote records.

04 / TECHNICAL ARCHITECTURE

How the layers connect.

05 / ENGINEERING DECISIONS

Deliberate choices.

01

Model the real relationships

Representatives and representation records are distinct entities. This separates a person from the specific shareholders they represent at a meeting.

02

Keep historical context

Attendance and votes store snapshot fields instead of relying entirely on a shareholder’s current profile. Changes to the source profile can be separated from the meeting record.

03

Put uniqueness in the database

Compound constraints prevent duplicate attendance per shareholder and meeting, and duplicate votes for the same meeting, nominee, and voter.

06 / THE TECHNICAL CHALLENGE

A changing register, a stable meeting record.

Shareholder information can change over time, while a meeting needs to preserve the context in which attendance and votes were recorded.

THE APPROACH

The Prisma schema stores names and share values as snapshots on attendance and vote records, with decimal fields for share values. Meeting-level snapshots retain total shares and holder counts.

07 / THE RESULT

A connected application.

The implementation brings the core meeting entities into one application, with an explicit lifecycle and database constraints for duplicate attendance and voting records. Historical snapshots retain the context behind a meeting’s records.

About this case study’s sources

Architecture and implementation details checked against the public voting-app package manifest and Prisma schema. The image is the original screenshot from Aaron’s published portfolio.