CareerTrack is a smart mobile application designed to help job seekers organize and track their job applications efficiently. Built with React Native (Expo) and Firebase, it acts as your personal career assistant, ensuring you never lose track of an opportunity.
- 🔐 User Authentication: Secure Sign Up, Login, and Logout functionality using Firebase Auth.
- 📊 Smart Dashboard: Real-time analytics of your progress (Total Applied, Interviews, Offers, Rejections).
- 📝 Job Management: Add, Edit, and Delete job applications easily.
- 📸 Document Storage: Capture and upload photos of business cards or offer letters directly using the camera (Firebase Storage).
- 🔎 Search & Filter: Instantly find applications by company name or filter by status (Applied, Interview, etc.).
- 📧 One-Tap Follow Up: Auto-generates professional follow-up emails to hiring managers.
- 📧Dark Mode: Fully supported Dark and Light themes based on user preference.
- 🔔 Notifications: Ready-to-use setup for local push notifications.
- Framework: React Native (Expo SDK 52)
- Language: TypeScript
- Styling: NativeWind (Tailwind CSS)
- Backend: Firebase (BaaS)
- Authentication
- Cloud Firestore
- Cloud Storage
- Routing: Expo Router (File-based routing)
- Icons: Expo Vector Icons (MaterialIcons)
CareerTrack/
├── app/ # Expo Router Screens
│ ├── (auth)/ # Login & Register screens
│ ├── (dashboard)/ # Main Tab Navigation (Home, Jobs, Profile)
│ └── index.tsx # Entry redirect logic
├── components/ # Reusable UI components (Loaders, etc.)
├── constants/ # Colors, Styles, Theme config
├── context/ # React Context (Auth State)
├── hooks/ # Custom Hooks (useAuth, useJobs, useCamera)
├── services/ # Firebase API & Business Logic
├── utils/ # Helper functions (Date formatting, Email composer)
└── assets/ # Images and Fonts
Follow these instructions to set up the project locally.
- Node.js installed on your computer.
- Expo Go app installed on your physical device (Android/iOS).
git clone [https://github.com/KaveenDK/CareerTrack.git](https://github.com/KaveenDK/CareerTrack.git)
cd CareerTrack
npm install
This project requires a Firebase project.
- Go to the Firebase Console.
- Create a new project.
- Authentication: Enable Email/Password sign-in method.
- Firestore Database: Create a database in Test Mode. Select a location (e.g.,
us-central1). - Storage: Enable Storage in Test Mode.
- Project Settings:
- Go to Project Settings > General.
- Create a "Web App".
- Copy the
firebaseConfigobject.
Open services/firebase.ts and replace the config with your own keys:
// services/firebase.ts
const firebaseConfig = {
apiKey: "YOUR_API_KEY",
authDomain: "YOUR_PROJECT_ID.firebaseapp.com",
projectId: "YOUR_PROJECT_ID",
storageBucket: "YOUR_PROJECT_ID.firebasestorage.app",
messagingSenderId: "YOUR_SENDER_ID",
appId: "YOUR_APP_ID",
};Start the development server:
npx expo start -c
- Scan the QR code with your Android (Expo Go) or iOS (Camera app) device.
- Note: For Camera and Notification features, testing on a Physical Device is recommended over a Simulator.
| Login Screen | Dashboard | Job Details |
|---|---|---|
![]() |
![]() |
![]() |
Dimantha Kaveen
- GitHub: @KaveenDK
- Role: Full Stack Developer
This project is licensed under the MIT License.


