Analysis updated 2026-07-25
Track job applications through stages from applied to offer or rejection.
Automatically schedule and cancel follow-up reminders based on application status.
View conversion rate analytics by company, status, and resume version.
Learn how to build and deploy a distributed system with monitoring dashboards.
| vishal-kesharwani/job-application-tracker | abhishek-kumar09/practice-questions | davorpa/musical-surveyor-springboot-api | |
|---|---|---|---|
| Stars | 2 | 2 | 2 |
| Language | Java | Java | Java |
| Last pushed | — | 2021-07-25 | 2023-09-25 |
| Maintenance | — | Dormant | Dormant |
| Setup difficulty | hard | easy | moderate |
| Complexity | 5/5 | 1/5 | 3/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires running a local Kubernetes cluster with Kafka, PostgreSQL, Redis, and a full observability stack, which demands significant infrastructure knowledge.
This repository is a job application tracker built as a distributed system rather than a simple single-database app. It helps you record and manage job applications through a lifecycle of seven stages: Applied, Online Assessment, Interview, Offer, Rejected, and Withdrawn. Beyond basic tracking, it schedules automatic reminders for follow-ups, interview prep, and offer deadlines, and it cancels those reminders on its own when an application closes. It also provides a live analytics dashboard showing conversion rates broken down by company, status, and resume version. The architecture uses three independent services that never call each other directly. Instead, they communicate through Kafka, a messaging system. When you create or update an application, the main service writes to a PostgreSQL database and publishes an event. Two other services react to that event on their own: one schedules reminders, the other builds an analytics view stored in Redis. The README emphasizes that the first service is the sole source of truth, and the other services can rebuild their data at any time by replaying those events. The project also includes observability tooling: metrics, logs, and distributed traces across all three services, viewable in Grafana dashboards. The frontend is built with React. The backend services use Java 21 and Spring Boot. On the deployment side, the README is unusually honest about what was actually run versus what was only configured. The full stack was deployed to a local Kubernetes cluster using Kind, with all pods running and the observability stack live alongside the app. ArgoCD was used for GitOps delivery, and GitHub Actions handled CI and CD. However, the AWS EKS provisioning via Terraform was validated only at the configuration level, nothing was actually created in AWS due to missing credentials. The README documents nine distinct bugs encountered during Kubernetes deployment, with detailed fixes for each. The full README is longer than what was shown.
A job application tracker that uses three separate backend services to manage applications, schedule reminders, and show live analytics charts. It is built as a distributed system with monitoring dashboards.
Mainly Java. The stack also includes Java 21, Spring Boot, React.
Setup difficulty is rated hard, with roughly 1day+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.