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.1.tar.gz (382.8 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.1-py3-none-any.whl (70.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: unjiggle-0.3.1.tar.gz
  • Upload date:
  • Size: 382.8 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.1.tar.gz
Algorithm Hash digest
SHA256 ca04bd45a9193f3cdc350ffadc1bc59d58435ddd34c273322a36f19fa0f9b0a0
MD5 d42e511189f31347129ddd0944863fd8
BLAKE2b-256 3676bbbb7fe6daaa8c8dd89715a9e9a44d1a69fec7d76d3034de45f436b7d3f9

See more details on using hashes here.

Provenance

The following attestation bundles were made for unjiggle-0.3.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: unjiggle-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 70.4 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8b9569bcd457def7992c5722ce2a50b92448170e7a47b3c19fa310ab2646a0fe
MD5 e13f909cd486b1abc5ae38c9de2c6aaa
BLAKE2b-256 10851fa12fdf322f22c816af4a46ec54a0ab268bd948829ae24a403f28980242

See more details on using hashes here.

Provenance

The following attestation bundles were made for unjiggle-0.3.1-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