Liminal - A workspace & 2nd brain for you, your agent, and your team
by•
Your agent writes files locally in markdown and HTML, the formats it already speaks. Liminal renders them as clean UI instantly and syncs to your team in real time. Share a link and everyone sees the same live workspace, editable in the browser. No sending markdown over Slack, no hosting your own HTML, no waiting on Google Drive. No MCP calls, no proprietary formats, no wasted tokens. Over time, it becomes a shared second brain for your team and every agent working with you.


Replies
Liminal
Hey Product Hunt 👋
I'm Justin, the maker of Liminal, and I'm stoked to finally share what I've been building!
Heads up: this is the first cut. I'm launching now to find out if the friction I've been feeling is real for other people too. Please let me know if you run into any bugs or problems, I'll get them fix asap!
Quick backstory
Last summer, the way I work changed. Agents got good enough to become the place I did the work. Claude Code became my main interface, the intelligence layer everything flowed through. My job shifted from writing and producing to directing an agent to do it.
Notion and Google Docs weren't built for this. They were bolting agents into their apps, but that's not where my agent lived, and their MCPs were slow and expensive to talk to. Claude Code worked much better and faster with local markdown files, a format the agent already speaks. So I stopped writing in Notion and Google Docs and went all in on local markdown.
I was doing all of this in VS Code because that's where I coded. But viewing and editing markdown there is clunky. You use the preview to render it nicely, then jump to the raw side to actually edit. So I built a WYSIWYG editor on top of the local files.
Then I tried to share something. Nobody wants to be sent a raw markdown file, and Google Drive doesn't render it nicely. Passing files back and forth killed any hope of collaboration. So I built real-time live collaboration on top of local files: a lightweight CLI watches your workspace folder and syncs bidirectionally with the cloud. Share a link and your teammate opens the same live workspace in a browser. Their edits land back on your disk instantly.
Once that worked, the thing I hadn't designed for showed up. My agent and my teammates' agents were all reading and writing into the same workspace. Liminal had quietly become a shared second brain. Company knowledge that keeps updating and compounding as the team works, sitting on every agent's local disk as plain files they can directly access.
What Liminal is
A collaborative workspace for humans, agents, and teams. Your AI-native second brain. Bring your own agents. Own your files.
How it works:
🟢 Work with your agent, not just through it. Your agent writes files to disk in markdown or HTML. Liminal renders them as clean UI the moment they save. Review and edit naturally in the browser, without wrestling with raw markdown.
🟢 Share instantly, without the friction. A lightweight CLI syncs your workspace to the cloud in real time. Send a link and your teammate is in the same live workspace. No sending markdown over Slack, no hosting your own HTML, no waiting on Google Drive.
🟢 A shared second brain for every agent on the team. Files live locally, so every agent has direct access to everything the team has written, decided, and learned. No external calls, no lag, no losing context between sessions.
🟢 No middleman, no MCP tax. Direct file access means no MCP round-trips, no proprietary formats, no wasted tokens. Context is cheap, fast, and always fresh.
The ask
Would love your feedback, especially if you're living in Claude Code, Codex, or another agent all day: does this map to your experience, or am I solving a problem only I have?
Justin
@justinonthelam The concurrent write answer above covers editing at the same time, but I'm curious about the offline case: if you're working locally with the sync CLI not running, say on a flight, does everything just work as plain markdown with nothing lost?
Liminal
@justinonthelam good to know!. Since conflict resolution is UI-based today, does reconnecting after a long stretch offline surface one clean diff to work through, or could it come back as several scattered conflicts across files if a teammate's agent was also writing during that window?
Liminal
@clement_avq today it's a diff per file but the idea of having a single diff (or experience to manage all diffs) would be cool. Thank you for the idea!
@justinonthelam Glad it's useful! If you build a combined view, I'd want it to group by file first and flag when two diffs touch the same section, that's probably the case that actually needs a person's attention versus five independent one-liners!
Liminal
You asked whether this maps to people living in Claude Code all day, and from my desk the answer is yes, the friction is real. My whole setup runs on a folder of markdown memory files with an index loaded each session, and it quietly became the most durable part of my workflow because notes survive every context reset. The failure mode I keep hitting is staleness, a note written three weeks ago names a file or a flag that no longer exists and the agent recommends it confidently anyway. Does Liminal do anything to age or flag entries when the thing a note points to changes, or is pruning still on the human?
Liminal
@abdullah_javaid3Â Right now Liminal has no opinions about your data and files, it's just a workspace that makes collaboration between humans, agents, and teams easy and accessible, but I can see a future where it does more than that!
'work with your agent, not just through it' is the real reframe. when two agents write the same file at once, does it merge or last-write-win?
Liminal
finally something that doesn't make me wrangle markdown back and forth. plugged in an agent output and it just showed up as a clean page my coworker could edit, which honestly felt kind of magical
Liminal
@sedanurz5c4Â I'm glad you found the experience useful!
Love the positioning.
What type of teams are seeing the most value so far?
Liminal
@getfoundertools This should most benefit people, teams, and companies who are all in on using a single agent as their interface for work and want to collaborate with each other, but TBD since this is day 1!
Dial
this is one of those launches where the backstory tracks exactly with my own workflow - i ended up doing the same VS-Code-preview-then-raw-edit dance before giving up and just living in Claude Code with a folder of notes. the part i'm most curious about is scale rather than sync: once a team's second brain grows to a few hundred files across months of work, how do you actually find the right one? plain markdown in folders works great at 20 files and turns into its own kind of clutter at 500 - is there real search/structure on top, or is it still mostly relying on the agent to know where to look?
Liminal
@omri_ben_shoham1Â It turns out that LLMs are amazing at search already, and giving agents the ability to just grep your entire workspace is pretty effective even when you have hundreds or thousands of files! So today Liminal has no separate search capabilities and I believe that AI model companies will build better search faster than I can
You're not solving a problem only you have. I've run exactly this architecture for months — a folder of markdown that multiple agents on multiple machines read and write, synced through git because nothing better existed. It quietly became the most load-bearing thing in my stack, so the friction is real and so is the payoff.
Some conventions from living it, offered as free product opinions since you said Liminal doesn't have any yet:
Per-writer append-only files — each machine and agent gets its own daily log — make conflicts structurally rare instead of resolved-after-the-fact. Shared files become the exception, and the exceptional ones are the ones worth merge UI.
One small always-loaded index with a hard rule that detail lives elsewhere. At 500 files the index is the search: the agent greps the index, not the corpus. Omri's question is the one that decides whether this scales.
An authoritative current-state file that wins when it disagrees with older notes. Abdullah's staleness case bites hardest — my standing rule is that notes record what was true when written, and anything actionable gets re-verified before an agent acts on it. A tool that aged or flagged entries when the thing they point to disappears would be the first genuinely new feature in this category.
And merging over last-write-wins is the right call — this week two of my agents wrote the same knowledge as different commits and taught me that multi-writer brains want merge semantics everywhere, not just the editor. Good launch. This one's aimed at a real hole.
Liminal
@ryan_davis23Â that's great feedback, thank you so much!
Everyone's building second brains for individuals. Almost nobody's built one for a founder plus their agents plus their people sharing the same context. That's the harder and more interesting problem. Good luck with the launch.
Liminal
@alex_gidirim Thank you! The funny thing is that I never meant to build a second brain. I stumbled into it by focusing on building a great workspace for humans and their agents -- it just turned out that the result is a shared collection of files/docs/knowledge that's easy to access and stays up to date because that's where all of the work is
Dial
the "everyone with the link sees the same live workspace" part is the piece I'd want to understand before using this for real team work - once an agent is writing files into a shared space, it's going to write things that were meant for one person's eyes at some point (a draft perf note, a client's rough numbers, whatever). is there any per-file or per-folder permission layer, or is the model still "anyone with the link sees everything," just like the underlying markdown files would if you handed someone the folder
Liminal
@galdayan 100%! Liminal is built with per file access controls, just like Notion or Google Docs. Users can have their own personal workspaces, or limit access to files in a shared workspace!
Dial
@justinonthelam good to know, that answers the main worry. follow-up: is the default on a new file private-to-me until I explicitly share it, or does it inherit the permissions of whatever folder/workspace it gets created in? asking because if an agent is the one creating files, it needs to make that call itself in the moment, and "default to private" vs "default to the folder it's in" changes how careful you'd need to be about telling it where to save things
Liminal
Dial
@justinonthelam good, private-to-me by default is the safer answer. one more since you said folder inheritance is coming: once that ships, will it stay additive on top of private-by-default, or will dropping a file into an already-shared folder start overriding the file's own default? that distinction matters a lot for an agent, since it decides whether "save this here" can silently widen who sees something.