My Projects
Monte Carlo Tree Search PAD Agent
reinforcement learning
- An agent that solves Puzzle & Dragons boards using MCTS
- TODO: try reinforcement learning algorithms
- TODO: demo website
Crypto Balancer
google cloudserverlessTypescript
- Trading bot written in TypeScript
- Pulls market shares of cryptocurrencies from CoinMarketCap and balances portfolios accordingly
- Deployed on Google Cloud Functions & Cloud Scheduler
ResumeBuilder
Next.jsReact.jsTypescriptSass
- Resume builder app built with react-pdf
- Real time pdf preview that provides instant feedback
- Fully customizable sections that can be easily modified
imbiased Backend API
C#.Net CoreDockerSwarmSQLTraefik
- Restful API service implemented with .Net Core
- Implemented the code with the Repository-Service Pattern and DI
- Deployed with docker swarm mode as a service with traefik as reverse proxy
- Supports authentication, creating topics, comments, reCAPTCHA verification, pagination, etc.
- Connects to a PostgreSQL database
Daily Trend Scraper
TypescriptNode.jsMongoDB
- Automatically collects data from google trends into a database
- Implemented with node.js and typescript
- Uses node-cron to collect google trends data every hour
- Inspired by the observation that google trends only supports looking up data up to 3 weeks ago. I wrote this app to keep historical data, allowing users to look up trends further in the past
DevConnector
React.jsHTMLCSSJavascriptNode.jsExpress.jsMongoDB
- Social network for developers for to create resumes to showcase their experience, skills and education
- Supports creating and editing posts, commenting on posts, and liking/unliking posts
- Implemented RESTful backend API with Node.js and MongoDB, and frontend with React and Redux
- Automatically fetches users repositories from Github and displays them on the profile page
CPU simulator
C++
- Processor simulator that imitates the behavior of a MIPS processor in running instructions in C++
- Implemented functionalities such as forwarding, pipelining, TLB and a caching algorithm