Welcome digital traveler, I'm Ricky Chon
Full-stack developer and open-source contributor
Projects
Some of my best work to date, visit my GitHub to see my open-source contributions!
NEO Dashboard

Keeping track of Near-Earth Objects right from your browser. It may take 10-20 seconds for the initial data to load in, if the app has not been visited in a while. After the initial data has been fetched, loading will be instant since cached data will be used.
Built With
- JavaScript
- React.js
- Redux.js
- Axios
- Sass
- Python
- Django
- Figma
- Heroku
- NASA's NeoWs API
- Spaceflight News API
Rationale
During a time of what may be considered the second space race, this application provides a glimpse into the future, showcasing a SpaceX-styled interface that could potentially be used in various fields, such as asteroid mining, space tourism and spaceflight safety.
My Role
- Created Django boilerplate for backend, React-Redux boilerplate for frontend
- Designed dashboard prototype in Figma
- Implemented caching for backend
- Deployed project on Heroku
Project Difficulties
NASA's NeoWs API limits the number of requests per API key to 1,000 requests per hour.
Solutions
To ensure the API limit isn't exceeded, a cache was implemented in the backend that will serve the cached data until the session expires. By default, the session expires every hour, so that gives us a total of 1 API call per hour, regardless of the amount of visitors the app has.
Notable Features
- Browse through a list of asteroids
- Select asteroid to display additional data
- News feed containing latest space-related news
- Recommended videos section
ShareMyCode

Codeshare.io clone with real-time chat room, and some music. Try it out with a friend or colleague! It may take 10-20 seconds for the app to boot up since it's hosted on Heroku.
Built With
- JavaScript
- React.js
- Socket.io
- Express.js
- Node.js
- CSS
- Heroku
Rationale
The original plan was to build a skribbl.io clone, but due to time constraints an MVP (minimum viable product) was only completed.
My Role
- Created frontend and backend boilerplates
- Connected frontend and backend using socket.io and socket.io-client
- Implemented real-time messaging and notepad
- Implemented state management using React hooks
Project Difficulties
First time learning how to use React hooks and socket.io, so the learning curve was a bit steep in such a limited amount of time.
Solutions
Reading through documentation and watching YouTube tutorials did help me learn how to use React hooks and socket.io. By the end, we had a fully working real-time chat app and notepad, built in only 3 days.
Notable Features
- Real-time chat with other users
- Real-time notepad to collaborate with other users
- A jukebox that plays music for you while you chat and jot down notes
StudentFirst
Built With
- JavaScript
- React.js
- Redux.js
- Express.js
- Node.js
- Axios
- Firebase
- Bootstrap CSS
Rationale
An attempt to make a responsive, student-oriented application similar to the CUNYFirst system, with emphasis on ease of use and a modern UI.
My Role
- Documented, optimized, and refactored REST API routes on the backend, including error handling
- Connected REST APIs to proper object models in Firebase
- Implemented transaction history for adding, swapping, dropping courses, transaction histories
- Created frontend boilerplate
- Created views for adding courses, viewing course lists, modals for enrolled classes
- Connected frontend views to backend REST APIs
Project Difficulties
Learning how to use Bootstrap and Firebase for the first time was tough. We had a week to create a full-stack app on a scale larger than we had previously done, after only 3 weeks of training. This time, we were also working on teams, rather than alone, hence the larger scale of the project.
Solutions
One of my teammates was more well versed in using frameworks like Bootstrap and NoSQL databases like Firebase. My other teammate was more well versed in the backend, such as implementing a cache to prevent our Firebase API from getting ratelimited. During our previous training we had only used pure CSS and PostgreSQL as our relational database. So, I decided to shadow both my teammates to learn these new skills, while focusing my efforts on connecting the frontend to the backend, writing documentation, and refactoring.
Notable Features
- View enrolled courses and their details, such as course description, amount of credits, professors teaching the course, semesters offered
- Add courses to enroll in them
- Swap existing courses with new ones in one click
- Remove courses you don't want
- Search courses by course number in course catalog
Technologies
Here are some technologies that I have worked with
Front-End
- React.js
- Redux.js
- Gatsby.js
- HTML
- CSS
- Bootstrap
- Sass
Back-End
- Node.js
- Express.js
- Next.js
- Sequelize
- Socket.io
- Ruby on Rails
- Django
DevOps and Deployment
- GitHub Actions
- Travis CI
- Docker
- GitHub Pages
- Heroku
- Netlify
- Vercel
Databases
- PostgreSQL
- Firebase
- SQLite
Testing
- Jest
- Cypress
- Mocha.js
- Pytest
- JUnit
- RSpec
Design Tools
- Figma
- Diagrams.net
Timeline
How I started learning, and my biggest milestones
August 2017
Started studying Computer Science and Linguistics full-time at Brooklyn College
May 2020
Joined CUNY TTP Program to study full-stack development
June 2020
Joined MLH as a fellow, contributed to open-source for the first time
October 2020
Returned to MLH as an externship fellow, worked on projects for the U.S. DoD
June 2021
Graduated with degrees in Computer Science and Linguistics, magna cum laude
January 2022
Started my own blog called Brain Kosmos
