Peter H.

Hello
I'm Peter

Software Developer based in Vancouver ๐Ÿ‡จ๐Ÿ‡ฆ

About me

I am an active learner who has discovered my passion in software development through self-learning.

After obtaining bachelor degree of social science, I completed the Harvardโ€™s CS50x online course to learn fundamentals of computer science.

With a thirst of knowledge and keen interest in innovative technologies, I have completed my study of Computer Systems Technology at the British Columbia Institute of Technology.

Skills

Programming Languages

โญ๏ธ
Java
โญ๏ธ
JavaScript
โญ๏ธ
TypeScript
โญ๏ธ
Python
C
C++
Ruby
Go
Scala
Kotlin
Swift

Frontend / Web Development

HTML-5
CSS-3
โญ๏ธ
React
Vue
โญ๏ธ
Redux
โญ๏ธ
Nextjs
Gatsby
Bootstrap
Material UI
โญ๏ธ
Tailwind

Backend Development

โญ๏ธ
Express.js
NestJS
โญ๏ธ
SpringBoot
Spring Boot
โญ๏ธ
FastAPI
Django
Flask
Rails
OAuth 2.0
JWT
RabbitMQ
Temporal

Mobile Application Development

swiftui
SwiftUI

Database

โญ๏ธ
MySQL
โญ๏ธ
PostgreSQL
โญ๏ธ
MongoDB
Firebase

Software Testing

JUnit
Mockito
Mockito
Jest
โญ๏ธ
Playwright
Puppeteer
Selenium

DevOps and Infra-Architecture

โญ๏ธ
Amazon Web Services
Microsoft Azure
Google Cloud Platform
โญ๏ธ
Docker
Kubernetes
Helm
Nginx
Vercel
โญ๏ธ
GitHub Actions
Jenkins
AwsCdk
AWS CDK
Serverless
Kibana
Sysdig
New Relic

Software Development

โญ๏ธ
Git
โญ๏ธ
GitHub
GitLab
Linux
Bash
Makefile
Makefile
Jira
Trello

Machine Learning

Tensorflow
PyTorch
Hugging Face
Hugging Face
AWS SageMaker
AWS SageMaker
GCP AutoML
GCP AutoML
Streamlit

Data Analysis

R
R
Pandas
Pandas

Projects

๐Ÿ“ง Email Service
Daily News Highlights
  • Send daily email digest to users to summarize news in today's era of information overload
  • Fetch news data from public RESTful APIs of multiple sources, including Google Trends and YouTube
  • Use React to curate email digests that support both light and dark mode styling
  • Containerize the application with Docker
  • Adopt multiple AWS tools (Lambda, ECR, EventBridge, CloudFormation and SES) to build the email service
RESTful APIReactTypeScriptDockerAWS
๐ŸŒ Web Application
HK Mahjong Calculator
  • Calculate mahjong scores for players who are not familiar with the complex game rules
  • Build the project upon an open source project inspired by Wordle
  • Use Playwright and Jest to perform automated end-to-end testing
  • Build API endpoint using AWS Lambda and API Gateway for collecting users' feedback
  • Use GitHub Actions to build CI/CD pipeline and automate deployment on AWS CloudFront
ReactReduxTailwindAutomated testingAWSCI/CD
๐Ÿ“ฆ NPM package
hk-mahjong
  • Publish the first-ever NPM package that implements the scoring rules of Hong Kong Mahjong
  • Build the package using Object-Oriented Programming with TypeScript
  • Apply the Breadth First Search algorithm to solve complex problems in the Mahjong context
  • Adopt the Jest framework to perform unit testing
TypeScriptObject-Oriented Programming (OOP)Breadth First Search (BFS)
๐Ÿ’ฌ Chatbot UI
Chat LLMs
  • Build a custom web application on top of an open source project using Next.js and Vercel
  • Integrate advanced Large Language Models (LLMs), including OpenAI's GPT-3.5, Cohere's Co.Generate, BLOOM, and Facebook's BlenderBot
  • Demonstrate prompt engineering skills to create custom prompt templates that allow users to efficiently utilize the LLMs
  • Implement OAuth 2.0 with GitHub to ensure robust security and authenticate user identity
Next.jsVercelOAuth 2.0Prompt EngineeringLLM
๐ŸŽฒ Machine Learning
Text Classification Model
  • Fine tune a pre-trained BERT model with a self-built custom dataset
  • Build a text classification model using PyTorch and the Hugging Face Transformers library
  • Deploy the model to AWS Sagemaker for downstream applications
PythonTransformersNatural Language ProcessingHugging Face
๐Ÿ† Hackathon
FocusHacks
  • Help users get back on track when they lost focus during work
  • Won the award of Most Creative Use of Twilio of NewHacks 2021
  • Build frontend with Vanilla JavaScript and backend with Express.js
  • Used Machine Learning to visually track users' activity and productivity
  • Send email alerts to users via Twilio SendGrid when they lost focus during work
JavaScriptExpress.jsTwilio SendGrid

Contact

If you have any questions, or if you just want to say hi, please feel free to reach out to me.