Taking HOA and COA Elections Off Paper - Without Losing Legal Validity

Taking HOA and COA Elections Off Paper - Without Losing Legal Validity

Taking HOA and COA Elections Off Paper - Without Losing Legal Validity

3 mobile phones displaying ICL's app screens
  • Web App

    Web App

  • Design System

    Design System

  • Handoff

    Handoff

  • Responsive Design

    Responsive Design

  • MY ROLE

    Lead Product Designer

  • DELIVERABLES

    Wireframes

    High Fidelity Screens

    Responsive Design

    Design System

    Prototype — Interaction Design

    Handoff Documentation

  • TEAM

    Accurate Voting Services

    Project Manager

    Front-end & Back-end Developers

    QA

  • YEAR

    2024

What Was the Problem?

Accurate Voting Services (AVS) runs elections for Homeowners and Condominium Owners Associations — votes on board seats, special assessments, and amendments that are legally binding under state law. The entire operation ran on paper, and that created problems on both sides of the election:

  • It didn't scale. Every election meant printing, mailing, collecting, and hand-counting hundreds of ballots across dozens of associations.

  • Counting was error-prone. Cumulative voting, weighted by how many units an owner holds, is easy to miscount by hand — and a miscount can invalidate an entire election.

  • There was no visibility until the end. Administrators only knew whether quorum was reached once the envelopes were opened, too late to send reminders.

  • Owners had to be reachable by mail. Anyone away from the property effectively lost their vote.

ICL's screen displaying main dashboard

The Challenge

The hard part was never the interface — it was that a ballot is a legal instrument. Its wording, structure, and counting rules are defined by statute and by each association's governing documents, so the platform couldn't simplify any of it. It had to reproduce it exactly, for administrators with no technical background and owners across a wide range of digital comfort.

Two constraints shaped almost every decision: secrecy and accountability had to coexist — the system records that someone voted, never how — and paper doesn't disappear, so mail-in ballots had to enter the same election without breaking the anonymity of the results.

Building a Ballot That Matches the Law

Every association votes differently, so a fixed template was never an option. I designed a ballot builder where administrators compose a ballot measure by measure, choosing the rule each one legally requires: multiple select with a vote cap, select one, text answer, cumulative voting weighted by unit count, and abstention.

The complexity lives in the setup, not in the voting — the system handles the multiplication by units and enforces the limits on the voter's side. Ballots can be saved as drafts, reused as templates, previewed, and exported as PDF for board approval before publishing.

The exported ballot isn't a screenshot of the digital one — print has different constraints, so I built a separate set of text styles sized in points and scaled for the page, alongside the screen styles used across the platform.

ICL's screen displaying main dashboard

A Voting Experience That Reads Like the Legal Document It Is

I deliberately chose not to "app-ify" the ballot. Owners are used to receiving a formal document, and the digital version had to feel equally official to be trusted — so it keeps the structure, hierarchy, and language of the paper original.

Access is minimal: no account, no password. The owner receives a passcode by email, confirms the units they vote on behalf of, and votes. Vote limits are enforced live with a running counter, so a ballot can never be submitted in an invalid state, and a confirmation step summarizes every selection before the vote becomes irrevocable.

Screens displaying place an order funcionality

Anonymity and Accountability at the Same Time

This was the central design problem. Administrators need to know who has voted — to chase quorum, send reminders, revoke a vote when an ownership record is wrong. They must never know how anyone voted.

I resolved it by separating the two data sets everywhere they appear: one view lists who voted, with date, time, and whether the vote came online or by mail, and nothing about their choices; another shows totals per measure with no identity attached. Both export to PDF. Mail-in entries feed the same structure — flagged as mail-in for reporting, with the choices joining the anonymous pool immediately — and revocation removes a vote without ever revealing it.

Various screens representing Order History

Getting Messy Real-World Data Into the System

An election is only as good as its voter roll, and association records arrive as spreadsheets built by dozens of different property managers — duplicated emails, owners with multiple units, missing contacts. Instead of rejecting an imperfect file, the import flow compares the CSV against existing records and shows exactly which ones conflict before anything is written.

The same principle governs destructive actions: deletions that would take an active ballot down require typing a confirmation word, and the message spells out what will be lost.

Figma main components

Creating a System — and Making It Work on Every Screen

The platform had to work on desktop, tablet, and mobile for both administrators and voters, so the component library carried a lot of weight. I built a design system covering colors, text styles, and every recurring element — buttons, text inputs in all six states, toasts, modals, tables, dropdowns, ballot measures, headers and footers — with responsive behavior defined at the component level rather than re-decided screen by screen.

Modals are the clearest example: the same component appears centered on desktop and anchored to the bottom on mobile, with different dismiss gestures on each. Defining that once meant the mobile and tablet versions could be produced consistently and fast.

Dark mode screens

Developer Handoff Documentation

So much of this product's behavior is invisible in a static screen — vote limits, anonymity rules, dismiss gestures, error states — that the handoff had to carry as much of the design as the screens. I documented the platform feature by feature, plus a general page for everything that repeats.

Each page annotates screens with front-end notes: positioning and timing for toasts, the three ways a mobile modal can be dismissed, which input state applies when, what each error responds to. Every error identified during client interviews is documented at the point where it occurs, so developers never had to guess at intent.

Handoff annotations

Conclusion

I turned a legally binding paper process into a digital platform without softening any of the rules that make it valid. Administrators do a fraction of the manual work, owners can vote from anywhere, and every ballot stays as secret and as auditable as the law requires — with a design system and documentation that let AVS keep growing the product after launch.

Disclaimer: All data, names, and figures shown in the screenshots and mockups are purely fictional and used only for illustrative purposes. They do not represent real client information.

THINK I MIGHT HELP?

GET IN TOUCH

THINK I MIGHT HELP?
GET IN TOUCH

THINK I MIGHT HELP? GET IN TOUCH

Ready for a design adventure, or need product design advice?

Ping me for fun collaboration.

Ready for a design adventure, or need product design advice? Ping me for fun collaboration.

Ready for a design adventure, or need product design advice?

Ping me for fun collaboration.