From brief to delivery

A solo-built system for studio operations.

From brief to delivery

Holofante started with a practical constraint: grow an R&D lab without hiring an administrative layer. Proposals, contracts, billing, approvals, and delivery status were spread across conversations and tools. Each new project created more coordination work.[1]

Holofante app main screen

The answer was to treat the operation as a product. The system connected the quote-to-cash lifecycle to a shared project state, so clients and the studio could see what had happened, what was blocked, and what action came next.

DesignOps as infrastructure

The first decision was to build a multi-state component framework instead of project-specific screens. The same interface could represent a paused project, a client action, an approval, an error, or an offline fallback. This made the system consistent across the eight project milestones and reduced the cost of creating new workflows.

The second decision was to render the interface from its states. Proposal, contract, payment, and delivery determined which component and action appeared. A signed contract could unlock the next step without another page or manual update.

Holofante app screen showing the history of a digital product purchased by the client.

Automation with boundaries

Notion became the source of truth for project records, while Node.js serverless functions connected it to payments, signatures, notifications, and client-facing views. UUIDs and encrypted sensitive fields kept proposal values out of guessable public URLs.

Notion CRM connected to Holofante

The system was intentionally built inside the existing JavaScript ecosystem and under real client work. That constraint favored small, composable automations over a large platform rewrite.

%%{init: {"flowchart": {"wrappingWidth": 400}}}%% flowchart TD subgraph Journey ["🔁 Client lifecycle"] lead["<span style='display: inline-block; width: 100%; text-align: center; white-space: nowrap'>đŸŽ¯ Lead</span>"] discovery["<span style='display: inline-block; width: 100%; text-align: center; white-space: nowrap'>🔎 Discovery</span>"] proposal["<span style='display: inline-block; width: 100%; text-align: center; white-space: nowrap'>📝 Proposal</span>"] contract["<span style='display: inline-block; width: 100%; text-align: center; white-space: nowrap'>📄 Contract</span>"] payment["<span style='display: inline-block; width: 100%; text-align: center; white-space: nowrap'>đŸ’ŗ Payment</span>"] kickoff["<span style='display: inline-block; width: 100%; text-align: center; white-space: nowrap'>🚀 Kickoff</span>"] delivery["<span style='display: inline-block; width: 100%; text-align: center; white-space: nowrap'>đŸ“Ļ Delivery</span>"] approval["<span style='display: inline-block; width: 100%; text-align: center; white-space: nowrap'>✅ Approval</span>"] aftersales["<span style='display: inline-block; width: 100%; text-align: center; white-space: nowrap'>🤝 After-sales</span>"] lead --> discovery discovery --> proposal proposal -->|accepted| contract contract --> payment payment --> kickoff kickoff --> delivery delivery --> approval approval --> aftersales end subgraph Automations ["âš™ī¸ Automations"] notion["<span style='display: inline-block; width: 100%; text-align: center; white-space: nowrap'>đŸ—‚ī¸ Notion</span>"] functions["<span style='display: inline-block; width: 100%; text-align: center; white-space: nowrap'>🧩 Functions</span>"] signatures["<span style='display: inline-block; width: 100%; text-align: center; white-space: nowrap'>âœī¸ Sign</span>"] billing["<span style='display: inline-block; width: 100%; text-align: center; white-space: nowrap'>💰 Bill</span>"] notifications["<span style='display: inline-block; width: 100%; text-align: center; white-space: nowrap'>🔔 Alerts</span>"] end proposal -.-> notion contract -.-> signatures payment -.-> billing delivery -.-> notion functions --> signatures functions --> billing functions --> notifications notion --> functions classDef automation fill:#eef2ff,stroke:#6366f1,stroke-width:1px; class notion,functions,signatures,billing,notifications automation;

Outcome

Holofante grew MRR by 340%, recovered more than ten hours per week, and supported twelve simultaneous projects. The result was not only faster administration: it gave a service business a repeatable operating model where design, engineering, and operations shared the same states.


  1. Solo project: Lio Schimanko was the only person involved and worked as the solo founder. â†Šī¸Ž