The Stack · Evaluated by the studio

Tools we tried.
Verdicts we kept.

Every tool, model and harness we've put through real work, what we used it for, and why it stayed or went. Rejections included: they're usually the useful part.

54 evaluated
26 adopted
26 rejected
12 testing next
17 from other studios

What we make things with.

Video, image, voice and audio tools we tried for producing the studio's own content.

Video composition Adopted

Remotion ↗

Every animated and edited marketing video: app UI recreations, 3D product shots, captions and the final cut.

Chosen over Motion Canvas for the typography-led social cuts we make. Free for individuals and companies of up to three people, so the licence changes if we hire a fourth.

Ten 30 s AI-actor videos edited in it shipped at 82.8–88.8 against a grading bar of 80

Licence
Remotion License (free for individuals and companies of up to 3 employees)
Cost
Free (up to 3 employees)
Runs on
Mac (Apple Silicon)
Evaluated
Aug 2026
Video + speech generation Adopted

LTX-2.3 via ltx-2-mlx ↗

Photoreal AI-actor shots where the actor speaks the line, and silent b-roll.

It voices the line itself, so lips and speech come from the same pass, and it worked in English, Spanish, French, Italian and Japanese. The weights' licence is free under $10M annual revenue with no territory exclusion.

About 8 min per 3 s take on a 24 GB M5 Mac; 3–4 s shots are the efficient unit

Licence
MIT (ltx-2-mlx code); LTX-2 Community License (weights, free under $10M revenue)
Cost
Free (under $10M revenue)
Runs on
Mac (Apple Silicon)
Size
19 GB (int4 distilled weights)
Evaluated
Oct 2026
Image generation Adopted

Z-Image-Turbo via mflux ↗

Ad photos, and the composition stills that set framing, pose and lighting for AI-actor shots.

Commercial use is allowed and a pre-quantised 4-bit copy runs comfortably on a 24 GB Mac. Like other image models it invents fake lettering, so prompts describe plain surfaces and all type is set in Remotion.

~2 min and ~9 GB per image from a saved 4-bit copy, vs 29 min and a 29 GB peak when quantising on the fly

Licence
Apache-2.0 (model); MIT (mflux)
Cost
Free
Runs on
Mac (Apple Silicon)
Evaluated
Oct 2026
Image editing Adopted

FLUX.2 klein 4B ↗

Keeping AI actors consistent: it puts an actor's master headshot into a scene still while keeping the pose and light.

It keeps the still's composition and lighting while swapping in the face. The 4B model is Apache-2.0; the FLUX.2 klein 9B and FLUX.1-dev weights are non-commercial, so we avoid them.

Licence
Apache-2.0
Cost
Free
Runs on
Mac (Apple Silicon)
Evaluated
Oct 2026
Text-to-speech Adopted

Kokoro-82M via mlx-audio ↗

The flat narrator voice-over in our animated videos.

Commercially licensed and runs locally. Takes are not reproducible and voices differ (one slurred a line another read cleanly), so every take is checked against its caption by transcript.

Each take must match its caption at 85% or better by Whisper transcript

Licence
Apache-2.0 (model); MIT (mlx-audio)
Cost
Free
Runs on
Mac (Apple Silicon)
Evaluated
Oct 2026
Text-to-speech Adopted

Apple system voices ↗

The app's own voice in videos: Cipher's characters speak with iOS speech synthesis, so videos use the same voices at the app's speaking rates.

In-app speech in a video should sound like the app actually does, not like an actor or a cloned voice. The Mac ships the same default voices iOS uses.

Cost
Free (OS-provided)
Runs on
Mac, iPhone
Evaluated
Oct 2026
Speech-to-text Adopted

whisper.cpp ↗

Caption timing and the transcript check on every generated voice-over and video take.

It reliably catches wrong words. It cannot see, though: takes with burned-in fake subtitles passed it, and it hallucinates words on silent shots, so those are judged by eye.

