ChatGPT CLI (2023)
A command-line client for the OpenAI API, written in Go. Start a conversation, resume an earlier one, or save the history to a file. Built for fun and to learn Go.
Terminal demo
I'm a software engineer based in Toronto, Canada. I work on backend systems, mostly with Java, Kotlin, TypeScript, Spring Boot, and NestJS. My interests include the JVM, microservices, and distributed systems.
A command-line client for the OpenAI API, written in Go. Start a conversation, resume an earlier one, or save the history to a file. Built for fun and to learn Go.
A rental property monitor for the Netherlands. It watches for new listings and notifies subscribers when properties become available. Built with Michael Tong, using React, Java, Spring Boot, and Selenium.
An anonymous messaging app with private, temporary chat rooms. Create a room, invite someone, and chat without an account. The room is destroyed after everyone leaves. Built with React, a backend migrating from Express to Spring Boot, and PostgreSQL.
Some projects I contributed to professionally, and my university project.
Backend microservices for a credit card app: payments, transfers, payment reminders, content management, and notifications. I also worked on unit and integration tests with JUnit and Mockito. Java, Kotlin, Spring Boot, and Kubernetes.
A web application connecting policyholders with premium financing specialists. My work covered API design, JWT and OAuth2 authentication, role-based access control, logging, and maker-checker workflows. NestJS, React, AWS ECS, and Docker.
An SMS platform with a web interface and REST API. I developed poller microservices and the web interface, and performed unit, integration, and load testing. Java, Spring Boot, Kubernetes, and RabbitMQ.
An internal command-line migration framework built with Java and Spring Boot. I designed reusable migration logic and interfaces for developers to supply their own business rules.
My final-year project at The Hong Kong Polytechnic University. I extended an Intercloud Gateway and developed MIT App Inventor extensions so mobile apps could connect to Intercloud networks and transfer data. Written in Java.