I Built a Free Document Expiry Tracker Because I Kept Forgetting My Own Visa
- •
- 4 min
Forward Deployed Engineer · Dubai
The first time, it was my visa. The second time, my wife's. Both times close enough to the deadline that renewal became a scramble instead of a routine.
In Dubai, staying on top of document expiry is a genuine ongoing task. UAE residence visa. Emirates ID. Ejari tenancy registration. Vehicle registration. Vehicle insurance. Medical insurance. Each one expires on its own schedule, none of them aligned, and not all of them send reminders. When life is busy, the document that doesn't feel urgent today is the one that quietly expires next month.
The fix I tried first was putting events directly in my calendar — one entry per document, manually typed. That works for two documents. For seven across two people it falls apart. Reminder timing is inconsistent, entries are scattered, and updating an expiry date means hunting down the right event and re-entering everything.
So I built something that generates the calendar entries properly.
What DocDates does
DocDates takes your documents and their expiry dates and exports a .ics file. You import that file into Google Calendar, Apple Calendar, or Outlook once. Your calendar then handles all the reminders — you don't open the app again.
The full interaction is a single session. Add your documents, choose a reminder profile, hit export. Done. No dashboard to check back on, no notifications from yet another app. The reminders appear exactly where everything else you track already lives.
Twelve document types are built in. UAE-specific ones: UAE residence visa, Emirates ID, Ejari tenancy contract, trade license. Universally common: passport, driving license, vehicle registration, vehicle insurance, medical insurance. Credit and debit cards with MM/YY entry that converts automatically to the last day of the month. And a free-form custom type for anything else — next cheque payment date, gym membership, anything that needs a date in your calendar.
Each entry gets a label so you know whose document it is: "Wife's passport", "Corolla registration", "Blue card".

Not every document needs the same lead time
A residence visa and a streaming subscription don't warrant identical warning windows.
Three reminder profiles cover most cases. Careful fires at 90, 60, 30, 14, 7, 3, and 1 day before expiry, plus on the day itself — right for a visa where missing the renewal means overstay fines. Balanced, the default, fires at 60, 30, 14, 7, and 1 day. Light fires at 30, 14, 7, and 1. There's also a custom option where you pick specific days from that set.
The exported .ics file contains one calendar event per document and one alarm per reminder day. Import it once and the full picture is in your calendar.

Why export to a calendar instead of running reminders from the app
Most document tracking tools require an account, store data on a server, and add another notification source to your phone. For passport and visa details, that overhead isn't proportionate to the problem.
An ICS export avoids the whole question. Your document deadlines live in the same calendar you already use — no new app to maintain, no account to create, no server that knows when your visa expires. When you close DocDates after exporting, nothing is left running. The calendar owns the reminders from that point forward.
Everything stays on your device. Data is kept in your browser's local storage. If you want to share your configuration — with a partner, or to load it on another device — the full setup is encoded into the page URL. Copy the link, open it elsewhere, export again.
Built for UAE, works anywhere
The document types reflect where this was built. But none of it requires UAE residency — Ejari and Emirates ID are just labels. A UK driving license, a Schengen visa, a European health card: the app works the same way.
DocDates is free. No account, no upload, no subscription.
If your team tracks employee document renewals — visas, Emirates IDs, insurance — and the current system is a spreadsheet or a shared calendar someone maintains by hand, that's the kind of problem a purpose-built tool solves cleanly. See the Internal Tools service page or book a call.

