Work / RVM CAD Job Portal
Interviews that schedule, record and file themselves
One interview, end to end in the Job Portal: a Google Meet space and invites, a consent gate before recording, a recording state machine, and Drive filing with metadata. Built in one commit, with 616 of 616 tests passing at that commit.
Measured outcomes
- 70
- files in the feature commit
- 5,596
- insertions in that commit
- 616 / 616
- tests passing at that commit
- 24 h
- before an interview with no recording is marked not recorded
The goal
Take an interview from the admin’s click to a filed recording without leaving the Job Portal, with one room, one shared status and consent before any recording. The Job Portal already held the application, the candidate and the employer. The interview was the missing state.
The flow
1 / Schedule
- Adminschedules from the Job Portal
- Scheduletime, attendees and interview flags
- Meet spacerestricted room plus invites
2 / Record and file
- Consentboth sides accept before recording
- Recording60-minute cap (my statement)
- State machinelive to processing to available, or not recorded after 24 h
- Drive filingrecording and transcript with metadata
Consent gate. Both sides accept a consent notice before recording starts (my statement, 15 Nov 2026). The 60-minute cap is also my statement; the Meet behaviours and the state machine are commit-verified.
What I built
Scheduling that creates the room. The admin schedules an interview from the Job Portal. The module creates a Google Meet space with restricted access and adds attendees to the space. Rescheduling reuses the same space rather than creating a second one, so the link in the original invitation stays valid.
A consent gate before any recording. Both sides accept a consent notice before recording starts (my statement, 15 Nov 2026). The recording and transcript flags are set through the Meet integration, so the room is configured before anyone joins.
A recording lifecycle, not a file drop. The recording moves through a state machine: not started, live, ended, processing, available, or not recorded after a 24-hour cutoff. The same status is shown on the candidate list, the candidate detail, the admin view and the company view, so two people cannot see two different answers about whether a recording exists.
Delivery with metadata. Recordings and transcripts are filed to Google Drive with metadata (my statement, 15 Nov 2026). Scheduling changes go out by transactional email through ZeptoMail.
One feature commit. The work landed as one commit of 5,596 insertions across 70 files, with 616 of 616 tests passing at that commit.
What is verified, and what is my statement
| Behaviour | Status | Source |
|---|---|---|
| Google Meet REST integration with restricted spaces, auto-record and auto-transcript flags, attendee add/remove | Verified | Commit 48c3cab1, 23 Jun 2026 |
| Reschedule reuses the same Meet space | Verified | Same commit |
| Recording state machine: not started → live → ended → processing → available, or not recorded after 24 hours | Verified | Same commit |
| 70 files, 5,596 insertions, 616 of 616 tests passing | Verified | Same commit |
| Consent notice before recording; 60-minute cap; Drive filing with metadata (Meet stores the recording in Google Drive) | My statement, 15 Nov 2026 | Owner, 15 Nov 2026 |
| Google Cloud project, OAuth and the Google Meet REST API (v2): restricted spaces, members, recordings and transcripts | Verified | Commit 48c3cab1, 23 Jun 2026 |
| Calendar API | Verified | Job Portal main, code search, 15 Nov 2026 |
Limits
- Production rollout is not claimed here. The commit is merged with its tests; the case study does not verify how far the feature has been switched on in production.
- The recording-sync cadence is not described. The feature includes a recording-delivery route, but the schedule it runs on is still being confirmed.
- No training use is described. Any use of recordings or transcripts for model work, and the consent wording that would govern it, is still being confirmed.
- No candidate data or internal paths are published. The figures are build size and test results, not candidate records.
- 616 tests is the suite at that commit. It is not a claim about every later commit.
Where the numbers come from
- 70 files in the feature commit: the Job Portal repository, commit 48c3cab1, 23 Jun 2026.
- 5,596 insertions in that commit: Same commit.
- 616 / 616 tests passing at that commit: Same commit.
- 24 h before an interview with no recording is marked not recorded: Same commit; recording state machine.