Work

GradAid

AI
Full-Stack
TypeScript
React

AI-powered platform that helps international students draft, tailor, and manage graduate application documents using a full‑stack TypeScript stack (React + Convex) with Clerk auth and OpenAI.

A bright pink sheet of paper used to wrap flowers curves in front of rich blue background

GradAid is an AI-driven web app that helps international students plan, draft, and manage U.S. graduate school applications. It generates tailored Statements of Purpose and Letters of Recommendation from a user’s profile and the target program’s requirements — delivering professional drafts that users can refine, version, and export at any time. Unlike traditional educational consultancies, GradAid is always available and low-cost.

Highlights

End-to-end application workflow: onboarding, program search and save, document drafting, and application tracking on a single website.
AI document generation: program-specific, profile-aware SOP/LOR creation with custom prompts using OpenAI.
Secure account system: Clerk authentication (email/OAuth), session management, RBAC checks, and account deletion.
Real-time data layer: Convex database with type-safe server functions and reactive hooks.
Mobile-first UX: responsive UI built with Tailwind and shadcn/ui, designed to accommodate screens of all sizes.
AI usage management: AI credit tracking to prevent abuse, usage history for transparency.

My role

I owned backend architecture, authentication, security, program search, AI usage management, support pages (FAQ, contact, feedback), Convex schema and server refactors, and data ingestion/cleaning for university/program datasets. I collaborated on UI/UX and code reviews. Teammate Yue Zhang led much of the frontend and OpenAI integration; we shared full‑stack ownership across features.

What users can do

  • Create a profile via a progressive, validated onboarding flow; data persists across sessions.
  • Search and shortlist graduate programs, then start applications from saved programs.
  • Generate application documents tailored to their background and each program’s requirements; regenerate variants and edit documents inline.
  • Track application deadlines and progress with dashboard views and simple kanban/checklist flows.
  • Review activity history, manage AI credits, and contact support.

Architecture

Frontend: React + Vite, shadcn/ui, Tailwind, deployed on Netlify.
Backend: Convex for database and serverless functions.
AuthN/AuthZ: Clerk with JWT-based runtime checks and role-based access.
AI: OpenAI API actions for document generation using profile + program context.
Integration: Resend for email; Svix for Clerk webhooks.
Validation & security: Zod schemas, input sanitization, per-user data access controls, HTTPS, and data encryption in transit/at rest via providers.
Testing: Vitest for fast unit tests.

Notable features shipped

  • Graduate program search and save with clean data from web-scraped sources.
  • Document editor with AI generation and manual editing.
  • Dashboard with applications, timelines, AI credit summary, and activity log.
  • Support surfaces: FAQ, contact form (email via Resend), feedback form.

Website: https://gradaid.online
Graduate Program Search: https://gradaid.online/search
Manage Application Documents: https://gradaid.online/documents
Application Timeline Tracker: https://gradaid.online/timeline
Student Profile: https://gradaid.online/profile
FAQ: https://gradaid.online/faq

Outcomes and learnings

  • Delivered an MVP in six sprints by adopting shared full‑stack feature ownership and a TypeScript‑everywhere stack.
  • Responsive UI earned positive user feedback for clarity and ease of navigation.
  • Strong security posture through layered auth, validation, and access controls.
  • Areas for improvement: richer document formatting/exports, additional accessibility features, improved timeline control, and automated university shortlisting.