MiniMac
A. Poster
Loud and flat
B. Instrument
Quiet and light
C. Split stage
The fold is the idea
D. Native glass
Apple-style, no rules

Your Mac, in your thumbs.

MiniMac: our own iPhone app for controlling the Mac Studio. The real screen, a touch mouse, a proper trackpad, and Screens-style keys above the normal keyboard. Built first for the iPhone Duo, free to give away.

Try the mockup
PlanningUpdated 17 Oct 2026
Mockup: iPhone with the remote Mac screen, key bar and keyboard in dark mode Mockup: text highlighted on the remote Mac with the right click menu open Mockup: iPhone Duo folded and turned sideways, trackpad with click buttons either side

Overnight build, 17 Oct

MiniMac now exists as a real iPhone app, built on Sill's open code (Apache 2.0, credited in its NOTICE). It runs on the virtual iPhone Duo against a test Mac on the Studio. Private repo: lukecon40/minimac.

MiniMac connect screen with the Mac Studio listed as Wired
Connect screen, new look
MiniMac on the Duo cover, picture zoomed to 180 percent with a Fit button
Pinch zoom, 180%, with Fit
MiniMac on the Duo half open: zoomed picture on top, keys and trackpad below
Duo half open, like a laptop
MiniMac on the Duo open sideways with the bar down the side
Duo open sideways
DonePinch to zoom the Mac's screenUp to 5×, about your fingers. While zoomed, one finger moves the picture and two fingers still scroll the Mac. The view follows the pointer, and a Fit button goes back to the whole screen. Taps still land exactly where your finger is.
DoneThe MiniMac lookGraphite and lime throughout, a new app icon, the MiniMac name on the connect screen.
DoneScreens-style extra keysA ••• key on the key row: arrows, Return, Home/End/Page, F1 to F12, Copy, Paste, Undo, Redo, Select All, Find, Save, Spotlight, Switch App, Mission Control, Close, Quit, Screenshot, Lock.
DoneScreens researchEvery toolbar button, menu item, gesture and setting from Edovia's docs, to copy features (never code or design) from.
Needs youTry it on your iPhoneOpen lukecon40/minimac in Xcode, pick your team, run on the iPhone. It talks to the Sill for Mac app already on the Studio (pair once with the code).
NextSpeed, the bar, the half-open poseFind why connecting is slow, put the Screens bar above the real keyboard with the mouse button last, and design a proper half-open layout.

Where we are

Done

  • The idea, and a mockup you can try
  • Mockup works on iPhone, iPad and Duo, both ways round
  • Duo screen sizes taken from Xcode's simulator
  • First round of research (below)
  • Name: MiniMac. Built in Swift.

Next

  • Design every screen properly with the taste skill
  • Turn it into a clickable prototype on this site
  • Set up the Xcode project and private GitHub repo
  • Virtual iPhone Duo running on the Studio (iOS 27.1)

Needs you

  • Accept Grok's three changes (below)
  • Name check: "MiniMac" may be too close to Apple's "Mac mini" for the App Store (see decisions)
  • One screen recording of Screens instead of screenshots (see the Screens section)

What we've decided

DecidediPhone and iPad only, never AndroidYour call. Built first for the iPhone Duo.
DecidedStart fresh, don't reuse the old appsThe old remote apps never worked properly. We can still read them for lessons, but none of their code comes across.
DecidedNormal iPhone keyboard, our keys on topThe real keyboard gives swipe typing, dictation and languages for free. Our key bar and menu sit directly above it, and the mouse button swaps the keyboard for the trackpad.
DecidedDesigned with the taste skill v2Every screen is designed and checked before any app code is written.
DecidedOurs to give awayAll our own code, plus only free code with permissive licences, so it can go on the App Store for free.
DecidedNative Swift, not FlutterWith no Android, Flutter's main advantage is gone. Swift is the best fit for the Duo's fold, the keyboard, Touch ID and video decoding. Grok agrees. It's also the language the best free VNC code is written in.
ProposedConnect with VNC first, our own streaming laterVNC works with the Screen Sharing already running on your Studio, so the Mac needs no new software. Grok agrees, and adds that VNC stays even after our own streaming exists, because only Screen Sharing can reach the Mac's login screen.
DecidedThe name: MiniMacOne risk: Apple rejects App Store names that look like their products, and MiniMac reads like "Mac mini". It's safe as the app's own name on your phones. For the App Store we may need a different store name, with MiniMac kept on the home screen.
OpenWindows computers too?VNC makes this possible later. Mac-only keeps the first version simpler.

