CivicTechJobs is a Hack for LA project: a platform connecting prospective HfLA volunteers with project opportunities that match their skills, availability, and program area.
CivicTechJobs is a skill-matching layer on top of HfLA's volunteer ecosystem. Project managers post opportunities with skill requirements; volunteers register their skills with proficiency levels; the platform matches the two.
HfLA's project recruitment currently happens through a mix of Slack threads, ad-hoc conversations, and coordination at the Community-of-Practice (CoP) level. That works at small scale but doesn't surface the right candidates efficiently as the org grows. A dedicated matching layer reduces friction for both PMs (clearer signal about who's available with what skills) and volunteers (clearer signal about which projects match their goals).
The current process involves several manual steps for both sides. CivicTechJobs streamlines this by:
- Letting PMs post opportunities directly through a CMS without any custom UI work.
- Letting volunteers self-filter roles by availability, skill level, and CoP.
- Surfacing matched opportunities ranked by skill-fit.
- Give project managers a low-friction way to post, edit, and close open positions.
- Help potential volunteers self-filter roles based on availability and skills.
- Surface a ranked list of relevant opportunities to each volunteer.
- Frontend: Next.js 16 (App Router) + React 19 + TypeScript 6, styled with CSS Modules.
- Backend: Django 6.0 + Django REST Framework 3.17, served via Daphne (ASGI).
- Database: PostgreSQL 18.
- Deployment: AWS ECS (three containers in one task) on Hack for LA's Incubator account.
See docs/developer/ for the full architecture writeup.
Read CONTRIBUTING.md for the full workflow. Short version:
- Developers: see the installation guide and quickstart. PRs go against
develop, notmain. - UX, design, PM: see docs/joining-the-team/intro.md and the broader HfLA onboarding flow.
- Issues land on the Hack for LA project board. New contributor work always branches off
develop.
Developer docs live in docs/developer/:
- Backend Architecture
- DevOps Architecture
- Deployment & Infrastructure
- Design System
- Frontend Lint Guide
- Git Branch Structure
- Installation
- Quickstart Guide
For project resources (Figma, Drive, Slack, board), see docs/resources.md.
Slack: #civictechjobs and #civictechjobs-dev. Team meetings happen at the project's regular checkpoint cadence; new contributors can drop into the Slack channels to introduce themselves.