The Sparks & Smiles programme is a social impact programme run by GIC that aims to empower Singaporean youths from high-needs households to be change-makers who want to pay it forward in their own communities. Together with GIC’s charity partner Beyond Social Services, students are provided with mentorship training and are connected to a disadvantaged child, youth or family. They are also given opportunities to engage with GIC senior leaders and receive a grant to support their studies.
The Sparks system is a workflow management system that alleviates the administrative overhead of running the GIC Sparks & Smiles programme. Prior to the system being built, the staff from Beyond Social Services had to keep track of the progress of each of their mentees manually. With the Sparks system, all of the data for the Sparks & Smiles programme is centralised in one place. In addition, it also makes the workflow of the Sparks & Smiles program seamless, offering email notifications and reminders to the relevant parties, be it students, school staff, or Beyond Social Services staff, as actions are carried out within the system.
Improved Student Management
As the GIC Sparks & Smiles application has been utilised for numerous cohorts for almost 4 years now, the number of students on the platform has gotten large, and many of them are ones which have completed the programme and no longer need to use the application. Furthermore, the requirements and needs of both GIC and Beyond have evolved over the years, and better ways to manage the students were now needed.
Our team thus came in to alleviate these problems. One gap in the workflow that we identified quickly was the lack of management of students who have completed their programme. Their accounts were still active despite them having no use for the system, which can affect both the security of the system and auditing efforts. As such, our team worked on providing a way to deactivate students at the end of every cohort, with the ability to reactivate the account should the student join the programme another in a subsequent cohort.
Another issue that GIC and Beyond raised up was the inability to suspend a student should the student leave the programme prematurely. This led to a lot of confusion when they review the students’ progress subsequently, since these students would always be counted towards this progress tracking. As such, we helped to provide a way to suspend a student’s deployment, which would exclude the student from subsequent tracking and from the programme as a whole.
To reduce the amount of data input needed by the users, there was also a need for an improved student mass import functionality. Though such a feature already exists, which allows school staff to mass create students by uploading Microsoft Excel spreadsheets, it was limited in the information that a user could provide, which meant that any other remaining information would have to be keyed in one by one. We thus introduced a feature where the staff member can select the fields to include in the Excel spreadsheet template, so that they can provide more information for the students in a single go.
Lastly, we provided a communication channel for Beyond Social Services and school staff, which allows them to better track and discuss about a student’s progress and performance over the course of the programme.
Migrated Hosting to Amazon Web Services
Amazon Web Services (AWS) is the world’s most comprehensive and broadly adopted cloud computing platform, offering numerous fully featured services from data centers globally. To provide a better experience for our users, the GIC Sparks & Smiles system was migrated to AWS this summer so as to take advantage of the scalability and reliability that it provides.
However, the many capabilities of AWS is a double-edged sword in that it necessarily relies on very complicated configurations, making environment drift a huge concern in migrating the hosting of the application to AWS. This is because manually editing the deployment configuration results in the administration and maintenance of the infrastructure being hard to track, making it easy for errors to occur.
To address the above issue, we made sure that all aspects of the deployment process were expressed as Infrastructure as Code (IaC). By version controlling the environment description and configuration model, we are able to provision environments reliably and on-demand. This also makes our infrastructure setup much more scalable as we are able to easily provision more resources as necessary.
In addition, we also set up a continuous delivery pipeline for deploying the latest version of the application automatically on demand. This greatly minimises the time to deploy and time to mitigate production incidents, allowing the development team to deploy features and fixes fast and with confidence.
Bug Fixes and Other Enhancements
Finally, we worked on various bug fixes and other enhancements. We resolved all outstanding bugs reported by Beyond Social Services and GIC, and added minor enhancements to improve the workflow of the system, such as:
- Improved overall security of the application by tightening permission checks
- Clearer distinction for staff to differentiate between students that were deactivated
- Check for duplication of names when schools enter the students’ particulars
We also improved the overall user experience of the application:
- Introduced better linking throughout the application, allowing for easier navigation around the application
- Clearer indication of error messages
- Upgraded the design system used in the application and provided an improved user interface
- Zhu Hanming (Project Lead, Year 3)
- Emily Ong Hui Qi (Deputy Project Lead, Year 1)
- Joe Eng Yu Siang (Developer, Year 1)
- Tiang Hui Zheng (Developer, Year 1)
- Lien Cai Ting (Developer, Year 1)
- Quek Jia Zhi, Shaun (Developer, Year 1)
It has been an awesome experience working with these brilliant team members – it was really heartening to see everyone learn and grow over the summer, and I also learnt a lot from each and every one of them. I am glad to have been able to serve through CVWO once again.
An awesome opportunity to apply our software engineering skills to interesting problem domains as a team, and learn how to factor in users’ context and requirements to tackle the right problems!
My growth as a developer over the summer has been incredible. It was extremely inspiring working with such capable teammates!
While CVWO has been an intense journey, at the end of the day I learnt a ton and had lots of fun. Definitely honoured to be given this opportunity to work with the team, and make an impact to the community in such a unique way :D
– Hui Zheng
From CVWO, I learnt that it is crucial to think about not just the ‘how’ of solving an issue, but also the ‘why’. This has been a truly meaningful experience, and I am grateful to CVWO for giving me this opportunity to learn and work alongside really brilliant people!
– Cai Ting
CVWO has been an amazing opportunity for me over the past summer: throughout these past 3 months, I have not only learnt many new technical skills, but also experienced how to collaborate with others and to interact with clients, among other soft skills that I wouldn’t have had the chance to pick up otherwise. Having also worked with many talented and friendly peers, I have thoroughly enjoyed my time during CVWO as well. Overall, CVWO has truly been an invaluable experience for me, and was a wonderful opportunity to engage in meaningful, impactful work while growing as a software engineer.
We would like to express our heartfelt gratitude to the following people who have been influential and supportive during our project:
- Prof Ben Leong (NUS) for his advice and guidance.
- GIC for their generous support of the CVWO programme.
- Chiu Ying Yik (Beyond Social Services) and Mandes Sim (GIC) for their co-operation and support throughout the GIC Sparks & Smiles project.