Why FeatureMesh?
FeatureMesh lets you define business logic once and use it everywhere.
Whether you're calculating customer lifetime value, determining pricing, or defining what makes a user "active", you write it once in FeatureQL and use it in dashboards, APIs, ML models, and production systems.
What is FeatureQL?
FeatureQL is a SQL-based language designed for reusable business logic. It has three key characteristics:
Column-focused, not table-focused: You define individual features (columns) rather than entire tables. Define "customer_lifetime_value" once, reference it anywhere. Dependencies are explicit, lineage is automatic.
Pure transformations: Each feature is a self-contained function with no hidden side effects. This makes features composable, testable, and predictable.
Execution-agnostic: Write your logic once. FeatureQL compiles to native SQL (DuckDB, Trino, BigQuery) for batch analytics or runs in memory via DataFusion for real-time APIs. You define what to compute, not how to execute it.
Problems it solves
Consistent metrics everywhere: Everyone uses the same definition of "active customer" or "monthly recurring revenue". No more meetings about why the dashboard shows different numbers than the experiment analysis.
One language for all contexts: The same feature definitions power your dashboards, ML training pipelines, real-time APIs, and operational systems. No translation between analytics SQL and application code.
Write once, reuse forever: Define your revenue calculation as a feature. Use it in 50 queries, combine it into new features, update it in one place when logic changes. Complexity stays encapsulated; consumers just use the feature without needing to know how it works.
Simpler, debuggable queries: Features are isolated functions. What takes 100 lines of SQL with multiple CTEs becomes 10 clear lines, and you can test each piece independently.
Faster onboarding: Data engineers publish verified features. Analysts reuse them with confidence. New team members become productive immediately instead of learning years of tribal knowledge.
You might not need FeatureMesh
If you're one or two people doing your own analytics, you don't need this. Your SQL files are fine.
FeatureMesh pays off when collaboration, reuse, and consistency start to matter: multiple people building on each other's work, business logic that needs to stay in sync across systems, and pressure to ship faster without breaking things.