I wrote this application in Perl and it has evolved from job to job over the years.
It began life as a hardware inventory, and later also included virtual servers.
Eventually this branched out into including user information, as we needed that for the support team, to assign ownership of equipment to, and because it only makes sense to collate and automate as much data collection as possible.
In its original form, it was simply a hardware inventory for rapid retrieval of important system information, most useful when on call and needing to find server specifics in a hurry.
Unfortunately the only screenshots I can find of this original iteration are terribly small!
In the next job I began to add the user collection and data, and in fact that became the new primary use of the tool.
Clicking on a user from the search results invokes a details page. You can tab through the various screens to get different information. Most of this comes from the user directory (Active Directory, Google Workspace, etc) but it can be fetched from other sources as well. In this case reports were run from JustWorks that automatically triggered synchronization with the MOI database.
Across the top are other tabs. The leftmost and rightmost were navigation tabs (if your search returned more than one user). The only other tab currently defined is “RT Tickets” which linked to any helpdesk tickets currently open for/by this user.
I wrote a number of “importers” — object oriented Perl scripts that fetched user data from various SaaS accounts. This in turn would populate/synchronize the database to show current and past accounts the user was a login for.
Clicking on an individual row in the list of accounts the user holds (seen above) invokes a detailed display of that particular service.
This lists all the known users, current status, etc. At the top is a cost breakdown of the service based on the number of active users.
The right hand column is not populated here but would normally reflect the ticket number of the helpdesk request for access, providing details of when it was requested, who approved it, etc.
All rows are dynamically resizable and sortable.