Work
Projects
This is my attempt at recreating the classic video game, Pong. I built the game using the Canvas API and TypeScript. This was the first time I had to deal with collision detection. It was intimidating at first but after some reviews and experiments, it was quite easy and fun to solve! The Computer/AI is almost impossible to beat, considering it updates its paddle Y position based on the ball's Y position.
jaTracker is a job application tracker. I wanted to step outside of my comfort zone with this project. I wrote the frontend code in React and TypeScript, used React Context and Hooks for state management, and the backend in Python with Flask, using MongoDB and GridFS for storage.
My portfolio. This was business as usual with SCSS/TypeScript, but I wanted to reduce the repeating of HTML. I used Mustache, utilizing templates and partials, to generate all the HTML, and Gulp to hold data and provide it to Mustache. The gulp task then writes all the mustache templates into 1 HTML file.
tlkr. was a project that I always wanted to do, to create my own social media site. I used Angular for the frontend and NodeJS with Express and TypeScript for the backend. I used MySQL for storing data, and Sequlize on the backend to communicate to the database.
I developed this tool to assist in the generation of CSS keyframes with animation timings, delays/pauses, and states. Vanilla CSS animations can only be delayed at the start - So to delay the animation, you have to break the keyframe into 2 steps. The first step being the animation time and the second being the delay time. This tool does the math to calculate seconds to percentages in keyframes and generates a template for you.
Toolkit
- HTML5
- CSS3
- SASS
- JavaScript
- TypeScript
- Webpack
- Angular
- RxJs / NgRx
- React
- Redux
- Gulp
- D3
- Bulma
- Bootstrap
- Java
- NodeJS
- Python
- Apache
- MySQL
- MongoDB
- VS Code
- IntelliJ IDEA
- Linux
- Git
- GitHub
- Postman
- Big Commerce
- Grav