Skip to content

gordon-song/ktpproject

Repository files navigation

College Application Tracker

A comprehensive web application designed to help high school seniors manage their college application process with AI-powered deadline tracking and intelligent task management.

Overview

College Application Tracker streamlines the overwhelming process of applying to multiple universities by:

  • Automatically extracting application deadlines from university websites using AI
  • Providing a visual timeline of all important dates
  • Generating personalized to-do lists based on your application timeline
  • Tracking your progress across multiple applications
  • Exporting deadline data to spreadsheets for offline planning

Key Features

πŸ€– AI-Powered Deadline Extraction

  • Intelligent web scraping of university admissions pages
  • Claude API integration for accurate deadline detection
  • Automatic extraction of Early Decision, Early Action, Regular Decision dates
  • Periodic re-scraping to catch deadline changes

πŸ“… Interactive Timeline

  • Visual calendar view of all application deadlines
  • Color-coded by deadline type and urgency
  • Customizable personal milestones (essay drafts, recommendation requests, etc.)

βœ… Smart To-Do Lists

  • Auto-generated tasks based on selected colleges
  • AI-suggested preparation timeline (recommend letter requests, essay drafts, etc.)
  • Priority sorting and completion tracking

πŸ“Š Data Export

  • Export all deadlines to Excel/CSV spreadsheets
  • Generate PDF reports of your application timeline
  • Share deadline lists with counselors and parents

πŸŽ“ University Management

  • Search and add universities to your list
  • Track application status (Not Started, In Progress, Submitted)
  • Store portal links and important notes

Tech Stack

Frontend

  • Next.js 14+ (App Router) - React framework with server components
  • TypeScript - Type safety and better DX
  • Tailwind CSS - Utility-first CSS framework
  • shadcn/ui - High-quality React component library
  • React Query - Server state management
  • FullCalendar - Interactive calendar component
  • Zustand - Lightweight state management

Backend

  • Next.js API Routes - Serverless API endpoints
  • PostgreSQL - Relational database for structured data
  • Prisma ORM - Type-safe database client
  • NextAuth.js - Authentication solution

AI & Scraping

  • Anthropic Claude API - Intelligent content extraction and analysis
  • Puppeteer - Headless browser for dynamic website scraping
  • Cheerio - Fast HTML parsing for static sites
  • Custom AI Pipeline - Deadline extraction and validation

Data Processing

  • xlsx - Excel file generation
  • Papa Parse - CSV parsing and generation
  • date-fns - Date manipulation and formatting

Deployment

  • Vercel - Frontend and API hosting
  • Neon/Supabase - Managed PostgreSQL
  • Vercel Cron Jobs - Scheduled deadline updates

Project Structure

