Project Info

Client:Apple Academy 4th Project
Duration:1 month
Technologies
Node.js
Express
TypeScript
Prisma
FastAPI
Python
PostgreSQL
Pinecone
OpenAI GPT-4o-mini
Swift
SwiftUI
JWT

Table of Contents

Findect

Findect is a matchmaking app for professional networking events. Unlike random pairing tools, it uses semantic search and LLM reasoning to recommend the top three most compatible attendees for each participant — complete with natural-language explanations of why those matches make sense.

Findect - Image 1

The Challenge

We spoke to many digital nomads and community companies in Bali to understand their needs and pain points. We stumbled upon Tyrone Williams who was a CEO and had the ability to match people who had problems and he would pair them up with people who could solve those problems. That was his whole business model. We also interviewed other companies who did the same thing, so we thought, "why don't we leverage this with technology and tap into this market?" Let's do it!

Our Solution

We built Findect, an iOS app that intelligently matches attendees based on their goals, professions, and interests. Our architecture combines a Node.js REST API for event and attendee management with a Python FastAPI service for AI-powered reasoning and vector search.

System Architecture

System Architecture Diagram

My Role

I served as the AI & backend systems engineer, responsible for the entire FastAPI and semantic search layer.

Key Contributions

  • Designed and implemented the Retrieval-Augmented Generation (RAG) pipeline for attendee recommendations
  • Integrated Pinecone for dense vector storage and similarity retrieval
  • Developed the semantic chunking logic that transforms attendee data (profession, goals, responses) into meaningful embeddings
  • Built and deployed the FastAPI microservice to handle AI endpoints and communicate securely with the Node.js backend
  • Optimized the LLM reasoning prompts to produce coherent, human-sounding explanations for each match
  • Collaborated with the Node.js backend engineer to integrate the AI recommendation flow into the main API
  • Contributed to the iOS frontend integration for displaying AI-generated recommendations

AI Matching Pipeline

1

Attendee data ingestion

The Node.js backend sends structured attendee data to the FastAPI service via secure API calls.

2

Semantic embedding

FastAPI preprocesses and embeds attendee text fields, storing them in Pinecone.

3

Candidate retrieval

For each user, Pinecone retrieves the top-10 similar attendees in the same event namespace.

4

Reranking and reasoning

The FastAPI service uses GPT-4o-mini to rerank and generate context-aware reasoning for the top-3 matches.

5

Response delivery

Node.js receives the final list with reasoning and forwards it to the iOS frontend.

Technical Highlights

  • Node.js + Express API: User authentication, CRUD operations, event management
  • Prisma ORM: Type-safe PostgreSQL access and migrations
  • FastAPI (Python): AI processing and RAG orchestration
  • Pinecone Vector DB: Semantic similarity search for embeddings
  • OpenAI GPT-4o-mini: Natural-language reasoning for recommendations
  • JWT Authentication: Secure communication between clients and backend services
  • Hosting: Node.js API hosted on VPS, PostgreSQL hosted on Supabase, FastAPI hosted on VPS, Pinecone for vector search

Challenges & Learnings

One challenge was ensuring that LLM-based reasoning matched real human intuition rather than superficial textual similarity. To solve this: • Engineered prompt templates that contextualized professional and personal alignment • Tuned retrieval hyperparameters for better diversity among top candidates • Added double filtering to prevent self-matches and redundant recommendations This project gave me deep experience in multi-service orchestration, semantic retrieval, and LLM-powered backend design.

Future Improvements

  • Add automated testing for both Node.js and FastAPI services
  • Implement GitHub Actions for CI/CD and coverage tracking
  • Introduce reranking models (e.g., cross-encoder or fine-tuned BERT) for higher precision
  • Deploy load balancing between AI endpoints for production scaling

Tech Stack

backend

Node.js, Express, TypeScript, Prisma, FastAPI, Python

databases

PostgreSQL (Supabase), Pinecone (Vector DB)

ai

OpenAI GPT-4o-mini

frontend

iOS (Swift)

authentication

JWT

hosting

VPS (APIs), Supabase (SQL), Pinecone (Semantic Search)

Team

3 team members:

  • FASTAPI backend and AI/Vector logic (me)
  • Node.js backend (API + SQL)
  • iOS frontend

3 designers responsible for:

  • UI
  • UX
  • Visual identity