Takes must match the script at 0.85 similarity in English and 0.95 in target languages

Licence
MIT
Cost
Free
Runs on
Mac (Apple Silicon)
Evaluated
Aug 2026
Audio/video processing Adopted

FFmpeg ↗

Resizing, joining clips, caption burn-in, loudness normalisation, and pulling frames to look at every render.

It handles every mechanical step in the pipeline. Extracting frames and looking at them is how we check every render before it ships.

Cost
Free
Runs on
Mac (Apple Silicon)
Evaluated
Aug 2026
Video QA · in-house Adopted

Render QA gate

Failing renders on safe area, dark opening frames, silence, loudness, true peak, loop seams and duration, then re-transcribing every spoken line in the final mix.

It encodes the problems our graders kept finding by hand. The final per-line audio check replaced a human listening pass in October 2026.

Fails any render outside −15 to −13 LUFS or above −1.0 dBTP true peak

Licence
In-house, not released
Cost
In-house
Runs on
Mac (Apple Silicon)
Evaluated
Oct 2026
Process skill On trial

lanshu-create-ai-presenter-video ↗

Ideas around our speech-video step: plan segments at real pauses, two-pass loudness, frozen and black-frame checks.

MIT and model-free, so there is no licence risk. Cloned as a reference for our own pipeline rather than run as-is.

Licence
MIT
Cost
Free
Evaluated
Oct 2026
On-device LLM runner (iOS) Testing next

Locally AI by LM Studio ↗

Trying open-weight models on a real phone, and Apple's built-in models in its latest version, before bundling anything.

It is the cheapest way to feel what a phone can run with weights you choose, and the latest version also drives Apple's own built-in models. It would have to show that its speed and quality on our test prompts match what we measure in our own apps.

Licence
Proprietary (free app)
Cost
Free
Runs on
iPhone and iPad
Size
112 MB
Local dictation (macOS) Testing next

BetterWispr ↗

Dictating idea captures and notes instead of typing them.

It is free, needs no account and defaults to Apple's on-device recogniser. It would have to beat typing on words per minute and correction rate with app names and technical terms.

Maker
Open Nook
Licence
Apache-2.0
Cost
Free
Runs on
Mac (macOS 14+)
Semantic file search (macOS) Testing next

DigUp ↗

Searching a Mac's files by what they contain instead of by filename.

A shipping third-party app built on EmbeddingGemma 2 shows what a local embedding model can do on a Mac. It would have to find the right file more reliably than Spotlight on our own folders.

Maker
ARahim3
Licence
MIT
Cost
Free
Runs on
Mac (Apple Silicon, macOS 14+)
Size
865 MB
Lip-sync Rejected

LTX-2.3 audio-to-video lip-sync ↗

Tried for syncing an AI actor's mouth to audio we supplied.

Too slow, and the mouth stayed static with no articulation. Letting the model voice the line itself worked instead.

73 min to generate a 5 s clip

Licence
MIT (ltx-2-mlx code); LTX-2 Community License (weights)
Cost
Free (under $10M revenue)
Runs on
Mac (Apple Silicon)
Size
19 GB of extra weights
Evaluated
Oct 2026
Video composition Rejected

Motion Canvas ↗

Considered as the alternative to Remotion.

Better for explanatory and diagram motion, weaker for the typography-led social cuts we make. Kept as the fallback if Remotion's headcount clause ever applies.

Licence
MIT
Cost
Free
Runs on
Mac (Apple Silicon)
Evaluated
Aug 2026
Video composition Rejected

Vanta ↗

Considered as a Remotion alternative.

It has no resolvable licence, which means all rights reserved. Being pushed hard by listicles is not a reason to use it.

Licence
None declared
Evaluated
Aug 2026
Video generation Rejected

FreeVideo (MiniMax H3 weights) ↗

Considered for local AI video.

The H3 weights licence excludes the United States (and the EU, UK and Korea), including displaying outputs, so a US business can't use it. It was also slow on our Mac.

