RealCart
Understand your shopping/taste patterns—and use that to build your "real" shopping cart.
Inspiration
Shopping platforms already use saved images and purchase records as signals, but people rarely receive a useful view of those patterns themselves.
A receipt shows what was purchased, but not whether it was loved, used, exchanged, regretted, or returned. A Pinterest board shows repeated visual attention, but it is not necessarily a wishlist or an ideal self.
RealCart began with a simple question: what if these signals were returned to the person as a private reflection instead of being used to sell the next item?
What It Does
RealCart uses shopping outcomes as the behavioral baseline and saved images as a style reference.
It combines:
- Purchases and prices
- Keeps, returns, and exchanges
- Product images
- Usage frequency
- Emotional feedback
- Purchase motivation
- Repeated brands and categories
- Saved visual themes
RealCart produces two symbolic portraits:
- Style Reference
- Shopping History
It also presents numeric keep and return rates, price patterns, visual-dimension comparisons, and short observations about behaviors such as purchasing and returning items that closely resemble frequently saved styles.
A product-image survey adds context that receipts cannot provide. Once submitted, those answers update the shopping-pattern analysis.
RealCart does not recommend products, rank choices, diagnose the user, or issue buy/do-not-buy verdicts. It presents evidence and leaves the meaning and decision with the person.
How We Built It
RealCart uses a typed FastAPI pipeline with three bounded GPT-5.6 agents:
- The Saved Style Signals Agent interprets repeated palette, material, silhouette, structure, texture, and atmosphere across saved images.
- The Purchase Patterns Agent interprets orders, returns, prices, merchants, product images, usage, and survey feedback.
- The Report Manager combines the two typed profiles into evidence-grounded insights.
The two specialist agents run concurrently.
GPT-5.6 interprets ambiguous visual and behavioral information, while deterministic Python code calculates the numeric Pattern Difference. This keeps the score inspectable, testable, and separate from model-generated prose.
gpt-image-2 can generate the two symbolic portraits. The frontend is built with Next.js and provides profile creation, product-image surveys, portraits, numeric comparisons, and concise insight cards.
We also built read-only Gmail and Pinterest Sandbox connector prototypes. For privacy and reproducibility, the judge experience defaults to synthetic image-backed fixtures and requires no credentials or API credits.
How We Used Codex
Codex accelerated:
- The monorepo scaffold
- FastAPI and Next.js implementation
- Typed frontend/backend contracts
- Multi-agent orchestration
- Synthetic fixture design
- Deterministic scoring
- OAuth connector prototypes
- Multimodal image handling
- Automated testing
- OpenAI API debugging
- Repository and submission preparation
The team retained the central product decisions: shopping outcomes lead the behavioral analysis, saved images remain contextual, kept and returned items receive different survey questions, arithmetic stays outside the model, and RealCart never becomes a recommendation engine.
Challenges
The first challenge was data access. OAuth providers have different review requirements, sandbox limitations, message formats, and image behavior. Receipt images are especially inconsistent, so RealCart prefers attached or inline product images and provides a clear fallback when no useful image exists.
The second challenge was tone. Early language treated saved images as a better self and purchases as the real self. We removed that hierarchy. Shopping records are evidence of observed outcomes, but they are still shaped by budget, fit, need, availability, and circumstance.
The third challenge was explainability. We wanted GPT-5.6 to interpret ambiguous evidence without allowing model-generated prose to control the score. Our final architecture gives the models bounded interpretation tasks while deterministic application code owns every numeric comparison.
What We Learned
A purchase is not proof of preference. A return is not failure. A saved image is not proof of intent.
Combining these incomplete signals—and asking a few focused follow-up questions—creates a more useful reflection than treating any one source as the truth.
What’s Next
Next steps include secure multi-user token storage, provider verification, deletion and retention controls, broader receipt parsing, and stronger evaluation datasets.
With more shopping history, RealCart could identify statistically supported patterns such as a style that frequently appears in saved references but also has an unusually high return rate—without overgeneralizing from a single purchase.
Log in or sign up for Devpost to join the conversation.