← Back to projects

Image Registrars Ltd

ICT Tools โ€” Internal ICT Automation Suite

178s โ†’ 0.13s exact search across 11 databases

Python ยท PySide6 ยท pymssql/pyodbc ยท PyInstaller

A self-updating Windows desktop application built for Image Registrars' ICT team, covering dividend updates, UFAA submissions, database reconciliation, master-file export, and a universal shareholder search.

The standout piece is the search-cache layer: Universal Search normally opens a fresh connection per database, re-discovers columns via INFORMATION_SCHEMA every time, and compares against a CAST()-wrapped column that can't use an index. I designed an indexed cache table instead, rebuilt on demand, that reuses the exact same column-resolution logic as live search so cached and live results never disagree. Benchmarked against real data across 11 databases: an exact ShareholderIDNo search dropped from ~178s live to ~0.13s cached; a Name search dropped from ~150s to ~1.7s.

Ships as a single .exe (PyInstaller) that checks GitHub Releases on startup and self-updates โ€” download, swap, relaunch โ€” with a one-command release script that bumps the version, tags, builds, and publishes in one step.