run โ empty-canvas super-app ยท iOS ยท macOS ยท watchOS ยท user fills every category
Empty by default ยท No recommendations ยท No ads ยท No cloud account ยท Local-first
run ์ iOS ยท macOS ยท Apple Watch ์์ ๋์ํ๋ ๋น ์บ๋ฒ์ค ์ํผ์ฑ์
๋๋ค. ๋ฉ์ ์ ยท ์ง๊ฐ ยท SNS ยท ๋ฉ์ผ ยท ์บ๋ฆฐ๋ ๋ฑ ์นดํ
๊ณ ๋ฆฌ๋ ์ฝ๋์ ์ ์ ์ผ๋ก ๋ฐํ ์์ง๋ง, ๋ชจ๋ ์นดํ
๊ณ ๋ฆฌ๊ฐ ํญ๋ชฉ 0 ๊ฐ๋ก ์์ํฉ๋๋ค. ์ฌ์ฉ์๊ฐ ํ ๋ฒ์ด๋ผ๋ "์ด๊ฑด ๋ด๊ฐ ์ด๋ค" ๋ผ๊ณ ๊ฒฐ์ ํ ๊ฒ๋ง ํ๋ฉด์ ์กด์ฌํฉ๋๋ค.
Note
Sibling of scrap (content-extraction CLI), pixie (Discord channel-secretary), and skynet-timer (singularity-attractor countdown) under the dancinlab family. Shares the lattice-as-tool / real-limits-first governance stance (n=6 used where it fits โ e.g. watchOS 1โ6 slot grid โ never force-mapped onto category UX).
โโโโโโโโโโโโโ run โโโโโโโโโโโโโโ
โ ๐ฌ Messenger 0 items โ
โ ๐ Wallet 0 items โ
โ ๐ SNS 0 items โ
โ ๐ง Mail 0 items โ
โ ๐
Calendar 0 items โ
โ ๐ Shopping 0 items โ
โ ๐ Mobility 0 items โ
โ ๐ค AI 0 items โ
โ โฏ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โข category = static module (compiled in)
โข item = user data (you add it, or it doesn't exist)
โข sync = iCloud Private DB (opt-in), local default
3 platforms share the same ์คํํ. Add an item on iOS, it appears on macOS and watchOS.
Mainstream super-apps (X, WeChat, KakaoTalk) ship with messenger ยท payment ยท shopping ยท media recommendations all on by default โ the user starts by removing what they don't want. run inverts that: categories exist but contain nothing, and nothing un-added exists. No recommendations, no ads, no tracker, no cloud account. The single mental model is "card = one action" โ one tap on iOS / one click on macOS / one wrist-rotation on watchOS opens exactly what the user registered.
The lattice-as-tool stance applies: the n=6 lattice (ฯ=12 ฯ=4 ฯ=2) is used where a real platform constraint fits (watchOS 1โ6 slot grid), and not force-mapped onto the category count or item layout where it doesn't belong.
๐ง Pre-alpha โ empty project, structure-design stage.
| Stage | State |
|---|---|
| README ยท concept definition | ๐ข in progress |
| Naming ยท Bundle ID | ๐ข fixed (app.run.needsingularity) |
| Category structure decision | ๐ข static module + user-data items |
| Xcode multi-platform scaffold | โช next |
| First category module (Messenger) | โช after |
- Bundle ID:
app.run.needsingularity - Platforms: iOS ยท macOS ยท watchOS (shared SwiftPM core)
- 22 categories drafted (Messenger ยท Wallet ยท SNS ยท Mail ยท Calendar ยท Shopping ยท Mobility ยท Food ยท Notes ยท Tasks ยท Files ยท Auth ยท AI ยท Health ยท Read ยท Camera ยท Home ยท Map ยท Feed ยท Channel ยท Identity ยท Call); โฏ extensible.
Categories are statically registered modules in code. Each module ships its own UI ยท data model ยท integration. Items inside a category are entirely user-added data.
| Category | Empty state | What the user adds (examples) |
|---|---|---|
| ๐ฌ Messenger | 0 | KakaoTalk / Telegram / Signal / iMessage |
| ๐ Wallet | 0 | Apple Pay / coin wallets / membership cards |
| ๐ SNS | 0 | X / Threads / Mastodon / Bluesky |
| ๐ง Mail | 0 | Gmail / Proton / iCloud / work mail |
| ๐ Calendar | 0 | iCloud / Google Cal / Notion Cal |
| ๐ Shopping | 0 | Coupang / Amazon / Musinsa / Daangn |
| ๐ Mobility | 0 | Kakao T / Uber / Ttareungi / subway apps |
| ๐ Food/Order | 0 | Baemin / Yogiyo / Starbucks / DoorDash |
| ๐ Notes | 0 | Obsidian / Notion / Apple Notes / Bear |
| โ Tasks | 0 | Things / Todoist / Linear / Reminders |
| ๐ Files/Drive | 0 | iCloud / Dropbox / Google Drive / NAS |
| ๐ Auth/2FA | 0 | 1Password / Authy / Apple Passwords |
| ๐ค AI | 0 | Claude / ChatGPT / Gemini / local LLM |
| ๐ Health/Fitness | 0 | Apple Health / Strava / Strong / Garmin |
| ๐ Read/Library | 0 | RSS / Pocket / Kindle / Millie |
| ๐ท Camera/Photo | 0 | Photos / Lightroom / Instagram cam |
| ๐ Home/IoT | 0 | HomeKit / SmartThings / door locks |
| ๐บ๏ธ Map/Place | 0 | Naver Map / Google Maps / Kakao Map favs |
| ๐ก Feed/RSS | 0 | non-algorithmic subscriptions (split from SNS) |
| ๐ฌ Channel/Community | 0 | Discord / Slack / KakaoTalk open chat |
| ๐ชช Identity | 0 | ID / license / membership (split from Wallet) |
| ๐ Call | 0 | Phone / FaceTime / Zoom / Discord voice |
| โฏ | โฏ | (categories grow incrementally) |
Candidates from docs/category-brainstorm.md not in the table above are held โ not rejected, just deferred.
| Category | Deferral note |
|---|---|
| ๐ต Music/Audio | high on watchOS but overlaps system NowPlaying โ workaround needed |
| ๐บ Video/Stream | one-tap = external-app jump; little integration room |
| ๐ป Dev/Code | overlaps Auth/2FA + Files/Drive use windows |
| ๐ฎ Game | super-app spine differs from games |
| ๐ Shortcut/Action | more an execution mechanism across categories than its own category |
Categories themselves can be disabled. Unused categories disappear from the screen.
- Pick category โ messenger / wallet / SNS / โฏ
- Add item โ register what you actually use
- Order โ drag into your preferred sequence (no auto-sort)
- Run โ one tap ยท click ยท wrist-rotation opens the target
Each item is a simple card. One card = one action.
- Empty is the default โ every category starts with 0 items
- Only what you added exists โ no auto-discovery / scanning
- Category = static module โ categories are compiled in; items are user data
- 3-platform same model โ iOS / macOS / watchOS share one schema
- Local-first โ sync is iCloud Private DB opt-in; default is on-device
- Incremental growth โ new categories arrive via app update (UX stays "fill the empty")
# 1. Clone
git clone https://github.com/dancinlab/run.git
cd run
# 2. Open in Xcode (multi-platform SwiftPM)
open Package.swiftBundle ID: app.run.needsingularity. Targets: iOS 17+ ยท macOS 14+ ยท watchOS 10+.
# build all targets
swift build
# run tests (when present)
swift test
# Xcode multi-platform run
open Package.swift
# select iOS / macOS / watchOS scheme โ โRrun/
โโโ README.md
โโโ LICENSE (TBD)
โโโ Package.swift SwiftPM manifest (multi-platform)
โโโ Sources/
โ โโโ RunCore/ shared core (์คํํ model ยท sync)
โ โโโ CategoryMessenger/ Messenger category module
โโโ docs/
โ โโโ logo.svg 140ร140 gold hexagon
โ โโโ category-brainstorm.md category design notes
โโโ AGENTS.tape agent context SSOT (.tape v1.2)
โโโ CLAUDE.md โ AGENTS.tape (symlink)
TBD โ license not yet selected.