Back to blogs
Blueberry Engineering: Architecting a Real-Time Social Engine
Aug 30, 2025

words
Sean Rich
User expectations for software have changed.
Historically software was simple: a user clicks, waits for a response, and the UI updates. If something happened in the background (like a new email came in) many web applications wouldn’t show this until a refresh.
But in the AI era, expectations have changed. Most of the work now happens in the background, driven by agents that operate continuously. Users expect to see real-time progress streams, not static updates after a refresh.
At Blueberry, this shift is amplified by scale. Millions of social interactions happen every minute – likes, comments, DMs – and it’s our job to capture, analyze, and contextualize each one, linking it back to a customer database enriched with deep research.
That requires infrastructure that is:
Real-time: new data appears instantly
Scalable: can handle thousands of concurrent events
AI-native: can handle agents learning and acting all the time
Why Convex
At Blueberry, we chose Convex as the foundation for our social engine. Convex handles all of our infrastructure requirements and more.
Out of the box, it gives us:
Reactive queries: Convex queries automatically re-run whenever underlying data changes. When we receive a new comment in the background, every relevant UI element updates instantly.
Serverless scale: Convex can dynamically scale to handle any number of interactions without infra babysitting.
AI-optimized developer experience: Convex’s full-stack TypeScript type generation works impressively well with LLMs. Using Claude Code & Convex has been miles ahead of any other development experience I’ve had in 10+ years of programming.
Real-Time in Action
So how does this work in practice? When a new Instagram comment lands, it flows through Blueberry’s real-time engine:
The comment arrives via webhook and is normalized by a Convex mutation.
It’s written into our comments table in Convex.
Convex reactive queries update Blueberry dashboards instantly with no refresh required.
At the same time, our AI agent picks up the event, runs deep research on the customer, and generates a suggested reply.
That reply can be reviewed or sent automatically as a Messenger DM.
For the user, it feels like magic: new comments appear instantly, with contextual replies ready to go in real time.
Here’s how this looks from an architecture perspective:

Lessons Learned
Reactive beats polling. As software becomes easier to create, building a world-class product experience will become a critical differentiator.
DX matters. In today’s world, the biggest moat is speed. The faster we write code, and the less time our engineers spend debugging infra, the more time we spend building features and winning customers.
We’re Hiring
Blueberry is building a 1:1 marketer for B2C brands, powered by our real-time social engine. and we’re just getting started. If you’re excited about reactive systems, large-scale social data, and AI-driven personalization, we’d love to talk.
