All work

Internal tool · 2026 · in use

Leany, LeanStone’s operations system

The system LeanStone runs on: industry research, sales, project delivery, a client portal and the money, in one record. Built in-house and self-hosted, not bought.

What we built
  • Dashboard and Inbox
  • Industry studies
  • AI-assisted studies
  • CRM
  • Deal pipeline
  • Proposals
  • Projects and sprints
  • Client portal
  • Finance
  • AI assistants
  • Roles and permissions
  • Tasks and ideas
Built with
  • Next.js
  • React
  • NestJS
  • TypeScript
  • Tailwind CSS
  • Prisma
  • PostgreSQL

The problem

We sell by research. We study an industry, form a problem hypothesis for each company, work it into a deal, then deliver the project and get paid.

That chain lived across planning files, chats and spreadsheets. Nothing joined a study to a deal, a deal to a project, or a project to its invoices. There was no funnel, and no one place that said what needed doing today.

What changed in how we work

Every step now sits on one record. A study leads to companies, a company becomes a deal, the deal becomes a proposal and then a project, and the project carries its invoices.

The day starts on one screen. Needs you collects what is late or waiting: invoices, costs to confirm, tasks, follow-ups, projects off track, quiet deals and proposals waiting on a decision.

Clients have their own portal. They read our updates, write to us and send files there, and what they send reaches our Inbox.

Who does what at each step
01 Study an industry 02 Research a company 03 Start pursuing 04 Work the deal 05 Send a proposal 06 Deliver 07 Get paid
We in Leany

Write the study and set a verdict

Note what we noticed, a hypothesis and who to approach

Turn the company into a deal, in one action

Log each call, meeting and message; follow-ups come due in the Inbox

Record each version sent, and when a decision is expected

Run the project in sprints, and publish updates

Invoice, and record each payment

Client in the portal

Reads our updates, writes to us and sends files

Opens each invoice as a PDF

  1. 01 Study an industry

    We
    Write the study and set a verdict
  2. 02 Research a company

    We
    Note what we noticed, a hypothesis and who to approach
  3. 03 Start pursuing

    We
    Turn the company into a deal, in one action
  4. 04 Work the deal

    We
    Log each call, meeting and message; follow-ups come due in the Inbox
  5. 05 Send a proposal

    We
    Record each version sent, and when a decision is expected
  6. 06 Deliver

    We
    Run the project in sprints, and publish updates
    Client
    Reads our updates, writes to us and sends files
  7. 07 Get paid

    We
    Invoice, and record each payment
    Client
    Opens each invoice as a PDF

What we built

The day

One screen says what needs doing.

  • A dashboard. Needs you gathers seven kinds of late or waiting work, beside replies, meetings, open deals by stage and projects by health.
  • An Inbox for what needs attention and what clients sent, read or unread.
Two dashboard cards: open deals by pipeline stage, and four projects, each with its health and how many tasks are done.
Open deals by stage, and projects by health. Sample data.
The Inbox: a proposal waiting on a decision, then two files that clients uploaded to their projects.
A client’s upload, back in our Inbox. Sample data.

Steps 01–02

Research

Selling starts with a study, not a list.

  • Industry studies: eight written fields, a verdict (Unstudied, Studying, Pursuing or Parked) and a funnel for each industry.
  • An AI-assisted study round trip. Leany writes a scoped prompt, we run it in an AI chat assistant, paste the answer back and pick the fields to keep. Each kept field is marked From a study. Leany itself sends nothing to an AI service.
  • A CRM: companies, contacts and industries in one grid, with filters, saved views, bulk actions and CSV import.
An industry study for commercial laundries: written fields on how the work runs and where it is manual, a Pursuing verdict, and a funnel of companies and deals.
An industry study: eight fields, a verdict and a funnel. Sample data.
A company record: what we noticed, what they appear to run on, the hypothesis and who to approach, each marked From a study, beside the company’s details.
A company record, each field marked From a study. Sample data.
The companies grid: each company with its status, industry, deal stage and next follow-up date, overdue ones in red.
Companies with their industry, deal stage and next follow-up. Sample data.

Steps 03–05

Selling

A deal remembers every conversation.

  • Start pursuing turns a company into a deal, in one action.
  • A pipeline as a board or a table, over stages we configure. Every call, meeting and message is a touchpoint, follow-ups come due in the Inbox, and a deal with no contact for 14 days is marked quiet.
  • A conversion view from stage history: how many deals entered each stage, how many moved on, the median days, and why deals were lost. A lost deal needs a reason.
  • Proposals in four sections, with every version sent recorded: who it went to, and when a decision is expected. A project can start from a proposal.
The pipeline as a board, with deals in Outreach, Replied, Meeting booked and Meeting held, one marked quiet for 52 days.
The pipeline. A deal with no contact for 14 days is marked quiet. Sample data.
A won deal with six touchpoints, from the first message sent to the call that agreed the kick-off date.
Every call, meeting and message on a deal. Sample data.
The conversion table: for each stage, the deals that entered, the share that moved on, the median days and the top lost reason.
Conversion, worked out from stage history. Sample data.
A proposal under review: its summary, scope and approach, with who it was sent to, when, and when a decision is expected.
A proposal: its sections, who it went to and when a decision is expected. Sample data.

