Always opt-in.
The user explicitly enables each AI feature. Default is no AI involvement. A user who never opts into anything still has a fully functional Lanai.
Lanai uses on-device intelligence to deepen your relationship with content you chose, never to choose for you. Every AI feature must pass that test. Features that fail it don't ship — not in v1.0, not in v1.x, not ever. The principle is more important than any specific feature.
The principle in one sentence
Lanai uses on-device intelligence to deepen the user's relationship with content they chose, never to choose for them.
Most platforms use AI to replace user choice. The For You feed, algorithmic recommendations, "people you might like." Each takes agency away from the user and gives it to a model optimizing for engagement. Lanai's brand thesis is the opposite. The user chose what to follow. Our job is to help them experience their own choices better — to read their feed at reading speed, to find the saved post they forgot about, to hear back from people they actually wanted to hear from.
There's a side effect worth naming: the name "Lanai" happens to contain "AI" inside it. This wasn't intentional. But once we've earned the right to use AI thoughtfully, the hidden letters become a small marker — even the name has AI in it, used in a way that respects you. The accidental rightness is preserved by the substance of the work.
The six corollaries
The principle implies a small set of rules. Every AI feature in Lanai — present or future — must clear all six before it ships.
The user explicitly enables each AI feature. Default is no AI involvement. A user who never opts into anything still has a fully functional Lanai.
Every AI presentation has a one-tap escape. "View in chronological order" is always available. AI-suggested alt text never auto-fills; the user accepts, edits, or rejects.
When AI is in the loop, there's a visible indicator. The user always knows when they're seeing AI-presented content versus original-order content. No hidden re-ranking.
Apple's on-device APIs only — Vision, NaturalLanguage, CoreML, Foundation Models when available. No cloud AI processing. Not even Private Cloud Compute.
When Apple Intelligence isn't available — older device, region restriction, OS-level opt-out — every AI feature gracefully degrades. AI is never required for the app to function.
AI-generated text appears in Lanai's tone, not in chatbot tone. No "I generated this for you!" framing. No emoji. No "Here's what I think:" preamble. AI is plumbing, not personality.
Bright lines
The explicit list of forbidden AI uses. These are bright lines, not guidelines. If we ever do any of these, we've stopped being Lanai.
Following is chronological. AI never decides what posts appear first or last. AI never selects which posts to show or hide based on engagement prediction.
Lanai never suggests new accounts to follow based on AI inference about user preferences. Discovery happens through user-driven actions: search, browsing curated feeds, following from someone's profile.
AI never tries to maximize time-in-app, scroll depth, or any other behavioral metric. Features that increase engagement at the user's expense are forbidden.
AI never determines which posts the user sees from a larger pool. If a feature involves selecting which of N posts to display, it's wrong.
Apple's cloud-routed AI (Private Cloud Compute) is technically privacy-preserving but is still off-device. Lanai uses on-device exclusively. Stricter than Apple's own apps, on purpose.
AI never affects what the user sees without an indicator. No version of Lanai exists where the user is consuming AI-shaped content unknowingly.
No chatbot framing, no "I" pronouns from the AI, no animated assistant, no avatar. AI is plumbing. Windy is the only character in Lanai.
Lanai never collects user content for AI training, ours or anyone else's. The on-device APIs we use don't transmit content for training.
Quiet content overlays add a tap-to-view friction; they never silently filter. Apple-style classification stays additive, never subtractive. The user is always the moderator of last resort.
In v1.0
The intelligence story for v1.0 is small on purpose. Each shipped feature is a proof-of-principle: it demonstrates the stance more than it powers the app.
Attach an image, tap "Suggest a description." Vision runs on-device. The combined result appears as a suggestion you accept, edit, or reject. Never auto-fills. Never appears unless invoked. The proof-of-principle feature for Lanai's AI stance.
Two passes per image — focus analysis (face detection → attention saliency → 9-position alignment) and content classification (text-heavy gets fit, photo gets fill, hybrids get the right thing). Lands the crop where you'd land it yourself, just faster, just on-device. The headline-image-export feature gets quietly smarter without ever asking.
v1.x candidates
Six features that fit the principle and would, together, make a meaningful intelligence story. Each is on the table, not on the calendar — they ship when each one earns the right.
Reorder Following to spread same-author and same-content-type posts. The set of posts is fixed by user choice; AI changes the order. Setting: "Pace your feed: chronological (default) / mixed-variety." Reversible per-session. Indicator visible whenever shuffle is active.
On-device classification adds a tap-to-view friction for distressing or graphic imagery. User-configurable for what to gate. Never silently filters; only adds a friction tap. Useful especially for older audience members more sensitive to certain content.
On the Home surface, the Saved card surfaces an old saved post you haven't returned to. Bias toward "you saved this six weeks ago" rather than "this looks similar to what you've been reading." Helping you fulfill your own past intentions.
When viewing notifications, AI groups conversational replies separately from low-effort ones (single emoji, "lol," etc.). Doesn't hide anything; reorders so substantive responses surface first. One tap back to chronological.
Apple's on-device translation, invoked per-post by the user. Detects post language; offers translation when language differs from your preferred languages. Never auto-translates.
Apple Intelligence's writing tools (rephrase, proofread, summarize) exposed at the right moments in compose. User-invoked only. Tools appear in a calm menu rather than as auto-suggestions.
Group your saved-for-later posts by inferred topic, on device, after the save event. Clusters appear as suggestions you can accept or ignore — never the only way to view your saves.
Architecture
All AI features live in a dedicated package: Packages/LanaiIntelligence/. Feature packages never import VisionKit, NaturalLanguage, or other AI frameworks directly — they import LanaiIntelligence's protocols. The actual framework integration is isolated.
Concrete implication: if you grep the codebase for import Vision or import NaturalLanguage, the only matches should be inside that one package. The principle isn't enforced by review notes; it's enforced by the package boundary.
Graceful degradation is automatic. When Apple Intelligence isn't available — older device, region restriction, OS-level opt-out — the relevant LanaiIntelligence implementation returns nothing. Feature code handles that case (no suggestion offered, fall back to chronological feed). Nothing is gated; nothing is required.
Lanai becomes the place where AI is a tool the user wields, not an algorithm the user is wielded by. For an audience that includes accessibility advocates, older users who have learned to distrust algorithms, and Apple-platform devotees who care about privacy, that stance is meaningful.
Also from the studio
A native Mac media wall with a mean little grin.
Open flexGrid →
Fast workout logging for solo lifters.
Open flexRep →
Turn any script into a multi-voice podcast.
Open flexVox →
Audio levels on your screen edge.
Open flexMeter →
Every format in. Clean Markdown out.
Open flexDoc →
Messy spreadsheet in. Print-ready dashboard out.
Open flexStats →