The voice
that runs
your Mac

Say it once and Justine does it: the mail, the WhatsApp, the calendar, the browser, the deck, the build. She hears you in under a second, thinks with Claude, and acts on the Mac in front of you.

Free · macOS 13 or newer · Apple Silicon and Intel · your Claude plan or your own key

GmailWhatsAppCalendarChromePresentationsClaude Code buildsNight shift

One sentence, four things done

  • Latency0.6send of your sentence to her first word
  • Ready for41kinds of work she arrives knowing
  • In the path0servers of ours, at any point

Built to act,
not to chat

A chat window gives you text. Justine gives you the morning back. Every capability below is something she does on the Mac in front of you, and each one says where it stops to ask.

Mail and messages

Reads the inbox, answers in your voice, sends when you say

Gmail, WhatsApp and Telegram, read and drafted and sent by name. She knows who Priya is, which thread you mean, and that the printer never gets a reply about money without you.

Gmail read and sendWhatsApp text, files, reelsTelegram from your phoneDrafts before sends
How messaging works
WhatsApp · Priya
Any update on the launch deck?
08:41
Deck is on its way before noon, nine slides in the brand palette
08:52 · sent by Justine
Launch-deck.key · 4.2 MB
08:55 · sent by Justine
Also, the printer confirmed 300 gsm for Thursday
Your day

Knows the day and guards the hours you need

"Block me till noon." "What is after lunch?" "Move the printer to Thursday." She reads Google Calendar, blocks and frees time, and says the schedule out loud so you never open it.

Reads the dayBlocks focus timeReminders that speak
Calendar and reminders
Tuesday 14 · Google Calendar
9:00
Focus, blocked by Justine
10:00
11:00
12:00
Deck to Priya
1:00
2:00
Printer, moved to 3:00
3:00
Ganesh Printers · paper stock
The browser

Drives the Chrome you are already signed into

No second browser, no logging in again. She maps the page, numbers the controls and acts: Pinterest boards, Drive folders, a Google Doc, LinkedIn, the reel you want sent to someone. Short errands take three to six seconds and never wake the big model.

Your logins, your tabsReads pages back to youAsks before anything destructive
Browsing by voice
pinterest.com/search/pins/?q=matte%20packaging
178

"Save the second one to the packaging board" · 4.1 s

Making things

Decks, images and 3D from a sentence

A presentation engine that builds from your brief in your palette and exports to Keynote. An image studio that art-directs before it generates. The Forge, for a 3D model or a simulation you can turn with the mouse. Blender renders for packaging and signage. Sketches, and document analysis with the source named.

PresentationsImage studioForge 3DBlenderAdobe exports
The making surfaces
03 / 09 · Positioning
Made for the fifty teams after the first fifty
Real builds

Brainstorms out loud, writes the spec, runs Claude Code on it

Say what you want to build. She asks one question at a time until it is settled, writes the design into your project, then starts a real Claude Code session and drives it through plan, review and execution. Every run is recorded and watchable, and when any session on your Mac is stuck waiting on you, she tells you which one, out loud.

Spec, plan, buildWatches every sessionAnswers permission promptsRun dashboard
Building with Justine
runs · portfolio-site
 spec     gallery-design.md                  approved plan     14 tasks · 3 phases              reviewed phase 1  scaffold and data model            ✓ 4m 12s phase 2  gallery grid, lightbox, keys       running           tests 31 passed · 0 failed · 48k tokens phase 3  deploy to Vercel                   queued  "invoice-app" is waiting on you, 3 min:  "Allow Bash: npm test?"  say yes to answer it
The night shift

"Goodnight. Call me at six with the report."

While you sleep she sweeps the inbox every ten minutes, files each thread, drafts the replies that need one into Drafts, never sent, and keeps anything angry or about money for you. At six she rings your phone, reads the report in her own voice and asks whether to send the drafts.

Sorts and labelsDrafts, never sendsRings you on TelegramApprove all with one word
The night shift, in detail
Memory

Remembers as files you can open

What a client said, who is who, what you decided, kept as plain Markdown in a folder on your Mac. Read it, edit it, delete a line and she knows less. Upload your notes, a bio or a playbook at setup and she learns your world before you say a word.

Markdown, not a databaseYour files as knowledgeA contact book she keeps
Memory and knowledge
~/Justine/memory/people.md
## Priya Nair client, Ondo Coffee- Prefers WhatsApp over mail, replies fast- Launch deck due Tue 14 Sep, noon- Palette: the brand book, never the old teal ## Ganesh Printers- 300 gsm agreed Fri 10 Sep (never answer money without me) ## Dad- Call on Tuesdays after seven
Tuesday, 8:52

Thirty-two seconds,
six things done

Her words on the left. What actually happened on the Mac, on the right.

TranscriptListening

08:52:10You: Morning. What is waiting on me?

