Our Airtable expertise

Your team knows the work. Let them shape the tools.

A purchasing review. A recruitment campaign. A process that has outgrown its spreadsheet. We turn that everyday work into an Airtable tool your team can make its own.

These examples draw on Julien Cyr’s four years building and evolving tools at Actual Group, including work for Actual Académie, ESUP, Holberton, iconoclass, Qwally, Open Campus and PBA. That experience informs Ownward’s work today.

Why we believe in Airtable

One foundation. More possibilities. Shared data · Team workspace · Connected site

The more people can contribute, the more the data structure matters. Airtable makes it tangible: tables, field types and linked records. A new view, interface or automation can use the same foundation. Teams have room to build without starting a separate data model every time.

That is the balance we help you get right: freedom for your builders, with shared definitions, appropriate permissions and clear rules for change. Airtable can support ERP-style workflows and a tailored CRM. We define what it owns and what stays in specialist systems, including accounting.

Omni + Ownward

Build with Omni. Go further with Ownward.

Omni is a great reason to choose Airtable. Describe what you need, build an app, create custom interface elements and work with your data in plain language. It gives your team more room to build and improve its own tools.

Ownward helps you take that freedom further when the work calls for deeper product and engineering expertise. We build on what your team has already created with Omni, connect it to the wider business and help you keep improving it over time.

  • An interface that fits the work

    Custom components, precise business rules and guided onboarding, refined with the people who use them.

  • A connected, shared data model

    Airtable, your CRM, accounting and website: clear ownership of each record, with integrations designed to handle exceptions.

  • The confidence to keep evolving

    Permissions, tests, versioned code and documentation for people and agents. Your team keeps building; we support the complex changes.

Explore Omni in Airtable

From the field

Start with a real piece of work.

Choose a story. See the need, visit the tool, then explore how it was built.

Reusable components

Compare journeys without rebuilding the chart each time.

It started with…

Teams want to compare conversion stages and cohorts in several views. The chart may change, but the underlying definitions need to stay aligned.

So we built…

A configurable funnel component. Builders map the fields and stages; analysts filter, compare and choose the chart format that answers their question.

Technologies & official documentation

Take a look inside

Screen 1 of 6

Cohort trends

Cohort trends

Read stage volumes and conversion trends across cohorts in a single graph. Private values are masked.

What we set out to change

Make drop-offs and cohort differences easier to explore with a component that can be reused across analytical views.

How it is builtData model, code, controls and team ownership

The user journey

  1. 01

    Map the source table, dimensions, numeric stages and optional targets.

  2. 02

    Filter cohorts or compare selected groups.

  3. 03

    Reuse the component as a full-page analysis or a dashboard widget.

Base structure

Entity / tableKey fieldsRelationships
Cohort factsCampus · cohort · intake type · optional yearOne record represents a cohort at a campus
Stage measuresNumeric stage values · optional targetsStages are mapped to the configured fields
View configurationShared stage mapping · personal or shared display settingsThe analytical definition stays separate from display preferences

Technical implementation

  • Fields and stages are configurable in Airtable; the source does not assume a fixed funnel field name.
  • Selections that no longer match the global filters are removed.
  • Segmented output has a documented display limit rather than producing unbounded chart sections.

Engineering decision

Compose cohort filters without corrupting the totals

Adapted from the funnel’s dimension filtering and stage/objective aggregation. Dimensions may contain several values, but each record is counted once after filtering. Only finite numeric values enter the totals. An empty filter means all records in this component; a zero objective produces no attainment rate. Stable linked-record IDs should be used where labels are not unique.

JavaScriptfunnel-dimensions.js27 lines
const finite = value => Number.isFinite(value) ? value : 0;export function buildFunnel(records, filters, stageKeys) {  const dimensions = Object.entries(filters)    .map(([key, values]) => [key, new Set(values)]);  const included = records.filter(record => dimensions.every(([key, allowed]) =>    allowed.size === 0 || (record[key] ?? []).some(value => allowed.has(value))  ));  const stages = Object.fromEntries(stageKeys.map(key => [key, 0]));  const objectives = Object.fromEntries(stageKeys.map(key => [key, 0]));  // Multi-valued dimensions never expand a record into duplicate facts.  for (const record of included) {    for (const key of stageKeys) {      stages[key] += finite(record.stages?.[key]);      objectives[key] += finite(record.objectives?.[key]);    }  }  return stageKeys.map((key, index) => {    const previous = index > 0 ? stages[stageKeys[index - 1]] : null;    return {      key, value: stages[key], objective: objectives[key],      attainment: objectives[key] > 0 ? stages[key] / objectives[key] : null,      conversion: previous > 0 ? stages[key] / previous : null,    };  });}

Adapted implementation excerpt

Compose cohort filters without corrupting the totals

Controls and boundaries

  • The component reads the records exposed to its interface. Configure data access separately.
  • Local image export avoids an extra export service; exported data still requires appropriate handling.

Who can contribute

  • Analysts: filter, compare and export the required view.
  • Builders: configure dimensions, stages and targets.
  • Developers: add new formats while preserving the shared definitions.

What supports this case

The released extension, repository and live interface were inspected, including graph, funnel, table, Sankey and grouped views, plus analyst configuration.

Working with Ownward

Built together. Then yours to grow.

Your team should be able to handle everyday changes. And know who to call when a problem needs deeper technical expertise.

  1. 01

    Start with the work

    We sit down with the people who do it, agree on what a useful first version looks like, and build the data model and interface together.

  2. 02

    Learn on your own tools

    Your team learns to adapt views, interfaces and automations on real tasks. We document the model and decisions so the next change does not depend on us.

  3. 03

    Go further, with support

    Citizen developers, developers and colleagues coding with Claude can contribute to the same documented model. We support complex integrations, code reviews and technical escalation as your needs evolve.

The details that make a delivery useful

The tool, and what your team needs to own it.

Our Ownward delivery standard: guidance stays inside the product, knowledge stays with the code, and coding agents have the context to contribute.

  • An onboarding wizard you can always reopen

    A guided path through roles, essential setup and the first useful action. It remains available from Help, including when a new colleague joins.

  • Documentation in the delivery repository

    Getting started, data model, configuration, integrations, tests, release and rollback: the explanations evolve with the product version. Secrets stay outside the repository.

  • Instructions for coding agents

    AGENTS.md and, where useful, CLAUDE.md describe the architecture, conventions, checks and change rules. An agent extends the shared model; the team retains review and release decisions.

See guided onboarding in a real interface
Where Builder Hub, custom components and AI fit

We build and release custom interface extensions when teams need a more focused experience. We help organise ownership, versioning and updates in Builder Hub. For Enterprise Scale organisations, managed apps and components offer a separate way to distribute shared building blocks across bases.

We use AI where it helps a defined task, with the relevant data access and human review. Enterprise features and their availability depend on your Airtable plan; we help you choose and configure what the team actually needs.

Which part of your work could be easier?

Bring the process, the friction or the idea. We can start there.

Talk about your project