withicademy

Where green innovation meets venture scale.

Operations & Tech

Climate MVP database: a 10-minute Airtable setup

A climate MVP often starts with data in the wrong places: activity records in one spreadsheet, emission factors in another, customer definitions in a Notion page, and the latest correction buried in Slack. The problem is not that the team lacks information.

Climate MVP database: a 10-minute Airtable setup

It is that nobody can reliably answer which record is current, how it was calculated, or what should happen when a pilot customer adds a new site.

That is exactly the point at which a climate MVP database setup in Airtable becomes useful. You do not need a production-grade data warehouse to validate an early ClimateTech product. You need a small, legible structure that can accept real activity data, connect it to the right entity and factor, and produce an output another person can understand.

The first Airtable table can be created in ten focused minutes. A useful foundation will take longer: usually a few hours to decide what belongs in the model, clean the first records, and test the workflow with actual pilot data. That distinction matters. Ten minutes is enough to start the database. It is not a licence to skip the schema.

The practical choice for an early founder is a hybrid architecture: Airtable as the structured data layer, a form or import as the intake layer, formulas and automations for early calculations, and a no-code interface such as Softr or Glide when customers need a product-like experience. This gives a non-technical team room to change the model before committing to a custom backend.

The hybrid architecture: why Airtable powers early climate MVPs

A climate product has several different jobs to do, and they should not all be forced into the same tool.

First, someone has to capture activity data. That might mean electricity consumption, litres of fuel, vehicle kilometres, tonnes of material, shipments, waste volumes, or supplier information. The input will be inconsistent at the beginning. A customer may upload a utility bill, type a value into a form, or send a spreadsheet with columns that do not match your terminology. That mess belongs at the edge of the system.

Second, the product needs a structured place to store the information. This is where Airtable is useful. It is more disciplined than a spreadsheet but faster to change than a custom application. Records can be linked, fields can be validated, and views can be tailored for different jobs without duplicating the underlying data.

Third, the system needs to calculate an outcome. In a carbon-tracking MVP, that may be a simple activity value multiplied by an emission factor. In another ClimateTech product, it might be a waste-diversion rate, avoided emissions estimate, energy intensity, water impact, or a project-level performance indicator. Airtable formulas and rollups can handle early versions of these calculations, provided the model stays understandable.

Finally, someone needs to use the result. An internal team may be happy working directly in Airtable. A pilot customer usually should not receive unrestricted access to the base. A front-end tool can expose selected records, forms, dashboards, and account-level views while keeping the underlying database private.

The architecture is therefore not “Airtable instead of software”. It is a temporary product architecture that separates the parts likely to change at different speeds:

  • Intake layer: forms, spreadsheet imports, file uploads, or manual entry.
  • Database layer: activities, entities, factors, projects, and supporting records in Airtable.
  • Calculation layer: formulas, linked records, rollups, and, when necessary, external automation.
  • Interface layer: Softr, Glide, or another front end for customers, partners, or internal operators.

That separation is the main reason Airtable works well for an early no-code database for a climate startup. You can change an intake form without rebuilding the database. You can replace an emission factor without editing every activity record. You can redesign a customer dashboard without changing the calculation logic underneath it.

The important boundary is that Airtable is not the product strategy. It is the working surface on which the product model becomes visible. If every new customer request requires a new table, a manual workaround, and an explanation in Slack, the base is already telling you that the model needs attention.

The best early database is not the one with the most fields. It is the one that makes the next product decision easier to see.

What the first version actually needs to prove

Before creating tables, write down the smallest useful workflow. For many carbon or impact products, it looks something like this:

1. A user submits one activity record.

2. The activity is associated with a site, supplier, asset, customer, or project.

3. The activity has a quantity and unit.

4. The system applies an appropriate factor or coefficient.

5. The product displays a result for a defined period or category.

6. Someone can trace the result back to the original input.

If your Airtable base cannot support this sequence, adding more fields will not rescue it. If it can support the sequence with a small number of records, you have a credible starting point for a pilot.

Do not begin by modelling every possible Scope 3 category, every customer role, or every future reporting standard. Start with the activity types the pilot will actually submit. The database should reflect the first use case, not the entire climate economy.

