Manifestify is a productivity-focused React application designed to help users manage and track their job applications while staying motivated throughout their job search journey.
Check it out: https://chriskhoa.github.io/Manifestify/
In the final version of our project, we have implemented the following features:
-
✅ Job Form Component
Allows users to add new job opportunities. Each entry is added directly into the job table for tracking. -
✅ Job Table Component
A dynamic and interactive table to monitor job applications. Key features include:- Expandable rows to view more information
- Searching and filtering by status or keyword
- Inline editing to update job information quickly
-
✅ Streak Counter Component
Tracks the total number of job applications submitted. Includes a motivational message and a celebratory emoji to keep users engaged. -
✅ Motivation Generator Component
Displays a new motivational message each time the user clicks the button, providing positivity and encouragement. -
✅ Daily Goal-Setting Component
Allows users to set daily job application goals and track progress visually. -
✅ Local Storage Integration
Saves the user’s progress locally to prevent data loss during sessions.
While we are proud of our progress, there were a few features we did not complete:
-
❌ Tracking how many days users meet their daily goals.
-
❌ Adding animated feedback (e.g., clapping emoji) when a job status changes.
-
❌ Displaying contextual motivational messages based on job status (e.g., messages tailored to “rejected” status).
-
❌ No reset filter function in Job Table.
-
❌ Handling some edge cases for the daily goals tracking (e.g., when job status changes backward to not submitted).
-
Merge Conflicts
Collaboratively merging our individually developed components was a major learning point. Handling merge conflicts—especially during integration—was a tough but valuable experience. -
Table Usability
We spent considerable time refining the usability of the job table. This involved ensuring that the column layout and information hierarchy made sense to a typical user.
To enhance and scale up Manifesitfy, we plan to:
-
🔐 Implement Backend with User Authentication
Migrate data from local storage to a secure backend system to persist user data reliably across devices and sessions. -
🛠 Customizable Tracking Fields
Allow users to personalize the job form and table, choosing which fields they want to display or track. -
🗂 Multi-Table Support
Introduce multiple tabs or dashboards, enabling users to manage multiple job tables at once.
-
Frontend: React, JavaScripts, CSS, Ant Design
-
State Management: React hooks
-
Storage: Local Storage API
- Big thanks to the SI579 instructor team for giving us a lot of support and feedback along the way.
- Ant Design provided many great component templates that are essential to our app.
- ChatGPT helped us write the JSDOC for our code and format our README document.