What's out there for free

RoyalVNC

Best find

A complete VNC engine written in Swift. MIT licence, so we can use and change it freely, even in a free App Store app. It already does Apple's Mac login (with your Mac username and password), the fast encodings, and copy and paste in both directions. That's the hardest part of the connection, already done.

The catch: the company archived it in September 2026, so it won't get updates and we'd look after our own copy. Its iPhone screen view was never finished, so we build our own, which we wanted anyway. github.com/royalapplications/royalvnc

The iPhone toolkit

Free from Apple

Our keys sit on top of the normal keyboard (Apple supports this directly). Passwords go in the Keychain, unlocked with Touch ID or Face ID, whichever the device has. Real haptics, iPad trackpad support, and finding Macs on your network automatically. All built in, all free.

Our own streaming

Free, for later

For RustDesk-quality video from overseas: Apple's screen capture and hardware video encoding on the Mac, sent straight over Tailscale with Apple's own networking. Grok says skip WebRTC, since Tailscale already handles the network. A small helper app on the Studio, a later phase.

Mac login and auto password

How Screens does it

Screens signs in with your Mac username and password, stores them, and can type your password into the Mac's login screen for you. Its Curtain Mode, which blanks the Mac's own display, needs Remote Management turned on. We can do the first two. Curtain Mode isn't possible over standard VNC, so it moves to later (Grok's correction). Edovia help

Apple's High Performance mode

Can't use

macOS's fastest screen sharing only works between two Apple silicon Macs. Other apps can't use it, so our app gets the standard VNC path. Apple

RustDesk, TigerVNC, LibVNC, bVNC

Can't use

All AGPL or GPL. Using their code would force us to publish everything we write, so we use them for ideas and testing only.

Grok's review

Verdict: right direction, wrong schedule. Ship the VNC app first. It will feel like Screens on home Wi-Fi, not like Jump Desktop on 4G. The input is the product. Reviewed 17 Oct 2026 via grok-4.7-build.

Set a pixel budget

Change one

One display, scaled to 1440p at most, pointer drawn on the phone at 120 Hz, and the connecting screen shows whether Tailscale is direct or relayed. Dual 5K waits for our own streaming. Measure what the Studio actually sends on day one.

Build it in layers, drop WebRTC

Change two

Keep the connection, the input and the picture separate, so the same trackpad and keys work on VNC now and our own video later. The later helper sends HEVC straight over Tailscale. VNC stays forever for the Mac's login screen.

Design the half-open Duo

Change three

Picture on top, trackpad on the bottom, keyboard away, like a tiny laptop. Use Touch ID, not Face ID. Curtain Mode and password auto-type are not version one.

What users judge you on

From Screens, Jump and RustDesk reviews

A pointer that feels instant, modifier keys that never get stuck, reconnecting when you come back, copy and paste both ways, and the typed field never hidden under the keyboard. One-star reviews come from a stuck ⌘ key and a session that dies when you check Messages.

Cut for version one

Grok's suggestion, your call

Network scanning and a computers list (you have one Studio), most settings, and a designed setup guide. Four lines will do: Screen Sharing on, password, Tailscale, connect.

Also can't use

GPL

Sunshine and Moonlight, including the iPhone client. Tailscreen (MIT, Mac only) is worth studying for the later helper.

What we copy from Screens

