Building blocks

Your company OS.
Built from working parts.

Reusable components for a company operating system. Start with a product to see what it does and how to use it. Below those, explore the implementation foundations and third-party tools we build with.

L · 01
Core components

Find the right building block.

WB

Workbooks

When a recurring spreadsheet job needs a tool of its own. Your workspace agent builds the logic and interface; your company owns the code, deployment and data.

Self-hosted · public release in preparation

Explore Workbooks
UF

Unformal

Conversation-first data collection for interviews, intake and feedback. A separate Spark product, not a third-party integration.

Spark product

Visit unformal.ai New tab
02

Workspace starter

A structured starting point for your company's knowledge, workflows, decisions and permissions. Give people and agents shared context before connecting the tools.

Workspace foundations · setup by agreement

Explore the workspace starter
L · 02
Implementation foundations

The parts underneath.

We start from files, databases, APIs, scripts and compute. Direct access to these building blocks gives agents room to assemble and improve workflows. The libraries and patterns below help us build on that foundation.

03

okf-graph

A Rust engine for Open Knowledge Format knowledge graphs: lint the graph, query typed relations, export it for a website, render it. Runs the Belgian accounting graph and a client's public knowledge graph.

Rust · MIT

04

Blueprints

The delivery patterns we reuse across clients: the agent workspace backbone, an agent workspace UI, a public marketing site with an agent layer, an agent-friendly wiki, multi-app feedback, bank integration via Ponto.

Patterns · proven

05

Typed CLIs

Command-line tools for the recurring admin of a Belgian business: tasks, CRM, banking, e-invoicing over Peppol. Agents call them the same way people do, with the same guardrails.

Tooling · in use

06

This site's agent layer

Every page served as markdown on request, an MCP server, a public API, discovery files. The pattern behind the page you are reading.

Public information · read-only

Explore the agent layer
L · 03
What we build with

Third-party tools that earned a place.

Every added layer brings interfaces, rules and handoffs for agents to navigate. We keep a tool when it makes the work simpler than working with the underlying building blocks directly. This directory explains the role each tool earns; it is not a stack every client needs.

Directory
Our working stack

Tools we put to work.

22 of 22 tools

Infrastructure

Cloudflare

How we use it

Hosts our websites and applications, manages DNS, stores files and protects private tools with Access.

Why it fits

Workers, Pages, R2 and Access give us a shared deployment platform that we can operate through code and APIs.

Security

1Password

How we use it

Stores the credentials our team and workspace automations need.

Why it fits

Service accounts and the CLI let approved workflows retrieve secrets when needed, without copying credentials into repositories.

Development

GitHub

How we use it

Holds our source code, workspace knowledge, issues and change history.

Why it fits

Git keeps changes reviewable and portable. Pull requests and Actions connect implementation, checks and delivery.

Infrastructure

Supabase

How we use it

Provides PostgreSQL, authentication and storage for our applications and CRM.

Why it fits

A shared data layer with SQL and APIs lets our own tools work with the same records.

Infrastructure

Hetzner

How we use it

Runs our existing servers and provides object storage for operational documents and backups.

Why it fits

It gives us direct control over server workloads that need a persistent host, alongside our Cloudflare applications.

Security

Infisical

How we use it

Manages credentials for client environments.

Why it fits

Separate projects and machine identities let us grant access to the credentials a workload needs and hand ownership to the client.

Security

Tailscale

How we use it

Connects workstations and existing servers over a private network.

Why it fits

We use it where private network access is needed to operate a service without exposing its administrative ports publicly.

Development

Claude Code

How we use it

Works with our repositories to implement changes, run checks and maintain workspace tools.

Why it fits

It operates against the same files, instructions and version history that people use.

Development

Codex

How we use it

Helps build, debug and review applications from the workspace.

Why it fits

Repository context and tool access let us carry a task from a requested change through implementation and verification.

Development

Hermes Agent

How we use it

Runs persistent agent workflows on our servers.

Why it fits

It gives recurring work a runtime with workspace instructions, tools and scheduled execution.

Collaboration

Google Workspace

How we use it

Provides our email, calendar, shared documents and Drive.

Why it fits

We connect to the tools the team already works in, so useful context can feed into the workspace.

Collaboration

Granola

How we use it

Captures meeting notes and transcripts for follow-up work.

Why it fits

Meeting context can become decisions, tasks and project updates in the workspace.

Collaboration

Cal.com

How we use it

Handles booking links for conversations with Spark.

Why it fits

A direct scheduling link makes it easier to arrange a meeting without a long email exchange.

Business operations

Midday

How we use it

Provides the foundation for our self-hosted finance workspace, including documents, transactions and invoicing.

Why it fits

We can adapt the application and connect its records to our own operational workflows.

Business operations

ERPNext

How we use it

Holds accounting and operational records in our self-hosted ERP.

Why it fits

Its API and configurable records let us connect business processes while retaining control of the instance.

Business operations

Recommand

How we use it

Sends and receives electronic invoices over the Peppol network.

Why it fits

Its API connects e-invoicing to our document and accounting workflows.

Business operations

Resend

How we use it

Sends transactional application emails, including sign-in messages.

Why it fits

API and SMTP access let our applications send email through a dedicated delivery service.

Development

Patch

How we use it

Connects feedback on a live website to proposed code changes.

Why it fits

Comments can become pull requests that a developer reviews before a change ships.

Research

Linkup

How we use it

Provides web search and research results to our agent workflows.

Why it fits

An API lets research become a repeatable step in a larger task.

Research

Firecrawl

How we use it

Fetches and crawls website content for research and integrations.

Why it fits

It turns web pages into structured content that our workflows can process.

Research

Exa

How we use it

Supports semantic web search and discovery of relevant sources.

Why it fits

Meaning-based retrieval helps us find related material beyond an exact keyword match.

Research

Artificial Analysis

How we use it

Supplies model benchmarks, pricing and speed data for model comparisons.

Why it fits

Its API gives us evidence to compare models for the task rather than choosing by name alone.

A useful next step

What should your company stop doing by hand?

Bring one process that is slow, fragile or hard to change. We will look at what a useful first version could do.

Scope, cost and operating responsibilities are agreed before a build starts.