Skip to content
DG

Shipping beats perfection.

Kathmandu, Nepal — Remote worldwide

Back to work
Android App + Browser Extension Active

AuraLock

Choose what matters. Create your Aura.

AuraLock — Choose what matters. Create your Aura. — Android App + Browser Extension cover, 1376×768 Peek demo — hover
Android · Chrome Extension · Firefox Extension
AuraLock gallery 1 01
AuraLock gallery 2 02
AuraLock gallery 3 03

Get AuraLock

Install on your preferred platform — Android, Chrome or Firefox. Same Aura, everywhere.

Visit website — auralockapp.com

Role 10

01 Founder
02 Product Strategy
03 Product Development
04 UX Design
05 Frontend Development
06 Mobile Development
07 Native Android Development
08 Testing
09 Release Management
10 Marketing

End-to-end ownership — from strategy and design to code, testing and store release.

Platforms 03

Android Primary
Chrome Extension Extension
Firefox Extension Extension

Stack 07

React Native TypeScript Kotlin Android (UsageStatsManager, AccessibilityService) Next.js Supabase (Auth, Postgres, Edge Functions) Chrome Extensions Manifest V3

Production stack — type-safe, tested, shipped.

Highlights 12

Quick Aura sessions (one-tap focus)
Custom session duration and scheduled Auras
Select apps that stay available — everything else fades
Device-level enforcement via native Kotlin modules
Domain blocking via Chrome & Firefox extensions (Manifest V3)
Focus Score tracking and session history
XP, Levels & Achievements that reinforce without distracting
Goals system with weekly intent

+4 more in case study below.

AuraLock is an Android application and browser extension that helps users create intentional digital boundaries — not through punishment, but through positive choice. Inspired by a simple inversion — instead of choosing what to block, you choose what matters — AuraLock lets you define an 'Aura' for any moment: Work, Study, Family, Deep Focus. You pick the handful of apps and sites that deserve your attention right now; everything else becomes gently unavailable until your session ends. Built end-to-end as a solo founder — from philosophy and UX to React Native + Kotlin native modules, Supabase backend, and Chrome/Firefox extensions — AuraLock shipped from zero to Play Store and is live across three surfaces. It treats focus as an intentional act, not a restriction, and pairs that mindset with real enforcement: device-level app blocking via UsageStatsManager and Accessibility Services, browser-level domain blocking, and a calm, game-informed system that rewards consistency without becoming a distraction itself.

Instead of starting with what to avoid, start with what matters.

The Problem

Digital distractions cost people 4–6 hours a day, yet the wellness category has trained users to think in negatives: block lists, lockouts, streak shaming. POINT: The dominant interaction is punitive — you declare what you cannot do. EVIDENCE: Across competitor reviews and early interviews I ran, 70–80% of users abandoned blockers within 2 weeks, describing them as 'parental' and 'annoying'. Play Store reviews repeatedly mention 'I just disabled it' — enforcement without agency fails. Even technically correct blockers feel like they are fighting the user, not supporting them. MEANING: The market didn't lack another blocker; it lacked a product that treats adults as intentional choosers. That absence is the opportunity — reframe focus as curation, not control.

The Solution

AuraLock inverts the model. POINT: You don't choose what to block, you choose what to allow — your Aura. EVIDENCE: In onboarding tests, users named 3–5 apps per session on average (Slack + Docs for Work, YouTube + Notion for Study), and completed sessions rose 38% when the empty state said 'Choose what stays' vs 'Choose what to block'. MECHANISM: The flow is deliberately minimal — Create Aura → pick apps/sites → set duration or schedule → start. Native Kotlin modules enforce the Aura at the OS layer (UsageStatsManager for detection, Accessibility for reliable overlay/enforcement) while React Native handles the calm UI, Focus Score, XP, levels, goals, journaling and quotes. Browser extensions mirror the Aura for domains. MEANING: The product feels empowering because the mental model matches intent: 'I'm protecting my focus' beats 'I'm being locked out'. That framing is the feature.

Live AuraLock Demo
Choose what stays · Aura Work · 3 apps curated
Duration
Curate your Aura — 3/6
Tap to toggle

Inversion: choose what stays — everything else fades. Avg 3–5 apps, +38% completion vs block-list.

Privacy-first · package-level only · Kotlin enforcementGet AuraLock

Gallery

03 IMAGES · 1376×768
AuraLock screenshot 1 — 1376×768
AuraLock screenshot 2 — 1376×768
AuraLock screenshot 3 — 1376×768
Case Study Theatre — AuraLock

How we shipped auralock

PEM: Point → Evidence → Meaning. One decision rule per phase. No block-list.

01
Overview Zero → 3 stores

An Aura, not a block list.

AuraLock is a solo-founder focus product that ships across Android and browsers. POINT: It helps people create intentional digital boundaries by curating what matters for a moment, not by blocking what they fear. EVIDENCE: From zero to live on Play Store, Chrome Web Store, and Firefox Add-ons, AuraLock pairs a React Native + TypeScript app shell with Kotlin native enforcement and a Next.js + Supabase backend for sessions, gamification, and sync. MECHANISM: The loop is simple — define an Aura, enforce it at the OS and browser layer, close with a reflective journal — and the business is equally simple: own the full lifecycle, iterate weekly, and let philosophy decide scope. The result is a product that feels calm, not controlling, and a codebase that stays maintainable because every feature earns its place.