About 42 min per 10 s clip

Licence
Apache-2.0 (code); MiniMax H3 Community License (weights)
Cost
Free (code); weights licence excludes the US
Runs on
Mac (Apple Silicon)
Evaluated
Oct 2026
Video generation Rejected

FastVideo (FastMetal-5B) ↗

Silent b-roll clips, until October 2026.

Retired when we moved to LTX-2.3, which generates synced speech; FastMetal clips are silent. It was about 4× faster for b-roll.

~5 min per 5 s silent clip

Licence
Apache-2.0
Cost
Free
Runs on
Mac (Apple Silicon)
Evaluated
Oct 2026
Video pipeline Rejected

OpenMontage ↗

Considered for clipping and b-roll.

AGPL-3.0, and its local presenter relies on older lip-sync models (SadTalker, Wav2Lip), with non-commercial Wav2Lip weights. We borrowed pipeline ideas only.

Licence
AGPL-3.0
Cost
Free
Evaluated
Oct 2026
Video editing Rejected

SeeCut ↗

Considered for automated editing.

Its PolyForm Noncommercial licence forbids marketing use, and it depends on HeyGen (paid) and Gemini. One idea we kept: judge two cuts twice, with their order swapped.

Licence
PolyForm Noncommercial
Cost
Free code; depends on paid services
Evaluated
Oct 2026
Video editing Rejected

NullMotion ↗

Considered for editing.

No licence, so all rights reserved, and the editing features live in the paid hosted product.

Licence
None (all rights reserved)
Cost
Paid (hosted editing)
Evaluated
Oct 2026
Character consistency Rejected

OmniChar ↗

Installed to try for consistent AI actors across shots.

GPL-3.0, and its Apple Silicon path is untested upstream with no int8 on MPS. We get consistent characters from our existing image models instead.

Licence
GPL-3.0
Cost
Free
Runs on
Mac (Apple Silicon)
Evaluated
Oct 2026
SEO research Rejected

OpenSEO ↗

Keyword and search research for the studio site.

Removed the day it was installed: it needs a paid DataForSEO API key, and we keep the studio stack free to run.

Licence
MIT
Cost
Free code; needs a paid DataForSEO API key
Evaluated
Oct 2026

Models we tested for our apps.

Each one benchmarked against an app's real prompts, parser and size budget. Most didn't make it.

Small LLM Adopted

Gemma 4 E2B (LiteRT-LM) ↗

Cipher: the conversation characters and the turn evaluator.

Ships in Cipher, bundled with the app. Our Mac harness can't load its format, so its behaviour is judged from device logs rather than a bench row.

2.59 GB; memory-mapped and ran on an iPhone 15 Pro Max

Licence
Apache-2.0
Cost
Free
Runs on
iPhone
Size
2.59 GB
Evaluated
Jun 2026
Small LLM Adopted

Qwen3.5-4B (GGUF Q4_K_M) ↗

RIG: workout plans and the in-app Coach.

Ships in RIG. Its weak spots were fixed in the app, not by swapping models: filtering what the Coach is shown removed its safety violations.

RIG Coach: 88% → 96% of cases pass after the app fix, safety violations 2 → 0

Licence
Apache-2.0
Cost
Free
Runs on
iPhone
Size
2.74 GB
Evaluated
Aug 2026
Speech-to-text (OS-provided) Adopted

Apple SpeechAnalyzer ↗

A cooking app in development: transcribing cooking videos to decide whether they have usable narration.

Costs zero app bytes and won every gated check against four Whisper sizes. On songs and music beds it returns little or nothing instead of inventing text, which keeps the app's speech check working.

Correctly refused 3 of 3 non-narration controls on 61 real posts (best Whisper: 2 of 3)

Licence
Apple OS-provided
Cost
Free (OS-provided)
Runs on
iPhone, Mac
Size
0 (built into the OS)
Evaluated
Sep 2026
Image classifier Adopted

