Job Description
Roles & Responsibilities
What you'll do
- Refactor the frontend into a modular, component-based architecture (React / Vue / Svelte your call, with reasoning). Preserve all existing functionality and visual design.
- Move data off disk to a real database (Postgres or our existing Supabase) with proper migrations and a query layer.
- Harden security. Replace the current token-based auth with proper session management, add MFA for admins, add audit logging for sensitive views, pen-test the upload endpoints.
- Set up CI/CD. GitHub Actions for linting, type-check, automated tests, preview deployments. Today every change goes straight to production.
- Add observability. Error tracking (Sentry or similar), basic uptime/perf monitoring, structured server logs.
- Document the data pipeline. From BambooHR weekly export CSV upload application state. Today this lives in scattered Python and JS.
- 5+ years full-stack: modern JS/TS frontend framework, Node.js, Postgres, REST/JSON APIs.
- Strong opinions on incremental refactoring over rewrites. We can't afford a 6-month "stop the world" rebuild.
- Experience with auth (OAuth/SSO, RBAC), security best practices, and threat modeling.
- DevOps fluency: CI/CD pipelines, environment management, monitoring/alerting.
- Comfortable with charting libraries (Chart.js, D3, or similar).
- AI fluency. Daily use of AI coding tools (Claude Code, Cursor, Copilot, or similar) comfortable shipping production code with AI in the loop, while exercising independent judgment on architecture and security. Bonus if you've built features that call LLM APIs directly (the existing/li>
- Roster chatbot and the planned HR-Jira automation agent will benefit).
Nice to have
- HR or workforce-analytics domain experience.
- Experience with Render, Supabase, or BambooHR's API.
- Python (for the weekly export pipeline).
Success looks like, after 6 months
- Frontend split into a maintainable codebase with tests.
- Page-load and tab-switch times measurably faster (target: 1s for first meaningful paint).
- All data persisted in the database with migrations and backups.
- Auth + audit + monitoring in place; no production incidents from missing observability.
- Same HR team using it, no regressions, plus a documented runbook for future contributors.
Desired Candidate Profile
ul> li>AI is a teammate, not a magic wand. We expect you to use it daily for code generation, refactoring, debugging, and code review and to be honest about its limits. Verify, don't trust blindly./li> li>Velocity matters. This is a one-developer project supporting a real HR team. We ship multiple changes per day and iterate based on direct user feedback. We do not do month-long rewrites./li> li>You own the judgment. Architecture, security, and data-correctness decisions are yours. AI tools accelerate execution; they don't replace thinking about edge cases (a single bad salary record can blow up a $50M number ask me how I know)./li> li>You'll work directly with the user. No PM, no ticket queue. Conversations happen in Teams or a short weekly sync. Bring context, ask before assuming, push back when needed./li> /ul>