08:52:11Justine: Three things, ma'am. Priya wants the deck by noon, the printer needs an answer on the paper stock, and your two o'clock moved to three.

08:52:24You: Tell Priya it is coming, build the deck from yesterday's brief, and block me till noon.

08:52:26Justine: Priya has the note. The deck is building from the brief, nine slides in your palette, and your morning is blocked. Shall I answer the printer with the 300 gsm we agreed on Friday?

08:52:41You: Yes. And remind me to call Dad tonight.

08:52:42Justine: Sent, and I will remind you at seven. The deck will be ready in about two minutes.

Receipts6
  • Read 14 unread in GmailPriya, Ganesh Printers, 12 newsletters filed
    done
  • WhatsApp to Priya"Deck is on its way before noon"
    sent
  • Deck from Launch brief.md9 slides · studio palette · export to Keynote
    building
  • Calendar: focus 9:00 to 12:00Google Calendar · declines auto-replied
    blocked
  • Mail to Ganesh Printers"300 gsm, as agreed Friday" · after your yes
    sent
  • Reminder 19:00, call DadSpoken out loud, or a call to your phone if you are out
    set
Three layers, one voice

Hears now, thinks with Claude,
acts with real hands

Hears you in under a second

One live socket: she listens and speaks natively and can act mid-sentence. Interrupt her, change your mind, keep talking, and she stops and follows.

Gemini Live · barge-in · wake word

Thinks with Claude

Anything that takes reasoning goes to a long-lived Claude Code session on the plan you already pay for. No API key on the voice path; she scrubs them out on purpose.

Your subscription · or your OpenRouter key

Actually does the thing

Real mouse and keyboard, AppleScript, your own Chrome. "Send Priya the deck with the analysis" finds her, attaches both and sends, after you say yes.

Accessibility · Screen · Automation
Reach

Works with what is
already on your Mac

Four ways she reaches a tool: her own, an MCP server, your signed-in Chrome, or an app on the machine. The Connections page shows what is actually ready right now, never a capability she cannot back.

Her own

  • GmailRead, send, labels and drafts
  • Google CalendarRead, block, free
  • WhatsAppText, files, screenshots, reels
  • TelegramReports and calls to your phone
  • Your filesAnswers with the source named
  • MemoryMarkdown on disk
  • Screen and MacApps, mouse, keys, volume

By MCP

  • CanvaPosters, resizes, exports
  • FigmaFiles, frames, exports, comments
  • NotionPages, briefs, the board
  • Anything with an MCPOne line in connections.json

In your Chrome

  • Google Drive, Docs, MeetSigned in already
  • Instagram, PinterestReels, boards, pins
  • LinkedIn, Behance, DribbbleProfiles, feeds, references
  • YouTube, SpotifyPlay, pause, next, volume
  • Google and Adobe Fonts, CoolorsType and colour
  • Unsplash, Pexels, WeTransferAssets in, files out

Mac apps

  • Illustrator, Photoshop, InDesignOpen, export any format, save
  • KeynoteOpen the deck, start the show
  • BlenderRendered mockups
  • After Effects, Premiere, Resolve, CapCutOpen projects
  • VS Code, TerminalThe project she just built
  • Finder, Preview, ZoomFiles, proofs, calls

Names are their owners' trademarks. Justine drives these through their own apps, sites and published MCP servers on your own accounts; she is not affiliated with any of them.

Make her yours

Her name, her voice,
how she speaks to you

Justine is a starting point. Eight welcome cards on first run decide who she is, and every answer lands in plain files you can change later by hand.

A name and a form of address

Justine, Friday, anything you like. Sir, ma'am, your first name, or none of that.

Eight voices, eight languages

English, Hindi, Hinglish, Kannada, Tamil, Telugu, Marathi and Bengali, with a voice you pick by listening.

A day she understands

Designer, founder, developer, marketer, student, or describe your own. It changes what she reaches for first.

A tone

Composed butler, sharp friend, or the fewest words that do the job.

1 / 8 · Her name
Justine
Address you as
ma'amsirfirst namenone
3 / 8 · Voice
AoedeKoreLedaZephyrPuckCharon
Language
EnglishHindiHinglishKannadaTamil
5 / 8 · Your day
Brand designerFounderDeveloperMarketerStudent
Tone
ButlerFriendlyMinimal
7 / 8 · Her glow
Your files and people
MDdesigner-playbook.md
PDFbrand-book-2026.pdf

Your Mac. Your account.
She ships connected to nothing

Justine runs on your machine, on your own Claude login or your own key. There is no Justine cloud, no account to create, no server that ever sees what you said.

Your Claude subscription, not an API bill

The brain is a Claude Code process on the login you already use. Every child she spawns has ANTHROPIC_* scrubbed from its environment, so the CLI can never quietly bill a key instead.

Memory is files, not a database

Everything she remembers is Markdown in a folder you choose. Open it in any editor. Delete a line and it is gone.

