HCI/D Capstone · 2026 · Solo · React Native · 4 months

Off-Hand

A system that wraps Instagram with three quiet moments — one before, one during, one after. None of them block. All of them ask.

Working iOS app8 interviews2 directions discarded3 design guidelines
01 · The Problem

Eight people tried to scroll less. None of them stuck. All of them wanted to.

Every screen-time app assumes you don't want to stop, so it takes Instagram away. But the people who install these apps already want to scroll less. They're losing the fight inside their own thumb. So I asked eight of them why their tools failed.

"Every time I saw 'access denied,' I felt like I was being punished by a tool I voluntarily installed."

P3 · 24 · STUDENT
6/8 disabled their blocker for one task and never re-enabled it  ·  8/8 described the cycle as personal failure  ·  5/8 raised bedtime scrolling unprompted
02 · The Research

The failure isn't motivation. It's design.

Three patterns surfaced in every single conversation. Tap any of them for the evidence.

Users open Instagram for one task, get pulled into Reels, and surface forty minutes later remembering nothing. The hand keeps moving while the mind goes elsewhere. They don't lose minutes. They lose themselves.

All-or-nothing blockers break the moment a real need appears: a DM, a search, an event. Six of eight participants disabled their blocker for one task and never turned it back on. The blocker isn't fighting your weakness. It's fighting your life.

Two early concepts fell apart for the same reason: feature-level blocking still felt controlling, and a physical phone charm was too easy to bypass. Tell a person no and watch them get clever. Ask them a question and they have to answer it.

03 · The Reframe

From blocking to reflection. The user already wants to scroll less — they just need a moment to remember.

Motivation doesn't disappear mid-session; it gets out-paced by attention-capture patterns that move faster than conscious thought. A blocker substitutes force for that motivation, which is why users fight it. A reflection slows the user back down to the speed of their own decision-making, where the motivation is already waiting.

Guideline 1

Reflection, not restriction.

Every intervention is dismissible in one tap. Nothing is ever blocked. The system works with the user's intent to stop, not against their access.

Guideline 2

Reference the user's own intention.

Mirrors what the user said they wanted, never an external rule. The authority sits with the user, not the tool.

Guideline 3

Make the gesture match the decision.

Reflex gestures produce reflex outcomes. Every meaningful choice is bound to a gesture slow enough for the conscious mind to catch up to the thumb.

Discarded × 2

What the filter set aside.

Feature-level blocking: still a blocker, just granular; users disagreed on which feature was the problem anyway. A physical phone charm: first instinct was to detach it. Still nagging from outside, not surfacing the user's own intention.

04 · The System

One before, one during, one after. None of them block. All of them ask.

Before · The Doorway

Set your reason before you go in.

Three story-style cards between the tap and the feed: the receipt of your last session, something more worth reading, and a slider asking what you came for. Twenty seconds.

▶ Playing on the phone
During · The Check-in

Hold the orb if you mean it.

Mid-scroll, the screen dims. Your own stated intent surfaces above a gray orb. Hold three seconds to stay: haptics ramp, gray warms to green. Tap and walk, and you're out.

▶ Watch this moment
After · The Receipt

How was your session?

One last screen: a four-stop slider with no neutral middle. Your answer becomes the HOW IT WENT on the next session's receipt, a ledger only you read, in your own voice.

▶ Watch this moment
The Doorway · Before
The differentiator

A tap is reflex. A hold is intention.

Most existing tools have a moment that looks like this: "You've used Instagram for 30 minutes. Continue." The user taps continue and the thumb learns the path within a few sessions. The reflection never happens. The hold makes the staying path slow enough that the choice gets made consciously.

TAPINSTANT · THE THUMB DECIDES
HOLD3 SECONDS · YOU DECIDE
Try it · The Check-in
"You said you'd browse. How's it going?"
Hold the orb for 3 seconds — actually try it
05 · The Build

A working iOS app, not a Figma walkthrough.

Off-Hand runs in React Native, tested through Expo Go on a real iPhone: home screen with the current orb state, an Archive of every receipt, Settings, and a Demo mode where tapping a fake Instagram icon fires the real Doorway, the closest a wrapper can get on a platform that doesn't allow interception.

Platform constraint

What it isn't: real Instagram is sandboxed.

iOS prevents apps from drawing on top of other apps. A real version would use the Screen Time API to fire the Doorway when Instagram launches and re-shield mid-session for the Check-in.

Open question

Habituation isn't proven.

Guideline 3 is the bet that a three-second hold is hard to make reflexive. Whether it actually slows the ignoring curve requires longitudinal study I haven't done.

Scope

Tested on Instagram only.

The model should generalize to TikTok, YouTube Shorts, X, but each has its own surface inventory that would need designing into.

06 · What I Learned

Restraint is the work.

My instinct, repeatedly, was to add: more features, more data, more rules. The final concept is smaller than any of my early sketches and it's better because of that. Good design more often means less, placed better.

Going from "what would make it work" to "why are they abandoned" felt minor at the time. It changed everything downstream. I'm going to be more suspicious of solution-shaped questions at the start of the next project.

I kept feeling like a more aggressive intervention would be more useful. The research kept telling me the opposite. Restraint, here, isn't a weaker version of help. It's the actual help.