Product Thumbnail

ShapedQL

The SQL engine for search, feeds, and AI agents

Software Engineering
Developer Tools
Artificial Intelligence

Stop gluing Pinecone, Redis, and Python scripts together. ShapedQL is the SQL engine for relevance - powering "For You" feeds, Search, and RAG memory in minutes. It compiles simple SQL into real-time ranking pipelines that retrieve, filter, score, and reorder results based on live user behavior. Replace thousands of lines of infra with 30 lines of SQL. With native multi-modal embeddings and automated MLOps, ShapedQL helps you build real-time decisions, not just document retrieval.

Top comment

Hi Product Hunt! 👋

I'm Tullie, the founder and CEO of Shaped. Previously I was a researcher at Meta AI, leading several ML teams including one focused on Instagram Reels and Ads video ranking. I also created PyTorchVideo and was a core contributor to Pytorch Lightning.

We built ShapedQL because we realized that while retrieval has become easier (thanks to Vector DBs), ranking and relevance are still incredibly hard.

Most engineering teams we talk to are stuck maintaining a "Frankenstein" stack. To build a "For You" feed or give an AI Agent personalized memory, they have to glue together a vector database, a feature store (like Redis), a reranking service, and thousands of lines of Python spaghetti code.

We built ShapedQL to turn that "house of cards" into a single interface.

ShapedQL is a domain-specific SQL dialect that compiles down to a high-performance, multi-stage ranking pipeline. With a single query, you can define the four stages of modern relevance:
1. Retrieve: Fetch candidates from multiple sources (Hybrid Search, Collaborative Filtering, Trending).
2. Filter: Apply hard constraints (e.g., "in stock" or "within 50 miles").
3. Score: Rank results using real-time ML models (optimizing for clicks, purchases, or watch time).
4. Reorder: Enforce diversity so your users (or Agents) don't see the same 5 items repeatedly.

We're seeing teams reduce 2,000+ lines of maintenance code down to ~30 lines of ShapedQL, while shipping features like "Cart Upsell" or "Agent Memory" in days instead of months.

If you're not a fan of SQL you can also choose from Python or Typescript SDK's.

I'd love to hear your feedback and answer any questions about the syntax or how it works under the hood! 🚀

Comment highlights

Congratulations on the new launch! We’re actually working on a travel AI project. I’ve sent it to the team to check out.

Does Shaped support custom real-time feature injections during the ranking process, or does it rely solely on pre-indexed data?

Feature freshness vs latency is the classic trap. Most teams pick caching and accept day-old features, or go streaming and deal with Kafka/Flink complexity. Shaped's unified data layer handling both batch and real-time in a single schema is the interesting move here... curious how much of that freshness gap it actually closes in practice.

Replacing thousands of lines of infra code with just 30 lines of SQL sounds too good to be true, but it would definitely save weeks of development time. I wonder how flexible that SQL actually is like, can it handle really complex custom scoring rules, or are you limited to their pre-built ranking logic?

Honestly, trying to glue Redis, Pinecone, and Python scripts together is such a headache, so seeing a SQL engine handle all that 'relevance' work is a huge relief. I’m really curious if it actually handles the real-time ranking as fast as they claim, especially when you’ve got millions of users triggering live behavior.

Congrats on the launch @tullie_murrell ! How do teams actually iterate on relevance once they’re on ShapedQL? Is the biggest win faster experimentation, or just not having to touch infra every time they tweak ranking logic?

This is sick - more teams able to build better feeds. Are you able to share any feeds Shaped is powering that you're particularly proud of?

Hey Tullie, that Frankenstein stack image is painfully accurate. Was there a specific team you talked to where you saw them drowning in that glue code and thought this is way too complicated for what should be a solved problem?

Real-time retrieval and ranking tends to break at scale on feature freshness and training serving skew when event volume spikes and backfills happen.

Best practice is strict offline to online feature parity with a streaming fed online feature store plus impression logging for eval and safe shadow or canary rollouts.

How does ShapedQL handle feature definitions and model versioning plus A B testing while keeping low p99 latency across retrieve filter score reorder stages?