Defining your data schema: mapping carbon and impact metrics

A schema is simply a decision about what deserves to be a record, what belongs in a field, and how one record relates to another. In an early climate MVP, that decision is more important than the visual polish of the interface.

A useful starting model has four core tables.

Activities

An activity is an event or measurement that you want to analyse. Examples include a vehicle trip, a fuel purchase, a meter reading, a production run, a shipment, or a waste collection.

Typical fields include:

  • Activity name or record ID
  • Date or reporting period
  • Activity type
  • Quantity
  • Unit
  • Scope or impact category
  • Entity, site, asset, or project
  • Emission factor or impact coefficient
  • Source of the input
  • Attachment
  • Review status

The activity table should contain the raw observation, not a paragraph explaining the entire customer relationship. If a customer has several sites, link the activity to a site record. If the same supplier appears in hundreds of records, link the supplier rather than typing its name repeatedly.

Entities

“Entity” is a broad label for anything that participates in the activity model: a customer, facility, supplier, vehicle, product, household, farm, or project. You can call the table Sites, Suppliers, Assets, or Projects if one category dominates your MVP. Plain language is better than a technically elegant name nobody on the team uses.

An entity table might include:

  • Name
  • Entity type
  • Customer or account
  • Location
  • Identifier used by the customer
  • Operating status
  • Contact or owner
  • Notes about data quality

The main reason to separate entities from activities is consistency. If a facility changes its name or a supplier’s details are corrected, one update should flow through every linked record.

Emission Factors or Impact Coefficients

The factor table holds the conversion logic. It should not be hidden inside a formula that only one founder understands.

Useful fields include:

  • Factor name
  • Activity type
  • Input unit
  • Output unit
  • Factor value
  • Scope or category
  • Geography, where relevant
  • Source description
  • Applicable period or vintage
  • Review status
  • Notes on assumptions

For a carbon MVP, the factor might express emissions per unit of fuel, electricity, material, distance, or weight. For a wider impact product, the same structure can hold coefficients for water, waste, energy, or avoided impact. Keep the conceptual distinction clear: an activity is something that happened; a factor is the rule used to interpret it.

Calculation Results

You may not need a separate results table at the beginning. A formula field can calculate the result on each activity, and a rollup can aggregate activity results by entity, customer, month, or project.

A results table becomes useful when:

  • You need to preserve a reporting snapshot.
  • A calculation is expensive or handled outside Airtable.
  • A customer needs an approved statement that should not change when a factor is updated.
  • You are storing monthly or project-level summaries separately from raw activities.

Until one of those conditions appears, avoid creating a second copy of every result. Duplicate outputs are a common source of conflicting dashboards.

The minimum relational model

A compact Airtable schema for a carbon-tracking MVP can look like this:

TableWhat it representsUseful fieldsMain relationship
ActivitiesA measured event or inputDate, quantity, unit, type, scope, sourceLinks to Entities and Factors
EntitiesA site, supplier, asset, customer, or projectName, type, location, ownerHas many Activities
Emission FactorsThe conversion rule applied to an activityFactor value, unit, category, source, periodUsed by Activities
ResultsA saved or approved aggregatePeriod, metric, value, statusSummarises Activities

The first ten-minute build only needs Activities and Entities. Add Emission Factors as soon as you are calculating a climate metric rather than merely collecting data. Add Results only when the workflow gives you a clear reason to preserve summaries.

A good test is to take five real examples from the pilot and try to represent them. If you cannot describe each example using the same fields, the problem is probably not Airtable. Your activity definition is still too broad.

For example, “electricity” is usually not a sufficient activity type. You may need to distinguish a meter reading from an invoice total, a purchased-energy estimate, and a manually entered monthly value. Those records may ultimately produce the same kind of output, but their sources and review states are different.

Configuring Airtable tables and linked records for climate data

Once the schema is clear, the actual setup is straightforward. The mistake is to start clicking before deciding what each record means.

Minute one: create the base and name the first table

Create a new base and rename the first table Activities. Do not leave the default table name in place. A clear name makes every later automation, view, and integration easier to understand.

