Andy Zheng.



I'm a Data Analyst who has also done Software Development work from New York City, NY. I graduated from Stony Brook University in 2017. I love coding, design, games and sports. I'm also available for freelance. 👍


Languages: Python JavaScript Java SQL
Technologies: HTML CSS jQuery Node.js Git
Frameworks: Django Flask Bootstrap Express
Databases: MySQL MongoDB SQLite


Shopping List Web Application

This is a shopping list application for people who likes planning and prefer to take their lists on the go. This application features a cloud database, implemented using MongoDB, allowing users to access the list anywhere internet is present. Users may add an item by name, quantity, and price per item. Additionally, users may check the boxes next to the item to cross an item out. It does not end there. Users can delete items from the list altogether by pressing the minus button while items are crossed out. At the bottom displays the total price that the user should expect to spend.

Blackjack in Pygame

This is the classic Blackjack game developed using the Pygame library. Originally, I wrote a Blackjack game that is played purely in the terminal.
It's still in my GitHub repository. However, this application is played in the Pygame client with images, a much better experience overall. Players are given 100 chips to begin, and will trigger a 'Game Over' if the number of chips reaches 0. Players may bet in amounts of 5, 10, 25, 50, or 100. I really want to go into game mechanics, but I'll need a lot more space for that. Click the image for a more in-depth description!


For the past year, I have essentially been making and maintaining webscrapers. The essence of webscraping is to gather information without us having to manually repeat the same task. We let our scripts do that. Thus, I believe we have to implement wait-times inbetween pages and slow down the scrape. We are inconveniencing other people's servers. Moving on, webscrapers will likely break. If the site's structure that you are scraping changes, the code will break. Therefore, the example webscraping script that's shown is for a site that's made to be scraped. This ensures the site wouldn't change their structure, and the code wouldn't break. I can write this once and not maintain it.

Portfolio Website / Blog

This website. There are two main sections: the Blog, and the Portfolio. There are also the carousels, but that's mostly fluff. I have actually implemented and tried using a couple of different cloud databases with the blog, MySQL and PostgreSQL for example. However, the free versions causes the site to time-out very often. Thus, I decided to just go with a local SQLite database, but kept basic functionalities such as creating new posts and registering. I can still post, and visitors can still browse. For the portfolio section, I tried my best to make everything look nice and orderly. That was the design philosphy.


I learned my first programming language when I was a Freshman at Stony Brook University. That was in 2013, 6 years ago.

Since then, I've learned and worked with many different programming languages and technologies.

My preferred programming langauge is Python, so when I decided to write my own website, it was a toss-up between Django and Flask.

I didn't have a preference. However, Flask is the better choice for what I wanted to do. So I went with Flask and this is my work.


Email: [email protected] - Available for Freelancing.