integration · laravel · vue · 2024
In-person notarization, moved online end to end
SomaStream Interactive, United States
A Nevada online notarization platform joining a driving-education course system to licensed notaries and a third-party e-notarization service, replacing an in-person paper process.
The operation
Nevada driving-education students have to complete a legally required notary session. That used to mean turning up somewhere in person, with paper.
This platform lets them schedule it, attend it and complete it entirely online: it takes them from the course provider's website, puts them in front of a licensed notary, runs the document preparation and e-notarization, and delivers the finished notarized document back to both the student and the course provider.
The part that was actually hard
Two things, and neither was the video call.
The e-notarization handoff. Completing one notarization is a twelve step state machine against a third-party platform: create a workspace, initialize and clear a draft package, add the signer and notary, upload the form, poll until imaging finishes, trigger document recognition, poll again, finalize. Each call is authenticated with a SAML2-based JWT signed with an RSA private key and an XML digital signature. Every step can fail on its own, so each one records where it got to, retries with backoff, and can be reset and recreated from any intermediate state. Completed documents come back as inbound webhooks carrying either XML events or ZIP archives that have to be unpacked, matched to a session and routed.
Scheduling across several notaries. Each notary sets their own weekly availability windows and slot lengths. A nightly job builds a rolling thirty day matrix of bookable slots, the public scheduler consolidates every notary's availability into one view, and a notary is assigned at the moment of booking. Slots can be blocked individually with a reason, and rescheduling has to release the old slot and take a new one without ever double-booking.
The entry point from the course system receives AES-128 encrypted data, so the notary platform never holds course credentials and the course system never touches the notarization vendor directly.
Where it stands
Built in 2024, deployed, and in production use for several months. The client then stopped it, because the volume did not justify the running costs.
That is worth saying plainly rather than leaving out. The system worked and the business case did not, and knowing which of those two has failed is exactly what the scoping stage of an engagement is for.