Case study / Personal product
Tando.
Signature verification, with context.
A concern in my own document workflow became a product for associating each signature with its intended purpose and current validity.
- My role
- Product direction & system architecture
- Technology
- Next.js · NestJS · PostgreSQL · Docker
- Project context
- Personal product
Public product overview. Currently used privately; registration is not open to the public.
01 / Tando
The starting point
I received an internal document to fill in and sign. Anyone with its URL could open it, including the image of my signature.
I wanted a way to associate a signature with a specific purpose and document, give it a defined validity period, and let a recipient check its current status.
Tando grew from that workflow: a QR reference opens a verification page with the context of one issuance.
02 / Tando
My contribution
Product direction
Defined the problem, requirements, user flows, and expected behaviour across valid, expired, and revoked states.
System architecture
Chose the system boundaries, technology stack, dependencies, and the relationship between signers and issuances.
AI-directed implementation
Directed AI research, documentation using my own templates, and implementation of the application code.
Testing & deployment
Performed testing, evaluated the resulting behaviour, and deployed the product for my own use.
AI wrote the implementation. I owned the product and architectural decisions, reviewed the behaviour, and took responsibility for testing and release.
03 / The verification flow
One issuance. A defined context.
- 01
Define the context
Signer, purpose, source document, and validity period.
- 02
Issue the QR
A reference to that issuance’s verification page.
- 03
Check the status
Current validity and a context-specific watermark.
- 04
Manage its lifecycle
Monitor activity, extend validity, or revoke it.
04 / Tando
Decisions in the system
Separate the signer from each issuance
The master signature belongs to a signer. Each issuance carries one document’s reference, purpose, validity period, and status. The same signer can have several issuances with different contexts.
Check validity when the QR is opened
The verification page requests the current status. Expired and revoked views communicate the change and hide the signature image and document-opening action.
Make the context part of the watermark
The displayed watermark includes the short code, purpose, expiry date, and scan time. These details connect the signature representation to its verification context.
Design beyond the moment of issuance
Activity history, renewal, and revocation support what happens after a QR has been placed on a document. Expiry behaviour also supports temporary and archive views.
05 / Inside the application
From issuance to verification.
The issuance form brings together the signer, purpose, source document, expiry behaviour, and validity period. A summary supports review before the QR is issued.
Each QR points to its own verification context.
A recipient checks the current issuance status and sees the watermarked signature with its document context. The same verification flow is available on a phone.
Expired and revoked states communicate the change in validity. The signature image and document-opening action are hidden in these states.
Original Tando interface with fictional people, documents, activity, and codes. The signature is illustrative; the pictured QR uses an example domain.
06 / Tando
Outcome & scope
I use Tando in my own document workflow. It brings document context, validity, verification, and lifecycle management into a product shaped around a problem I encountered.
The aim is to reduce misuse and make verification clearer. Watermarking cannot guarantee that an image will never be copied. Tando is a personal verification tool, not a certified electronic-signature service.
A conversation starts here
Have an idea or a collaboration in mind?
Let’s talk it through.