Back to Projects
Live Product

Findiora

AI-powered procurement platform that helps businesses find suppliers efficiently

The Problem

Procurement teams spend hours searching for reliable suppliers, often relying on outdated databases, manual outreach, and inefficient processes. This manual approach leads to missed opportunities, suboptimal pricing, and longer sourcing cycles.

I wanted to build a solution that uses AI to intelligently match suppliers with buyer requirements, making procurement faster, smarter, and more efficient.

The Solution

Findiora is a full-stack platform that combines AI search with a comprehensive supplier database. The platform uses natural language processing to understand buyer requirements and matches them with the most relevant suppliers.

Key Features

  • Intelligent Search: AI-powered supplier discovery using semantic search
  • Supplier Database: Comprehensive, regularly updated supplier information
  • Direct Outreach: In-app messaging to connect directly with suppliers
  • Insights Dashboard: Real-time analytics on supplier interactions

Technical Architecture

Frontend

Next.js 15 with React for a fast, interactive user interface. Tailwind CSS for styling, Framer Motion for animations, and SWR for data fetching and caching.

Backend

Python Flask API with RESTful design. Integrated OpenAI API for semantic search and AI-powered matching. JWT-based authentication for secure API access.

Database & Storage

PostgreSQL for relational data (users, suppliers, messages). Supabase for auth and database hosting. Vector embeddings stored for semantic search on supplier data.

Payments & Deployment

Stripe for subscription management and payments. Deployed on Vercel (frontend) and Railway (backend API). Automated CI/CD pipelines for rapid iteration.

Challenges & Solutions

Scaling Vector Search

Initially, searching through thousands of supplier records with semantic matching was slow. Solution: Implemented vector embeddings stored in PostgreSQL with optimized indexing for sub-second queries.

Payment Integration Complexity

Integrating Stripe with subscription tiers and usage-based pricing required careful handling of webhooks and billing cycles. Solution: Built comprehensive webhook handlers and monthly reconciliation processes.

Real-time Notifications

Users needed instant notifications when suppliers responded. Solution: Implemented WebSocket-based real-time messaging with fallback to polling for better reliability.

Key Learnings

  • Ship early, iterate based on real user feedback. The first version doesn't need to be perfect.
  • Database design matters more than you think. A well-structured schema scales better than quick fixes.
  • User experience in search/discovery is critical. Slow queries frustrate users and hurt adoption.
  • Payment systems need to be bulletproof. One failed payment can lose a customer forever.

Tech Stack

Next.jsPythonFlaskPostgreSQLSupabaseOpenAI APIStripeVercelRailwayTailwind CSS