SigLIP2-so400m + trained linear head ↗

RIG's gym machine scanner.

A fixed answer set is a classification problem: this beat every vision-language model we tried by 16+ points at a fraction of the size. Field accuracy depends on the gym: 94% where machines carry placards, 54% where they don't.

83.4% top-1 / 97.8% top-3 on our bench set; ~100 ms per scan on the Neural Engine

Licence
Apache-2.0
Cost
Free
Runs on
iPhone (Neural Engine)
Size
409 MB (int8)
Evaluated
Aug 2026
Object detection Adopted

SSDLite320-MobileNetV3 detector ↗

RIG's optional detector for photos with several machines in them.

BSD-3 licensed and about 6 MB. Running the same weights over a 3×3 tiling of the photo was the real win.

Distinct machines found per scene 0.54 → 0.84 with 3×3 tiling

Licence
BSD-3-Clause
Cost
Free
Runs on
iPhone
Size
~6 MB
Evaluated
Aug 2026
Small language model Testing next

MiniCPM5-2B ↗

A 2.5B-parameter text model, English and Chinese only.

Comes to about 1.56 GB as a 4-bit GGUF, roughly half the 3.11 GB of a Gemma 4 E2B GGUF at the same quantization. It would have to match Gemma 4 E2B's answer quality at that size.

Licence
Apache-2.0
Cost
Free
Runs on
iPhone (candidate)
Size
About 1.56 GB (4-bit GGUF)
Speech recognition Testing next

Moonshine v2 (streaming medium) ↗

Streaming speech recognition with an iOS example and a Swift package.

It works on the audio it is given instead of padding every clip to Whisper's 30-second window. It would have to beat Whisper on short clips for latency without losing accuracy.

Licence
MIT (English weights); non-commercial community licence for other languages
Cost
Free
Runs on
iPhone (candidate)
Text-to-speech Testing next

MOSS-TTS-Nano ↗

A 100M-parameter voice model covering 20 languages, with a torch-free ONNX path its makers say runs on a single CPU core.

The question worth testing is whether its text front-end can leave Python behind, since that is what usually stops neural voices from shipping in an app. It would have to beat the system voices on clarity in the languages we teach.

Licence
Apache-2.0
Cost
Free
Runs on
iPhone (candidate)
Size
100M parameters
Small language model Testing next

LFM2.5-1.2B-Instruct ↗

A 1.2B instruction model in GGUF, MLX and ONNX.

Liquid measured about 70 tokens a second decoding on a phone CPU. It would have to match our current model's quality at that speed, and its licence is Liquid's own, so read the terms before you build on it.

Licence
LFM1.0 (Liquid AI; free under $10M annual revenue)
Cost
Free (under $10M revenue)
Runs on
iPhone (candidate)
Size
1.2B parameters
Vision backbone Testing next

DINOv3 ViT-S/16 ↗

A 21.6M-parameter self-supervised image encoder from Meta, about 41 MB at fp16.

Meta says it beats weakly supervised models on fine-grained classification probes. Worth testing as the frozen feature extractor under a small trained classifier; the licence is custom and the download is gated.

Licence
Custom (Meta; gated download)
Cost
Free
Runs on
iPhone (candidate)
Size
About 41 MB (fp16)
Small LLM Rejected

Gemma 4 E2B (GGUF Q4_K_M) ↗

Candidate to replace RIG's bundled model for workout plans and the Coach.

Tied the incumbent's Coach pass rate with more safety violations, trailed on workout plans, and is 0.16 GB larger. It is about twice as fast, and part of its deficit was a parser bug, so it is due a re-run.

RIG Coach: 88% pass with 6 safety violations in 78 runs (Qwen3.5-4B: 88%, 4)

Licence
Apache-2.0
Cost
Free
Runs on
iPhone (candidate); benched on Mac
Size
2.9 GB
Evaluated
Aug 2026
Small LLM Rejected

