fennel.ai Open in urlscan Pro
188.114.97.3  Public Scan

Submitted URL: https://gotfennel.co/
Effective URL: https://fennel.ai/
Submission: On June 13 via api from US — Scanned from DE

Form analysis 0 forms found in the DOM

Text Content

CompanyCareersBlogDocumentation
Request a demo



REALTIME FEATURE PLATFORM. BEAUTIFULLY BUILT.

Fennel helps you author, compute, store, serve, monitor & govern both realtime
and batch ML features.



INCREDIBLY EASY TO INSTALL AND USE.


SHIP FEATURES 100X FASTER. YES, 100X.

Real Python. No DSLs.
No DSL, no Spark or Flink jobs. Plain old Python & Pandas means zero learning
curve for you.

Automatic Backfills
Pipelines backfill automatically on declaration - no more pesky one off scripts.

Fully-Managed Infrastructure
Fennel brings up & manages everything that is needed - zero dependencies on your
prod infra.

Feature repository for reuse
Write standardized features once, share & reuse across all your use cases.

BEST-IN-CLASS DATA QUALITY TOOLING


NO MORE FEATURE OR DATA BUGS

Strong Typing
Catch typing bugs at compile time and at source of data, thanks to strong
typing.

Immutability & Versioning
Immutable & versioned features to eliminate offline online skew due to
definition changes.

Unit Testing
Prevent unforced errors by writing unit tests across batch & realtime pipelines.

Compile Time Validation
Strict end to end lineage validation at compile time to prevent runtime errors.

Data Expectation
Specify expected data distributions, get alerted when things go wrong.

Online / Offline Skew
Single definition of feature across both offline and online scenarios.

Data Quality with Fennel

POWERFUL & FLEXIBLE


INSANELY REALTIME.
EXACT SAME CODE AS BATCH.

After all, batch is just a special case of stream processing. Why not future
proof your ML stack if realtime came for free?

Kappa Pipeline Architecture

UNPRECEDENTED POWER


TEMPORALLY CORRECT STREAMING JOINS

NO MORE STALE DATA


SUB-SECOND FEATURE FRESHNESS

SINGLE-DIGIT MS RESPONSE


ULTRA-LOW LATENCY SERVING

ENTERPRISE-GRADE PERFORMANCE


HASSLE-FREE SCALING


SCALABILITY & RELIABILITY

Scale to billions of feature queries without lifting a finger.

Learn More


ENTERPRISE-GRADE SECURITY

SOC2-compliant deployment inside your VPC.

Learn More


CLOUD COST EFFICIENCY

Lower cloud cost for the same workload & performance.

Learn More

HOW IT WORKS


READ & WRITE PATH SEPARATION

The right abstraction for realtime feature engineering

BRING YOUR DATA

Use built-in connectors to effortlessly bring all your data to Fennel.



DERIVE DATA VIA STREAMING PIPELINES



DEFINE FEATURES



QUERY VIA THE REST API



1postgres = Postgres(host=...<credentials>...)
2kafka = Kafka(...<credentials>...)
3
4
5@dataset
6@source(postgres.table("user_info", cursor="signup_time"), every="1m")
7@meta(owner="dataOncall@fennel.ai", tags=["PII"])
8class User:
9    uid: int = field(key=True)
10    dob: datetime
11    country: str
12    signup_time: datetime = field(timestamp=True)
13
14
15@dataset
16@source(kafka.topic('transactions'))
17@meta(owner="chris@fennel.ai")
18class Transaction:
19    uid: int
20    amount: float
21    payment_country: str
22    merchant_id: int
23    timestamp: datetime

Show Diagram

CRAFTSMAN-LIKE PASSION FOR DEVELOPER EXPERIENCE


ARCHITECTED WITH LOVE

Explore the Architecture

RUST

The primary language of our backend, relying heavily on Tokio's async runtime

KAFKA

Handles all inflow data. All streaming jobs read and write to Kafka.

ROCKSDB

Handles all at-rest data, with some also offloaded to Redis.

RUST

The primary language of our backend, relying heavily on Tokio's async runtime

KAFKA

Handles all inflow data. All streaming jobs read and write to Kafka.

ROCKSDB

Handles all at-rest data, with some also offloaded to Redis.

PANDAS

Used as the dataframe interface between user-written code and the server.

GRPC

Used alongside Protobufs to write services and exchange data.

KUBERNETES

For maintaining the lifecycle of all running services.

PANDAS

Used as the dataframe interface between user-written code and the server.

GRPC

Used alongside Protobufs to write services and exchange data.

KUBERNETES

For maintaining the lifecycle of all running services.

PULUMI

Used for provisioning Fennel infrastructure as code.

POSTGRESQL

Used as a central metadata store, with the exception of customer data.

PULUMI

Used for provisioning Fennel infrastructure as code.

POSTGRESQL

Used as a central metadata store, with the exception of customer data.


EXPERIENCE THE SLICKEST FEATURE ENGINEERING WORKFLOW

Request a Demo


SUBSCRIBE FOR UPDATES:

Subscribe

You can unsubscribe at any time.



RESOURCES

 * Documentation
 * Blog

COMPANY

 * About
 * Request a Demo
 * Careers
 * Subprocessors

Fennel

© 2024 Fennel