What I've built and what I've learned in 2019
Tags: webdev, opensource, productivity
Published: 2019-12-29 13:54:33

From my blog [uzpg.me](http://uzpg.me)
![github contribs](https://thepracticaldev.s3.amazonaws.com/i/09czh255msb3hcri2hwi.png)

This post is a recap of everything I've learned and done in 2019 and the projects I was and am building. I've included links to all the amazing resources I used to become a better programmer.

This year is the one I truly started programming. It all started on a rainy day in January when I was sitting at my desk with an English assignment. What I had to do was robotically scan a text for <a href="https://literarydevices.net/" target="_blank" rel="noopener">literary techniques</a> and to be honest, I was downright bored out of my mind. So, although my coding knowledge was **very limited**. I had the idea to build a website that would scan a text and return all literary techniques so **no one would have to do it again**. And for a novice programmer, that is a **difficult task**. But the fact that I had this motivation is what allowed me to get somewhere with this project. You can view the codebase for the project named Litscan [on Github](https://github.com/Uzay-G/Litscan) (keep in mind I was a beginner if you look at it :] ).

Although the project did not get to deployment or production, I am so happy I did it because it sparked my interest in coding and taught me so much! I went from coding static html pages all the way to learning [NLP](https://en.wikipedia.org/wiki/Natural_language_processing) and building my first webserver.

Working on this and learning about all the components took a bit of time but I then did an internship at [Tweag](https://www.tweag.io/). I was mentored by [Matthias Meschede](https://github.com/mmesch) and [Arnaud Spiwack](https://github.com/aspiwack/) and I also had the opportunity to learn from [Guillaume Bouchard](https://github.com/guibou) and [Kris Jenkins](https://github.com/krisajenkins). They opened my eyes to what it's like being a professional developer and different paths you can take to become one.

I then started completing the open source [Odin Project](https://theodinproject.com) curriculum for web development. It's an awesome resource built with the help of volunteers and open source maintainers. I recommend it and I believe it's one of the best resources to get from zero to hero in webdev. It made me discover Ruby and it's Rails framework that I love using. It also introduced me to the world of [open source](https://opensource.guide/how-to-contribute) and developed my knowledge of git.

As a part of this curriculum, I followed Michael Hartl's in-depth [Ruby On Rails tutorial](https://www.learnenough.com/ruby-on-rails-4th-edition-tutorial/beginning). Once again, I decided to apply the methods of [project based learning](https://www.pblworks.org/what-is-pbl). Instead of building the sample app of the book, I decided to follow the same outline but instead build [Metadigest](http://metadigest.uzpg.me?ref=blog). Metadigest is a newsletter I built in Rails that scrapes different APIs to get the the most popular tech content for the week. I then curate these articles and send the digest! Through this, I learned about encryption, api requests and also how to setup a production rails website with an AWS ec2 container.

Flash forward to now, I'm learning a lot about computer science, hacking and AI with these great resources:
- [Free Programming Books](https://ebookfoundation.github.io/free-programming-books/), a collection of amazing programming books for pretty much everything.
- [Tech Interview Handbook](https://yangshun.github.io/tech-interview-handbook/), tips and tricks to hack your coding interview
- [Hacker101](https://elementsofai.com), a great free intro to hacking.
- [Elements of AI](https://www.hackerone.com/hacker101), an open MOOC introducing people to AI built by the Swedish government.

While I learn with this free content, I am also beginning to work on Devolio, an open platform for developers to share, discuss and create. This is my biggest project for now as I want to let users customize their profile design with css and am building an API for users to integrate with Devolio in their own creative projects.

I haven't launched yet, but you can check out the landing page at:
- [https://www.devol.io](https://www.devol.io/?ref=blog)

I'm really excited about this website because I think it can become something really interesting and I might open source it if there is enough interest and I can sustain myself.

I'm also thrilled to have built my tech blog which you are reading through right now and to have written 11 articles in the last 5 months.

## Looking towards the future with 2020
### Progress with Devolio
I am going to work on this project. I want to build an efficient server and develop the features outlined on the [landing page](https://devol.io/?ref=blog).

The big challenge is going to be user acquisition because well, a social media site needs users before it is useful and I don't have much funds to advertise.

The idea of open-sourcing the code is very alluring. I know that if I can grow an open source community the project will become amazing because the ability for any dev to just contribute and use their creativity to make the tool better for like-minded people is extremely powerful.

### Vue, WebAssembly and Node
The stack I use for my webapps could be considered a bit "outdated" and I want to understand the big popularity surge of Node and Javascript frameworks like Vue or React. I found this nice [Node book](http://book.mixu.net/node/single.html) I will read when I have more time. [WebAssembly](https://webassembly.org) also seems like an interesting tool I could use while I learn Rust.

### Whitehat Hacking
I think learning more about **ethical hacking** could be a very interesting subject to explore with this [hacker101 course](https://www.hacker101.com/). Once I complete that, I want to try my hand at their [Capture the flag](https://ctf.hacker101.com/) mock exercises and bug bounties. 

### Design
Design is a fun part of webdev and I want to get better at making beautiful websites and mockups with Figma. Here are some of the appealing sites I've found:
- [Igma.im](https://igma.im/)
- [vincentsaisset.com](https://www.vincentsaisset.com/)
- [burakaslan.me](https://www.vincentsaisset.com/)
- [davideperozzi.com](https://davideperozzi.com/)

### Open Source Organizations
I'm currently working with different open-source organizations as part of the [Google CodeIn](https://codein.withgoogle.com/) and I love coding with others on an open source project and the collaboration that is required for building complex tools. I want to find more orgs that I can contribute to and develop. Do you know any welcoming ones?

What are you planning to do next year? Please comment down below and I'd love to chat with you!