A Tech Intern’s Odyssey: My Internship with GovTech

Cosmiwaihang
SCTD, GovTech
Published in
7 min readMay 8, 2024

As a student from Ngee Ann Polytechnic (NP), embarking on my Diploma in Information Technology journey was just the beginning of my aspiration to meld innovation with public service. The decision to intern at Government Technology Agency of Singapore (GovTech), particularly within the Smart City Technology Division (SCTD) under the Digital Twin team from April 2023 — March 2024, was driven by a desire to understand the public sector’s workings and contribute meaningfully to Singaporean society and the effort to build a Smart Nation.

Note: Smart City Technology Division (SCTD) formerly known as Sensors & IoT (SIOT).

At the heart of my internship lies GovTech’s mission: “Engineering Digital Government, Making Lives Better” — a clarion call to harness advanced technologies for crafting inclusive, relevant, and sustainable digital solutions for Singapore citizens.

A Welcoming Start: My Onboarding Experience at GovTech

My onboarding experience at GovTech was remarkably welcoming, setting a positive tone from day one. Esmond, a dedicated full-timer, guided me through the vibrant GovTech environment, introducing me to essential facilities and the team. The transition into my role was seamless, thanks to the high-spec development laptop provided for my work on Unity and Unreal Engine, and the invaluable assistance from Si Min in setting up my TechPass and development tools. Lay Teen, my reporting officer, played a crucial role in ensuring a smooth start, facilitating access to the building and resources with meticulous planning.

This warm welcome was not just about the immediate support or the resources; it reflected GovTech’s inclusive and nurturing culture, emphasising their commitment to fostering new talent. The friendly introductions and the efficient onboarding process laid a solid foundation for my confidence and sense of belonging within the team.

Throughout my year-long internship under Lay Teen’s guidance, I was introduced to a variety of specific projects, each enriching my experience at GovTech in unique ways. Her mentorship provided me with a comprehensive overview of the public sector’s tech landscape, enhancing my professional growth, providing interaction opportunities with the Digital Twin Team (e.g. working with Yi Ming, Jia He, Stephen on project tasks) and with SCTD members on Demos. The diverse projects not only honed my technical skills but also offered a valuable perspective on the impactful work GovTech undertakes, further solidifying my appreciation for the opportunity to contribute to meaningful initiatives.

2D Data Visualization in Dashboard

a
This image was created with the assistance of DALL·E

Embarking on my internship at GovTech SG introduced me to a realm where theoretical knowledge meets practical application, challenging me to stretch beyond the confines of my academic learning. My very first task set the tone for this adventure, as I delved into the intricacies of Plotly Dash for data visualisation. Coming from a background where Power BI and its drag-and-drop simplicity were my comfort zone, Plotly Dash presented a new frontier — one that demanded coding prowess to weave complex visual narratives.

Plotly Dash, as I soon discovered, is not just a tool but a gateway to sophisticated data storytelling. Unlike the straightforward visualisations in Power BI, Plotly Dash required me to think programmatically, enabling the creation of dynamic UI layouts that could directly query databases or repositories. This hands-on experience was pivotal, transforming abstract concepts of data visualisation into tangible solutions capable of navigating the complexities of real-world data.

from threading import Lock


def Singleton(cls):
'''
Ensures a class has only one instance and provides a global point to access it.

Uses double-checked locking for thread safety.

Args:
cls (class): Class to be instantiated as a singleton.

Returns:
function: A function that returns the single instance of cls.
'''
instance = None
lock = Lock()

def get_instance(*args, **kwargs):
nonlocal instance

if instance is None:
with lock:
if instance is None:
instance = cls(*args, **kwargs)
return instance

return get_instance

The journey through GovTech SG’s tech landscape also introduced me to the architectural elegance of design patterns. Implementing the Singleton pattern for the repository layer was a highlight, offering a glimpse into the world of efficient and effective code management. By ensuring a single instance of the repository is shared, this design pattern enhances application performance and consistency across various components, proving to be a vital strategy in managing shared resources.

Screenshot of Plotly Dashboard — Table Visualization

Key features developed for the dashboard included:

  1. An export option, allowing users to download data in CSV format, enhancing data portability and accessibility.
  2. Dynamic filters to refine data views.
  3. A reset functionality to clear all applied filters with ease.