Gemma 4 E4B (GGUF Q4_K_M) ↗

Candidate for RIG's Coach.

Lower pass rate than the incumbent with more safety violations. At 5.0 GB it is also above the largest model we've verified running on a phone (3.1 GB).

RIG Coach: 81% pass vs 88% for Qwen3.5-4B

Licence
Apache-2.0
Cost
Free
Runs on
Mac (too large to bundle for iPhone)
Size
5.0 GB
Evaluated
Aug 2026
Small LLM Rejected

Qwen3.5-2B (GGUF Q4_K_M) ↗

Candidate for Cipher's evaluator and RIG's Coach; also tried as a vision model for RIG's machine scanner.

Less than half the size of the 4B, but it regressed where it counts: it missed satisfied requirements in Cipher's evaluator and failed more Coach checks. As a gym-machine recogniser it reached 41% top-1.

Cipher evaluator coverage accuracy 0.667 vs 1.000 for Qwen3.5-4B

Licence
Apache-2.0
Cost
Free
Runs on
iPhone (candidate); benched on Mac
Size
1.2 GB
Evaluated
Aug 2026
LLM / VLM Rejected

Qwen3.5-9B (GGUF Q4_K_M) ↗

Tried as a vision model for naming gym machines in RIG.

5.3 GB of weights leaves no room on an 8 GB phone, and scaling up did not fix recognition: a small trained classifier beat it by 25 points.

58% top-1 on RIG machine recognition (classifier: 83.4%)

Licence
Apache-2.0
Cost
Free
Runs on
Mac (too large for iPhone)
Size
5.3 GB
Evaluated
Aug 2026
Vision-language model Rejected

Qwen3-VL-4B (GGUF Q3_K_M) ↗

RIG's earlier model for naming gym machines from a photo.

Nine benchmark rounds of vision-language models plateaued at 41–67% regardless of size. A frozen vision encoder with a trained classifier head replaced it.

62–67.6% top-1 vs 83.4% for the classifier that replaced it

Licence
Apache-2.0
Cost
Free
Runs on
iPhone
Size
1.9 GB
Evaluated
Aug 2026
Mixture-of-experts LLM Rejected

Gemma 4 26B-A4B (MoE) ↗

Upper-bound reference for RIG's machine recognition.

13 GB is far beyond a phone, and as a machine recogniser it still scored below a 409 MB classifier.

65% top-1 on RIG machine recognition

Licence
Apache-2.0
Cost
Free
Runs on
Mac only
Size
13 GB
Evaluated
Aug 2026
Mixture-of-experts LLM Rejected

Qwen3.6-35B-A3B (MoE) ↗

Upper-bound reference for RIG's machine recognition.

16 GB, reference only. The largest model tried reached about the same ceiling as a 4B one, which is how we learned the problem was the framing, not the size.

67% top-1 on RIG machine recognition

Licence
Apache-2.0
Cost
Free
Runs on
Mac only
Size
16 GB
Evaluated
Aug 2026
Small LLM Rejected

Ministral 3 3B (GGUF Q4_K_M) ↗

Candidate to replace RIG's bundled model for workout plans and the Coach.

Smaller than the incumbent and strong on the Coach (24 of 26 cases), but far behind on workout plans, and one model serves both. Use Unsloth's GGUF: Mistral's own file failed to load in llama.cpp.

RIG workout plans: 30% pass vs 73% for Qwen3.5-4B

Licence
Apache-2.0
Cost
Free
Runs on
iPhone (candidate); benched on Mac
Size
2.1 GB
Evaluated
Aug 2026
Small LLM Rejected

Ministral 3 8B (GGUF Q4_K_M) ↗

Candidate for RIG's Coach.

Fewest safety violations of the open models, but no better pass rate, and at 5.0 GB it is above the largest size we've verified on a phone.

RIG Coach: 88% pass, 1 safety violation, at 5.0 GB

