UniMate is an intelligent orchestration platform designed to streamline the complex process of applying to German universities. By leveraging Large Language Models (LLMs) and stateful agentic workflows, UniMate analyzes academic documents, provides gap analysis, and ensures requirements are met before students submit to platforms like uni-assist.
The path to studying in Germany is often blocked by administrative hurdles and strict document requirements. UniMate aims to reduce rejection rates by providing students with an "AI Admission Officer" that pre-screens transcripts, calculates approximate GPAs, and identifies missing credits before they become a problem.
- Precision Extraction: High-fidelity parsing of academic transcripts using Gemini 1.5/3.
- Intelligent Feedback: Actionable advice on missing ECTS or specific course prerequisites.
- Security by Design: Strict GDPR compliance with data stored in EU-central regions.
- Agentic Reliability: Utilizing a stateful AI Agent to handle complex, multi-step application logic.
- Frontend: Next.js (App Router), TypeScript, Tailwind CSS, shadcn/ui.
- Backend/Database: Supabase (Auth, PostgreSQL, Row Level Security).
- AI Orchestration: LangGraph.js (Stateful Agents), LangChain.
- LLM: Google Gemini (Structured JSON Output).
- Deployment: Vercel.
- End-to-end PDF/Text processing pipeline with Gemini.
- TypeScript-based frontend for real-time response visualization.
- Initial Supabase schema integration for data persistence.
- LangGraph Integration: Implementing a stateful graph to handle "loops" (e.g., if a document is blurry, the agent requests a re-upload).
- Structured Data Validation: Transitioning to strict JSON schemas and Zod validation for 100% type-safety.
- Requirement Mapping: Database of specific German University ECTS requirements.
- Supabase Auth: Secure user accounts and personalized application dashboards.
- Progress Stepper UI: A visual guide for students to track their "Admission Readiness."
- Lead Generation: Integrated email collection for project updates and waitlisting.
- Stripe Integration: Implementing a seamless payment flow for "Premium Analysis."
- Multi-Document Support: Handling complex portfolios including CVs and Letters of Motivation.
UniMate moves beyond linear processing by using a graph-based approach:
- Ingestion: User uploads academic records.
- Extraction (Node): Gemini parses the data into structured JSON.
- Validation (Node): The system checks for "Admission Gaps" (e.g., missing math credits).
- Correction (Cycle): If data is ambiguous, the Agent prompts the user for clarification.
- Commit: Verified data is stored securely in Supabase.
Given the sensitive nature of academic data, UniMate is built with privacy as a priority:
- Data Residency: Hosted on Supabase (eu-central-1 / Frankfurt) to keep data within Germany/EU.
- Isolation: Row Level Security (RLS) ensures that only the authorized user can view their documents.
- Minimalism: We only process data required for admission assessment.
- Clone the repository:
git clone [https://github.com/your-username/unimate.git](https://github.com/your-username/unimate.git)