I'm currently in my second year of studying at the University of Waterloo. Technology has been a passion of mine for as long as I can remember and it is reflected in the work that I do.
The base of most web applications and has become the heart of JavaScript programming
The most popular way to view the web, Bower and Grunt immensely help automate the building process
Google's open-source MVC framework, a strong component of many developers' toolbelt
Intuitive full-stack app building especially when coupled with AngularJS to create Angular-Meteor
C style syntax with near C performance. Great language to build a foundation of programming
Experienced in building and maintaining hardware consisting of PCs, cryptocurrency mining rigs, and home networks.
Leadership skills developed through engaging in philanthropic events and leading/presenting to large crowds of people at events.
Self taught skills with the initiative to learn more. Efficient and greatly self-motivated to understand new skills, technologies, and concepts.
My first encounter with MVC model prorgamming, and my first real experience programming a web application. AngularJS proved to be an interesting technology to learn and gave me my base of how I understand frameworks.
Learn More View Project PageBorrowing the same fundamental concepts that I learned from my Forecast application, I added Meteor to my stack to help create a functional to-do list with sign-in sign-out functionality (courtesy of Meteor's Accounts API).
Learn More View Project Page View GitHub PageAn application I thought of when I realized how fast the tasks in my To-Do list app syncs. It follows the same structure as my To-Do list app but allows users to select their own customization using Angular.
Learn More View Project Page View GitHub PageBecame acquainted with GruntJS, Bower, and many smaller NPM packages such as image-minify and browser-sync. Between understanding how a JS taskrunner works and incorporating SCSS syntax, my workflow has greatly improved.
Learn MoreGoing into this project, I wanted to learn how to not just code simple static websites, but dynamic sites that can pull information from different API's across the web, and complicated applications that serve a real purpose in a person's day to day life.
I stumbled upon many different stacks of technology to learn from, from LAMP stack to Ruby/ROR to MEAN stack. I settled on learning JavaScript because it seemed to have the biggest growth and has been a strong contender for leading the web application market, even though it is still a relatively new language.
I started learning JavaScript through Codecademy, and it was a great learning experience. Firstly I took the all-purpose JavaScript course, and I was able to pick it up very quickly because of its similarity with Java and C++, those being the basis of my knowledge of OOP and coding in general.
From there, I took the AngularJS course. I won't lie... it was a very challenging course. Trying to understand an MVC framework with no one's to ask questions proved to take longer than I had expected. Thankfully Google is knowledgeable as always and I was able to understand concepts along the way.
The main things I learned was how a JavaScript file communicates information to its HTML counterpart, and how to think the "Angular" way. I used OpenWeatherMap's API to create a very plain looking web app, which serves its purpose.
View project pageThe main technologies being used here were Angular-Meteor, MongoDB, and Meteor's User-Accounts API. Prior to this project, I found a video online that demonstrated how easy it was to create a web application when you add Meteor to AngularJS.
After watching many tutorials and reading the docs of Meteor, I half understood half didn't understand how to exactly code the app I was going for. I ended up following many tutorials until I came to the conclusion that is my To-Do List application.
Although Meteor made the process of building the app very automated, I did not feel comfortable using it. To be frank, there were too many "magic lines of code" that simply made the application do what I wanted it to. There were parts of code that I didn't understand but still put in, and it worked as intended.
I had actually thought of creating my own API to generate my own accounts api but halfway through doing research on cryptography practices I realized Meteor had an API just for that. There was no need to use SHA-256 or SHA-512 and incorporate salts and peppers and then add a slowing algorithm to prevent brute force attacks, Meteor just had something that worked.
I have to really give credit to Meteor as it made creating this app scarily easy, and many people could do the same.
View project page View this project's GitHubThis Chatroom web application was made using Angular-Meteor and borrowed many of the same concepts from my To-Do list app. After realizing the asychronous data was nearly instant and synced between clients, I thought of this project.
The main problems I faced with this was using input from HTML and Angular and putting it into the output of the messages. I picked up JQuery on the fly and became well acquainted with AngularJS's selectors.
I did my best to not refer back to my previous project so I could learn how to independently create an Angular-Meteor application
View project page View this project's GitHubThe technologies I learned to use while doing freelance include GruntJS, Bower, and many smaller NPM packages such as node-sass, image-minify, browser-sync. Between understanding how a JS taskrunner works and incorporating Sass instead of CSS into my projects, my workflow has greatly improved.
By using browser-sync, Atom and other packages, it improved my overall usability compared to before. And of course, all of this wouldn't be possible unless I was running some version of Linux with a concise understanding of CLI tools.