What the product does
Weavo ingests raw business data, keeps the original source shape available for inspection, lets users normalize and map columns into a shared project schema, then publishes stable final output rows for CSV download or Drive export.
Upload or sync the source exactly as it arrives.
Use input transforms and mappings to create repeatable cleanup logic.
Accept final rows only when they are ready for downstream use.
How to use Weavo Labs
Create a project
Projects separate related feeds, mapped columns, saved transforms, final outputs, and sharing. Start from Projects, create a project, then open it from the sidebar.
Add input sources
Create one input source for each upstream feed. A source can receive uploaded CSV/XLSX files or sync files from a linked Google Drive folder.
Upload or sync files
On an input source page, upload CSV/XLSX files directly or link a Drive folder and sync new spreadsheet files. Weavo stores the file, parses it server-side, and appends rows to that source.
Inspect raw data
Review detected columns, preview rows, column statistics, and the source data explorer before mapping. This is where you confirm that the feed landed correctly.
Create input transforms
Use formulas to create derived source columns before mapping, such as normalized amount, cleaned vendor name, or fallback description fields.
Map to canonical columns
Map raw or derived input columns into project-level transform columns. Reuse existing canonical columns when sources mean the same thing, or create a new column when the project needs a new field.
Save transform views
In the transform builder, choose canonical columns, rename them for a specific use case, and save a reusable transform view over the appended project dataset.
Add rules and categories
Open a saved transform to add formula rules, chained derived columns, and ordered categorization columns where the first matching rule writes the row value.
Filter, accept, and export
Use preview filters, the source data explorer, and server-side saved/final grids to find the rows you need. Accept rows into final output to freeze their values, then export the final CSV or push it to a selected Drive folder.
Core product model
Project
A workspace for related data feeds, transform columns, saved views, accepted output rows, and project sharing.
Input source
A single upstream feed. Each source keeps its own raw rows and mapping configuration so feeds can evolve independently.
Input transform
A derived column created before mapping. Input transforms can reference detected columns and earlier derived columns with bracket syntax.
Canonical transform column
A project-level field that multiple input sources can map into. This is how differently named source columns become one reporting field.
Saved transform
A reusable output view over the project canonical dataset. It can include a subset of fields, renamed fields, formula rules, and categorization columns.
Final output
An immutable snapshot of accepted transform rows. Final rows are frozen for export even if transforms or custom columns change later.
Formula syntax
Formula fields use spreadsheet-style expressions. Reference columns with square brackets, such as [amount] or [description]. Derived columns created by earlier rules can be referenced by later rules.
IF([type] = "payment", [amount], -[amount])ROUND(NUM([amount]) - NUM([fee]), 2)COALESCE([description], [memo], "Unknown")CONCAT([first_name], " ", [last_name])IF()AND()OR()NOT()COALESCE()CONCAT()CONTAINS()STARTSWITH()ENDSWITH()UPPER()LOWER()TRIM()ABS()ROUND()NUM()TEXT()Drive input and output flows
Input folders
Link a Drive folder from an input source, then sync new CSV, XLSX, or Google Sheets files into that source. Drive is best for recurring business-user file drops.
Output folders
Select a Drive folder from the Outputs page and export the current final CSV there. Final rows are exported from the accepted output table, not from live transform previews.
Current product boundaries
Sign-in uses Supabase email and password. Users must be assigned to an org before they can create or access projects.
Upload ingestion supports CSV and XLSX today. The current app stores uploaded files in Supabase Storage and writes parsed rows into source-specific Postgres raw tables.
Saved transform and final output grids use server-side pagination, filtering, and sorting so the browser fetches requested slices. The source data explorer currently loads rows into the browser in chunks for local search and visible-row export, so it should be treated as an MVP inspection view for now.
BigQuery, Snowflake, object storage, scheduled jobs, and warehouse-scale publishing are planned architecture paths, not the primary implemented workflow in this app yet.
Common empty states
No projects appear
The signed-in user exists, but has not been assigned to an org. Add the user to an org before creating or viewing projects.
No columns are available for mapping
Upload or sync at least one file for that input source. Weavo needs detected file columns before it can build mapping options.
The transform builder is empty
Map input source columns into canonical transform columns first. Saved transforms are created from the project canonical column pool.
Final output has no rows
Create a saved transform, filter or inspect its rows, then accept rows into final output from the Outputs page.
Drive buttons are disabled or missing setup
Google Drive requires OAuth and Picker configuration. Once configured, input sources can sync Drive files and final outputs can export CSV files to Drive.