Keep the first version narrow. If the pilot is measuring fuel use, build for fuel use. If it is collecting facility electricity data, build for that. You can add another activity type later without pretending that all climate data has identical quality or meaning.

Minutes two and three: add the essential fields

Create the following fields in Activities:

  • Activity type — Single select
  • Activity date — Date
  • Quantity — Number
  • Unit — Single select
  • Scope — Single select, if scope is relevant to the product
  • Source — Single select or Long Text
  • Notes — Long Text
  • Attachment — Attachment, if users submit invoices or supporting files

Use field names that describe the data, not the screen where it currently appears. diesel_litres or electricity_kwh is more useful than value_1. If several activity types will share the same quantity field, keep the unit explicit and validate the allowed combinations later.

Single Select is useful for controlled categories such as Scope 1, Scope 2, and Scope 3, but do not use it as a substitute for a proper taxonomy. If one activity can belong to several categories, a multi-select field may be appropriate for display, while the underlying calculation should still use a more precise relationship.

Minutes four and five: create the entity table

Add a second table called Entities. Start with:

  • Name
  • Entity type
  • Customer or account
  • Location
  • External ID
  • Status
  • Notes

The External ID is worth adding early. Customers often have their own site codes, supplier numbers, meter IDs, or asset names. Your internal record name may change; the customer’s identifier helps you match imports and investigate duplicates.

Then add a Linked Record field in Activities that points to Entities. Name it Entity. When you select an entity for an activity, Airtable creates the reverse relationship automatically. The entity record can show all connected activities without a second manual list.

This is the point at which the setup becomes a database rather than a decorated spreadsheet. The relationship is stored once and reused across views, filters, rollups, and interfaces.

Minutes six and seven: add the factor relationship

Create the Emission Factors table when your MVP needs a calculated climate output. Add fields such as:

  • Factor name
  • Activity type
  • Input unit
  • Factor value
  • Output unit
  • Scope
  • Geography
  • Source
  • Applicable period
  • Review status

In Activities, create a Linked Record field called Emission factor. Then add lookup fields to bring the factor value, output unit, and source into the activity record.

A lookup is better than copying the factor value into every activity. If a factor is corrected, you can identify which calculations depend on it. That does not mean you should silently rewrite historical reporting; it means the dependency is visible, and you can decide whether an approved result needs to be frozen.

For a simple calculation, add a Formula field such as Calculated output that multiplies the activity quantity by the looked-up factor value. Keep the formula readable. If the calculation requires several conditional branches, conversions, exclusions, or assumptions, document those separately and consider moving the heavier logic into an automation or dedicated calculation service.

Minutes eight and nine: create views for different jobs

Do not ask one grid view to serve every person.

Create at least:

  • All activities — the complete working view for operators.
  • Needs review — records missing a source, factor, entity, or approval.
  • By reporting period — filtered to the period currently being prepared.
  • Customer intake — only the fields needed for entry or review.
  • Calculation exceptions — records where the unit, factor, or activity type does not match.

Views are not just presentation. They are lightweight operational controls. A “Needs review” view turns data quality into a queue. A filtered customer view reduces the chance that someone edits an unrelated record. A grouped view can help you spot activities that have no matching factor.

Minute ten: add one form and test the path

Create a form view for Activities. Show only what the person submitting data needs to answer. Do not expose internal calculation fields, review notes, or implementation details unless they are genuinely part of the intake workflow.

Submit a test record. Confirm that:

  • The record lands in the correct table.
  • The date and quantity have the expected format.
  • The entity can be selected or added correctly.
  • The unit matches the activity type.
  • The factor relationship can be populated.
  • The calculated output is visible.
  • The record appears in the review view when information is missing.

That test is more valuable than adding another dashboard. It checks the complete path from input to result.

Field choices that prevent avoidable mess

A few decisions have disproportionate value in a climate MVP:

  • Use a Number field for quantities, not text such as 1,200 kWh. Keep the unit in a separate field.
  • Use a Date field for dates, not a free-text month label.
  • Use Linked Records for recurring entities and factors, not repeated names.
  • Use a status field such as Draft, Needs review, Approved, and Rejected to distinguish data state from calculation state.
  • Add a Created Time field and, where useful, a Last Modified Time field.
  • Keep the original source file attached to the record whenever the input may need to be checked later.
  • Do not overwrite a customer’s raw submission with a cleaned value. Store the raw input and the reviewed or normalised value separately when the distinction matters.