From your screenshots of Screens 5. Same bar, same menu, with the mouse button as the last button on the right, like your sketch.

Screens 5 Nearby screen showing three Macs as tiles with their wallpapers
Nearby: each Mac as a tile with its wallpaper
Screens 5 floating key bar with eight icons
The bar, keyboard hidden
Screens 5 key bar sitting above the iPhone keyboard
The bar above the normal keyboard
Screens 5 connection menu: Clipboard, Displays, Curtain Mode, Image Quality, Cursor Tracking Speed, Virtual Cursor Mode, Scaling, Interaction Mode, Close Connection
The connection menu
The barKeyboard · Dictation · Undo · Modifiers · Arrows · Edit · Special keys · MouseScreens' first seven buttons in the same order. Each one opens its own small panel. Their eighth button (the sliders) becomes our mouse button, which swaps the keyboard for the trackpad.
The menuClipboard · Displays · Image quality · Pointer speed · Virtual cursor · Scaling · Touch or mouse mode · Close connectionScreens' menu minus Curtain Mode (not possible over VNC). With the sliders button gone, it opens from a small button in the top corner, or by long-pressing the mouse button. Your pick.
ComputersBig tiles showing each MacLike Screens' Nearby screen: Studio, Mac mini, MacBook as tiles. We can show a live thumbnail of each screen instead of just the wallpaper.
Faster for youOne screen recording instead of screenshotsSwipe down from the top right of your iPhone, tap Screen Recording, then open Screens and tap through every bar button and menu. Drop the video in iCloud Drive / Claude / Inbox and I'll pull out every frame I need.

Three parts to build

App

The look

Loading screen, setup guide, computers list, login, settings, dark mode. Layouts for the Duo folded and open, iPhone and iPad.

Effort: medium. Designed first.

Hands

Input

Touch mouse (tap where you want to click), mouse mode, pinch and pan on the screen, the trackpad panel, the key bar, the menu and the keyboard.

Effort: medium. The mockup already settles how it behaves.

Link

The connection

Talks to the Mac, logs in, receives the picture fast and sends clicks and keys back. Works at home and over Tailscale.

Effort: the hard part, made much smaller by RoyalVNC.

Every screen to design

Designed with the taste skill, built into a clickable prototype here, and approved by you before any app code.

Launch

Loading screen and app icon. Opens straight back to the last computer.

To design

Setup guide

How to turn on Screen Sharing on the Mac, with Tailscale for away from home. Shown once.

To design

Computers

Your Macs, live or asleep, found on the network automatically or added by address.

To design

Login

Mac username and password, saved to the Keychain, unlocked with Touch ID (the Duo has no Face ID, per Grok). Typing your password on the Mac's login screen comes after the first App Store approval.

To design

Connecting

Progress, plain-word errors, and whether Tailscale is direct (fast) or relayed (slow). Reconnects when you come back to the app.

To design

Remote screen

Touch mode or mouse mode, pinch zoom, pan, follow the pointer, switch between your two displays.

Mocked up

Key bar and menu

Screens-style keys above the keyboard. ••• opens shortcuts, F-keys, Spotlight, app switcher.

Mocked up

Trackpad

MacBook-style gestures, click and highlight, Left and Right buttons. Buttons move to either side when sideways.

Mocked up

Settings

Pointer and scroll speed, gestures, keyboard, appearance, haptics, per-computer options.

Mocked up

Duo fold

Unfold mid-session without dropping out, plus Split View, the split keyboard, and a collapsed key bar.

To design

Duo half-open

Grok's big idea: hold the Duo half-open like a laptop. Mac screen on the top half, trackpad on the bottom half. Something a normal iPhone can't do.

To design

iPad

Big screen layout, plus support for the Magic Keyboard and trackpad.

Mocked up

App Store

Icon, screenshots, a one-page website and a privacy page.

Later
Mockup on the iPhone Duo unfolded, keyboard showing
Duo unfolded
Mockup on iPad in dark mode, trackpad showing
iPad, trackpad mode
Mockup showing text highlighted and the right click menu
Click, highlight, right click

