Inspiration

Fashion shopping in Ghana and across Africa is fragmented — buyers scroll endlessly through social media DMs, sellers struggle to manage inventory, and there's no intelligent layer connecting the two. We wanted to build something that felt like a premium, modern marketplace but was built specifically for this market.

What it does

Savvy is an AI-powered fashion marketplace that connects buyers and sellers in real time.

For buyers:

  • Browse curated fashion products with smart search by keyword, location, or image
  • Get personalized AI fashion advice and outfit recommendations
  • Chat directly with sellers — a product card is automatically shared when a conversation starts
  • Add to cart, place orders, and track deliveries

For sellers:

  • A full seller dashboard with live inventory analytics, revenue charts, and product views
  • AI tools: listing generator, price suggester, inventory analysis, visibility tips, and market trends
  • Real-time inbox — buyers' enquiries arrive instantly with the product card attached
  • Manage products, categories, stock, and orders from one place

How we built it

Layer Technology
Frontend React, TypeScript, TailwindCSS, Recharts, shadcn/ui
Backend Java Spring Boot, Spring Security (JWT), WebSocket (STOMP)
Database PostgreSQL (Hibernate/JPA)
Media Cloudinary (product images, profile pictures)
AI Anthropic Claude API
Tunneling ngrok (development)

The chat system uses WebSocket with STOMP — when a buyer starts a conversation, the backend automatically saves a structured product card as the first message and pushes it to the seller's inbox in real time.

The AI layer is powered by Claude and handles fashion advice, product listing generation, price suggestions, inventory analysis, and market trend insights.

Challenges we faced

  • Real-time chat architecture — designing the WebSocket flow so product cards appear instantly in the seller's inbox without polling
  • Multi-role authentication — buyers and sellers have separate auth flows, JWT principals, and permission layers within the same Spring Security config
  • AI response parsing — Claude returns structured JSON for inventory analysis; building a frontend renderer that gracefully handles both plain text and structured data responses
  • Image handling — managing Cloudinary upload flows for products with multiple images, display ordering, and efficient retrieval

What we learned

  • How to build a production-grade real-time messaging system with Spring WebSocket and STOMP
  • Prompt engineering for structured AI responses and how to parse them reliably on the frontend
  • Designing multi-tenant seller/buyer systems with clean separation of concerns

What's next

  • Mobile app (React Native)
  • Payment integration (Paystack/MTN Mobile Money)
  • Order tracking with live delivery updates
  • AI-powered size recommendations
  • Seller analytics with deeper sales trends

Built With

Share this project:

Updates