This is the practical core of a climate MVP database setup in Airtable: a small number of typed fields, explicit relationships, and views that expose incomplete work.

If a result cannot be traced from the dashboard back to an activity, a source, and a factor, it is not ready to carry the weight of a customer conversation.

Connecting front-end interfaces: Softr and Glide integration

Working directly in Airtable is fine for the founding team. It is rarely the right customer experience. A pilot user should not have to navigate internal views, factor tables, record IDs, or fields that exist only to support your operations.

Softr and Glide can sit above the base and provide a more focused interface. The choice depends on the workflow rather than on a universal ranking.

Softr is often a good fit when the MVP needs a web-portal feel: account access, gated pages, customer dashboards, forms, and a branded navigation structure. Glide is useful when the workflow is more app-like or mobile-oriented, particularly for internal teams collecting data in the field. Both can connect to structured data and expose selected records, although their supported features, permissions, and plan limits change over time and should be checked before you commit to a customer promise.

The integration should follow the database model, not work around it.

1. Connect the front end to the Airtable base.

2. Choose the tables that the interface actually needs.

3. Build a customer or project page around the relevant entity record.

4. Display linked activities through filtered lists or related-record components.

5. Add an intake form that writes to Activities.

6. Keep factor tables, internal notes, and review fields out of the customer-facing surface.

7. Configure permissions so one customer cannot browse another customer’s records.

8. Test the experience with a user account that has the least access.

The last step is easy to skip and expensive to ignore. A filter that looks correct in an administrator account may not protect records for an ordinary user. Treat permissions as part of the MVP’s data model, not as a cosmetic setting added before the demo.

Design the interface around the entity

A common mistake is to build the front end around the Airtable grid. Customers do not think in rows and columns. They think in terms of their facility, portfolio, supplier, project, reporting period, or target.

For a site-based carbon product, the main page might show:

  • The site name and reporting status.
  • Activities submitted during the selected period.
  • Missing or unreviewed inputs.
  • Calculated output grouped by activity type.
  • A link to submit another record.
  • Supporting documents associated with the site.

The page can be powered by several linked tables without exposing those tables directly. That is one of the advantages of the hybrid approach: Airtable preserves the relationships, while the interface presents them in the order a user needs.

Keep intake and review separate

The person submitting data and the person approving it may be different. A single form should not pretend otherwise.

A customer-facing form can collect the activity date, type, quantity, unit, entity, and supporting file. An internal review view can show the same record alongside the selected factor, source, calculation output, and review status. This division keeps the external experience simple while preserving the controls needed for credible climate data.

If the product uses estimates, make the estimate visible in the model. A field such as Data quality, Estimated, or Source type is more honest than presenting every result with the same apparent precision. Early buyers generally understand that pilot data is imperfect. They are less forgiving when uncertainty has been hidden.

Scaling beyond the base: managing record limits and future migrations

Airtable is an excellent place to validate a data model. It is not automatically the right permanent backend for a high-volume climate platform.

Record limits, attachment storage, automation limits, permission requirements, query performance, and integration constraints can all become relevant as usage grows. The exact boundaries depend on the Airtable plan, the connected tools, and the shape of your workload, so do not design around a single headline limit. A logistics product generating a record for every movement will hit operational constraints differently from a reporting product collecting one monthly record per site.

The more useful question is not when Airtable becomes “too small”. It is which part of the workflow is creating pressure.

If the problem is record volume, you may archive old raw records, split operational and reporting bases carefully, or move high-volume event data to a dedicated store. If the problem is calculation complexity, keep Airtable as the workflow layer and move the calculation engine elsewhere. If the problem is customer permissions, introduce a more robust application backend. If the problem is data governance, document ownership, retention, and approval rules before adding more software.

You can make a future migration easier without prematurely building for one.

Use portable field names

