A modern, self-hosted applicant tracking system (ATS) built for job seekers.
Track applications, interviews, recruiters, follow-ups and documents from a single dashboard.
Joblio is an open-source, self-hosted Applicant Tracking System designed to help developers and professionals organize their job search.
Instead of relying on spreadsheets, Joblio provides a clean dashboard to manage:
- 📄 Applications
- 🏢 Companies
- 👤 Recruiter contacts
- 📅 Interviews
- 🏷️ Tags
- 📊 Statistics
- 📝 Activity timeline
Everything stays under your control.
- Statistics
- Follow-up reminders
- Recent activity timeline
- Application overview
- Create, edit and archive applications
- Track application status
- Salary expectations
- Priority management
- Favorite applications
- Notes & tags
- Activity history
- Company directory
- Sector, size, location tracking
- Website & LinkedIn
- Company notes
- Recruiters
- Hiring managers
- Technical interviewers
- Contact history
- Schedule interviews
- Multiple interview rounds
- Notes & results
- Status tracking
- Full-text search across all entities
- Status
- Company
- Source
- Priority
- Tags
- Date
| Category | Technology |
|---|---|
| Framework | Astro 5 |
| UI | React |
| Styling | Tailwind CSS v4 |
| Components | shadcn/ui |
| Database | PostgreSQL |
| ORM | Drizzle ORM |
| Validation | Zod |
| Tables | TanStack Table |
| Data Fetching | TanStack Query |
| Icons | Lucide |
| Formatter / Linter | Biome |
src
├── components
│ └── ui
├── db
│ ├── client.ts
│ ├── relations.ts
│ ├── schema
│ └── migrations
├── features
│ ├── applications
│ ├── companies
│ ├── contacts
│ ├── interviews
│ ├── dashboard
│ └── settings
├── hooks
├── layouts
├── lib
├── pages
├── styles
└── types
Main entities:
- Applications
- Companies
- Contacts
- Interviews
- Tags
- Activities
npm installCreate a .env file.
DATABASE_URL=postgres://user:password@localhost:5432/joblionpm run db:generatenpm run db:migratenpm run dev- Docker ou Podman
- Docker Compose (inclus avec Docker Desktop)
# 1. Cloner le dépôt
git clone https://github.com/votre-utilisateur/joblio.git
cd joblio
# 2. Lancer l'application
docker compose up -dL'application est accessible sur http://localhost:4321.
Le premier lancement :
- Ouvrir
http://localhost:4321 - Créer le compte administrateur (formulaire de setup)
- Commencer à utiliser Joblio
Les variables d'environnement peuvent être modifiées dans docker-compose.yml :
| Variable | Défaut | Description |
|---|---|---|
DATABASE_URL |
postgres://joblio:joblio@postgres:5432/joblio |
Connexion PostgreSQL |
UPLOADS_DIR |
/app/dist/client/uploads |
Répertoire des fichiers uploadés |
PORT |
4321 |
Port de l'application |
Les données sont stockées dans des volumes Docker :
postgres_data— base de donnéesuploads— fichiers uploadés (CV, lettres, etc.)
# Sauvegarder la base de données
docker compose exec postgres pg_dump -U joblio joblio > backup.sql
# Restaurer
cat backup.sql | docker compose exec -T postgres psql -U joblio jobliogit pull
docker compose up -d --build- Dashboard
- Applications CRUD
- Companies
- Contacts
- Interviews
- Search
- Filters
- Documents
- Authentication
- Calendar
- Notifications
- Email integration
- Import job offers
- AI-powered resume analysis
- Browser extension
- Mobile support
Contributions are welcome!
If you'd like to improve Joblio:
- Fork the repository
- Create a feature branch
- Commit your changes
- Open a Pull Request
Please follow the project's coding conventions and keep pull requests focused.
This project will be released under the MIT License.
Joblio is inspired by modern developer tools and productivity applications such as:
- Linear
- GitHub
- Notion
- Vercel
while remaining fully open source and self-hosted.
Made with ❤️ using Astro & PostgreSQL