Licence
Apache-2.0
Cost
Free
Runs on
Mac (too large to bundle for iPhone)
Size
5.0 GB
Evaluated
Aug 2026
OS-provided LLM Rejected

Apple on-device model: AFM 3 Core (3B) ↗

Candidate for RIG's Coach.

Lowest Coach pass rate of the current models, mostly from content-guardrail refusals of ordinary training questions and replies that never arrived. RIG keeps the Coach on its bundled model.

RIG Coach: 76% pass (59 of 78), 4 refusals

Licence
Apple OS-provided
Cost
Free (OS-provided)
Runs on
iPhone
Size
0 (built into the OS)
Evaluated
Oct 2026
OS-provided LLM Rejected

Apple on-device model: AFM 3 Core Advanced (20B) ↗

Candidate for RIG's Coach.

Tied for the best Coach pass rate, but only the newest phones have it, and our gate judges Apple's model by its weakest variant. It also answered 17 × 23 as 389 in our canary.

RIG Coach: 92% pass (72 of 78), 2 safety violations

Licence
Apple OS-provided
Cost
Free (OS-provided)
Runs on
iPhone 17 Pro / Air and later, Mac
Size
0 (built into the OS)
Evaluated
Oct 2026
Speech-to-text Rejected

Whisper tiny.en (whisper.cpp) ↗

Candidate to replace Apple's built-in transcriber in our cooking app.

Over audio it should refuse (songs, other languages, music beds) it writes fluent English, which made the app's speech check score those controls above real narration. It also adds app size against a free OS model, and a bigger Whisper did not do better.

Refused 2 of 3 non-narration controls; separation −0.275 (Apple: +0.190)

Licence
MIT
Cost
Free
Runs on
iPhone (candidate); benched on Mac
Size
78 MB
Evaluated
Sep 2026
Speech-to-text Rejected

Whisper base.en (whisper.cpp) ↗

Candidate to replace Apple's built-in transcriber in our cooking app.

Over audio it should refuse (songs, other languages, music beds) it writes fluent English, which made the app's speech check score those controls above real narration. It also adds app size against a free OS model, and a bigger Whisper did not do better.

Refused 1 of 3 non-narration controls; separation −0.309 (Apple: +0.190)

Licence
MIT
Cost
Free
Runs on
iPhone (candidate); benched on Mac
Size
148 MB
Evaluated
Sep 2026
Speech-to-text Rejected

Whisper small.en (whisper.cpp) ↗

Candidate to replace Apple's built-in transcriber in our cooking app.

Over audio it should refuse (songs, other languages, music beds) it writes fluent English, which made the app's speech check score those controls above real narration. It also adds app size against a free OS model, and a bigger Whisper did not do better.

Refused 2 of 3 non-narration controls; separation −0.205 (Apple: +0.190)

Licence
MIT
Cost
Free
Runs on
iPhone (candidate); benched on Mac
Size
488 MB
Evaluated
Sep 2026
Speech-to-text Rejected

Whisper large-v3-turbo q5_0 (whisper.cpp) ↗

Candidate to replace Apple's built-in transcriber in our cooking app.

Over audio it should refuse (songs, other languages, music beds) it writes fluent English, which made the app's speech check score those controls above real narration. It also adds app size against a free OS model, and a bigger Whisper did not do better.

Separation −0.207 (Apple: +0.190); 21% of runs over the real-time budget

Licence
MIT
Cost
Free
Runs on
iPhone (candidate); benched on Mac
Size
574 MB
Evaluated
Sep 2026
Object detection Rejected

Ultralytics YOLO ↗

Considered for RIG's machine detector.

Ultralytics is AGPL-3.0, which doesn't fit a closed commercial app.

Licence
AGPL-3.0
Cost
Free (AGPL) or paid licence
Evaluated
Aug 2026

How the work runs.

Runtimes, agents and test harnesses we've adopted, and the method behind them.

