It all began when the department managers realized their existing process for distributing and tracking keys was scattered across multiple pieces of paper. Requests often got lost, and no one could reliably say who had access to which rooms. I was brought on as a software engineer to help design and develop a modern tool that would address these inefficiencies. There weren’t many requirements laid out initially, so part of my job was to understand the managers’ pain points and envision a digital solution from scratch.
The Chaos Behind the Scenes
The real struggle was the chaotic system that had people physically signing out keys and rummaging through file cabinets for paperwork. No one had a clear overview of who was holding which keys, and managers wasted valuable time chasing down forms or dealing with lost submissions. We needed a centralized portal—somewhere faculty, staff, and students could submit their requests, while managers could approve or deny them with minimal hassle.
Sketching the Dream
My first step was to jump into Adobe XD to create a blueprint for a streamlined experience. Using interactive wireframes, I showcased how the request flow might work, from logging in, to submitting a request, to sending automated email approvals or denials. This approach gave managers something concrete to react to. Because they didn’t give detailed requirements, these prototypes were essential for gathering feedback and iterating quickly.
With the design direction in place, I opted for AngularJS (version 1 at the time) for the front end. It was a risky move because AngularJS was still evolving, which meant dealing with frequent updates and changing APIs. However, AngularJS offered a powerful data-binding system that simplified building dynamic interfaces. On the back end, Node.js worked well for handling asynchronous operations efficiently, and MariaDB provided a reliable relational database to store user data, room details, and key statuses.
Unlocking the Final Product
Bringing it all together took patience and persistence. Node.js and AngularJS needed careful coordination to handle requests and maintain a smooth user experience. We had to constantly adapt whenever AngularJS introduced a new update or deprecated a feature we were using. The feedback loop with the department managers also involved trial and error, since they weren’t entirely sure what they wanted until we showed it to them. Despite these hurdles, we successfully developed a digital portal where people could easily submit requests, managers could track who held which keys, and automated notifications made the entire process far more transparent.
Moving Forward
This project delivered a centralized key and space management system that replaced an old paper-based approach. It saved time, reduced errors, and gave everyone the confidence that requests wouldn’t get lost. The biggest conflict lay in the lack of initial guidance from the managers, which led to several rounds of redesign and refactoring. On the plus side, that gave us room to innovate and offer solutions they hadn’t even considered. Looking back, clearer communication from the start would have allowed us to be more efficient. Still, witnessing how well the final portal served the department was worth the extra effort. Ultimately, the ACES Portal became the single source of truth for managing keys and spaces, shining a light on what was once an opaque, paper-driven process.