Inspiration
We watched e-commerce merchants lose thousands every month because they couldn't react fast enough — a competitor drops prices at midnight, a PR crisis tanks brand sentiment by morning, or a rival launches a product nobody saw coming. Pricing decisions were still manual, slow, and gut-driven. We asked: what if AI agents could watch the market 24/7 and think through pricing decisions the way a senior analyst would — out loud, in real time?
What It Does
ActualPrice is a dynamic pricing SaaS for e-commerce merchants. It deploys four multi-agent AI pipelines, each with three specialized Gemini 3 agents that stream their reasoning live:
- Visual Pricing Intelligence — Upload a competitor's product screenshot. Three agents (Scout → Analyst → Strategist) analyze the image, extract pricing data, and recommend your optimal price.
- Crisis Detector — Paste social mentions about your brand. Three agents (Monitor → Analyzer → Response) assess sentiment, determine severity, and recommend a response strategy.
- Launch Detector — Feed competitor signals from social media or news. Three agents (Scanner → Validator → Assessor) confirm the launch, extract details, and rate the competitive threat.
- Market Trends — Enter a product category. Three agents (Collector → Analyzer → Forecaster) gather trend data, identify patterns, and forecast price direction.
How We Built It
Backend: FastAPI (Python) with Server-Sent Events for real-time streaming. Each pipeline orchestrates three Gemini 3 agents sequentially — Agent 1's output feeds Agent 2, whose output feeds Agent 3. The agents use gemini-3-flash-preview with configurable thinking levels.
Frontend: Next.js 14 + TypeScript + Tailwind CSS. The UI renders each agent's "thinking" as it streams in via SSE, with pulsing status indicators showing which agent is active.
Gemini 3 features we rely on:
- Native Thinking Levels — We pass
ThinkingConfigwithminimal,low, orhighto control how deeply each agent reasons. Speed-critical agents uselow; final decision agents can usehigh. - Thought Signatures — Gemini 3 returns
part.thought = Trueon reasoning tokens. We extract these to label agent thoughts as observations, analyses, hypotheses, or decisions in the UI. - Multimodal Vision — Visual Pricing and Launch Detector send product screenshots directly to Gemini for image understanding.
- 1M Token Context — Crisis Detector feeds comprehensive sentiment history without truncation.
Infrastructure: PostgreSQL database, Railway + Vercel deployment, 118+ API endpoints in the full platform.
Challenges We Faced
SSE buffering was our biggest frontend headache. Gemini streams chunks that can split mid-JSON, breaking JSON.parse(). We solved this with a buffer accumulation pattern — incomplete chunks get held until the next \n\n delimiter arrives.
Tailwind CSS purging silently broke our UI in production. We were building class names dynamically (text-${color}-400), which Tailwind's compiler can't detect at build time. Every dynamic class got stripped. We had to replace all interpolated classes with full static strings stored in constants.
Gemini 3 migration was time-sensitive. Our codebase was on gemini-2.0-flash, which is deprecated. We had to update every agent file to use gemini-3-flash-preview and integrate the new thinking level and thought signature APIs without breaking the existing streaming pipeline.
Memory leaks in image handling — our screenshot uploader created blob URLs on every render without cleanup. We refactored to useMemo with useEffect cleanup to prevent the browser from accumulating unreleased object URLs.
What We Learned
The biggest insight was that multi-agent orchestration is fundamentally different from single-prompt AI. Having three agents with distinct roles (observe → validate → decide) produces dramatically better results than one long prompt. Each agent can focus, and the handoff between agents creates natural quality gates. Gemini 3's thinking levels made this even more powerful — we could give early-stage agents fast, shallow reasoning and reserve deep thinking for the final decision-maker.
Built With
- 3
- css
- events
- fastapi
- gemini
- gemini3
- google-genai
- googleai
- multi-agent-systems
- multimodal-ai
- next.js
- postgresql
- python
- railway
- react
- real-time-streaming
- redis
- sdk
- server-sent
- server-sent-events
- tailwind
- tailwindcss
- typescript
- vercel

Log in or sign up for Devpost to join the conversation.