HireLog is a lightweight, cross-platform desktop app to track job applications, visualize application stats, and stay on top of your job hunt — all from your own device with no cloud sync or external dependencies.
| Applications Page | Add Application | Analytics Dashboard |
|---|---|---|
![]() |
![]() |
![]() |
- Features
- Installation
- Usage
- Tech Stack
- Folder Structure
- Development
- Export Support
- App Icon & Branding
- About
- 💼 Add and manage job applications locally
- 📊 Track application stats (daily/weekly/monthly)
- 📂 Export applications as
.csvor.json - 🔍 Filter, search, and sort applications easily
- 🧠 Get insights through charts and visualizations
- ⚡ Fast, secure, and lightweight — built with Electron + SQLite
- ☁️ No internet required – your data stays with you
- Download the
.dmgfile from Releases - Open and drag HireLog to your Applications folder
- Run the app (you may need to allow it in Gatekeeper settings)
💡 No setup or sign-in required. The app works fully offline.
If you're unable to open the app due to macOS security settings:
- Open Terminal
- Type the following command (but don’t press Enter yet):
xattr -cr
- Open your Applications folder and drag HireLog.app into Terminal
It should look like:
xattr -cr /Applications/HireLog.app
- Press Enter and launch the app again
- Click "Add Application" to start logging a new job
- Use the "Applications" tab to search, filter, update, or delete entries
- Navigate to "Analytics" to explore application trends and stats
- Use the "Export" button to download your data as CSV/JSON
- ⚙️ Electron Forge – Desktop app framework
- ⚛️ React + TypeScript – Frontend logic and UI
- 💨 Tailwind CSS – Styling with utility classes
- 📦 better-sqlite3 – Local database
- 📈 Recharts – Charts and analytics
├── assets/ # App-level static assets (if any)
├── node_modules/ # Node dependencies
├── screenshots/ # App UI screenshots for README
├── scripts/ # Utility scripts (e.g., clean-db.js)
├── src/ # Source code
│ ├── components/ # Reusable UI components (Form, Layout, Nav, etc.)
│ ├── hooks/ # Custom React hooks (e.g., useJobApplications)
│ ├── pages/ # Main app views (Applications, Add, Analytics)
│ ├── types/ # TypeScript interfaces and types
│ ├── utils/ # Utility functions (date, filter, stats)
│ ├── App.tsx # Root React component
│ ├── global.d.ts # Global type declarations
│ ├── index.css # Tailwind global styles
│ ├── index.html # Root HTML file for Vite
│ └── main.tsx # React app entry point
├── main.ts # Electron main process entry
├── preload.ts # Electron preload script for IPC
├── README.md # Project documentation
├── vite.main.config.ts # Vite config for Electron main process
├── vite.preload.config.ts # Vite config for preload script
├── vite.renderer.config.ts # Vite config for frontend renderer
├── tsconfig.json # TypeScript compiler config
├── tsconfig.app.json # TypeScript config for renderer
├── tsconfig.node.json # TypeScript config for main/preload
├── tailwind.config.js # Tailwind CSS configuration
├── package.json # Project metadata and scripts
├── package-lock.json # NPM dependency lock file
├── eslint.config.js # ESLint configuration
├── postcss.config.cjs # PostCSS configuration
├── config.json



