IdentiTea
Overview
๐ IdentiTea: Reviewer & Submission Notes
Welcome to IdentiTea! Thank you for reviewing our submission. This document contains essential notes to help you evaluate the platform, understand its core architecture, and test its features.
๐ฏ What is IdentiTea?
IdentiTea is an interactive, brutalist AI platform that ingests your scattered professional data (resumes, certificates, code repositories) and transforms them into a mathematically verifiable Professional Knowledge Graph.
We built this to solve the problem of "unverifiable claims" on resumes. Instead of trusting a piece of paper, IdentiTea cryptographically extracts skills and draws edges directly to the source documents that prove them.
๐ Highlights for Reviewers
1. End-to-End AI Ingestion Pipeline (No Mock Data!)
We do not use fake data. If you create a new account, your graph is completely empty. Try uploading a PDF Resume or Certificate on the Documents page!
- The backend parses the PDF using PyMuPDF.
- It passes the raw text to Gemini 1.5 Flash for highly structured JSON entity extraction.
- It securely saves the physical file to a Supabase Storage Bucket.
- It creates relational rows in Supabase Postgres (for fast tabular querying).
- It injects the skills and technologies as nodes into a Neo4j Knowledge Graph, linking them to the source document with confidence scores.
2. The Living Graph
Navigate to the Knowledge Graph tab to explore a fully interactive, force-directed graph of your professional identity. Watch nodes pulse and drag them around. This is powered by real Neo4j cypher queries hitting the backend.
3. Strict Brutalist Design Architecture
The UI/UX is built on a strict, 2-color rule:
- Canvas (Background):
#f8f9fa - Ink (Foreground):
#0f0b0a - We rely on harsh geometric borders, solid 4px lines, and aggressive drop-shadows.
- Dark Mode: Notice how the entire UI perfectly inverts. Even our SVG logo and the D3.js Knowledge Graph nodes dynamically invert their colors without introducing any tertiary shades.
๐ ๏ธ Technology Stack
- Frontend: Next.js 15, React 19, Tailwind CSS (Vanilla CSS for strict brutalism), Framer Motion, Firebase Auth.
- Backend: Python FastAPI, Uvicorn, Google Generative AI (Gemini), PyMuPDF.
- Databases:
- Supabase (PostgreSQL): For relational entities, user settings, timelines, and blob storage.
- Neo4j (AuraDB): For the highly connected, multi-hop Knowledge Graph relationships.
๐ How to Test (Live Demo)
We have deployed the application so you don't have to build it locally!
- Frontend (Vercel): https://identitea.vercel.app
- Backend (Render):
https://identitea-backend.onrender.com
Testing Steps:
- Sign in via Google or GitHub (Firebase Auth).
- Go to Settings and set up your profile and GitHub URL.
- Go to the Documents tab and upload a PDF resume or a PDF certificate.
- Watch the AI extract the skills in real-time.
- Go to the Knowledge Graph to see your newly verified skills visually mapped out.
- Check the Certificates / Projects tabs to see the tabular breakdown of your extracted data.
Note: If Render has spun down due to inactivity, the first document upload might take an extra 30-40 seconds while the backend wakes up!
๐งโ๐ป Running Locally
If you prefer to run the judges' evaluation locally:
- Clone the repository.
- In the
frontendfolder, add a.env.localwith your Firebase config andNEXT_PUBLIC_API_URL=http://localhost:8000/api. - In the
backendfolder, add a.env.developmentwith yourGEMINI_API_KEY,SUPABASE_URL,SUPABASE_SERVICE_ROLE_KEY, andNEO4J_URI/USERNAME/PASSWORD. - Start the frontend:
npm run dev - Start the backend:
pip install -r requirements.txtfollowed byuvicorn main:app --reload - Important: Execute
supabase_schema.sqlin your Supabase SQL editor to create the required tables.
Thank you for exploring IdentiTea! Escape the folders, enter the graph.