Keys stay in a file on your disk

Your Gemini and Fish Audio keys go into .env through a walled writer and are only ever reported back as "set" or "not set".

Error reports are blind, and yours to stop

When something breaks, the app says what broke and nothing else: never a transcript, a mail, a URL, a name or a key, all of it scrubbed before it leaves. Switch it off in Settings whenever you like. Read the full privacy page

# claude_env.py, the environment every Claude Code child gets
SCRUBBED_ENV_PREFIXES = ("CLAUDE_CODE_", "ANTHROPIC_")
SCRUBBED_ENV_KEYS     = {"CLAUDECODE"}

def child_env():
    env = {k: v for k, v in os.environ.items()
           if not k.startswith(SCRUBBED_ENV_PREFIXES)
           and k not in SCRUBBED_ENV_KEYS}
    return env

The actual code that runs before every session she starts. The CLI prefers an inherited ANTHROPIC_API_KEY over your login and keeps reporting "logged in" while billing moves to the key, so she removes it rather than trusting herself not to pass it.

Two ways to connect

Your Claude plan,
or your own key

Chosen on the second welcome card. Either way it is your account and your data.

Recommended

Your Claude subscription

The full brain, on the plan you already pay for

  • One guided login during setup, the same claude login you use in the terminal
  • Runs real builds and coding sessions, not just answers
  • No per-token bill; the dashboard shows your five-hour and seven-day windows instead

Your own key

Prefer keys? Paste one OpenRouter key and go

  • One key covers Claude Sonnet and Opus, Gemini, GPT and Grok; pick the model on the card
  • No Claude Code install needed; every tool runs in-process
  • Pay only for what you use. Builds that spawn Claude Code need the subscription

Both paths also take a Gemini key for her live voice and a Fish Audio key for her spoken voice. The cards link you to both.

What voice-first means

Dictation types. Chat answers.
Justine does

On a Tuesday morningJustineA dictation appA chat assistant
Sends the WhatsApp to Priya, with the fileTypes the wordsDrafts the words
Blocks your calendar till noonTells you how
Drives the Chrome you are signed intoIts own sandbox, if any
Starts a Claude Code build and watches it
Works the inbox overnight and rings you at six
Interrupt her mid-sentenceSometimes
Runs on the Claude plan you already haveIts own planIts own plan
Memory you can open in a text editorProvider-dependent

Categories, not products. Every tool here is good at its own job; this is about what happens after you stop speaking.

Setup

Running in minutes

No terminal. Download, drag, open, answer the cards.

Download and open

Grab the disk image and open it, a window with Justine inside.

Drag to Applications

Drop her in Applications and double-click. She starts her own backend; there is nothing else to install.

Answer the welcome cards

Connect your Claude login or key, grant the four macOS permissions, name her, and talk.

Apple Silicon (M1 to M4) is the default. On an Intel Mac, use the Intel build.

macOS 13+Apple Silicon or IntelGoogle ChromeA Claude plan or an OpenRouter keyA Gemini key for her voice

Full setup guide, permissions and troubleshooting →

Reach out

Tell us what you want
her to do

A feature you are missing, a bug, a question before you install, or a day you would like her to take over. Every message is read by the people who build her.

What is it about

Questions

Before you download

Is it free?
Justine is free. What you bring is a Claude subscription (or an OpenRouter key), a Gemini key for her live voice, and a Fish Audio key for her spoken voice, all on your own accounts, with free tiers to start.
Does it need an Anthropic API key?
No, and she refuses to use one. The brain is Claude Code on your subscription login; every process she spawns has ANTHROPIC_* removed from its environment. If one is sitting in your .env, the first-run check warns you.
What can she do without asking me?
Read, look, draft, prepare. Sending a message, sending mail, and anything destructive in the browser waits for your yes. The night shift drafts replies into Drafts and never sends until you say "approve all" in the morning.
Why Chrome?
She drives the browser you are already signed into (Gmail, Drive, WhatsApp Web, Pinterest) through Chrome's own scripting, so there is no second login and nothing to sync. Safari and Firefox do not expose the same control.
Which permissions does she need?
Four, all granted from the welcome cards with a link straight to the right pane: Microphone (to hear you), Accessibility (real mouse and keyboard), Screen Recording (to look at the screen when you ask), and Automation (to talk to Chrome, Terminal and Keynote). What each one is for
Does anything leave my Mac?
Your voice goes to Gemini Live, her reasoning to Claude, her speech to Fish Audio, on your keys and accounts. Nothing goes to us. Optional error reporting is off by default and sends only scrubbed error text. The full privacy page
How do updates arrive?
On their own. The app checks a signed release feed on launch and installs new versions in the background; both the Apple Silicon and Intel builds are published on GitHub Releases, where you can also download any version by hand.

Your Mac, alive

Give her your voice and watch the work start.