2D Data Visualization (Map) in Dashboard

As I delved deeper into the world of data visualisation during my internship at GovTech SG, the journey took an exciting turn towards geographic mapping. This phase of the project allowed me to explore and implement various visualisation techniques on a map layer, bringing data to life in a visually compelling way.

Screenshot of Plotly Dashboard — Line on Map

One of the key features I developed was the plotting of lines to represent Singapore’s MRT network. This visualisation provided a clear and detailed overview of the city’s transit system, making it easier to understand and analyse transit routes and their connectivity.

Screenshot of Plotly Dashboard — Scatterplot on Map

In addition to the transit lines, I plotted dots to mark the locations of shopping malls across Singapore. This aspect of the project offered insights into the distribution of retail hubs, highlighting areas of high consumer activity and potential focal points for economic analysis.

Screenshot of Plotly Dashboard — Choropleth Map

Perhaps the most intricate visualisation was the implementation of a choropleth map, akin to a heatmap, to depict the various subzones within Singapore. This feature offered a granular view of demographic, economic, or social data, presenting an opportunity for in-depth analysis of regional characteristics and trends.

The culmination of this effort was a dynamic dashboard that not only showcased the technical skills I had honed but also provided valuable insights into Singapore’s urban landscape. The attached video presentation of this project stands as a testament to the learning journey and achievements during my time at GovTech SG, illustrating the power of data visualization in understanding and interpreting complex information within a geographical context.

Demonstration Video

Demonstration Video For Plotly Dashboard Project

3D Visualisation using 3D Engine Tools

Screenshot of Unreal Engine Project

In the concluding phase of my internship at GovTech SG, I was tasked with an intriguing project that ventured into the realm of virtual environments, specifically within the Unreal Engine. This task was not just about leveraging the engine’s robust capabilities but also integrating external APIs to bring a realistic and dynamic representation of the world into a virtual space. Utilising the Google Maps Tiles API along with Cesium, I focused on meticulously crafting a detailed map of Singapore. This process involved not just the technical integration of APIs but also a deep dive into geospatial representation, ensuring that the map served as an accurate foundation for the subsequent features I was about to implement.

Building upon this virtual representation of Singapore, I embarked on a creative endeavor to draw a spline across the map, delineating the extensive network of the Singapore MRT line. But I didn’t stop there; I introduced a moving object that followed this spline, simulating the movement of an MRT train. This addition was more than just a visual treat; it was a critical component of the project’s overarching goal — to research and develop a method for tracing and visualising the path of moving objects in real-time. By using the MRT system as a model for demonstration, this project explored the possibilities of enhancing user engagement and understanding through dynamic visualisation, opening new avenues for how we perceive and interact with virtual representations of real-world systems.

Demonstration Video

Demonstration Video For Unreal Project

A Vibrant Tapestry: Navigating the Cultural Landscape at GovTech

Stepping into GovTech SG, I was immediately struck by the distinct and vibrant work culture which was a pleasant surprise. The tradition of sharing meals together fostered a sense of community and camaraderie among colleagues, a stark contrast to the more isolated lunch routines I was accustomed to. The open-area workspace and hot-desking policy encouraged flexibility and collaboration, breaking down the hierarchical barriers I had anticipated. Discussions were lively and inclusive, with ideas flowing freely across the table. Remarkably, even as an intern, my voice was valued, and my suggestions were welcomed with open arms. This culture of openness and mutual respect was not just refreshing; it was a testament to GovTech SG’s commitment to innovation and collective growth.

Conclusion

As my internship at GovTech SG draws to a close, I reflect on a journey replete with learning, growth, and unexpected cultural revelations. From the hands-on experience with cutting-edge technologies to the invaluable lessons learned from project management and team collaboration, this experience has been nothing short of transformative. The welcoming culture, characterised by shared lunches, open discussions, and the freedom to innovate, has not only enhanced my professional skills but also enriched my personal growth. The trust and autonomy granted to me, even as an intern, underscored the empowering environment GovTech cultivates for nurturing talent and fostering innovation. This internship has solidified my resolve to pursue a career where technology meets public service, aiming to contribute to a future where digital government services make lives better for all. I step forward from GovTech SG inspired, grateful, and eager to embrace the challenges and opportunities that lie ahead.

--

--