Philosophy

“Instead of starting with what to avoid, start with what matters.”

02
Problem 70–80% abandon

Blockers feel parental. They fail.

Most wellness tools start with restriction. POINT: They ask 'what do you want to block?' EVIDENCE: That framing creates a negative, parental loop. Users in my interviews described blockers as 'fighting my phone' and disabled them when willpower dipped. Reviews for top blockers mention 'too easy to bypass' and 'annoying' more than 'helpful'. Even well-built blockers leak: auto-block lists miss context (you need Slack for work but not for family dinner), and hard locks create anxiety, not focus. MEANING: The real problem isn't lack of blocking tech — it's lack of intent. AuraLock reframes the job: protect a chosen set, not punish the rest. That shift changes retention because it aligns with identity ('I'm a focused person right now') rather than obedience ('I must not open TikTok').

4–6h
Lost / day
70–80%
Abandon 2w
38%
↑ Choose stays
03
Approach 3–5 taps to start

Veto everything that isn’t intent.

We designed around a single decision rule. POINT: If a feature doesn't serve 'start with what matters', it doesn't ship. EVIDENCE: This veto shaped the Aura creation flow (3–5 taps to start), the empty state copy ('Choose what stays'), the scheduled Aura model (Work 9–12, Study 7–9pm), and what we cut: auto-block lists, social leaderboards, complex rule builders, and early gamification that rewarded time instead of intent. MEANING: Constraints became clarity. MECHANISM: Each Aura is an explicit allow-list stored for the session; native modules enforce it (UsageStatsManager for detection, AccessibilityService for overlay fallback where OEMs restrict), extensions enforce mirrored domain lists via declarativeNetRequest (MV3). The reward system (Focus Score → XP → Level + Goals + Journal) was iterated three times to reward completion and recovery, not perfection. Every PR had to pass the philosophy check before the code review.

Decision rule

If it doesn’t serve “choose what stays”, it doesn’t ship.

04
Experience Haptics + calm

Like noise-cancelling headphones.

The experience is designed to feel like putting on noise-cancelling headphones. POINT: One intentional choice, then calm. EVIDENCE: Users open AuraLock, tap 'New Aura', pick the 3–5 apps/sites that matter, set 25/50/90 min or a schedule, and breathe. The app confirms 'Aura active — 3 apps curated' with soft haptics; everything else is gently unavailable — no scolding, just unavailable. When the timer ends, a journal prompt and quote close the loop without guilt. MEANING: The micro-copy and motion sell the philosophy as much as the enforcement does. MECHANISM: The UI uses React Native + Supabase for session state, focus history and streaks; Kotlin bridges handle real-time enforcement and edge cases (OEM battery savers, foreground service foregrounding). The web extensions sync the same Aura so desktop and phone agree. The result is focus that feels chosen, not imposed — and that distinction is why people return tomorrow.

30s Loom — AuraLock walkthrough
No onboarding · <15s Watch →
05
Engineering RN + Kotlin

Boring stack, interesting product.

AuraLock is a hybrid production stack built for solo velocity and Play Store resilience. POINT: Separate concerns so UI can ship weekly while enforcement stays rock-solid. EVIDENCE: The Android app uses React Native + TypeScript for UI, navigation, and Supabase (Auth, Postgres, Edge Functions) for sessions, Focus Score, and gamification; Kotlin Native Modules own the OS layer — UsageStatsManager for foreground app detection, AccessibilityService as a reliable fallback for overlay/enforcement where OEMs restrict, ForegroundService with proper disclosure for session continuity, and package-level signals only (no content reading). MEANING: This split let me iterate UI at React speed while tightening enforcement at native speed. MECHANISM: Chrome/Firefox extensions use Manifest V3 (declarativeNetRequest) to block mirrored domains per Aura; the backend (Next.js + Supabase) manages Aura definitions, scheduled triggers, and sync. Store readiness is treated as architecture: target SDK bumps, privacy policy, data safety form, screenshot densities, accessibility disclosure wording — all versioned and tested before review. The stack is boring on purpose, so the product can be interesting.

React NativeTypeScriptKotlinAndroid (UsageStatsManager, AccessibilityService)Next.js
06
Lessons 3× XP rebuilt

Scope veto is the craft.

Solo shipping from zero to Store is a product education in public. POINT: The hardest skill is scope veto, not code. EVIDENCE: Play Store rejections became spec clarifications (foreground service type, accessibility justification, privacy copy), and retention data forced gamification simplifications — the third XP model finally lifted 7-day return by rewarding Aura completion over raw minutes. MEANING: Every line must serve the promise 'choose what matters'. MECHANISM: If I built that muscle, I could ship weekly and stay coherent across UX, native, backend and store surfaces. The takeaway I carry to every product since: own the full lifecycle, let philosophy decide scope, and keep the loop calm — when the user feels intentional, the product has done its job.

Commit rhythm
Weekly shipping — solo, steady. Solo → Store is product discipline.

Building AuraLock as a solo founder was a full-lifecycle lesson in product-led engineering. POINT: The philosophy had to veto features, not just inspire them. EVIDENCE: Gamification was rebuilt three times — early XP was…

Build like this?
Let’s ship your product — end-to-end.
Kathmandu → Remote · Solo studio · Product-led
2 products View all work