There's no separate database waiting to sync. The CSV is the source of truth, and an app's write goes straight into it as a normal file change you can see in the diff and revert.
The gap: there's no lock yet. If you edit the CSV at the same moment an app is writing, the last write wins and there's no conflict screen. Adding a proper write queue is on my list.
Raw files — like the notes we keep in a Notes app — are how we should keep all information. No RAG. No memory MCP. Just raw files, with good navigation and metadata, plus «index» files that let you understand the whole structure by reading them. That works for everyone: humans and agents.
There are already a lot of tools built around this kind of file. Git is a very mature one for saving and tracking how files evolve: who changed them, how they changed, and so on. So Notal has Git as part of its foundation. Git is the backend — not only for the files, but also for the apps and the data.
Oh, and by the way: since everything is based on files, let me show you how I brought databases and apps into this file-based OS.
The data part is something I really liked. For small companies you don’t always want a database plus the technical services that have to stay up so the information doesn’t break — and a database is still very technical for a business whose core product isn’t a database. So I said: let’s have CSV databases. That’s where I fell in love with the idea and shipped it. Inside Notal you get a real database from a CSV file. I’ll talk more about this later, but in short: we take a CSV, turn it into SQLite, optimize from there so you can query with SQL, and if you change a field it updates the CSV too — so SQLite is disposable and rebuildable. I loved that. It works for campaigns, expenses, and so on. It just works, and you can see what changed in plain text.
Now, apps on disk. This one’s great. Notal gives you React apps that, when they change, compile in memory and open inside Notal itself — same UI, same Notal data. Internal and external agents can edit them, and because Git is already in Notal, you can see how the app evolved over time. An agent edits the app and the change shows up automatically. It hooks into Notal’s CSV databases, so you can have a Trello-style board in a folder with no extra servers or domains. Notal is an OS where customer apps and data become a commodity: simple, standard — even for agents.
Hoy salió dots, de ChatGPT, y los productos de IA que han salido nos muestran lo que funciona y hacia dónde vamos.
Primero fue el chat, luego el contexto y después la idea de que, al conversar, el contexto se crea poco a poco. Ahora estamos en los "contextos especializados", como los de Grok Bot y ChatGPT dots.
A nivel de producto y adopción, sigue siendo un reto, pero tener IA en forma de agentes, cada uno con su contexto, e interactuar con ellos como si fueran personas que no olvidan es algo que, aún hoy, me vuela la cabeza.
Hermes, que vino después de los "contextos" y las skills, fue una de las mejores ideas: crear un sistema de IA que entienda y extraiga la información "necesaria" para que la siguiente conversación se sienta natural. No probé OpenClaw, pero esas ideas de SOUL.md me parecen buenas. En uno de los proyectos en los que tuve la oportunidad de aportar, lo llamábamos BIN, aunque nunca logramos la adopción ni un producto sencillo.
Y creo que el siguiente nivel de los agentes son los espacios. Siempre lo he creído: los agentes no necesitan un Notion con MCP ni un RAG; necesitan un disco compartido, accesible de cualquier forma. Sobre todo, para que otros agentes puedan ver la información real y los humanos puedan verificarla y curarla. Un Git. Lo que presentó ChatGPT va en esa dirección.
En mi tiempo libre le he dedicado tiempo a https://t.co/hIDWiG4fix, un contenedor que corre en la nube o en local y funciona como un disco donde pueden trabajar tanto los agentes que corren en él como los agentes externos. Los agentes tienen herramientas para continuar conversaciones aun cuando el humano no está conectado.
El principio básico es que todos los agentes y el equipo comparten el mismo disco, de forma sencilla. Crear un agente es crear un nuevo archivo. Incluso un workflow que orquesta agentes es simplemente otro archivo.
Hay varias hipótesis que estoy validando, pero mi apuesta es esa: archivos antes que bases de datos y sistemas complejos.
@Codie_Sanchez Coolest thing I’m building: an ops folder that runs.
Campaign board + spend/status CSV live in git. People and agents claim the same row; the receipt stays. Monday you open the tree — not Slack scrollback.
https://t.co/uK7hscunja
@ataschz Estoy haciendo https://t.co/uK7hscunja aunque realmente no se si cobrarlo o hacerlo open source. Tiene muchas cosas bastante buenas. MCP, chat y agentes, skills, shares estilo notion, etc, etc
Human writes the campaign plan in files → something claims the next card → results land in the same tree.
No lock-in to one chat UI. The folder is the work.
Gallery shelf: clone the campaign tracker, change the CSV, keep the app.
You’re not forking a SaaS tenant. You’re copying a folder.
That’s the onboarding we actually use.
The unit of work is a folder — not a Slack thread.
NDA pack. Campaign board + spend CSV. Finance tables shared across systems.
Clone it, run it, merge it. The plan doesn’t die when the tab closes.
If your pitch needs the words “AI-native workspace,” you’re in a crowded lane.
Notal’s lane is narrower: a campaign board that lives as a folder — CSV truth, sandboxed UI, write-back you can review.
Own the files. Rent less UI.
Claims and receipts sit beside the plan — as files.
When something blocks, it asks. When it finishes, evidence is in the tree, not a private chat log.
That’s how Monday you doesn’t rebuild Tuesday’s context.
Demo loop (campaign tracker):
Plan in Markdown → card on the board → something claims it → file lands in git → session can pause.
Ten seconds if the still is honest. No theater refresh.
Install path is boring on purpose:
docker run … # see https://t.co/uK7hscunja
No sales call to try the loop. Open the folder. Write a plan. Watch something claim it.
Write-back is opt-in and declared.
Default: read-only. A campaign card can mutate a CSV only when the app says so — and you see the diff in git.
Review before trust. Always.
Apps declare datasets and queries in frontmatter.
The UI doesn’t invent a schema behind your back. The folder says what it needs — same place as the code.
Readable by humans. Drainable by agents.
*.db = CSV tables as source of truth + SQL queries on a derived SQLite.
You edit the CSV. The query layer stays honest. Merge conflicts look like… files.
No mystery cloud table.
Empty workspace kills launches.
Gallery fixes that: clone a real kit (campaign tracker, ops board) and you’re already past the blank tree.
Start from a job, not a tutorial.