A customizable careers page builder for companies. Built for a startup's tech round then they ghosted so the project lives here now. Fork it, break it, do whatever.
CareersHub.1.mp4
npm installCreate .env.local:
NEXT_PUBLIC_SUPABASE_URL=your_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_key
Run:
npm run dev # development
npm run build # production build- Login at
/login - Create company β pick slug (e.g. "sbdh11")
- Add sections (About, Values, Benefits)
- Add jobs with title, location, type
- Toggle "Published" β live at
/sbdh11/careers
- Proper dashboard : Dashboard with clean ui and multiple sections to chose from
- Job Board: Public careers pages with customizable branding
- Job Filtering: Search by title, filter by location and job type
- Pagination: Automatic pagination for large job lists (12 jobs per page)
- Responsive Design: Mobile-friendly interface
- Theme support: Theme support with next-themes
- Lazy Loading: Optimized job card rendering
app/
βββ dashboard/ # Company management
βββ [company-slug]/ # Company pages (edit, careers, info)
βββ login/ # Auth
components/
βββ layout/ # DashboardShell, Navbar, Sidebar
βββ careers/ # JobCard, JobFilters, CompanyHeader, JobsList, LazyJobCard
βββ providers/ # ThemeProvider
βββ ui/ # shadcn components (Button, Card, Pagination, etc.)
lib/
βββ supabase-client.ts # Client-side Supabase
βββ supabase-server.ts # Server-side Supabase
βββ types.ts # Shared types
βββ utils.ts # Helpers
proxy.ts # Auth middleware for route protection
- Job editing UI
- Apply button functionality
- Image upload (currently URL paste)
- Job analytics
"Company not found" β Check published = true in DB
Changes not showing β Hard refresh, check saved
Jobs missing β Check job published = true