Our target audience are data engineers and scientists who feel limited by Jupyter notebooks and frustrated with Airflow. They're stitching together business apps (e.g. CRMs or email marketing tools), AI models, and building proprietary automations and analytics in between them (e.g. generating a customer health score and acting on it). We want to solve the impedance mismatch between analytical systems (like your pipelines for counting customers and revenue) and automations (like a "do something on customer signup" event).
We built Patterns because of our frustration trying to ship data and AI projects. We are data scientists and engineers and have built data stacks over the past 10 years for a wide variety of companies—from small startups to large enterprises across FinTech, Ecommerce, and SaaS. In every situation, we’ve been let down by the tools available in the market.
Every data team spends immense time and resources reinventing the wheel because none of the existing tools work end-to-end (and getting 5 different tools to work together properly is almost as much work as writing them all yourself). ML tools focus on just modeling; notebook tools are brittle, hard to maintain, and don’t help with ETL or operationalization; and orchestration tools don’t integrate well with the development process.
As a result, when we worked on data applications—things like a trading bot side-project, a risk scoring model at a startup, and a PLG (product-led growth) automation at a big company—we spent 90% of our time doing things that weren’t specific to the app itself: getting and cleaning data, building connections to external systems and software, and orchestrating and productionizing. We built Patterns to address these issues and make developing data and AI apps a much better experience.
At its core, Patterns is a reactive (i.e. automatically updating) graph architecture with powerful node abstractions: Python, SQL, Table, Chart, Webhook, etc. You build your app as a graph using the node types that make sense, and write whatever custom code you need to implement your specific app.
We built this architecture for modularity, composability, and testability, with structurally-typed data interfaces. This lets you build and deploy data automations and pipelines quickly and safely. You write and add your own code as you need it, taking advantage of a library of forkable open-source components—see https://www.patterns.app/marketplace/components and https://github.com/patterns-app/patterns-components.git .
Patterns apps are fully defined by files and code, so you can check them into Git the same way you would anything else—but we also provide an editable UI representation for each app. You work at either level, depending on what’s convenient, and your changes propagate automatically to the other level with two-way consistency.
One surprising thing we’ve learned while building this is that the problem actually gets simpler when you broaden the scope. Individual parts of the data stack that are huge challenges in isolation—data observability, lineage, versioning, error handling, productionizing—become much easier when you have a unified “operating system”.
Our customers include SaaS and ecommerce co’s building customer data platforms, fintech companies building lending and risk engines, and AI companies building prompt engineering pipelines.
Here are some apps we think you might like and can clone: 1. Free Eng Advice - a GPT-3 slack bot: (https://studio.patterns.app/graph/kybe52ek5riu2qobghbk/eng-a...) 2. GPT3 Automated Sales Email Generator: (https://studio.patterns.app/graph/8g8a5d0vrqfp8r9r4f64/sales...) 3. Sales lead enrichment, scoring, and routing: (https://studio.patterns.app/graph/9e11ml5wchab3r9167kk/lead-...)
Oh and we have two Hacker News specials. Our Getting Started Tutorial features a Hacker News semantic search and alerting bot (https://www.patterns.app/docs/quick-start). We also built a template app that uses a LLM from Cohere.ai to classify HN stories into categories like AI, Programming, Crypto, etc. (https://studio.patterns.app/graph/n996ii6owwi5djujyfki/hn-co...).
Long-term, we want to build a collaborative ecosystem of reusable components and apps. To enable this, we’ve created abstractions over both data infrastructure (https://github.com/kvh/dcp.git) and “structurally-typed data interfaces” (https://github.com/kvh/common-model.git), along with a protocol for running data operations in Python or SQL (other languages soon) in a standard way across any cloud database or compute engine.
Thanks for reading this—we hope you’ll take a look! Patterns is an idea I’ve had in my head for over a decade now, and I feel blessed to have the chance to finally build it out with the best co-founder on the planet (thanks Chris!) and a world-class engineering team.
We’re still early beta and have a long road ahead, but we’re ready to be tried and eager for your feedback!