Hiring Engineering · Self-initiated · Ryvo Labs
Careers page with Google-for-Jobs SEO and a multi-step apply flow
Every opening is structured-data-ready and submits straight to Resend
0+
Roles with valid JobPosting structured data
0 steps
Apply wizard with no third-party ATS redirect
0 MB
Resume size validated on client and server
Why we built it
The problem we wanted to solve.
When we put 20 roles on /careers, we needed each to be indexable for Google for Jobs, applicants to apply without ever leaving the site, and a recruiter to receive a clean email with the resume attached. Off-the-shelf ATS integrations would have buried the brand and added a redirect. We built it.
How we built it
The approach, step by step.
- schema.org/JobPosting JSON-LD emitted per role with structured location, employment-type and experience requirements
- A 5-step React apply modal (My Information → My Experience → Application Questions → Voluntary Disclosures → Review) with progress + back navigation
- Server-side file validation (PDF/DOC/DOCX, 5 MB) and base-64 attachment via Resend
- Per-IP rate limit + timing-safe consent validation on the apply route
- BreadcrumbList + ItemList JSON-LD for the /careers index — neighbouring routes get rich Google snippets
Recruiters don't need an ATS to start. They need their inbox to fill up with high-signal applications. We built the smallest thing that does exactly that, and added structured data so Google does the distribution.
— Build notes
More builds