Jobja
Career dashboard (잡자) for job seekers: job search and saved jobs, application tracking, and a Prepare hub with skills-gap analysis, resume optimization, PDF preview, AI cover-letter and interview prep. Next.js + Supabase auth and data; optional Onewave FastAPI backend for resume analysis and coffee-chat.
My Role
UI/UX & Fullstack
Core Stack
Next.js 16, React 19, Supabase, Radix UI, Tailwind 4, Onewave API
Timeline
2026.02
Live Project
—
The Challenge
The core problem
Job seekers scatter activity across job boards, spreadsheets, and docs. Searching, saving, tracking applications, and preparing (resume, cover letter, interview) live in different places with no single view.
Product vision
One Korean-focused career app: search and save jobs, track applications, and prepare with resume optimization, AI cover letters, and interview prep—all in a single dashboard.
What I owned
Full-stack build: Supabase (auth, profiles, saved jobs, applications), collapsible dashboard (Jobs, Prepare, Track, Profile). Prepare includes skills-gap analysis, resume optimization, PDF preview (@react-pdf/renderer), cover-letter generation, and AI interview prep. Optional Onewave backend integration for resume analysis and coffee-chat; Linkareer for job feeds.
Results
Single place to search, save, track, and prepare. Persisted profiles and applications; AI-assisted prepare flow; optional resume and LinkedIn-style search integration.
Design system & UI
Dashboard-first UI with collapsible sidebar (persisted in localStorage), mobile bottom nav, and Radix-based components. Primary palette and clear hierarchy for jobs, prepare tabs, and profile cards.
Typography
Inter Bold
Inter Medium
Inter Regular
Colors
Primary
#10b981
Card
#ffffff
Border
#e5e7eb
Muted
#6b7280
Background
#f9fafb
System architecture
Next.js App Router frontend with Supabase auth and database; optional Onewave FastAPI backend for resume analysis and coffee-chat; Linkareer API for selected job data.
Frontend
- Next.js 16 App Router, React 19, TypeScript, Tailwind 4
- Radix UI (Dialog, Tabs, Select, Checkbox, etc.), Lucide icons, @react-pdf/renderer
- Dashboard layout: collapsible sidebar, top bar, mobile bottom nav; Prepare tabs (skills, resume, preview, cover letter, interview)
Auth & data
- Supabase SSR client for auth (login, signup, redirect); protected dashboard and onboarding routes
- Supabase DB: profiles, saved jobs, applications; migrations for initial schema
- Saved jobs context (React); optional Onewave API URL for resume/coffee-chat proxy
Integrations
- Next.js API routes: /api/resume/analyze, /api/coffee-chat proxy to Onewave FastAPI
- Linkareer API for activity/job details; local job data for non-Linkareer listings
- Resume analysis and coffee-chat generation powered by Onewave (Gemini, SERP API)
Jobs, saved list & application tracking
Job search and saved-jobs list with persisted state; application tracking per role; Linkareer integration for activity details. Job detail view with coffee-chat tab (Onewave-backed LinkedIn-style search).
Prepare hub: resume, cover letter, interview
Prepare section with skills-gap analysis, resume optimization (Onewave analyze), PDF resume preview, AI cover-letter generation, and AI interview prep. Onboarding resume flow with analysis proxy; profile and settings with Supabase-backed data.

Coffee chat — LinkedIn-style at interested companies
Discover and reach out to people at companies you’re interested in via LinkedIn-style coffee chat. Onewave-backed search and connection flow so you can request informal conversations with employees at target companies and grow your network.
Project impact
Single dashboard for job search, saving, tracking, and preparation with optional AI-powered resume and coffee-chat via Onewave; Supabase for scalable auth and data.
Supabase
Auth & DB
5
Prepare tabs
Onewave
Resume & coffee-chat
Linkareer
Job feed
Reflection
I’d add more job sources and a proper calendar view for application deadlines, plus clearer feedback when Onewave is unavailable. Building the Prepare flow with Supabase and optional Onewave taught me a lot about progressive enhancement and proxy design.