Initialising Opal
Still starting. Check you're online.
Ready to wake Opal
One-time download. Use Wi-Fi and keep this screen open.
Rest of today
Tap the project again to edit its instructions and files.
No chats yet.
Swipe right for settings, left for a new chat. Swipe a chat left to delete it.
Hi, I'm Opal.
What can I help with?
Opal follows these in every chat in this project.
Opal reads these in every chat in this project. Text, notes, CSV and code files work.
Listening…
Tap your button and speak. Hand over, and they tap theirs. Opal says each translation out loud. Tap a translation to show it large.
Everything Opal remembers, and nothing else. Tap an item to edit it, or ask Opal to forget something.
No longer true: facts a newer one replaced. Opal only brings these up when you ask about your past.
Opal's own notes: running jokes, opinions she's shared and your history together.
Decisions Opal remembers, newest first.
None yet. They appear about 15 minutes after a chat goes quiet.
Routines Opal runs when you say their name, by text or voice. For example, "Morning protocol": the weather, what I've got on today and three headlines.
choices.1.message.content, then Speak Text or Show Result.The widget runs on Groq's web search, so it can check the weather and news, but it can't see your to-dos inside IMPERIAL.
When you tell Opal you need to do something, she adds it here and reminds you when it's due.
The code that makes IMPERIAL and Opal work, for you to read. It opens with Face ID, can't be changed from here, and is never shown to Opal.
Your iPhone can clear a web app's data if it runs short of space. Save a backup to iCloud Drive now and then: tap Back up, then Save to Files.
Give Opal your real schedule and step count, from your iPhone's Calendar and Health apps, through a free Shortcut that copies them for her. Nothing leaves your phone except to the brain answering you.
OPAL SYNC, then a new line with Calendar: and the Repeat Results, then a line Steps today: with the Statistics.Nothing noticed yet. It takes a week or two of using IMPERIAL.
Ask Opal to run your smart home: "lights off", "movie time", "heating to 20". Each one is a Shortcut you make once, and Opal runs it by name.
Opal can message you first: a heads-up before things you said you'd do, "how did it go?" afterwards, your reminders, habits still to do at 8pm, a nudge for your debrief, and what she finds while watching for you. Something on the internet has to send them, so you set up a small free Cloudflare Worker once. It only ever sees the short notification texts.
opal.opal-push, and tap Deploy.OPAL, namespace opal.*/5 * * * *)..workers.dev), paste it below, and tap Turn on notifications.place=home at the end to place=work.Give people this link and they can leave you a message with Opal. You get a notification straight away, and she passes it on next time you open IMPERIAL. It needs notifications on. If you set the worker up before version 1.46, copy the worker again and paste it over the old one.
Let Opal think while IMPERIAL is closed, on your notification worker: a morning briefing and an evening wrap-up as notifications, a warning before rain, missions she finishes in the background, answers she finishes when you leave the app mid-reply, and "Hey Siri, Opal". Your Groq key and a short summary of your day (memories, plans, habits) are sent to your worker. If you set the worker up before version 1.31, copy the worker again and paste it over the old one.
Talk to Opal through Siri, from the lock screen, CarPlay or your AirPods, with the app closed. She knows your day, keeps the conversation going for a few minutes, and can set reminders, add to lists and start missions. It needs the mainframe on.
q set to the Dictated Text.Give Opal real hands: your music, your home and your inbox. Each one uses your own free developer account, so nothing goes through anyone else.
configuration.yaml, then a restart:http:
cors_allowed_origins:
- GOOGLE_ID (the client ID) and GOOGLE_SECRET (the client secret).Web apps can't use the Dynamic Island, but your Clock timer can. Say "pasta's on for 12 minutes" or "I'm leaving in 20" and Opal starts a countdown there through a Shortcut you make once.
Web apps can't send notifications by themselves, so Opal hands reminders to your iPhone's Reminders app, which alerts you even when IMPERIAL is closed. You build a free Shortcut once.
|.Ask Opal with "Hey Siri, Ask Opal", or share text and web pages to her from other apps. You build a free Shortcut once. Answers appear in Siri, not in your chats.
https://api.groq.com/openai/v1/chat/completions. Set Method to POST. Add two headers: Authorization set to Bearer, a space, then your key (Copy your key below), and Content-Type set to application/json. Set Request Body to File and choose the Text from step 3.choices.1.message.content.Opal's colour, for the orb, buttons and glow. Time of day moves from gold in the morning through ice and ruby to purple at night.
For books and other long files. Paste a free Gemini key from aistudio.google.com (no card needed), and Opal reads whole files at once. Files are sent to Google, which may use free-tier content to improve its products.
NVIDIA's biggest free models (Nemotron Ultra 550B, Mistral Large 3) answer every chat, with Groq behind them. Paste a free key from build.nvidia.com (no card, no daily cap). Requests go to NVIDIA; if Safari won't send them directly, they pass through your notification service.
The biggest free open models, like Nemotron Ultra, through OpenRouter. Paste a free key from openrouter.ai (no card needed). Opal uses them for hard problems, second opinions and when Groq's allowance runs out, about 50 times a day. Add $10 of credit to your OpenRouter account once (free models don't spend it) and the allowance becomes 1,000 a day, so the biggest one answers every chat. Free models may keep what's sent to them.
Opal-2, the on-phone brain that learns from your chats, is kept private on your Hugging Face account. Paste a read key from huggingface.co › Settings › Access Tokens so this iPhone can download her. It stays on this iPhone.
Places © OpenStreetMap contributors. Weather by Open-Meteo.com (CC BY 4.0).
IMPERIAL is locked
IMPERIAL is private