How to build a digital file that warns you before a document expires
A digital file is where each client or vendor uploads their documents and you approve them. What makes it useful isn't storing them — it's that the page automatically groups the ones expiring in 30 days or less.
Nadia runs a moving and freight company in Torreón. Three drivers, four trucks, and a plastic folder on top of the filing cabinet where everything lives: licenses, vehicle registrations, insurance policies, inspection certificates.
The day a corporate client texted her “send me the current policy and the license for the driver who’s coming,” it took her forty minutes to dig up both files. One of the two was dated last year.
She had no idea it had expired. Nobody does. Paper doesn’t warn you.
What is a digital file?
A digital file is where each person — your client, your vendor, your driver — uploads their documents and you review and approve them, with each one’s expiration date stored separately. It’s not a folder in the cloud.
The whole difference sits in that separate date. A folder stores things; a digital file knows when something stopped being valid.
Why doesn’t WhatsApp work for receiving documents?
Because a document that arrives over WhatsApp stops existing after three weeks. It’s still there, technically, but buried under voice notes, locations, and “good morning” messages.
There are three things a chat can’t give you, and they’re exactly the three that matter. You don’t know which version is the right one: they sent you the license twice and neither one says which is the new one. You don’t know when it expires, because that date lives inside the photo and nowhere you can search for it. And you don’t know what’s missing, because to know that you’d have to remember the full list, person by person.
The same thing happens with email, with Drive, with the plastic folder. The problem was never where you store the file — it’s that the expiration date lives inside it.
What documents do you ask for, and from whom?
You define the list once, under Document Types. Each row carries a name, whether it’s Required, whether it Applies to the person or one of their units, whether it Has an expiration date, and which formats you accept (PDF or image).
That “Applies to” field is what solves Nadia’s problem. The license belongs to the driver. The vehicle registration, the insurance policy, and the inspection certificate belong to the truck with plates XY-123-45, not to whoever happens to drive it that week. In the file, each unit is its own row hanging off the same record, with its own folio and its own identifier — the plate number — so it can be read out over the phone.
On the other side, the person doesn’t see a to-do list you made for them: they see their own list, with each document marked Required or Optional and a Missing tag on the ones they haven’t uploaded yet.
One small detail that costs a lot: “Has an expiration date” starts off by default. If you don’t turn it on, the page won’t even ask for a date when someone uploads the document, and that document will never show up on any expiration list. Turn it on for everything that carries a date.
How do you find out before a document expires?
There’s a dashboard called Documents Expiring Soon that sorts everything into four buckets: Expired, 5 days or less, 15 days or less, and 30 days or less. Anything that doesn’t fall into one of those says Current. You open it and see, at a glance, what’s about to fall through the cracks this month.
When there’s nothing to see, it tells you so, in those words: “No documents are expiring in the next 30 days.” That’s the line Nadia never had.
What do you do when a document is wrong?
You flag it and write the reason. The whole file moves through seven states — New, Incomplete, Under Review, Flagged, Approved, Rejected, and Suspended — and each document has its own: Pending Review, Approved, Flagged, Rejected.
What actually does the work is the Reason field. That text is what the person reads in their portal, exactly as you wrote it. “The license is torn — the date isn’t visible” gets them moving; “incorrect” leaves them right where they were. The panel warns you as you type it: the person is going to read this text, so tell them exactly what to do.
And when they upload the corrected document, the old one isn’t erased — it comes in as Version 2, and the previous one stays underneath. The day you need to prove what they handed you and when, that’s your evidence.
The one fact that governs everything else: a file is only approved once every required document is approved, is the current version, and hasn’t expired. All three at once. That’s why a file that was complete yesterday can wake up incomplete without anyone touching it: a paper expired.
What doesn’t the page do for you?
Four things, and it’s better to know them upfront:
- The person has to sign in. There’s no “upload your papers without registering” link: they log in, identify themselves, and their file gets created there. It’s one extra step, and it’s on purpose — with no account, there’s no one to notify when you reject something.
- You write your own privacy notice. While it’s still a draft, the portal shows “privacy notice in preparation” and won’t let them move forward. You’re collecting IDs and home addresses, so the lock is there for good reason — but the text is yours to write.
- Approving is final until the next version. Once you’ve approved a document, the only way to review it again is if the person uploads a new one. There’s no undo.
- The automatic email reminder isn’t a checkbox on the panel. It gets set up when your portal is built — it reaches the person, and you get a summary, a few days before the date — and you can’t turn it on later from the panel. If you want it, ask for it from the start. What you always have on hand is the dashboard.
Is this only useful for a freight company?
It works for any business that asks the same documents of a lot of people and needs those documents to stay valid. A daycare collecting a birth certificate, vaccination record, and the guardian’s ID. A gym that requires a medical certificate every year. A law firm that asks every client for their tax status certificate.
The list of documents changes; everything else is identical.
What to ask Proyecta for
Describe it in your own words, this specific:
“I want a portal where my drivers upload their documents: license, vehicle registration, insurance policy, and inspection certificate. The last three are per truck, not per person, and they all have expiration dates. I want to approve or reject them by writing a reason they can see, and have a list of what’s expiring in the next 30 days.”
Out comes a published portal, with its own link, and a console where you review everything. Describe it and publish it at proyecta.dev.
Before you build anything, try this test: on a piece of paper, write from memory whose document expires first and on what date. Without opening the filing cabinet. Then go find it and compare. That gap — between what you thought and what the paper actually says — is exactly the problem you’re about to solve.