A field should make sense outside the current interface. Names such as diesel_litres, activity_date, entity_id, and factor_value are portable. Names such as blue card, final dashboard number, or new field 7 are not.

Avoid placing units, versions, and temporary decisions into one display label. Store them in separate fields when they are part of the data model.

Separate raw inputs from derived outputs

Raw quantity, source, and date should be distinguishable from calculated emissions or impact. If a formula changes, you need to know whether you are recalculating an old activity or editing the original observation.

This distinction also helps during customer conversations. You can say which number came from the customer, which factor was applied, and which output was calculated by the product. That chain is valuable even when the MVP is small.

Treat factors as governed data

Emission factors are not decorative lookup values. They carry a source, a unit, an applicable period, and assumptions. Give them an owner and a review status. If a factor is replaced, record why.

For early testing, you may keep the factor table simple. But do not bury a changing factor in a formula copied across dozens of records. That creates the illusion of consistency while making updates and audits difficult.

Document the relationships while they are still obvious

Write a short description for each table and the reason each link exists. Record what an activity means, what counts as an entity, how factors are selected, and what the output field represents.

This documentation does not need to be a formal data dictionary. A few clear paragraphs are enough to stop the founder’s mental model becoming the only source of truth. It also gives a future engineer something much more useful than a collection of screenshots.

Know when to migrate

A migration is justified when the current system is constraining the product, not simply because a custom stack sounds more serious.

Signals may include:

  • The base is receiving more event records than the team can reliably review.
  • Calculations require complex versioning or reproducibility controls.
  • Customers need granular roles and permissions that the current front end cannot provide.
  • Multiple integrations are competing to update the same records.
  • Response times are affecting the user experience.
  • The team is spending more time maintaining Airtable workarounds than learning from customers.

Before migrating, export and inspect the data, document relationships, identify duplicates, and decide which records are authoritative. A clean small model is easier to move than a large collection of copied views and ambiguous fields.

The purpose of an early Airtable base is not to prove that Airtable can last forever. It is to prove what your product needs before you pay to build the machinery around it.

The ten-minute build, used properly

The title promise is simple, but it works only if the ten minutes are used for a deliberately small first slice.

Start with Activities. Add a date, activity type, quantity, unit, scope or category, source, and notes. Create Entities with a name, type, location, and external ID. Link each activity to an entity. Add five real records from the pilot. Then create a Needs review view and a basic form.

That is enough to test whether the workflow is coherent.

If the activity records cannot be entered consistently, fix the fields before adding a dashboard. If the same entity is being created repeatedly, improve the linked-record process. If the output cannot be explained, expose the factor and its source. If the customer needs to see only their own data, test permissions before promising a self-service portal.

The next layer is the factor table, followed by lookups, calculation fields, and a front end in Softr or Glide. Add each part because the workflow requires it, not because a mature-looking base is more convincing in a demo.

A climate MVP database is not a substitute for scientific review, strong data governance, or a production backend. It is a way to make the first product model concrete. In ten minutes, you can create the first table. In a focused afternoon, you can turn scattered pilot inputs into a relational structure with a visible path from activity to impact.

That is enough to start learning from customers without pretending you have already solved the infrastructure problem.

FAQ

Why should I use Airtable instead of a spreadsheet for my climate MVP?
Airtable provides a more disciplined structure than a spreadsheet by allowing you to link records, validate fields, and create tailored views for different tasks without duplicating data.
What are the core tables needed for a carbon-tracking MVP?
A useful foundation includes four tables: Activities for raw observations, Entities for sites or suppliers, Emission Factors for conversion rules, and Results for aggregated data.
How can I share my database with pilot customers without giving them full access?
You can use a no-code front-end tool like Softr or Glide to expose specific records, forms, and dashboards to customers while keeping the underlying Airtable base private.
Should I include every possible Scope 3 category in my initial database schema?
No, you should start only with the activity types your pilot will actually submit. The database should reflect your first specific use case rather than the entire climate economy.
When is it time to migrate from Airtable to a custom backend?
Migration is justified when the current system constrains the product, such as when record volumes exceed review capacity, complex permissions are required, or the team spends more time on workarounds than on customer learning.