Hendril Lara
All work

Products & platforms

Anima

Several companies, one place to run them, and agents with clear limits

Anima is the private management hub I am building for the companies my partner and I run. Each company keeps its clients, projects, meetings, money and deadlines in its own workspace, and we see the whole picture from one screen. AI agents can work inside it too, but only with the permissions a person gives them.

My part
Concept, product decisions, design, engineering and testing
Status
In development, not yet published
Stack
TypeScript, Next.js, Supabase
Since
2026
The Finance tab: receivable, overdue and payable totals, a list of what each client still owes with one overdue item in red, a bill to pay, and a New entry form with the types invoice, receipt, expense and proposal.
Finance for one company: what is owed, what is overdue, what is due, and the form that records a new entry.

What it is

Anima is one web app where every company gets a workspace of its own: the people who work there, the clients and their contacts, the projects, the meetings, the money coming in and going out, the domains and hosting plans that need renewing, and the approvals a client has given. Nothing from one company leaks into another; a person only sees the workspaces they belong to.

Tasks do not live in Anima. They live in Tempo, a separate task app I am building alongside it. An Anima project knows which Tempo project it belongs to, shows its progress and deadlines, and opens the board in one click. Tempo, in turn, never learns what a client or an invoice is.

The Clients tab of a workspace called Estúdio Farol: a list with Ateliê Terra Firme, Cafeteria Luar and Marina Duarte on the left, and a New client form with type, name, language and notes on the right.
A workspace’s client list and the form that adds one, under the tabs every workspace has.

Who it is for, and why

My partner and I are starting more than one company at once: a game studio, a web-design studio and an applied-AI company, plus my own freelance work. The work for all of them used to be scattered across chat threads, code repositories, a notes app and our memories. Nobody could answer, in one place, what each company owed, was owed, was building or had promised to a client.

Anima exists so that two founders can run several small companies without a back office. It is built for us first, and shaped so that a new partner, a hire or another company can join without a redesign.

  • Founders see every company they are allowed to see on one consolidated screen.
  • Workspace owners and members see only their own company.
  • A whole workspace can be exported as one archive, so a company can be handed over on its own.
A project page: the Tempo panel reporting no tasks yet and the workspace’s Tempo slug, the project’s own data form, and the start of the Approvals section.
The project page: its Tempo panel, its own data, and the approvals a client has been asked for.

Clients, projects and the link to Tempo

Every project hangs off a client, or is marked internal, and carries a plain status: proposal, active, paused, delivered or closed. Contacts can be typed in, imported from a spreadsheet, copied to another workspace or erased on request, with a record that the erasure happened.

When a project is created, Anima creates or links its Tempo project automatically and keeps a small health panel on the project page: how many tasks are open and done, the nearest deadlines, anything overdue. Features requested by a client or decided in a meeting are recorded under the project with their origin.

Money, meetings and what needs attention

Finance works like a book of entries that is never rewritten. An invoice, a receipt, an expense or a proposal is recorded once; a mistake is cancelled by a reversal, not by editing the past. From those entries Anima shows what each client still owes and what is overdue, which bills are due, a simple income statement and the recurring costs of each company. The web-design studio also records each client’s domains and hosting plans and gets reminded before they expire.

Meetings are stored with their participants and transcript, linked to the client and project they belong to. Reminders, deadlines, approvals and overdue receivables reach people as notifications in the app, as push notifications on the phone, in a daily email digest and through a private calendar feed; each person chooses which categories reach them and how.

The Expiries tab: a domain cafeterialuar.com.br for client Cafeteria Luar expiring in 34 days with its renewal cost, and a form to set how many days in advance to remind owners.
Domains and hosting plans about to expire, and how far in advance the owners are reminded.
An agent’s permissions for the workspace Estúdio Farol: a row per module (tasks, clients and contacts, projects, meetings, finance, documents) with the levels no access, read, write and delete, and three sensitive actions switched off below.
What one agent may do in one workspace, module by module, with the sensitive actions off by default.

Agents with explicit permissions

I use AI coding agents every day, and I wanted them to read and update the same information I work with without ever acting beyond what I allowed. In Anima an agent is a user of its own, created by a person and acting on that person’s behalf. For each workspace the person sets what the agent may do with tasks, clients, meetings, finance and documents: nothing, read, write or delete.

Sending anything to a client, issuing a charge or deleting personal data stay switched off even for an agent with write access, until a person turns them on. Agents connect with access keys of their own, through a web interface and through the tools coding agents already use, and every change they make records both the agent and the person behind it.

My part

I own the whole thing: the problem, the decisions, the design and the code. I started with a long question-by-question session that settled how companies, people, agents and modules relate, wrote that into a specification with user stories, split it into tickets, and have been building ticket by ticket since. I also designed Anima’s identity, from the mark to the voice of its interface, which speaks Brazilian Portuguese.

The engineering follows from one goal: trusting the data. Every change goes through one audited operation in the database, so the web app, the agent interface and the tests take the same path and leave the same record. Workspace isolation is enforced by the database itself. Database tests check that every write refuses agents without permission, integration tests run against a real local database, and browser journeys drive the app the way a person would. I build with AI coding agents under that process, with the checks as the gate.

The Audit tab of a workspace: filters by person, agent, operation, record type and date, then a list of dated entries such as financial entry recorded, agent permission changed and financial entry reversed.
The audit trail: every change in the workspace, who made it and when.
A meeting page with empty Summary, Decisions and Proposed tasks sections, followed by the transcript as a table of speaker and sentence.
A meeting entered by hand: the transcript is in; summary, decisions and proposed tasks are what comes next.

Where it stands

Anima runs on my machine and is not published yet. What already works end to end: sign-in with an invitation list, workspaces with members, clients and contacts, projects with the Tempo panel, meetings entered by hand, the finance entries and reports, domains and hosting with reminders, approval links, agents with their permissions, notifications, the audit trail, workspace export and the consolidated view. The screens here show a fictional studio’s workspace.

Because Tempo is not hosted yet, the Tempo panel talks to a stand-in that behaves like the real interface. The next pieces are the automatic side of meetings (transcribing recordings into a summary, decisions and proposed tasks for a person to approve), documents with version history, proposals and contracts from templates, and the hosting itself.

Next project

Tempo A shared task board for people and AI coding agents: what needs doing, who has it, and what comes next.

Interested in something like this?

Let’s talk about it.

Let’s talk