A comprehensive web application designed to help high school seniors manage their college application process with AI-powered deadline tracking and intelligent task management.
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
- 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
- Visual calendar view of all application deadlines
- Color-coded by deadline type and urgency
- Customizable personal milestones (essay drafts, recommendation requests, etc.)
- Auto-generated tasks based on selected colleges
- AI-suggested preparation timeline (recommend letter requests, essay drafts, etc.)
- Priority sorting and completion tracking
- Export all deadlines to Excel/CSV spreadsheets
- Generate PDF reports of your application timeline
- Share deadline lists with counselors and parents
- Search and add universities to your list
- Track application status (Not Started, In Progress, Submitted)
- Store portal links and important notes
- 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
- Next.js API Routes - Serverless API endpoints
- PostgreSQL - Relational database for structured data
- Prisma ORM - Type-safe database client
- NextAuth.js - Authentication solution
- 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
- xlsx - Excel file generation
- Papa Parse - CSV parsing and generation
- date-fns - Date manipulation and formatting
- Vercel - Frontend and API hosting
- Neon/Supabase - Managed PostgreSQL
- Vercel Cron Jobs - Scheduled deadline updates
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
- Node.js 18+ and npm/yarn/pnpm
- PostgreSQL database (local or cloud)
- Anthropic API key
- Clone the repository:
git clone <repository-url>
cd ktpproject- Install dependencies:
npm install- Set up environment variables:
cp .env.example .envEdit .env and add your credentials:
DATABASE_URL="postgresql://..."
ANTHROPIC_API_KEY="sk-ant-..."
NEXTAUTH_SECRET="your-secret-here"
NEXTAUTH_URL="http://localhost:3000"- Set up the database:
npx prisma generate
npx prisma db push- Run the development server:
npm run dev- Open http://localhost:3000 in your browser.
Populate with sample universities:
npm run seed- User adds university - Student searches and adds a college to their list
- Scraping triggered - System identifies the admissions/deadlines page URL
- 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
- Data validation - Extracted dates are validated and structured
- Database storage - Deadlines saved with source URL and timestamp
- Periodic updates - Cron job re-scrapes to catch changes
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
- User authentication
- College search and management
- Basic deadline display
- AI scraping for top 50 universities
- Simple to-do list
- Interactive timeline calendar
- Spreadsheet export
- Email reminders
- Mobile-responsive design
- AI-generated task recommendations
- Essay prompt extraction
- Requirements checklist generation
- Conversational AI assistant
- Counselor collaboration features
- Application essay storage
- Recommendation tracking
- Financial aid deadline tracking
This is a project for helping high school students. Contributions welcome!
MIT License
For questions or issues, please open a GitHub issue.
Built with β€οΈ to help students navigate the college application process.