[ open source ] · [ native app ] · [ local-first ] · [ bring your own AI ]

Create a community.
Explore a hypothesis.
Watch what happens.

Sorcerer brings small digital worlds to life. Summon agents with personalities, goals, relationships and memory, drop in a “what if…?”, and watch opinions form, collide and spread — round by round.

install in Terminal, opens right away:

$ curl -fsSL https://sorcererapp.dev/install.sh | sh

free · macOS 15+ · Apple silicon & Intel. Using the .dmg? macOS blocks it once because Sorcerer isn't signed with a paid Apple account: open it, then System Settings › Privacy & Security › Open Anyway. details

~/worlds/village.simround 14 · 8 agents · ● live
··..*...*.*·**..·*.····.·*.*.**·...*.·.*·.·...···.·.··.*·.····*..·...·
ada
bruno
chen
dara
eli
fumi
gus
iris

› what if ▍

— 01 / how it works

It starts with a question.

Describe a hypothesis, give the world some context, and populate it. Everything after that is observation — and a little bit of meddling.

··········

01

Summon a community

Create characters with personalities, interests, goals, relationships and their own memories. Seed the world with your texts and documents.

~~~~~~~
~  ✦  ~
~~~~~~~

02

Cast a hypothesis

Start with “What if…?”. Introduce a product, a price, a rumor or a rule, and let it ripple through the community.

●──●──●──● A
   └─●──● B

03

Observe and branch

Follow the rounds, talk to characters, inject events — then save a moment and fork it to compare how each path evolves.

— 02 / a simulation, live

Watch every post, reply and change of heart.

Rounds play out in the open. Pause anytime, inject an event, or pull a character aside to ask what they really think.

example scenario · fictional app “Lumen” raises its plan from $9 to $14 a month

lumen-pricing.sim branch B · $14 round 4 ● running❚❚ pause+ inject event⑂ fork hereexport

@ada posted r1

$14 a month for notes? I'll wait and see what actually changes.

@bruno posted r1

If sync gets faster, I'd pay it.

@chen posted r2

Is there a student plan? That's the real question.

@dara replied to @ada r2

For a team of eight that's $40 more a month. I need a reason to sign off.

@eli posted r3

A price hike with no new features reads as a cash grab.

@fumi replied to @eli r3

Annual at $120 would soften this a lot.

⚡ round 4 · event injected by you — Lumen announces offline mode.

@bruno posted r4

Offline mode changes it. Upgrading today.

private chat · you ↔ @eli

you › what would change your mind?

eli › A student tier, or a changelog that shows where the extra $5 goes.

— 03 / branching

Save a moment.
Fork the future.

Freeze the community at any round and split it into alternate paths. Same people, same memories, one different decision — then compare how each world unfolds.

A sentiment … objections …

B sentiment … objections …

— 04 / the spellbook

Everything you need to run an experiment.

[01]

Communities

Create and tune communities of agents around any question.

[02]

Characters with memory

Profiles, relationships and memory that persists across rounds.

[03]

Grounded context

Seed the world with your own texts and documents.

[04]

Round-based simulation

Every post, reply and disagreement, visible as it happens.

[05]

Live interventions

Inject events and change conditions mid-experiment.

[06]

One-on-one chats

Pull any character aside and ask them why.

[07]

Branching scenarios

Save a moment, fork it, and compare alternate futures.

[08]

Traceable reports

Findings linked back to the moments that produced them.

[09]

Usage control

Pause and resume around your providers' limits.

[10]

Export & share

Package scenarios and experiments for others to run.

things people ask it ↓

  • What if our customers saw this product tomorrow?product reactions
  • What if we charged $9 instead of $14?pricing · A/B branch
  • What if this headline hit the group chat?how news spreads
  • What if the forum banned anonymous posts?community rules
  • What if a dragon moved into the village?fiction · social dynamics

for the curious · researchers · creators · developers · product teams

— 05 / your machine, your models

Open source. Native. Local by default.

┌─ your machine ───────────────┐
│                              │
│  sorcerer.app             ●  │
│   ├── communities/           │
│   ├── characters/            │
│   ├── history/               │
│   └── settings               │
│                              │
└──────────────┬───────────────┘
               │
               │  only what a round needs
               │
       ┌───────┼───────┐
       ▼       ▼       ▼
 subscription api key local model
  • { }

    Open source

    Read the code, fork it, extend it. Licensed under MIT.

  • [_]

    A native app

    A real Mac app: SwiftUI, a 4 MB download, Apple silicon and Intel. No account on our side.

  • ~/

    Stored locally

    Communities, settings and history live on your disk. When you use an external provider, only the data a round needs is sent to it for processing.

  • <>

    Bring your own AI

    Use the subscriptions you already pay for through each provider's integrations — or API keys and local models. Sorcerer paces itself, pauses at your limits and picks up where it left off.

! a note on resultsSimulations surface possible reactions, objections and consequences. Treat them as hypotheses to investigate — they don't replace evidence from the real world.

Ask better questions before you act.

$ curl -fsSL https://sorcererapp.dev/install.sh | sh

The .dmg isn't signed with a paid Apple developer account, so macOS blocks it once: open it, then System Settings › Privacy & Security › Open Anyway. The Terminal command skips that step.