I'm passionate about building and deploying applications at scale. I love being a part of making the world a better place, no matter how big or small the impact.
I began building websites in 2012 (when web standards were still fragmented thanks to that one horrendous browser). I've worked on quite a few Node.js projects since 2013 and recently started picking up Go and Rust. I also love to run scalable and distributed systems hence I'm trying out Kubernetes.
I've also spent 7 years using Linux systems at home (having used a laptop, Raspberry Pi, custom built desktop, Xserve and now DL360 G7). My home network used to run pfSense, but now it runs dual-stack IPv6 and IPv4 on Alpine Linux and OpenWRT on a mix of consumer and small business equipment.
Happily Ever After
Co-founder and lead software engineer. We're building a DAO focused on providing universal preventive healthcare and our mission is to add 10 billion healthy years to the planet.
I led the development of a prototype health superapp in Flutter using Scrum practices with sleep wellness content from NUS researchers, which we ran a pilot with 20+ participants. I also researched protocols for decentralised data storage and wrote a specification for adding sharing primitives on top of a decentralised data storage protocol. I did initial work on a Dart library for the protocol.
I helped set up the Requests for Discussion workflow and Design Thinking workflow for the team using Notion, and on-boarded everyone on the process.
Singapore Armed Forces
Worked on and was the team lead for a software engineering team to build a cybersecurity automation system in TypeScript and Next.js. I set up the development practices, worked with stakeholders to set requirements, did code review, integrated various systems, handled network and system administration.
Learned a lot about leadership, communication, team management, engineering practices and tooling through exploration and guidance.
Co-founder & Technical Advisor
Worked on the mental model, user experience and design for a port-call management application with my founder. Built a prototype app in Vue.
Attempt at developing a new communication platform based on seamless voice and text conversion. Learned a lot about teamwork, business model, funding, UI/UX and startups in the process. Especially grateful for the many mentors we met and learned so much from.
Software Engineering Intern
Worked on a PoC for the traintraintrain project to improve it's security, wrote an API wrapper to translate Emails into API calls, and built a Kafka setup.
- Turning cities into time @ GoSG (Jul 2022)
- Choosing the wrong footprint @ Hackware v4.3 (Aug 2018)
- Managing services on one server with Portainer and Drone @ Docker Singapore (Dec 2017)
- Kubernetes on Container Linux @ Singapore Kubernetes User Group (Jun 2017)
- Building high availability applications @ BuildingBloCS 2017
- Edison - Taking Flight @ Hackware v1.9 (Jun 2016)
Why @serverwentdown? Because a good cluster can tolerate node failures.
- Continuous Integration / Deployment
- Linux Administration
- Computer Networking
- Network/Computer Security
- Embedded Systems
- Distributed Systems
- Graphic and UI Design
- Server Hardware/Configuration
- Road Bike: Merida Scultra 901
- Camera: Nikon D610
MacBook Pro 2016 13", iTerm, chunkwmFramework (12th Gen Intel), Fedora Silverblue, Sway/GNOME
- Development Environment: Neovim, ZSH (dotfiles)
- Distros: Fedora, CoreOS, Alpine, Gentoo
- Docker, CoreDNS, Traefik, Let's Encrypt
- Drawing: Figma, Inkscape
- Homelab: Ryzen 7 3700X PC running Fedora & ZFS,
N3050 box, HP DL360 G7 in 24U
- Keyboard: Programmer Dvorak, Lily58 (3D printed case)
- Hardware: KiCad, Yihua 936, my friend's Prusa i3
Chairperson, GeekcampSG 2022
Coordinating the organising team for GeekcampSG 2022 and learning a lot in the process. Was a two-track event with many local technical speakers, hosted by SP Digital and sponsored by local startups.
Organiser, GeekcampSG 2021
Major contributor to the organisation of GeekcampSG 2021, an online event hosted on Gather with technical speakers from around the world.
Organiser, GeekcampSG 2020
Major contributor to the organisation of GeekcampSG 2020, an online event held in front of a green screen on Microsoft Teams with technical speakers from all around the world.
Organiser, FOSSASIA (2020)
In charge of the video team. We pulled off a last-minute addition of livestreaming that didn't go so well but worked. I gained a lot through this experience making mistakes and learning from them.
CTF Organiser, GeekcampSG 2019
Organiser, FOSSASIA (2019)
CTF Organiser, GeekcampSG 2018+
Web Developer, Photographer, BuildingBloCS 2018
Facilitator, Speaker, BuildingBloCS 2017
Video Recording, EngineersSG (2018-present)
Help record local tech meetups like Hackware, GoSG, GraphQL Singapore, Singapore CSS, SingaporeJS
- HITB SecConf2018 Dubai .pro CTF, 1st Runner-up
- HITB GSEC 2018 .edu CTF, 1st Runner-up
- Asia Pacific ICT Alliance Awards, Merit (School Project) (2015)
- CrossCTF 2018, Champion
- CrossCTF 2017, 1st Runner-up
- Hack&Roll 2016, Best Freshman/Non-Tertiary Award
- Hackathon@SG, Merit & Secondary School Prize (2015)
- Hackathon@SST, First Prize (Secondary) (2015)
- NIC Face-Off | App Development, Champions (2015)
- HITB GSEC CTF, On-site Participation (2017)
A dropbox backed by any S3 bucket, written in Go.
As part of SIT's ICT2202, we built FACT, a tool to collect, process and visualise forensic data from clusters of machines running in the cloud or on-premise. Written in Python and TypeScript using Next.js.
A collection of nicer Docker containers I use.
As one of the founders and president of AppVenture, I developed project management infrastructure, built the website to showcase apps developed by computing students, and helped organize events for computing students in NUS High.
A small programmable LED keychain based on the Digispark. KiCad, PCBA.
A platform for sharing unused goods to bring about the kampung spirit. Written in Node.js.