Coding agent Adopted

Claude Code ↗

Building the apps and harnesses, and running our marketing agent teams: script writers, independent graders, and short review sessions after overnight GPU batches.

Local models do the generating and Claude does the judgement. Agents waiting on GPU jobs burned a week of usage, so waiting now happens in a local queue and Claude reviews in short, fresh sessions.

Cost
Paid
Runs on
Mac (Apple Silicon)
Evaluated
Oct 2026
Claude Code skill pack Adopted

marketingskills ↗

Copywriting, launch and campaign planning in Claude Code.

Pinned at a reviewed commit and updated only after reading the diff. At install it had no hooks, tool grants or install scripts; its CLI tools call paid APIs and only run when invoked.

Licence
MIT
Cost
Free
Runs on
Mac (Apple Silicon)
Evaluated
Oct 2026
Claude Code skill pack Adopted

aso-skills ↗

App Store listing, keyword and review work.

Pinned and audited like our other packs. Two skills (App Store Connect metrics and competitor tracking) need the paid Appeeky Connect API.

Licence
MIT
Cost
Free (two skills need a paid API)
Runs on
Mac (Apple Silicon)
Evaluated
Oct 2026
Claude Code skill pack Adopted

Remotion skills ↗

Remotion best practices while building video compositions.

Official and pinned. It targets Remotion 4.0.532, which our render kit now runs.

Cost
Free
Runs on
Mac (Apple Silicon)
Evaluated
Oct 2026
Claude Code skill Adopted

humanizer ↗

Run on every social caption before it is queued.

One small, auditable skill that does one job on every caption. Pinned like the other packs.

Licence
MIT
Cost
Free
Runs on
Mac (Apple Silicon)
Evaluated
Oct 2026
MCP server Adopted

Remotion documentation MCP ↗

Looking up Remotion APIs from inside Claude Code while building videos.

Official, version-matched to the render kit (4.0.532), and read-only.

Cost
Free
Runs on
Mac (Apple Silicon)
Evaluated
Oct 2026
LLM runtime Adopted

llama.cpp (llama-server, llama.rn) ↗

Every open-model benchmark on the Mac runs through llama-server, and RIG runs its bundled model on iPhone through the llama.rn binding.

Benching on the same runtime the app uses keeps results close to app behaviour. Its JSON-schema mode makes small models produce schema-valid nonsense, so we keep a text format with a strict parser instead.

Under JSON-schema constraint, distinct exercises fell to 26% (Qwen) and 60% (Gemma)

Licence
MIT
Cost
Free
Runs on
Mac (Apple Silicon), iPhone
Evaluated
Aug 2026
LLM runtime Adopted

LiteRT-LM ↗

Runs Gemma 4 E2B inside Cipher on iPhone, through our own React Native module.

It runs Cipher's bundled model on device. Two costs: llama.cpp can't load its format, so Cipher's model can't be benched alongside the others, and in RIG each image session left about 1.2 GB resident until we unloaded the engine after every scan.

2.59 GB model memory-mapped and ran on an iPhone 15 Pro Max

Licence
Apache-2.0
Cost
Free
Runs on
iPhone
Evaluated
Aug 2026
On-device LLM API (OS-provided) Adopted

Apple Foundation Models framework ↗

Our interview-practice app in development runs on it and bundles no model weights; we also bench it against bundled models for RIG.

Where the OS ships a model that can do the job, we prefer it: zero app bytes, and it improves with OS updates. Ask it in its own idiom: given a generation schema instead of a text format, its scores on RIG workouts jumped.

With a generation schema, RIG workout count checks went 4/10 → 10/10, 40% faster

Licence
Apple OS-provided
Cost
Free (OS-provided)
Runs on
iPhone 15 Pro and later, Mac
Size
0 bytes in the app
Evaluated
Oct 2026
On-device ML runtime Adopted

Core ML (Neural Engine) ↗

RIG's gym machine scanner.

