DEV Community

Call Flow
Call Flow

Posted on

Why "Small" Product Decisions Matter Most in High-Conflict Software

Building software for co-parents isn't just about CRUD operations or calendar logic. It is about navigating the delicate, often stressful interface of two lives that have been untethered but remain linked by a child.

When I started building CustodyTrac.com, the goal wasn't just to make a tool that "worked." The goal was to build a tool that de-escalated tension. As developers, we often focus on the "Happy Path"—the user flow where everything goes right. In co-parenting, you have to architect for the "Friction Path."

By listening to parents, mediators, and attorneys, I learned that the most significant impact comes from small, intentional product decisions that respect both parties equally.

Neutrality as a Feature

One of the first things I learned is that "power imbalances" in an app lead to resentment. If one parent feels like a "guest" in the other parent’s account, the tool becomes a weapon rather than a bridge.

We made a conscious decision to ensure that every feature—from the shared expense tracking with custom split percentages to the secure message center—is fundamentally neutral. Neither parent "owns" the data in a way that allows them to alter the history. Our communication logs are tamper-evident; once a message is sent or a handoff is logged, it is a permanent part of the record. This isn't just about data integrity; it's about providing a psychological "safe zone" where neither party has to worry about the other "gaslighting" the record.

Automating the Arguments

Most conflict arises from the "gray areas" of a decree. "Whose turn is it for Thanksgiving this year?" or "Who pays for the soccer cleats?"

We built holiday rotation logic that goes beyond simple recurring events. By implementing rules for alternating years and nth-weekday logic (e.g., the 3rd Sunday of June), we take the "interpretation" out of the equation. If the app says it is Parent A’s year, it’s not an opinion—it’s the logic both parties agreed to at setup.

Similarly, our expense tracker doesn't just record a number. It allows parents to upload a receipt to the Child Document Vault and automatically calculates the split based on their specific court order. By automating the math, we remove the need for a "hey, you owe me $42.50" text message, which is often the spark for a larger argument.

Building for the Legal Stakeholders

A recurring pain point I heard from parents was the stress of "legal prep." They would spend dozens of hours combing through text messages and bank statements before a mediation session.

To solve this, we built read-only attorney and mediator share links. Instead of a parent having to play "middleman" and filter information—which can look biased—they can simply provide a secure link to their legal counsel. This allows the professionals to see the handoff logs, the expense history, and the calendar in real-time. It respects the parent's time and the attorney's need for objective data.

// A simplified look at how we handle neutral permissions
const canEditRecord = (user, record) => {
  // If the record is a finalized log or message, nobody edits it.
  if (record.isLocked) return false;

  // Ownership doesn't grant 'delete' rights on shared history
  return record.createdBy === user.id && !record.isSharedWithCoParent;
};
Enter fullscreen mode Exit fullscreen mode

The "Free Forever" Philosophy

The final decision I made based on feedback was the price: $0.

High-conflict situations are often exacerbated by financial strain. I didn't want a parent to be unable to communicate with their co-parent because they couldn't afford a $15/month subscription. CustodyTrac.com is free on purpose because access to a peaceful co-parenting environment shouldn't be a premium feature.

By listening to the community, we’ve built a suite that includes chore tracking, daily digest emails, and a secure document vault—all designed to lower the temperature of the household.

Try it free → https://custodytrac.com

For the devs and founders here: Have you ever had to pivot a feature not because of a bug, but because you realized it inadvertently created "friction" between your users? I'd love to hear your stories in the comments.

Top comments (0)