Track every contract deadline, run each grievance clean from intake to arbitration, and hold management accountable for their clock. As your local grows, the same system grows with you: steward coverage, member tracking, wins, meetings, documents, and the bargaining table.
What we're building
It all stems from casework. Run a grievance start to finish (intake, every deadline, the hearing, the outcome) but the work doesn't end at the decision. A loss becomes a note for the next bargaining cycle. A win becomes precedent worth remembering. And the next steward needs the past practice and contract language that won it, which means someone has to have kept it. Zero Friction keeps that thread: from the grievance in front of you to the contract you're building toward.
A member-facing submission form that triages issues by type before a steward ever sees them. Questions adapt to the issue: grievance, question, or assistance request.
How it works ▾A member submits an issue online. The intake form asks type-specific questions, assigns urgency, and drops it into the steward's inbox, triaged, not raw.
In practiceA member reports mandatory overtime with no notice → lands in the inbox flagged as a potential grievance, with the relevant contract article pre-populated.
File the grievance, cite the contract clause, attach the evidence, assign the task, set the deadline, all without leaving the case. No bouncing between spreadsheets, email, shared drives, and group texts.
How it works ▾Every tool the case needs lives inside the case, contract search, document upload, task assignment, the deadline calculator, member lookup. Each surfaces only when the case calls for it, so the screen stays focused, not crowded, and the work happens where you are, not across five tabs and three programs.
In practiceMid-grievance you need the contract language, the prior MOU, and a follow-up assigned → all done inline, on the same screen, in under a minute.
Pull case history, evidence, and timeline into a formatted packet, ready to send.
How it works ▾When a grievance advances, one action assembles the full record, timeline, statements, evidence, every step denial, into a formatted, paginated packet with an exhibit index, ready to send to the arbitrator.
In practiceGR-2026-0142 → a clean, exhibit-indexed packet built from the case file in under a minute.
Every action, date, and document captured in an immutable timeline, a defensible record if a grievance reaches arbitration.
How it works ▾Every action, date, edit, and uploaded document is written to an immutable timeline as it happens. No reconstructing the file months later, the defensible chain of custody is already there.
In practiceA grievance reaches arbitration → export a complete, timestamped record of who did what, and when, on demand.
Your contract defines the workflow. Set your filing windows, step names, module toggles, and contract terminology once, and everything else speaks your agreement, not a generic template.
How it works ▾Enter your Step 1 window, Step 2 window, and arbitration demand deadline from your contract. The deadline engine, alert rules, and arbitration packet generation all derive from those values. Nothing is hard-coded to someone else's CBA.
In practiceYour contract has a 10-day Step 1 window, not 14 → set it once → every grievance clock is correct from day one.
Grievance timelines tracked in real time, the deadlines defined by your contract, not ours. Alerts fire before windows close, not after.
How it works ▾Log the triggering event once. The engine reads your contract's filing window, back-calculates every downstream deadline, Step 1, the employer's answer, each appeal, the arbitration demand, and starts the clock. Reminders fire days before a window closes, never after.
In practiceDiscipline issued Jun 14 → Step 1 due Jun 28 → employer answer due Jul 19, all dated from your CBA, with a 3-day heads-up on each.
Step-by-step compliance guidance baked into the case flow, not bolted on afterward.
How it works ▾Open a discipline case and the right pre-discipline checklist loads inside the case flow, Loudermill notice, Weingarten representation, Garrity warning. Each step is prompted in order so nothing protective gets skipped under pressure.
In practiceInvestigatory interview flagged → the Weingarten script surfaces before the member walks in, not in the post-mortem.
The statutes that govern your shop, state law and public-versus-private rules, are layered on top of your contract, so compliance reflects the ground you actually stand on.
How it works ▾Set your state and sector once. The system layers the rules that apply, public-sector due process, veterans' preference statutes, state labor codes, on top of your CBA, so prompts and deadlines reflect the law you operate under, not a generic national template.
In practiceA Michigan public employer disciplines a veteran → the Veterans' Preference Act protections surface in the case flow before any step is taken, not after a procedural challenge undoes the discipline.
Your full contract text, searchable, with your own highlights. Form drafts generated inline when you need to file. The language is there when it's quoted.
How it works ▾Search the contract by keyword mid-case. Highlight the clause you're arguing. Generate the grievance form pre-populated with that language, without navigating away from the case.
In practiceMid-grievance on a scheduling dispute → search "days off" → the relevant article surfaces → generate the Step 1 form with the article pre-cited.
Case files, MOUs, evidence, and uploaded documents, organized by case and searchable. No more hunting through email for the attachment that proves the point.
How it works ▾Upload evidence directly to a grievance. Attach an MOU to the case it resolved. Every document lives where it belongs: searchable, version-tracked, and included automatically in the arbitration packet.
In practiceManagement claims they sent notice → find the uploaded email thread on the case in seconds, timestamped.
Membership meetings, officer check-ins, and committee syncs, each with a working agenda. Action items become tracked tasks the moment they're agreed.
How it works ▾Build the agenda before the meeting. During the meeting, flag action items. After the meeting, every flagged item becomes a task in the tracker: assigned, dated, and owned.
In practiceA membership meeting raises a scheduling grievance → flagged as an action item during the meeting → drops into the grievance desk as a new intake by the time the meeting ends.
A live directory of who's covered, who's organizing, and who needs a conversation, with coverage gaps surfaced, not buried.
How it works ▾A live directory of who's covered, who's organizing, and who still needs a conversation, with coverage gaps and unassigned members surfaced instead of buried in a spreadsheet.
In practiceA new hire on nights → flagged as uncovered until a steward is assigned, so no one slips through.
Every loss, weak clause, and recurring problem gets remembered the moment it stings, so when the next contract opens, half the prep is already done.
How it works ▾Flag a grievance outcome as a bargaining issue right when it happens, a loss that exposed weak language, a problem the contract never covered. Each one lands in a running bargaining file, tied to the case that proves it. Three years later that file is the proposal list, built as you went, not reconstructed from memory.
In practiceContract talks open → instead of hunting through the five paper and electronic notepads everyone swears they kept, you open a bargaining file already stocked with documented, case-backed proposals.
Map your structure, stewards, building captains, and the escalation ladder, so an action reaches every member in hours, not weeks.
How it works ▾Map the real structure, stewards, building captains, and the escalation ladder beneath them, so a call to action flows through people, not a mass email, and reaches every member fast.
In practiceA short-notice action → routed down the ladder so every member hears it from someone they know in hours, not weeks.
Run the contract campaign like a campaign, proposals, sessions, and every ask on the table tracked from open to ratification.
How it works ▾Run contract negotiations like the campaign they are, track every proposal and counter, log each session, and watch the whole table move from opening offer to tentative agreement to ratification.
In practiceA reopener on staffing → its proposals, counters, and status sit in one place the whole committee can see.
Every grievance won, MOU signed, and dollar recovered, visible to the membership. Organizing runs on momentum.
How it works ▾Every grievance won, MOU signed, and dollar recovered is logged and surfaced to the membership, turning quiet casework into visible proof the union delivers.
In practiceA reinstatement with back pay → posted to the board as momentum the next organizing conversation can point to.
The part most tools skip
Every commitment cuts both ways. Zero Friction tracks what management owes the union, answers, documents, meetings, money, right beside what the union owes them. When their clock runs out, it's documented, dated, and ready for the table.
See it in action
A working platform you can click through. Every contract deadline calculated from your CBA, the filing-window alerts that fire before a clock runs out, and management's obligations tracked right beside the union's.
A real screen from the working app, the grievance desk in flight, every deadline calculated from the local's contract.
Why it works where spreadsheets don't
Deadline windows, step names, contract terminology, which modules are even switched on, all set to your agreement. Nothing hard-coded to someone else's.
Grievance deadlines and organizing actions land in the same place, assigned to the same people. Nothing tracked twice. Nothing forgotten because it lived in two systems.
Full contract text, searchable, with your own highlights, and form drafts generated inline the moment you need to file. The language is right there when it's quoted.
Union-rooted, not union-only. Every client runs its own isolated instance, same engine, configured to the role.
The full casework-and-organizing suite, end to end.
The casework, compliance, and audit side, configured to the role.
One workspace to run compliance across all their clients.
Also serving state federations & councils and HR vendors & consultants.
Separate, isolated tenants. Nothing is shared across the table, and no data crosses between tenants.
"I built this because I needed it. As a union officer managing grievances for professional employees at a large academic medical center, I was running critical compliance workflows on spreadsheets and sticky notes. Nobody had built this from the inside."
Alexandra Tiefel, PA-C
Founder, Zero Friction Software · Clinician, union officer, builder.
Built with & grounded in
Where we are
Michigan LLC (2026), EIN issued, and registered on SAM.gov. The business is real, formed, and operating.
Provisional patent filed with the USPTO, patent pending, and the work registered with the U.S. Copyright Office.
Accepted. HIPAA-eligible Azure infrastructure provisioned.
Founder is an active PA-C and Chief Steward who tracked hundreds of contract deadlines by hand. This is the problem, lived, not researched.
Casework and organizing in one platform: grievances, deadline accountability, member intake, meetings and agendas, documents and files, bargaining campaign, wins board, contract action team, members and stewards, reference library, and CBA configuration. Not a mockup. A working product.
Design partners coming on now to shape the rollout against real casework.
Waitlist members get first access at pilot pricing before public launch.
Full platform launch, with per-local configuration so your contract, not ours, defines the workflow.
We're in early development. Join the waitlist for early access and pilot pricing.