An OCD App Can Become a Compulsion - Here Is How That Changed Patterns
An OCD app can become a compulsion. A tool meant to help someone notice a pattern can quietly become the place they check whether they are recovering correctly, recorded the thought perfectly, or feel better yet. Once I saw that risk, the central design question for Patterns changed from "what can this app track?" to "how can it be useful and then let someone leave?"
I did not arrive at that question through a product workshop. I arrived at it because I have OCD, and I know how quickly a useful action can acquire rules.
Tracking can turn into checking
My psychologist asked me to track obsessions, compulsions, and distress. The request made sense. By the time I reached the next appointment, I had usually forgotten the detail that would have made the week understandable.
Writing things down helped me see the OCD loop: a trigger, distress, a response, temporary relief, then the same doubt returning. That is still the reason tracking exists in Patterns.
But there is another version of the same behavior. I can log the thought, reread the entry, adjust the category, reconsider whether the distress was a six or a seven, and return later to confirm that I described it accurately. The journal has stopped being a record. It has become a checking surface.
The difference is not visible in the button I pressed. It is in what I am asking the action to do. Am I capturing something useful, or am I trying to obtain the feeling that the event has been recorded correctly enough to stop worrying?
Software cannot answer that question for someone. It can avoid making the second path more attractive.
Precision is not always kindness
Product design usually rewards completeness. Fill every field. Keep the streak alive. Resolve every warning. Watch the progress ring reach one hundred percent.
That grammar is risky in an OCD app. If an entry feels unfinished until every field is filled, the interface has created a new completion ritual. If a missed day is treated as failure, the app has turned recovery into a fragile sequence that one difficult afternoon can break. If every action receives a celebratory score, the score can become a verdict that needs checking.
Patterns still contains numbers. Distress ratings can help make an experience legible. Trends can show a wider view than one bad day. Practice streaks can acknowledge that someone returned to difficult work. Removing every measurement would not remove OCD’s ability to recruit a tool.
The design responsibility is to keep the numbers in their place. A distress rating is an estimate, not an answer. A trend is context, not a diagnosis. A streak records practice; it does not decide whether the practice counted. Nothing important should be erased because someone missed a day.
I want the app to tolerate rough entries because recovery is already full of uncertainty. Two words can be enough. The category can be imperfect. A day can go unrecorded. The record exists to serve the person, not the other way round.
One next step instead of a wall of tools
There is a temptation when building an app to show everything it can do. More cards make the product look substantial. More prompts create more activity. More activity creates better-looking graphs.
That is not necessarily the experience someone needs while distressed.
Patterns now tries to make the next useful action clearer instead of presenting recovery as a dashboard that must be managed. A person might need to note a compulsion, begin an exposure they already planned, or put a few minutes between an urge and a ritual. They probably do not need six competing suggestions and a demand to optimize the afternoon.
This is also why I think about completion screens carefully. Finishing an exercise should create a quiet moment to notice what happened. It should not immediately manufacture another task so the app can keep the session alive.
The goal is not engagement for its own sake. The best outcome may be that someone records what mattered, chooses a different response, closes Patterns, and returns to the rest of their life.
Reminders have to be invited
OCD already knows how to send notifications. It can interrupt dinner, work, sleep, or a conversation with something that suddenly feels urgent.
I did not want Patterns competing in that economy of interruption. The daily reminder is optional and off until someone chooses it. Notification permission is requested in context, after the person asks to set a time, and the reminder can be turned off again in Settings.
That sounds like a small implementation detail. To me it is part of the product’s posture. The app should not behave as if opening it is always the healthiest next action. Sometimes responding to OCD means declining to check anything, including the recovery app.
Reassurance is the feature I do not want to build
Many requests in mental health software can be translated into a desire for certainty: tell me what this thought means, confirm that I am safe, show me that I did the exposure properly, promise that the anxiety will fall.
I understand the appeal because I have made versions of those requests myself. Reassurance works. It produces real relief. The problem is how briefly it works and what the relief teaches the loop.
Patterns is not meant to interpret an intrusive thought or rule on whether a fear is reasonable. It does not diagnose OCD, choose treatment, or promise that an exercise was correct. Those are not omissions waiting for a clever enough feature. They are boundaries.
The tools are aimed at the response instead: notice what happened, identify the compulsion, delay the urge, structure an exposure, or reflect on what you learned. That is less comforting than a certainty machine. It is also closer to the work that helped me.
Privacy changes how honestly a tool can be used
Compulsive design is not only about screens and prompts. It is also about the relationship the app asks someone to have with it.
Patterns has no account and keeps personal OCD records on the device. Optional anonymous product analytics do not include journal entries, intrusive thoughts, compulsions, exposure details, or distress descriptions. I cannot build a profile from the private material because I do not receive it.
That limit makes product development less convenient. It also means the app does not need someone to hand over their most frightening thoughts in exchange for a useful chart. For this kind of journal, privacy is part of whether the tool can be used honestly, not a setting added later.
The rule I keep returning to
I cannot make an app that OCD will never recruit. OCD is inventive. A person can turn a timer, a notebook, a breathing exercise, or a sentence from therapy into a ritual.
What I can do is avoid rewarding endless checking, avoid pretending every number is meaningful, keep reminders under the person’s control, and make it possible to leave an entry incomplete. I can be explicit that Patterns is a self-management and between-session support tool, not a clinician or a source of certainty.
The rule is simple to say and difficult to design around: Patterns should help someone make one more choice outside the loop, then get out of the way.
That is the kind of app I needed. It is also the standard I want the app I build to survive.
Track the loop in a place that stays private
Patterns is a free OCD journal and ERP companion. No account, no cloud sync, and your journal and OCD records stay on your device.
Get Patterns for mobile