ktpproject/
β”œβ”€β”€ app/                      # Next.js App Router
β”‚   β”œβ”€β”€ (auth)/              # Authentication pages
β”‚   β”‚   β”œβ”€β”€ login/
β”‚   β”‚   └── signup/
β”‚   β”œβ”€β”€ (dashboard)/         # Protected dashboard routes
β”‚   β”‚   β”œβ”€β”€ timeline/        # Timeline view
β”‚   β”‚   β”œβ”€β”€ colleges/        # College management
β”‚   β”‚   β”œβ”€β”€ tasks/           # To-do list
β”‚   β”‚   └── settings/
β”‚   β”œβ”€β”€ api/                 # API routes
β”‚   β”‚   β”œβ”€β”€ auth/            # NextAuth endpoints
β”‚   β”‚   β”œβ”€β”€ scrape/          # AI scraping endpoints
β”‚   β”‚   β”œβ”€β”€ deadlines/       # Deadline CRUD
β”‚   β”‚   β”œβ”€β”€ export/          # Spreadsheet generation
β”‚   β”‚   └── colleges/        # College search & management
β”‚   β”œβ”€β”€ layout.tsx
β”‚   └── page.tsx             # Landing page
β”œβ”€β”€ components/              # React components
β”‚   β”œβ”€β”€ ui/                  # shadcn/ui components
β”‚   β”œβ”€β”€ timeline/            # Timeline components
β”‚   β”œβ”€β”€ colleges/            # College-related components
β”‚   └── tasks/               # Task management components
β”œβ”€β”€ lib/                     # Utilities and core logic
β”‚   β”œβ”€β”€ ai/                  # AI integration
β”‚   β”‚   β”œβ”€β”€ claude.ts        # Claude API client
β”‚   β”‚   β”œβ”€β”€ scraper.ts       # Web scraping logic
β”‚   β”‚   └── extractor.ts     # Deadline extraction
β”‚   β”œβ”€β”€ db/                  # Database utilities
β”‚   β”‚   └── prisma.ts        # Prisma client
β”‚   β”œβ”€β”€ export/              # Export utilities
β”‚   β”‚   β”œβ”€β”€ excel.ts
β”‚   β”‚   └── csv.ts
β”‚   └── utils.ts             # General utilities
β”œβ”€β”€ prisma/
β”‚   β”œβ”€β”€ schema.prisma        # Database schema
β”‚   └── migrations/
β”œβ”€β”€ public/                  # Static assets
β”œβ”€β”€ docs/                    # Additional documentation
β”‚   β”œβ”€β”€ architecture.md
β”‚   └── tech-stack.md
β”œβ”€β”€ .env.example
β”œβ”€β”€ .gitignore
β”œβ”€β”€ next.config.js
β”œβ”€β”€ tailwind.config.ts
β”œβ”€β”€ tsconfig.json
└── package.json

Getting Started

Prerequisites

  • Node.js 18+ and npm/yarn/pnpm
  • PostgreSQL database (local or cloud)
  • Anthropic API key

Installation

  1. Clone the repository:
git clone <repository-url>
cd ktpproject
  1. Install dependencies:
npm install
  1. Set up environment variables:
cp .env.example .env

Edit .env and add your credentials:

DATABASE_URL="postgresql://..."
ANTHROPIC_API_KEY="sk-ant-..."
NEXTAUTH_SECRET="your-secret-here"
NEXTAUTH_URL="http://localhost:3000"
  1. Set up the database:
npx prisma generate
npx prisma db push
  1. Run the development server:
npm run dev
  1. Open http://localhost:3000 in your browser.

Optional: Seed Database

Populate with sample universities:

npm run seed

How It Works

AI Deadline Scraping Pipeline

  1. User adds university - Student searches and adds a college to their list
  2. Scraping triggered - System identifies the admissions/deadlines page URL
  3. AI extraction - Claude analyzes the page content and extracts:
    • Early Decision I & II dates
    • Early Action dates
    • Regular Decision deadlines
    • Rolling admission info
    • Financial aid deadlines
  4. Data validation - Extracted dates are validated and structured
  5. Database storage - Deadlines saved with source URL and timestamp
  6. Periodic updates - Cron job re-scrapes to catch changes

Spreadsheet Generation

Users can export their personalized timeline to Excel/CSV:

  • All deadlines sorted by date
  • Columns: University, Deadline Type, Date, Days Until, Status, Notes
  • Color-coded by urgency
  • Filterable and sortable

Development Roadmap

Phase 1: Core Features (MVP)

  • User authentication
  • College search and management
  • Basic deadline display
  • AI scraping for top 50 universities
  • Simple to-do list

Phase 2: Enhanced UX

  • Interactive timeline calendar
  • Spreadsheet export
  • Email reminders
  • Mobile-responsive design

Phase 3: AI Enhancements

  • AI-generated task recommendations
  • Essay prompt extraction
  • Requirements checklist generation
  • Conversational AI assistant

Phase 4: Advanced Features

  • Counselor collaboration features
  • Application essay storage
  • Recommendation tracking
  • Financial aid deadline tracking

Contributing

This is a project for helping high school students. Contributions welcome!

License

MIT License

Support

For questions or issues, please open a GitHub issue.


Built with ❀️ to help students navigate the college application process.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages