Skip to main content

AI-powered iPhone home screen organizer. One command to scan, score, and fix your layout over USB.

Project description

Unjiggle

Your iPhone home screen is a mess. You know it. You've given up fixing it. Unjiggle fixes it for you.

Unjiggle is an AI-powered CLI that reads your iPhone home screen, scores your organization, roasts your app collection, writes obituaries for your dead apps, and generates share cards you'll actually want to post.

unjiggle go — one command to scan, score, and analyze your iPhone

Quick Start

pip install unjiggle

Connect your iPhone via USB, then:

unjiggle go

One command. It scans your phone, scores your organization, calculates your swipe tax, and generates a share card that auto-copies to your clipboard. Cmd+V to paste into iMessage, Twitter, or Instagram.

Share Cards

Every feature generates a 1080x1350 share card that copies to your clipboard automatically. No screenshots needed — just Cmd+V.

Unjiggle share card — The Organized Maximalist, score 70/100

Features

Core (no API key needed)

Command What it does
unjiggle go Full experience: scan, score, archetype, swipe tax, share card
unjiggle swipetax How many unnecessary swipes your layout costs per year
unjiggle scan See your layout color-coded by category
unjiggle score Organization score (0-100) with breakdown
unjiggle demo Try it without a phone — see what the output looks like

Viral features (works without API key, better with one)

Command What it does
unjiggle mirror Personality roast from your app collection
unjiggle obituary Eulogies for your dead apps

These generate share cards with or without an API key. With Claude or GPT, the roasts are funnier and more personal. Without, you get a solid rule-based analysis.

AI-powered (needs API key)

Command What it does
unjiggle analyze Deep AI observations (Claude or GPT-4.1)
unjiggle suggest Interactive walkthrough — apply changes step by step
unjiggle suggest --apply-all Just Fix It mode — apply everything at once

Safety

Command What it does
unjiggle safety-test Prove read/write works (changes nothing)
unjiggle backup Save current layout
unjiggle restore Undo any changes

Requirements

  • macOS (USB communication with iPhone)
  • iPhone connected via USB with "Trust This Computer" accepted
  • Python 3.10+
  • API key (optional): set ANTHROPIC_API_KEY or OPENAI_API_KEY for AI features. Core features and share cards work without one.

How It Works

Unjiggle uses pymobiledevice3 to communicate with your iPhone's SpringBoard services over USB. It reads the IconState (your home screen layout), enriches it with App Store metadata, and generates observations and layout suggestions.

On macOS 12-15, it can also read Screen Time data from knowledgeC.db for real app usage stats (last opened, daily opens). On newer macOS versions, it falls back to positional heuristics.

Share cards render to PNG via Chrome headless and auto-copy to your macOS clipboard.

The write path is validated on iPhone 16 Pro, iOS 26. Every write is preceded by a verified backup and an optional round-trip safety test.

GUI Coming Soon

A native Mac app with live preview, drag-and-drop editing, animated before/after transformations, and a slider to control aggressiveness is in development.

Sign up for early access: unjiggle.com

License

GPL-3.0 (matching pymobiledevice3)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

unjiggle-0.3.0.tar.gz (382.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

unjiggle-0.3.0-py3-none-any.whl (69.7 kB view details)

Uploaded Python 3

File details

Details for the file unjiggle-0.3.0.tar.gz.

File metadata

  • Download URL: unjiggle-0.3.0.tar.gz
  • Upload date:
  • Size: 382.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for unjiggle-0.3.0.tar.gz
Algorithm Hash digest
SHA256 a1522803bda43fa1c201d6cce35de842ac7f6069095666d0f49d5a4d6363327e
MD5 c86eab213e776624bc2accef155fe5e6
BLAKE2b-256 a2dec6ee5b57fcd3a870c931db615e4b0bca857952b3e423fafce83f52c11ef9

See more details on using hashes here.

Provenance

The following attestation bundles were made for unjiggle-0.3.0.tar.gz:

Publisher: publish.yml on chungty/unjiggle

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file unjiggle-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: unjiggle-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 69.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for unjiggle-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 48f26858001e443eb9913616fc3094a711880632207fd1f840dc771178aeed46
MD5 f4f04a276ec523e51759134350906c05
BLAKE2b-256 b32e0cad37c18fae6dc4303967e227fe8f70395f8dcf8687739e24ee49679cc4

See more details on using hashes here.

Provenance

The following attestation bundles were made for unjiggle-0.3.0-py3-none-any.whl:

Publisher: publish.yml on chungty/unjiggle

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page