Planning the Final Student Experience for My Placement Portal MVP
As I continue building my Placement Portal, the student workflow is gradually coming together.
The core functionality—authentication, protected dashboards, job listings, and job applications—is already in place.
That leaves just five major features before the student side of the MVP is complete.
Rather than implementing them randomly, I decided to define the complete roadmap first.
1. Application Listing
The first remaining feature is an application listing page.
Instead of revisiting every job posting, students should have a dedicated place to monitor all of their applications.
For quick scanning, each application will display:
- Job Title
- Company Name
- Current Application Status
- Applied Date
This provides the essential information without overwhelming the user.
2. Application Details
Selecting an application should open a dedicated details page.
Rather than creating a completely different interface, this page will reuse the job information while adding application-specific details, including:
- Application Status
- Applied Date
- Complete Job Description
For this MVP, I intentionally decided not to expose the full company profile.
Since the portal is designed for a single college, students generally already know the recruiting organizations, making detailed company pages unnecessary for the initial release.
3. Resume Management
The feature requiring the most design consideration is resume management.
A resume isn't just another database record—it's a file that consumes server storage.
Because of this, several design decisions become important.
Every uploaded resume should store:
- File location
- Upload timestamp
- Student ownership
It should also be linked to job applications so the system knows exactly which resume was submitted for each application.
Storage Strategy
To keep storage predictable, I plan to encourage students to upload simple, text-based resumes instead of heavily designed templates.
My initial target is a maximum file size of 200 KB per resume.
I also plan to enforce a configurable upload limit.
For example:
- Maximum resumes per student: 10
- Maximum storage per student: 2 MB
By defining these limits in the application settings, the storage policy can be adjusted without modifying business logic.
Reusing Existing Resumes
Another usability improvement is allowing students to reuse previously uploaded resumes.
Instead of uploading the same file every time they apply for a job, they will be able to:
- Upload a new resume, or
- Select one from their existing resume library
This approach reduces upload time, improves the user experience, and avoids unnecessary duplicate files.
Keeping Storage Clean
Deleting a resume should remove it completely.
That means deleting:
- The database record
- The physical file stored on the server
Keeping both in sync prevents orphaned files from consuming storage over time.
4. Search and Filters
As job postings increase, searching manually becomes inefficient.
The MVP will include filtering for both job listings and application listings.
Initially, students will be able to filter by:
- Company
- Application Status
- Job Location
- Salary
These filters should make it much easier to find relevant opportunities.
5. Student Profile
The final student-side feature is profile management.
Students will be able to update information such as:
- Name
- Password
- Academic Details
This ensures users can keep their information current without requiring administrator intervention.
Looking Ahead
With these five features completed, the student experience for the MVP will be largely complete.
The workflow will allow students to:
- Log in securely.
- Browse eligible jobs.
- Apply with a selected resume.
- Track application progress.
- Manage their profile and documents.
At that point, my focus will shift toward enhancing the recruiter and administrator experience.
Final Thoughts
One thing I've learned while building this Placement Portal is that planning features is just as important as implementing them.
Defining the user journey before writing code helps uncover design decisions around storage, usability, scalability, and maintainability long before they become technical problems.
I'm documenting every product and engineering decision while building this Placement Portal in public.