Badges
Contributions
Technical Skills
Cloud- AWS Cloud Practitioner
- AWS JAM (1k points in 8 hours, single player)
- HTML
- CSS 3.x
- JS (jQuery 1.4)
- PHP 5.x
- MySQL 5.x, 8.x
- Flutter 3.3 (Dart 2.18)
- Python 2.x, 3.x
- Ubuntu 18.04, 20.04, 22.04
- Cloudflare
- Docker
- Prometheus, InfluxDB, Grafana
Hobbies
- Vocal House, Vocal Trance
- Netflix, Disney+...
- Gym
- Sports Climbing [SNCS Level 1]
- Ice skating
- Snow boarding
- Traveling
- Aikido [Shodan]
Past Works toggle
- Python program that overlays text at a 45-degree angle (watermark) onto image files (png, jpg, webp)
- Processes locally a batch of files with the allowed extensions (png, jpg, webp) from /input (for loop, pillow) and outputs files into /output
- Wrapped program with a Docker container to allow portability
- Code published on GitHub
- Container image is on Docker Hub
- Python 3.11, Pillow 9.0, Docker 23
- Using Minecraft as a pilot digital initiative to gamify Singapore Night Festival
- Recreate Armenian Street in a virtual (Minecraft) world
- Players sign up for a Heritage ID account to play the Minecraft game
- Worked with coding school to design and create the game world, collaborated with internal stakeholder on the art content
- Players receive a festival exclusive keychain for participation
- Coded Android app (with Flutter) to QR Code scan Heritage ID to track gift redemption
- Led and managed the project end-to-end
- Turnaround time for project from conceptualization to go-live about 3 months


- Simple website with guest check-in system
- Created in about 2 weeks with Python





- Managed and oversaw the development of a corporate mobile app for product traceability and service installation
- Learned Flutter v1.17 on YouTube and built my own inspired version instead. Has no reference to the corporate mobile app (which was built on React Native, which is different from my Dart codebase)
- Coded the front-end only. With some code changes, this should connect fairly easily to a NoSQL DB e.g. Firebase




- Caddy is a lightweight open source web server with automatic HTTPS written in Go.
- After years of using Apache (which was good until nginx came) and nginx (which was really good but setting up advanced configuration required quite a bit of learning curve and made the config file messy), I found Caddy. I thought that it is just as good as nginx but better with simpler config and it even sets up and renew LetsEncrypt SSL automatically
- At time of writing, although Caddy was beginning to gain momentum in support for Docker containerization, it understandably didn't natively support popular integrations like Cloudflare
- Telemetry was also enabled by default in an unofficial yet widely supported Docker image (abiosoft/caddy), which I wanted to turn off
- To make my webserver setup easier, I used their builder to add reauth (authentication) and cloudflare (DNS provider) plugins and disabled telemetry.
- The Docker container can be pulled here
- Add another VPS instance. 1 for web server, another for hobby/Docker 19.03 fun
- Mount additional storage volume to VPS #2
- Create swapfile for more memory on non-critical applications (because I am too stingy to pay money to add RAM)
- All web services are HTTPS with LetsEncrypt and renewed automatically. DNS is proxied through Cloudflare
- Services which do not need exposure to internet are served within Docker network i.e. only 1 port (HTTP) is exposed, the rest are reverse proxied with Caddy
- Created personal profile on vtsuki.net


- Created a bat file to simplify management of Windows Firewall for blocking ports and whitelisting IPv4 addresses for PC game Grand Theft Auto V
- Features such as CEO missions and Biker businesses can only be played in an online session with other players. This can be disruptive especially when there are cheaters (modders) in the game and you want to play your game in peace
- There is no modification to the underlying game and in fact just stops certain outbound traffic that the game uses to connect to other online sessions and allows specific IPv4 addresses (such as your friend's) to connect to your "private" online session

- Attended a CLAIR conference
- Voiced opinions on the issues experienced by JET participants as a Singapore representative
- Discuss on potential improvements and actions to undertake

- Introduce Singapore and its culture to Takaoka Town of Miyazaki Prefecture

- Cooking class for Miyazaki City residents introducing Singapore's signature food

- Introduction of Japanese Tea Ceremony to foreign residents of Miyazaki City
- Teach Japanese residents specific English vocabulary used for conversations on Japanese Tea Ceremony over a course of 3 sessions
- The Japanese residents will then use the 4th session introduce to the foreign residents how to appreciate Japanese Tea Ceremony

- Event originally started by my predecessor
- Recruited foreign residents of Miyazaki to volunteer and participate as Santas and Santarinas in the event
- Assisted in purchase of materials e.g. non-bake cake making ingredients for use at the event
- Participated in the event as a foreign resident of Miyazaki City

- Customized a WordPress 3.7.x theme for a local SME
- Also arranged for the setup of webhosting and email services for client

- Forum for games such as Natural Selection 2, Team Fortress 2. Also initially planned to host private game servers. Whole project never actually took off because I was too busy with other matters and neglected the maintenance and the visibility of the website
- Purchased the domain name, hosted the forum website under one of my Virtual Private Servers (VPS), connected domain to Outlook third-party email service, managed the server administration, firewall security, etc

- Digitalization of record keeping through WAMP stack development and setup
- Gathered user requirements via on-the-job
- Full SDLC in 9 months; PHP 5, MySQL 5, jQuery 1.4
- Also set up servers and networks as part of system go-live
- Infosys includes user profile, user location, user activity, user inventory
- Also displays a map to help admin visualize user locations and location status
- Daily database backups
- PHP 5/MySQL5 stack. Website design provided from client
- Sliced PSD to render the website
- Website includes an Admin portal for client to edit content and check mailing list members
- There is also an Ordering Form which works like a Contact Form (emails the designated client about order information for follow-up)









- School project (Corporate Finance and Advisory Services module)
- Objective was to increase financial literacy via gamification
- The presentation of the game was done through a website
- View website here



- First freelance website project
- Customized and set up for a fashion apparel retailer an e-commerce website with ZenCart
- No payment gateway configured at the time
- Also set up web hosting and domain name for client



- Attempted to create vtsuki.net website using Macromedia Flash with ActionScript
- Animated loading progress bar upon opening index
- Real-time clock at bottom of page, Opening background sound (about 4 seconds), Clickable links at the top menu

- Animated loading progress bar upon opening index

- Real-time clock at bottom of page
- Opening background sound (about 4 seconds)
- Clickable links at the top menu

- Blank because no archives kept at that time
- First attempt at coding in PHP. Learned GIMP to create associated images. Used <table> tag for layout

- Opportunity to participate in Singapore North East Virtual Heritage Trail inter-school website competition organized by Temasek Polytechnic and North East Community Development Council
- Developed and designed overall website while content was developed by team members
- Won 1st runner up
- HTML4, JS

- Sketch of Singapore map
- Layout framed with <table> tag
- North-East (Aljunied GRC, Hougang SMC...) are clickable regions by use of <map><area shape> tags
- Right clicking on all pages is disabled by use of JavaScript
- Scrolling marquee on left
- Date at bottom shows date at which webpage was accessed
- "Bookmark Us" link appears if browser is Internet Explorer 4 and above
- Background music plays only on this page

- Clicking on Gallery in side menu opens a new window
- Simple JavaScript photo gallery

- Content dump with random text/image alignments

- JavaScript quiz which populates correct answers and shows all answers via alert dialog upon clicking "Well... How did I do?" button

- Change background color of webpage by JavaScript
- Background color change is only effective on the page. Will revert after navigating/refreshing the page as there is no cookie to save this session.