What is Njn?
Njn is a Mac app that builds itself.
You talk to Zee — the agent that lives inside Njn. You describe what you want; Zee writes a new app for it, compiles it, and installs it into your dock. The new app is called a mod.
Voice. Memory. Local. No subscription.
Njn for iPhone is the companion. Pair the two and they become one organism: Mac is the brain, iPhone is the senses, one shared memory.
System Requirements
Njn runs locally on Apple Silicon. The bigger the machine, the bigger the brain.
| Component | Requirement |
|---|---|
| Processor | Apple Silicon · M1 or later |
| Memory | 32 GB unified minimum · 64 GB+ recommended for the full local model lineup (coder + voice + daily driver) |
| macOS | 14 Sonoma or later |
| Disk | 25 GB free · for local models |
| iPhone | iPhone 13 or later · iOS 17+ · optional, pair with Mac |
| Network | None required for local use. Internet only for cloud models or pairing setup. |
Install & First Run
- Download Njn from injn.ai.
- Drag Njn to your Applications folder.
- Open it. Njn requests the permissions it needs on first launch — microphone for voice, file access for your Documents, network for cloud models if you use them.
- Pick a model. Run a local model through Ollama (fully offline), or paste an API key from a frontier provider.
- Talk to Zee.
No account. No sign-up. No cloud sync.
Talking to Zee
Zee is the agent. You speak or type — Zee responds and runs the tools needed to answer.
Chat
Open Njn, type, press enter. Threads are persistent. Zee remembers what you've said across every session.
Voice
Press the microphone to talk hands-free. Zee transcribes, thinks, runs tools, and speaks the answer back.
Canvas
For anything that needs a visual result — documents, code, designs, sketches — Zee writes to a live canvas. Watch it render as it's built.
Mods
A mod — short for module + modifier — is a small app that Zee builds for you on demand.
Describe what you want — "make me something that tracks my reading habit," "a tool that turns my voice memos into a daily summary," "a custom dashboard for my home automation" — and Zee writes the source, builds it, and installs it into your dock. It opens immediately.
What a mod can do
- Render its own interface (windows, controls, charts, canvases).
- Run code that talks to your files, your calendar, your network, your other apps.
- Use the tools the agent has access to — search, generation, system actions.
- Be saved, edited, removed, or shared like any other app.
Where mods live
Mods are real source files on your Mac. You can open the source, modify it, ask Zee to refactor it. They're yours.
Memory (LoA)
LoA — short for Library of Alexandria — is Njn's memory. It's the searchable persistent record of everything you've discussed, decided, made, and asked.
LoA runs three loops in the background.
Reflect
The waking loop. Compresses, indexes, and organizes the day's activity into a structured memory graph. Always running while you're using Njn.
Dream
The future-facing loop. When the machine is idle, Dream samples across the memory graph and proposes connections, summaries, and ideas you didn't explicitly ask for. Dream output reads in first person — it's Zee thinking through your context.
Immune
The realtime loop. Watches for anomalies in code, files, and behavior. Code-shaped, not memory-shaped. Silent unless something needs attention.
Pairing
Pair iPhone and Mac on the same network and they become a single agent.
The Mac runs the brain — the models, the memory, the heavy compute. The iPhone is the senses — voice in your pocket, conversations away from the desk, the agent in the field.
Same memory. Same agent. Same context. Different surfaces.
How it works
- Open Njn on Mac. Open Njn on iPhone.
- Both devices must be reachable on the same network (LAN, hotspot, or Tailscale).
- Scan the pairing code shown on Mac from your iPhone.
- That's the pairing. From that point on, the iPhone routes through the Mac.
When the Mac is offline
If the Mac is asleep or out of range, the iPhone falls back to whatever cloud provider you've configured — or works in a degraded local mode if you've configured no cloud.
Talk, Text, Canvas
Three modes on the iPhone. Same agent in all three.
Talk
Voice mode with the animated Perceptron orb. Speak naturally — the agent listens, thinks, runs tools, and answers in real time. Hands-free, screen-off-friendly.
Text
Full chat surface. Persistent memory. Same agent that lives on your Mac.
Canvas
Live code, documents, and designs render as the agent builds them. Watch the work as it happens.
Njn for iPhone ships with 100+ built-in tools — web search, image generation, email, iMessage, calendar, reminders, HomeKit, music, weather, news, and more.
Local Models
Njn runs models locally on Apple Silicon via Ollama. Zero network calls when you're running local-only.
Default lineup
- Daily driver — Gemma 4 26B (chat, reasoning, tool use)
- Coder — Gemma 4 31B (heavier model for code-shaped work)
- Voice — Gemma 4 e4B (small, fast, low-latency)
Setup
- Install Ollama if it isn't already installed.
- Pull the default lineup (Njn's first-run flow handles this) or any other Ollama-compatible model.
- Switch models from Njn's model picker.
Choosing a size
The size of the model you can run comfortably is bounded by your machine's unified memory.
| Unified memory | Comfortable size |
|---|---|
| 32 GB | The daily driver, with room for OS + apps. Tight if you run the coder or voice model alongside it. |
| 64 GB | Full lineup (daily driver + coder + voice) with headroom for tools and memory. Recommended. |
| 128 GB+ | Comfortable for the full lineup plus larger experimental models. |
More memory = larger models = sharper agent.
Bring Your Own Key
Njn is local-first. The default chat runs entirely offline on Ollama (daily driver: Gemma 4 26B). Cloud is optional fallback — for when you want a frontier model, or when the local one isn't right for the job.
Supported providers
- Anthropic — Claude
- OpenAI — GPT
Paste your API key in Njn's settings. Keys are stored in macOS Keychain. Requests go directly from your Mac to the provider. Njn is not in the path.
Local First
Everything Njn does, it does on your machine by default.
- Conversations and second brain (LoA) — local SQLite under
~/Library/Application Support/Njn/. Nothing leaves your machine unless you explicitly choose a cloud model. - Mods — source code on disk, yours to keep, edit, or delete.
- Model keys — macOS Keychain.
- Generated artifacts (images, voice models, etc.) —
~/Library/Application Support/ai.injn.Njn/.
Network Behavior
Njn touches the internet only when:
- You explicitly run a tool that requires the web (search, email send, weather, image generation, etc.).
- You're using a cloud model — requests go directly to the provider you configured, with your key.
- The app checks
injn.aifor app updates.
That's it. No telemetry. No analytics. No phone-home.
Permissions
The agent cannot escalate itself — every tool call surfaces an in-chat consent prompt the first time it fires on your machine. You approve, deny, or remember the decision for that tool.
Tool consent
When the agent decides to use a tool — sending an email, controlling HomeKit, running code, reading a file — Njn surfaces the call inline in the conversation before it executes. You see what's about to happen and authorize it (once, always, or never).
Dev unlock
Power-user surfaces — the Mod Admin panel, the Dev tab in the Mod Store, the unshipped-app preview toggle — are gated behind a dev-unlock sentinel file at ~/.njn-dev-unlock. Public installs don't have it; those surfaces don't render. To enable on a development machine:
touch ~/.njn-dev-unlock
To revoke:
rm ~/.njn-dev-unlock
License
Njn is proprietary software, owned by Perceptual Art LLC.
The Njn name, brand, logo, source code, and proprietary model components may not be used, copied, redistributed, reverse-engineered, or incorporated into derivative works without prior written permission.
You retain ownership of any content you create using Njn. We have no access to it.
For the full legal text, see Terms of Service and Privacy Policy.
© 2026 Perceptual Art LLC. Njn is a trademark of Perceptual Art LLC.
Built by Perceptual Art LLC