Automated tool for analyzing .NET job vacancies from DOU.ua with AI-powered matching and response tracking.
- AI-powered categorization (Backend, Frontend, Fullstack, Desktop, QA)
- Experience level detection (Junior, Middle, Senior)
- English level analysis (from job descriptions)
- Technology stack detection (modern vs outdated)
- Smart matching against your criteria
- Match percentage calculation
- Technology trends analysis
- Experience level distribution charts
- Vacancy count history with timeline graphs
- Active vs inactive vacancy tracking
- Track applications with database storage
- Filter by response status (All, Responded, Not Responded)
- Visual indicators for responded vacancies
- Real-time status updates without caching
- Vacancy count trends over time
- Automatic deactivation of removed vacancies
- New vacancy detection between runs
- Timeline visualization of job market changes
- Parallel processing for faster analysis
- Rate limiting to avoid API blocks
- Progress tracking with real-time updates
- Optimized database queries with indexes
- Configure OpenAI API in
appsettings.json - Run migrations:
dotnet ef database update - Start application:
dotnet run - Visit:
http://localhost:5000
- Test Analysis - Analyze 5 random vacancies
- Full Analysis - Complete job market scan
- Fast Analysis - Parallel processing mode
- View all vacancies or filter by response status
- Only active vacancies shown (removed ones hidden)
- Real-time filtering without page refresh
- Experience level distribution (pie chart)
- Technology trends analysis
- Vacancy count history (line chart)
- Match rate statistics
- Backend: ASP.NET Core 8, Entity Framework, SQLite
- AI: OpenAI GPT-4 for intelligent analysis
- Frontend: JavaScript, Chart.js, Bootstrap 5
- Real-time: SignalR for progress updates
- Vacancies - Job postings with analysis results
- VacancyResponses - Application tracking
- VacancyCountHistory - Historical statistics
POST /Home/StartAnalysis- Run full analysisGET /Home/GetVacancyResponses- Get response statusPOST /Home/ToggleVacancyResponse- Update response statusGET /Home/GetVacancyCountHistory- Historical data
{
"OpenAI": {
"ApiKey": "your-openai-api-key",
"Model": "gpt-4"
}
}