Epinoia - Research Rooms
Epinoia is a chat for people researching different subjects. The shared room belongs to the humans in it, and each person keeps a private AI, private notes and a shared canvas within reach. I designed and built it from my own wireframes, with end-to-end encryption underneath, and it runs as a private beta.
VISIT EPINOIAHOW IT STAYS PRIVATEGood conversations get scattered across apps
Research between people from different fields happens across a chat, a notes app, AI tabs and a search window, and none of them know about each other. Most AI products also sit the model in the middle of the exchange. I wanted one room where people talk to each other, and where the tools sit beside each person.
The room for people, the tools beside them
A room seats up to three people, and its shared channel is for humans only. Each person gets a private Reader that connects to their own AI, and nothing reaches it unless they send it there. Notes stay private too, and a canvas channel holds the ideas that outgrow a chat. Messages, notes, cards and room names are encrypted in the browser, so the server stores them as ciphertext.
Research & Definition
- 01Mapped the idea in wireframes: a shared chat, a private reader, notes and a canvas.
- 02Turned the wireframes into a full dashboard design.
- 03Built the rooms with no accounts: a private link is the way in.
- 04Moved the content behind end-to-end encryption, with the key in the link after the #.
- 05Added the private Reader, which connects to each person's own AI.
- 06Opened a private beta, with a separate staging copy for testing.
The interface and the conversation, quiet enough to let the words in the room lead.
Panel titles and note headings, paired with Geist Mono for labels and keys.
Each person keeps their own AI
The middle of the screen belongs to the people in the room. One click sends any message to your private Reader, where you can add a question and read the answer on your own. A useful answer saves into your notes, and the shared channel stays a conversation between people.

A room only its members can read
Every room gets a 256-bit key made in the browser. It travels in the link after the #, a part of the address browsers never send to a server, so messages reach the database as ciphertext. The one thing that leaves is what you choose to send your own AI, which passes through on its way and is never stored.

Everyone sets their own room
Void, Paper, Aurora and Dawn, plus text size, spacing and message shape. The choice stays in your own browser, so three people can read the same discussion in three different rooms.
A shared board for the big picture
A discussion can also be a canvas: cards you drag, color and connect with labeled links. Pull a connection into empty space and the board offers a new card or any discussion in the room, already wired in. Cards and labels are encrypted like messages, and the board exports as PNG or PDF.
Iteration & Refinement
Rooms that can change their locks
When a group changes, the owner can retire the room's key. A successor room opens under a fresh key and the old one stays readable as an archive, so everything written afterward belongs to the people in the new room.
From 600 colors to 50 tokens
Adding light themes meant replacing about 600 hardcoded colors with about 50 semantic tokens. I scripted the swap so the dark theme stayed pixel-identical, and the light themes then showed up the contrast bugs a dark palette had been hiding.