The build

Times are rough working sessions with me writing the code. Each stage ends with something you can hold in your hand.

Plan and design

Now · about 1 week
  • Mockup of keyboard and trackpadDone
  • Fit iPhone, iPad and Duo, both ways roundDone
  • Research free code and how Screens worksDone
  • This plan siteDone
  • Design every screen with the taste skillLaunch, setup guide, computers, login, connecting, remote, key bar, trackpad, settingsNext
  • Clickable prototype of the whole app hereTo do
  • Name: MiniMacDone
  • App iconTo do
  • Screens key bar and menu to matchDone
  • One screen recording of Screens, every bar button openedInto iCloud Drive / Claude / InboxNeeds you

Groundwork

1 session
  • Install the iOS 27.1 simulator so we can test on a virtual DuoDone
  • New Xcode project in Swift, private GitHub repoTo do
  • Our own copy of RoyalVNC, built and tested against the StudioDay one: test the Mac login and measure the screen size the Studio actually sendsTo do
  • TestFlight set up so builds land on your DuoTo do

First picture

1 to 2 weeks
  • Log in to the Studio with your Mac username and passwordTo do
  • Screen picture on the phone, one display, scaled to 1440p at mostPointer drawn on the phone itself so it feels instantTo do
  • Pinch zoom and two-finger pan on the screenTo do
  • Touch mode: tap to click where you tapTo do
  • Typing with the normal keyboardTo do

Hands on

2 weeks
  • Key bar above the keyboard, sticky ⌘ ⌥ ⌃ ⇧ that can never get stuck, F-keys, ••• menuTo do
  • Mouse button swaps keyboard for trackpadTo do
  • Trackpad gestures: click, highlight, drag, right click, scroll, zoomTo do
  • Mouse mode on the screen itselfTo do
  • Copy and paste between phone and MacTo do

Easy login

3 to 5 days
  • Computers list, Macs found on the network automaticallyTo do
  • Passwords in the Keychain, Touch ID or Face ID to unlockTo do
  • Type your password on the Mac's login screen for youAfter the first App Store approval, with careful wording (Grok)Later
  • Setup guide and Tailscale help for away from homeTo do
  • Reconnect when you come back to the appTo do

Polish

about 1 week
  • Settings, dark mode, hapticsTo do
  • Unfold the Duo mid-session without dropping outTo do
  • Duo half-open laptop layoutTo do
  • Switch between the Studio's two displaysTo do
  • Show direct or relayed Tailscale on screenTo do
  • iPad with Magic Keyboard and trackpadTo do

Give it away

a few days, plus Apple review
  • TestFlight for family and staffTo do
  • App Store listing, screenshots, privacy page, small websiteTo do

Later

a second app, budget it as its own project
  • Our own helper app on the Mac for smooth video from overseas (HEVC over Tailscale, no WebRTC)Later
  • Curtain mode, Wake on LAN, Windows computersLater

What could bite us

Two 5K screens are a lot of pixels

Grok's blunt take: native dual 5K over VNC feels bad. The Mac may send both screens stitched into one huge picture. Version one sends one display, scaled to 1440p at most. Over a relayed Tailscale link (hotels, overseas) VNC isn't usable. Keep RustDesk for trips until our own streaming exists.

RoyalVNC is archived

No more updates from its makers. It's MIT licensed and complete, so we keep our own copy and fix what we need.

The Duo is brand new

Testing needs the iOS 27.1 simulator and your real Duo. Fold and unfold mid-session gets its own test.

Apple review

Plenty of remote desktop apps are on the App Store, so this is normal. Reviewers need a test Mac they can reach. Auto-typing passwords can look like credential stealing to a reviewer, so it ships after the first approval.

Grok's claims to confirm

Duo has Touch ID, not Face ID. RoyalVNC archived 5 October. Duo hardware arrives 23 October. Check these on the real device and the repo.