DEV Community

Cover image for I Forked Olauncher and Built a Minimalist Android Launcher Driven by Claude Code
Tim Zinin
Tim Zinin

Posted on

I Forked Olauncher and Built a Minimalist Android Launcher Driven by Claude Code

My back gave out. I'd been lifting a barbell in a forest clearing near my home — the kind of decision that felt completely reasonable right up until my body disagreed loudly. While recovering, I asked my Claude to help me build a structured health plan. That conversation took a turn I hadn't anticipated, and ended with me building a free Android launcher from scratch.

This is the technical walkthrough.

The starting point: Olauncher

Olauncher is an open source Android launcher (GPL-3.0, Kotlin) that strips the Android home screen to almost nothing. No icon grid, no app drawer animations, no widgets. Just text links and a lot of black space.

I forked it and called the result Zinin OS. The fork is what I actually use on my OnePlus daily.

What Zinin OS adds

Four-screen carousel

The screen layout is a horizontal carousel: HEALTH ← STATUS ← HOME → APPS. You swipe between pages with your finger, and each page boundary delivers a haptic tick. The interaction feels mechanical in a satisfying way — the phone tells you exactly when you've grabbed a new page.

HOME screen

The home screen has two elements: a giant pixel clock and six habit-tracking squares. Each square represents a habit — mine are yoga, movement, and meditation. You tap it to check it, and it fills in a dot in a row that accumulates across the current week.

The visual language is pure black background, pixel typography, e-ink aesthetic. Zero color. It looks like it belongs on a Kindle.

STATUS screen: the Claude loop

This is the part I find most genuinely useful. The STATUS screen reads a status.json file from a URL you set yourself. My Claude Code generates and hosts this file. The page at zinin.ai/os includes a ready prompt for Claude Code so you can set this up yourself.

The schema:

{
  "updated": "HH:MM",
  "goals": [
    {
      "label": "MRR",
      "value": "$3K → $20K",
      "pct": 15
    }
  ],
  "sessions": [
    {
      "time": "14:20",
      "title": "What the session worked on",
      "items": [
        "Specific thing done",
        "Another specific thing"
      ]
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode

The app renders a cached copy instantly and refreshes the JSON in the background, showing goals with progress bars and a log of what your Claude sessions shipped in the last 24 hours. The phone reads your data. You control where the file lives and what goes in it.

HEALTH screen

The HEALTH screen shows:

  • 7-day habit completion percentage
  • Today's screen time
  • Top apps by time consumed

All on black. No color coding, no graphs, no push notifications when you're "over limit." Just the numbers.

Usage Access is optional — the user grants it explicitly. If it's granted, you get screen time data. If it's declined, the HEALTH screen still renders, just without screen time.

The corgi

There is a pixel Cardigan corgi on the home screen. It breathes, wags its tail, sniffs, blinks, and occasionally barks. Claude Fable 5 drew it in Claude Design. It stays.

Privacy model

The app touches the network in exactly one scenario: fetching the JSON from the URL you configure yourself. There are no analytics, no crash reporters, no third-party SDKs, no telemetry. Usage Access is opt-in. Everything else is on-device.

The install is a dev-signed APK sideloaded from the browser. Android prompts you to allow installation from unknown sources — standard flow for sideloaded apps. No Google Play, no Play Store review process.

Installation

  1. Open zinin.ai/os on your Android device
  2. Tap the download button — Chrome will download the APK
  3. Tap the downloaded file
  4. Android prompts: allow installation from this source → Allow
  5. Install → Open → set as default launcher

Zinin OS is built on Olauncher, which is open source under GPL-3.0.

The short version

I strained my back, built a recovery plan with my Claude, realized my phone was quietly undermining the whole effort, and spent an evening forking Olauncher into something that actually helps instead of distracting. My back is still healing. The habit squares are waiting every morning. The corgi barks.

You can grab Zinin OS at zinin.ai/os — it's completely free.

Top comments (0)