Show HN: Delphi – Build customer-facing AI data apps (that work)
Hey HN!

Over the past year, my co-founder David and I have been building Delphi to let developers create amazing customer-facing AI experiences on top of their data. We're excited to share it with you.

David and I have spent our careers leading data and engineering teams. After ChatGPT got popular, we saw a rush of "chat with your data" startups launch. Most of these are "text-to-SQL" and use an LLM like GPT-4 to generate SQL queries that run directly against a data warehouse or database.

However, the general perception now is most of them make for nice demos but are hard to make work in the real world. The reason is data complexity. Even smart LLMs find it difficult to reason about messy databases with hundreds of tables, thousands of columns, and complex schemas that have been built up piece-meal for years. Text-to-SQL can be a fine dev tool for data scientists and analysts, but we've seen many organizations hesitate to deploy it to end users, who never know if the answer they get one day will be the same the next.

David and I found a better way. From our time in the data engineering world, we were familiar with a type of tool called "semantic layers." Think of them like an ORM for analytics. Basically, they sit between databases (or data warehouses) and data consumers (data viz tools like Tableau or APIs) and map real-world concepts (entities like "customers" and metrics like "sales") to database tables and calculations.

Semantic layers are often used for "embedded analytics" (e.g. when you're building customer-facing dashboards into your application) but are increasingly also used for traditional business intelligence. Cube (https://cube.dev) is a prominent example, and dbt has also recently released one. They're useful because with a semantic layer, the consumer doesn't have to think about questions like "how do we define revenue?" when running a query. They just get consistent, governed data definitions across their business.

We realized that semantic layers could be just as useful for LLMs as for humans. After all, LLMs are built on natural language, so a system that deterministically translates natural language concepts into code has obvious power when you're working with LLMs. With a semantic layer, we've found that companies can get AI to answer much more complex questions than without it.

For a year now, we've been building Delphi to do just that. We've gone through a few iterations/pivots (initially we were focused on building a Slack bot for internal analytics) and are now seeing our developer-first approach resonate. We're being used to power customer-facing fintech applications, recruiting software, and more.

How do you use Delphi? The first step is connecting your database; then, we build your semantic layer on top of it. Right now we do this manually, but we're moving more and more of it over to AI. Once that's done, we have 3 main ways of using Delphi: 1) white-labeling our AI analytics platform and providing it to your customers; 2) a streaming REST API and SDKs; and 3) React components to easily drop a "chat with your data" experience into your app.

If this is interesting to you, drop us a line at founders@delphihq.com or sign up at our website (https://delphihq.com) to get in touch. Thanks for reading! Would love to hear any thoughts and feedback.