Step 06

Delivery

Projects run in sprints, and their health is worked out, not guessed.

  • Projects from three templates (Agile, Simple, Phased), with task keys, a list, tree or board, subtasks, blockers, points, sprints, time logging and feedback that becomes a task.
  • Health that Leany suggests from late tasks, sprint pace and target dates, and that we confirm or change.
A project shared with its client: health suggested as At risk because two tasks are late and the sprint is behind, beside the current sprint.
A project, with the health Leany suggests and why. Sample data.
A sprint board in four columns, To do, In progress, In review and Blocked, with one task blocked by another and points on each.
A sprint board, with a blocked task. Sample data.
One task: status, due date, sprint, owner, priority and estimate, a description, two subtasks and an attached image.
One task: subtasks, sprint, estimate and an image. Sample data.
Every project’s health, off track, at risk or on track, each with the reason and a button to confirm it.
Every project’s health, each with its reasons. Sample data.

Steps 06–07

The client side

The client sees their project, not our tools.

  • A client portal with its own sign-in. Each client sees only its own shared projects: our published updates, a conversation with us, shared files and its own uploads, and its invoices as PDFs. It works on a phone.
  • On our side, we publish, share and reply from the project’s Client view.
The client portal on a computer: the project’s published updates, and its files, including one the client uploaded.
What the client sees: our updates and the files we share. Sample data.
The same project in the client portal on a phone: its status, links to updates, messages, invoices and files, and the latest updates.
The portal on a phone. Sample data.
The conversation with the client on the project’s Client view, with a box to write to them.
The conversation with the client, kept on the project. Sample data.

Step 07

Money

What came in, what went out, and what is owed.

  • Costs with receipts, and monthly or yearly repeats to confirm. Revenue.
  • Numbered invoices with PDFs, part payments, late flags and billing plans.
  • Each payment lands in Revenue, traced to its invoice or entered by hand.
  • Goals, and a monthly overview by project, client and category.
The invoice list: each invoice’s number, client, project, issue and due dates, and status, from a draft and an unpaid one to one part paid and 10 days late, then four paid.
Every invoice and where it stands, from draft to paid. Sample data.
One invoice open: buttons to download its PDF, record a payment and stop sharing it with the client, above who it is billed to, its dates and terms.
One invoice: its PDF, a payment to record, and sharing with the client. Sample data.
The cost list: each cost’s date, name, category and whether it repeats monthly, its tags, who paid and the project it belongs to.
Costs by category, repeat, tag, who paid and project. Sample data.
The revenue list: each payment’s date, who paid and whether in full or in part, the invoice it came from or Entered by hand, and its project.
Every payment, traced to its invoice or entered by hand. Sample data.

AI assistants

An assistant works as the person who connected it, and no further.

  • An assistant connects by signing in. Before allowing it, the person sees what their role lets it read and change, and what assistants can never do, such as deleting, sharing with a client or marking an invoice paid.
  • It acts as that person, within their role. When the role changes, the assistant follows on its next request.
  • Everything it does is listed by day, and marked on the record it touched, as the person via the assistant.
Leany asking “Let Claude work in Leany?”: it will act as LeanStone within the Admin role, what each area allows, the things assistants can never do, and Cancel or Allow.
Before an assistant connects: what it may do, and what it never can. Sample data.
The same request on a phone, with what each area allows.
The same, on a phone. Sample data.
A company’s activity: the latest touchpoint logged by LeanStone via Claude, above four logged by LeanStone.
On the record: LeanStone via Claude. Sample data.
A day-by-day timeline of what connected AI assistants did, such as capturing an idea, adding a task and drafting an update, each marked done or read.
Everything connected assistants did, day by day. Sample data.

Around the work

Our own work, our ideas, and who may do what.

  • A tasks board for our own work, linked to companies and industries, and an idea pool where ideas wait, pinned or by category, until they are dealt with or discarded.
  • Roles built from permission keys, so giving someone access is a setting, not new code. Search and New from anywhere, and comments with @mentions, files, an activity log and archive on every record.
Our own tasks board in four columns, To do, Doing, Blocked and Done, each task with its priority, due date and the company or industry it belongs to.
Our own tasks, linked to companies and industries. Sample data.
The idea pool: two pinned ideas, each with a category and its age.
The idea pool. Sample data.
A role’s permissions as a grid: read, create, update, manage and run for each kind of record, finance and administration left off.
A role, built from permission keys. Sample data.

Where it stands

In use: LeanStone runs on it. Work started on 1 September 2026, and version 1 went live on 12 October 2026.

It isn’t finished. What we learn running LeanStone goes back into it.

Every company, person and figure in the screenshots is invented sample data.

Next

Work Orders, repair management for property managers

For property managers · 2026 · not yet launched

Lean your process

Rather talk it through first?

Book a call with LeanStone. Pick a time that suits you; the invite comes with a video link.

Book a call