Fast and small for a fixed answer set. We measure the exported Core ML file, not the training model, because accuracy changes in the export.

Float head 86.7% → int8 Core ML export 83.4% top-1; ~100 ms per scan

Licence
Apple OS-provided
Cost
Free (OS-provided)
Runs on
iPhone
Evaluated
Aug 2026
Model benchmark harness · in-house Adopted

rg-modelbench

Every app-model verdict on this page.

The rules are written before any run: objective checks only, safety failures never averaged, size and licence checked before quality, and the app's own code imported rather than copied. A copied harness had drifted 16 days out of date and was measuring a prompt the app no longer sent.

5 benchmark packs across Cipher, RIG, a cooking app and Apple's on-device model

Licence
In-house, not released
Cost
In-house
Runs on
Mac (Apple Silicon); iPhone for Apple's model
Evaluated
Aug 2026
Studio method · in-house Adopted

Mac-first AI harness

Pure-logic property checks first, then the shipped model on a labelled set, then the device last.

The iOS Simulator can't run on-device LLMs, the camera or speech recognition, so app-first work costs a device build per try. Logic hidden behind an import no harness could load went untested for two rounds.

68 of 374 RIG exercises (18%) could not be matched by name until a harness ran the real function

Licence
In-house method
Cost
In-house
Runs on
Mac (Apple Silicon)
Evaluated
Aug 2026
Job queue · in-house On trial

batchq

Overnight video generation batches with no agent waiting on the GPU.

Two heavy jobs at once push a 24 GB Mac into swap, and agents supervising GPU waits burned a week of usage. Local scripts now do the waiting and retries; Claude reviews once per batch.

Two heavy jobs at once ran 4–5× slower each

Licence
In-house, not released
Cost
In-house
Runs on
Mac (Apple Silicon)
Evaluated
Oct 2026
Model evaluation SDK Testing next

Apple Foundation Models Python SDK ↗

Python bindings for Apple's on-device model on the Mac.

Lets you run bulk prompt sweeps and evals from a notebook instead of an Xcode project. It would have to show that a Mac run predicts what the phone does, since your Mac may run a different model variant than your users' phones.

Licence
Apache-2.0
Cost
Free
Runs on
Mac (Apple Silicon)
Swift helper library Testing next

foundation-models-utilities ↗

Apple's experimental patterns for its Foundation Models framework: transcript compaction, just-in-time skills and an adapter for chat-completions APIs.

Useful when you have to fit a conversation into a 4K context window. It would have to beat the compaction we would otherwise write by hand.

Licence
Apache-2.0
Cost
Free
Runs on
iPhone, Mac
On-device model runtime Testing next

MLX Swift LM ↗

Runs language and vision-language models in Swift on Apple silicon, with LoRA fine-tuning.

It plugs into Foundation Models as a model provider in iOS 27, which makes it the route for bundling an open model when Apple's built-in one falls short. It would have to match the speed and memory of our current runtime.

Licence
MIT
Cost
Free
Runs on
iPhone, Mac (Apple Silicon)
Agent sandbox Testing next

Strands Box ↗

Letting an unattended coding agent work on a Mac with only the folders and network access you allow.

It is a free, Mac-native way to limit what an unattended agent can touch, and it ships worked examples for Claude Code and Codex CLI. It would have to wrap an agent with its normal file tools and sign-in, since the Claude Code example disables those tools and uses Bedrock auth.

Maker
Strands
Licence
Apache-2.0
Cost
Free
Runs on
Mac (Apple Silicon, macOS 15+)

Made by others.

Apps from other teams building AI that runs on your own phone or computer. These are picks, not verdicts: we haven't benchmarked them.

Verdicts are ours and can't be bought. Each one reflects what worked for this studio's apps and hardware on the date shown, not a general ranking. "Testing next" means our research picked it out and we haven't run it yet; it gets a verdict once we have.

Building something that belongs here? Tell us about it.