Full-stack SaaS · Live
RoleReady
A job-search operating system that connects application tracking, reusable candidate data, tailored documents, and browser-assisted autofill.

Overview
Job seekers repeatedly copy the same profile data, lose application context across tabs, and rebuild documents for each role. RoleReady centralizes that work into a single product and brings the saved profile back into supported application pages through a browser extension.
My contribution
I designed and built the product across the React application, Express API, Supabase data model, Chrome extension, integrations, tests, and production deployment.
Technical architecture
The React client communicates with an Express service backed by Supabase/PostgreSQL. Google OAuth establishes identity, Stripe supports billing, and OpenAI powers constrained document-generation workflows. A Manifest V3 extension retrieves approved profile data and applies it to supported application forms.
- Shared job and candidate state across the web product and extension.
- PDF and DOCX document generation for application materials.
- Production billing and authenticated account flows.
- Automated browser and application testing with Playwright and supporting test suites.
Engineering highlights
- Separated extension permissions and page interactions from authenticated server data.
- Designed API boundaries for jobs, profiles, documents, and billing.
- Handled external-service failures without losing the user's application state.
- Used staged checkout and billing verification before enabling production behavior.
Functional status
Production / live. The public product is reachable and its core web experience is deployed. Individual third-party operations still depend on their configured service accounts and supported application pages.