After graduating college I was quite excited to go back to coding, this time not only to learn new things but to also build my portfolio and eventually land a job, and the first idea that popped in my mind was to build a job application tracker.
This project showcases the implementation of key web development concepts, including authentication, CRUD operations, debouncing, optimistic updates, and the implementation of a modern, polished user interface.
Features (so far):
- Authentication (Oauth & Email/Password) and route protection
- Job and Interview sections displayed in kanban boards and in table form
- A WYSIWYG editor implemented to add notes to each job application or interview
- Light/Dark theme switching
Usage:
- WIP
Tech Stack:
- Nextjs
- Shadcn for components
- React-query for server state and React-pacer for debouncing
- Supabase for auth and DB management
- Tailwindcss for styles
What I learned building this project:
- How proxies and reverse proxies work
- The concept behind Throttling, Queuing, Batching and Rate Limiting
- How to implement debouncing with optimistic updates for better UX
- Using a BaaS (Supabase) with Nextjs
- How to use middleware for route protection
- How and when to choose between hosting providers based on factors like runtime, performance, server location and uptime