About Me

Hey there, I'm Alvin or, if you're a fan of Alvin and the Chipmunks, ALVINNN!! I graduated from San Jose State University with a Bachelor of Science in Global Operations and Management. I love creative processes, in particular software development and music. Within the last year, I've developed a wide range of full stack projects using JavaScript, Python , Flask, React-Redux, and Sequelize. For me, there is nothing more satisfying than turning a feature idea into reality.

Skills

JavaScript
Python
React
Redux
Flask
PostgreSQL
Node.js
HTML5
CSS
AWS
Mocha
Chai
Docker

Projects

Audio Shrub

Audio Shrub was born as a homage to Audiotree and Bandcamp, and is built using JavaScript, Python, React-Redux, Flask, SQLAlchemy, and AWS. This project was lots of fun and had me thinking about how I should utilize the Redux store to limit the number of fetch requests; fetching with Heroku's free servers has a noticeable delay. This project was the first time I worked with audio files and definitely brought along some headscratchers when it came to validations using Flask validators for multiple select inputs. Another thing that surprised me was the relative ease in setting up and uploading to AWS.

Catflix

As you probably guessed, Catflix is a cat themed Netflix built with Python, JavaScript, React-Redux, Flask, SQLAlchemy, Alembic, and AWS. This project was a collaborative team effort and was rewarding as it was challenging. I can't fully express in words how grateful I am to have been able to work alongside my team members Miguel Flores and Franco Portin. I'll never forget about that time when we stayed up past 9pm trying to figure out why our app consumed over 10GB of ram only to trace the bug back to a one liner in our model file where we improperly used a lazy joins. Cheers to the meowstronauts, and I can't wait to join my next team!

FoodReads

FoodReads is a Good Reads clone built with JavaScript, Express.js, postgreSQL, Sequelize.js, node.js, and Pug. To make this app responsive, we heavily utilized AJAX and Restful API. One particular challenge was making a reactive search in which we initially made a fetch request to the postgreSQL database on every key up but quickly realized that we were flooding the backend with excessive fetch requests, especially on longer strings. To fix this, we utilized a setTimeout and a clearTimeout to clear away the excessive fetch requests resulting in a better user experience while reducing the workload.

Resume