Intent,
executed.
Mintis is the toolset for neuro device developers: one deliberate signal in, one confirmed action out.
Make your board do something tonight.
Or ship a device that comes with connectors on day one. Mintis takes on the work you would otherwise staff forever: OAuth for every provider, a security review, connectors that break when providers change, a trigger that must not fire while you read. You work on your own application.
Three parts: a directory of connectors your device can drive, tools that turn its signal into deliberate triggers, and hosted execution between the two. The first is live; the second is next.
One sitting. A board you already own and a trigger your code already detects. Sign up free, register the board, ask for the API reference, and the trigger switches a relay or sends a set message.
For a demo or a study. Your device drives real actions from the detector you already have. Participants’ triggers do real things, every run is on record, and raw signal never leaves the machine. Free while you research.
At release. Ship with reviewed connectors behind one API, hosted credentials and OAuth, a kill switch and a record you did not have to build. Paid per active device once you ship.
What one trigger reaches today.
Register a device and these are actions it can call, each with the confirmation it costs. Each connector is one signed, reviewed document; Mintis wrote the first ones, and early publishers go through the same review, by email.
Table 1 Actions in the live registry, October 2026, ordered by consequence
- 01The weather now Open-MeteoAnswers
- 02Find a radio station Radio BrowserAnswers
- 03Read today’s tasks TodoistAnswers
- 04Are the curtains open SwitchBotAnswers
- 05Translate a set phrase DeepLAsks once
- 06Turn a light on or off LIFXAsks once
- 07Switch a wall relay ShellyAsks once
- 08Open the curtains SwitchBotAsks once
- 09Message a chosen person TelegramAsks twice
- 10Send a text message TwilioAsks twice
- 11Post to a channel DiscordAsks twice
- 12Push a notification ntfyAsks twice
- 13Run an applet IFTTTAsks twice
- 14Press a physical button SwitchBotAsks twice
One API, a public directory. The registry answers at api.mintis.cloud; the directory is public and sign-up is free. A few connectors still wait on a provider’s review or on the host; one, Shelly, is checked end to end on a real account. One, DummyJSON, needs no provider account: a public sandbox for the first call. Keys and tokens never reach your device, and revoking a device’s token stops the registry answering it. No host app yet: your own code calls the API with the device token, and the API reference is on request.
From a blink to a relay.
One worked example with what exists today, the first call in code, then the four steps the registry runs for your code.
Listing 1 One sitting, end to end, with what exists today
- 01
Board
An OpenBCI, Muse or Neurosity board, read by your own code through BrainFlow or the vendor’s SDK. Nothing of ours runs on the board.
- 02
Trigger
Your detector fires on a deliberate gesture: a triple blink, a left-right-left sweep, a jaw clench. Until the core ships, the detector is yours.
- 03
Device
Sign up free and register the device; its token is shown once. No board yet? Ask for a test device: the same path, with no hardware behind it.
- 04
Connector
Connect a provider on your account, such as a Shelly key or your own Telegram bot. For a first run, DummyJSON needs no account at all.
- 05
Call
On the trigger, POST /api/v1/executions with the device token, the connector’s directive, the action’s vector and its arguments, and an Idempotency-Key header for anything that asks: every write, and a POST that only reads. A write asks first: your code announces it and sends only when the trigger repeats.
- 06
Result
The relay switches, or DummyJSON answers with a quote. Send it twice by mistake and it runs once; the run is on your devices page.
Today your code is the host and owns the confirmation; next, the open core does both. The API reference is on request.
Listing 2 The first call, against the demo connector, and what comes back
POST https://api.mintis.cloud/api/v1/executions
Authorization: Bearer <device token>
Content-Type: application/json
{
"directive": "dummyjson",
"vector": "quotes",
"args": { "limit": 1 }
}{
"status": "succeeded",
"directive": "dummyjson",
"vector": "quotes",
"executed_by": "registry",
"latency_ms": 212,
"summary": "Rumi: Your heart is the size of an ocean. …",
"items": [
{ "title": "Your heart is the size of an ocean. …",
"subtitle": "Rumi" }
],
"…": "…"
}Your device gets a token. Sign up free and register the device. No board yet? Ask for a test device: the same path, with no hardware behind it.
Your trigger fires. One discrete event: it fires or it does not. Your code, the host for now, runs the action bound to it or steps through choices with it, so one trigger is enough.
Writes ask once. Deletes and messages ask twice. Built for an input that is noisy and hands-free, with no keyboard to undo a mistake. An ask is announced and runs only when the trigger repeats, and times out to cancel. A burst freezes the device.
It runs once, on the record. A double fire replays, never posts twice. Every run is written down: the action, its signed version, what it asked, what came back.
2a Frame closes
2b Arms land
2c Armed
2d Executed
Fig. 2 The four states of an action. Unlit cells have not happened yet.
See the signal. Keep the triggers that hold.
Step two, not yet released: a console for live signal, recording and replay through the production detectors, and a core every host is built on. Bring raw signal or your own triggers; each is replayed and kept only if it never fires on its own. The method is below, and a lab can run it on its own gestures now.
| Parameter | Value | Status |
|---|---|---|
| Raw signal in | Decoded on the host | Built |
| Transport | BrainFlow boards | Built |
| Decoder | On the host, never the board. Retrain without a reflash | Built |
| Replay | Recorded sessions through the production detectors | Built |
| Raw signal | Stays on your machine, never sent to the registry | Built |
| Console | Live signal through the production detectors, on our bench. Not yet released | Built |
| Reference rig | OpenBCI Cyton, two EOG channels, 250 Hz | Built |
| Triggers in | Decoded on your side, delivered as events | Specified |
| Other transports | Bluetooth LE (GATT), vendor SDK, HID | Specified |
| Your device | One source profile: signal, triggers, evidence | Specified |
| Trigger names | One gesture, one name, on every device | Specified |
| Qualified by | Hit rate, and fire rate at rest and while reading | Specified |
| Fire-rate target | At most 0.01 per minute | Specified |
| Evidence | Held out by whole session, never by trial | Specified |
| Unqualified | Shown in developer mode, never bound | Specified |
| Works with Mintis | Certification of a device and the host it ships with | Specified |
| Recording | A Lab Streaming Layer outlet on the host | Planned |
| Licence | Core and console open, under a permissive licence | Planned |
Built runs in the console on our bench and is not yet released. Specified is in the source profile specification, not yet in code. Planned is in neither.
| Candidate | Rest | Reading |
|---|---|---|
| Triple blinkKept | Silent | Silent |
| Left-right-left sweep3Kept | Silent | Silent |
| Double blink2Dropped | Silent | Fires |
- 1
Candidates are recorded in labelled sessions, at rest and during natural reading, and replayed through the production detectors. A gesture that fires when nobody meant it to is never bound, on our rig or on yours. The rig has shown enough to drop a gesture, not yet to qualify one: held-out sessions are next.
- 2
The plan said double blinks were rare. People blink twice about three times a minute while reading, so it was dropped.
- 3
Kept, with an open question: a line change while reading makes a right-left-right the detector can confuse with the sweep. Unsolved.
You build input. Mintis builds what follows.
Everyone else builds input too, or a closed app for one device. Mintis is the layer between your device and the world. It takes whatever input exists, so a new signal changes the decoder, not the platform.
| Today | Mintis | |
|---|---|---|
| Hardware | OpenBCI, Muse, Neurosity, your own board | Yours, or any maker’s |
| Acquisition | BrainFlow, vendor SDKs | A source profile, specified |
| Recording | Lab Streaming Layer | An LSL outlet on the host, planned |
| Decoding | MNE, OpenViBE, BCI2000, your own code | Step two: a core and console, open when released |
| Action | A closed app per device, or a script per demo | Step one: the registry |
| Safety and record | Up to each developer | One model for every device |
Table 5 What Mintis is not
- Not mind reading. It reads deliberate gestures, each made on purpose.
- Not a medical device. Not CE-marked, no diagnostic or therapeutic claim. A maker who CE-marks a device makes their own claim.
Free while you prototype. Paid when you ship.
A tinkerer, a lab that only researches and a maker still prototyping pay nothing, whatever their size. A maker that ships pays per active device, for what Mintis runs for each one: execution, credentials, the kill switch and review.
| Who | What they pay | Offered |
|---|---|---|
| Tinkerers, labs, and makers still prototyping | Nothing. The directory and the hosted registry, within fair-use limits; the tools as they are released | Now |
| Makers shipping a product | A yearly fee per active device: a registered device that called the hosted registry that year | At release |
Later, and not offered yet: Works with Mintis certification per product and hardware revision, a white-label Mintis app, and devkits built on other makers’ boards. Never for sale: data, a listing, or a place in the directory. No prices are published yet.