Inspiration
Invigilating a close-book programming practical test has consistently presented unique challenges. During such test, students are strictly prohibited from accessing any online resources, including generative AI tools, and are required to disable their Wi-Fi connections throughout the test.
Invigilators bear the responsibility of ensuring strict adherence to these rules. However, verifying whether Wi-Fi has indeed been disabled is particularly challenging. Students may hide the taskbar, making the Wi-Fi status icon difficult or impossible to see, and even when the taskbar is visible, the icon’s position can be unobtrusive. Furthermore, it is relatively simple for students to toggle their Wi-Fi connectivity on or off without easily being detected by the invigilator.
What it does
A VS Code plugin will be developed for students to install during practical tests. When enabled, it displays a test code and student information in the status bar, monitoring Wi-Fi connectivity, and flags any online activity as a violation. Each violation is logged with a timestamp, and the color-coded status bar allows invigilators to quickly identify connectivity status or breaches. Real-time monitoring enables prompt responses to any detected violations.
How we built it
This solution consists of two main components:
• A VS Code extension (frontend client) installed on student machines.
ChatGPT was used to translate the invigilation problem into a feasible VS Code extension design and to scaffold the core extension structure. It guided the implementation of the status bar display, background ping heartbeat, and dynamic colour changes based on server responses.
It also assisted in designing the settings workflow for managing the display text, including user overrides, live updates, and reset-to-default behaviour. Throughout development, ChatGPT and Copilot supported debugging, iteratively codes refinement and testing.
• A Node.js + Express backend server to receive, record, and audit activity logs.
ChatGPT and Copilot was used to rapidly scaffold a lightweight Node.js and Express backend to receive periodic API calls from the VS Code extension. It guided the implementation of request validation, timestamped logging, and safe file appending to create a tamper-resistant audit trail.
Generative AI (Gen AI) was actively used throughout the development process: • To scaffold the initial extension architecture. • To iteratively refine program • To accelerate development of the Node.js logging server • To recommend hosting service for the server • To advice configuration for the server • To generate slides, transcript and voiceover for the presentation
Challenges we ran into
One of the main challenges was translating a real-world invigilation problem into a workable digital solution. Decisions had to be made on what information should be displayed, how it should behave visually, and how monitoring could be done continuously without disrupting the students’ workflow. There was also uncertainty in how to structure the solution across a client–server setup in a way that was, lightweight, and easy to deploy in an examination environment.
Generative AI helps to overcome these challenges by rapidly proposing design approaches, validating feasibility, and suggesting implementation strategies. It enabled quick exploration of alternatives, clarified development workflows, and helped refine the overall system behaviour through iterative feedback. This significantly reduced trial-and-error, and accelerated the overall development process.
Accomplishments that we're proud of
We are happy that we were able to transform a real and practical invigilation challenge into a working digital prototype with great potential within a short development cycle. By leveraging Generative AI effectively, we successfully built a functional VS Code extension with real-time visual feedback and a supporting backend logging system. Beyond the technical implementation, this project demonstrated how AI can be used responsibly as a development assistant to accelerate prototyping, improve design clarity, and deliver a solution that has direct relevance and potential impact in an authentic educational setting.
With this prototype, further development is possible, such as a monitoring dashboard for the main invigilator to review and address violations (including false alarms). The plugin code can also be improved to better detect attempts by students to modify it directly and more.
What we learned
Collaborating with Generative AI as a development aide, rather than a replacement, AI helped us speed up progress. Precise questioning and prompt refinement reinforced AI's value as a productivity tool that complements a human software development judgment.
What's next for Catch You if I Can!
With this prototype in place, further development can focus on improving visibility, scalability, and reliability. One immediate extension would be the creation of a centralized monitoring dashboard for the chief invigilator, allowing real-time viewing of all connected students, flagged violations, and historical activity. To support this, the current file-based logging mechanism can be upgraded to a proper database-backed storage system, enabling faster querying, filtering by student, test session. This also opens possibilities for automated report generation after each examination.
Beyond monitoring, the solution can be strengthened in terms of security and resilience. Additional safeguards can be introduced to detect attempts to tamper with or disable the plugin, as well as integrity checks to ensure that the running extension has not been modified.
Log in or sign up for Devpost to join the conversation.