Try out on: trojan-marketplace.vercel.app
Inspiration
Do you ever look for a service at USC and can't seem to find it? For example, you might need a camera man for a shoot tomorrow, but you can't seem to recruit one. Currently, these services exist in messy, disorganized group chats on Instagram and GroupMe where nothing is standardised or in order. We wanted to build a standardized, secure, exclusive economy for colleges.
What it does
Trojan Marketplace is a localized service economy that allows students to post Offers and Requests. Students can accept listings for offers and requests for a fixed value.
The Handshake: When a task is accepted, the system instantly connects both parties via an automated "Handshake Email." Previously we used Microsoft ACS to send SMS and make group chats between parties but this was impossible due to the constraints of unpaid plan. Escrow Credits: Funds are held securely in the platform until the job is done, protecting both the buyer and the seller. AI Proof Verification: To release funds, the seller uploads a photo. Our custom Vision AI (GPT-5-mini) automatically analyzes the image against the task description to verify completion with common-sense reasoning. Business Logic: The platform automatically handles a 10% transaction fee, ensuring a sustainable marketplace model.
How we built it
We chose a high-performance stack designed for scale:
- Frontend: Next.js 15 (App Router) with Framer Motion for smooth, native-feeling mobile transitions.
- Database: Azure Cosmos DB (NoSQL) for its global scale and low-latency document storage.
- AI Core: Azure OpenAI (GPT-5 mini Vision) for automated proof verification.
- Communication: Azure Communication Services for handling real-time "Handshake" notifications.
- Auth: NextAuth.js integrated with USC-only domain restrictions to ensure a trusted network.
- Styling: A bespoke Vanilla CSS design system for a premium, non-generic look and feel.
Challenges we ran into
The biggest technical hurdle was the "SMS Pivot." We originally built the Handshake system using Microsoft ACS SMS service but it wouldn't work. We pivoted to Twilio SMS, but we quickly realized the legal and regulatory hurdles (A2P registration) would slow down devlopment. We pivoted mid-hackathon to Azure Communication Services for Email, which allowed us to maintain the same instant-connection experience without the legal overhead.
Working with Azure communication services for email wasn't easy either. The web UI of Microsoft Azure was terrible. Nothing responded. We had to instead use a terminal within Microsoft Azure Services in order to connect the email service.
We also faced challenges with Balance Integrity—ensuring that credits are correctly deducted during escrow and only added to the seller's balance upon completion, all while handling concurrent database updates in Cosmos DB.
Accomplishments that we're proud of
- AI Common Sense: Tuning the Vision AI to be "permissive yet accurate." It can now distinguish between a successful "laundry fold" and a fake image, but it won't fail a student just because the lighting is slightly off.
- Zero-Placeholder UI: Every part of the app is data-driven, from the transaction history to the dynamic balance updates.
- The "Handshake" Workflow: Creating a seamless flow from acceptance → email connection → proof upload → AI verification → fund release. ## What we learned We learned a massive amount about multimodal AI prompt engineering—how to instruct a model to act as a "fair judge." We also gained deep experience in cloud-native state management, learning how to use Azure Cosmos DB alongside Next.js Server Actions to create a secure, server-side-only financial ledger.
What's next for Trojan Marketplace
Multi-Campus Scaling: Opening the platform to other universities by implementing a "Campus Selector" and geo-fenced marketplaces. Student Ratings: A reputation system to reward the most reliable providers in the community.
Built With
- azureaifoundry
- azurecommunicationservices
- azurecosmosdb
- azureopenai
- css
- dreams
- framer
- googleoauth
- hopes
- html5
- javascript
- next.js
- nextauth.js
- react
- typescript
Log in or sign up for Devpost to join the conversation.