Projects
In no particular order, these are the projects that I'm most proud of:
Since we're here, we should start here! This website has been a fun project for me. The initial goal was to make a simple website, but afterwards I converted it into a web app using Flask. The most difficult part was getting the website to look like what I prototyped and understanding how to connect it to the Python backend. To overcome this difficulty, I had to dive into CSS and comb through the Flask documentation to interface my Python program with the front end. To extend my learning, I added some interactivity on the Contact page which taught me to communicate with a SQLite database.
Recete is a simple web app for managing receipts and tracking spending. The objective was to build an entire application from the ground
up while solving a problem in my life. While I faced countless roadblocks conceptualizing, planning, creating, and hosting this application, I also introduced some
self-imposed challenges by making the decision to completely divest myself from the CS50 library for the essential functions of the app.
This meant that I was forced to learn the ins and outs of the Flask framework, SQLite module, and various other libraries in order to make the app fully functional without
training wheels. I'm quite proud of the end result:
Recete
This was a challenging assignment from CS50x and a landmark assignment for me. The objective was to write a program in C that would recover 50 deleted .jpg photos from a .raw file. It was a challenge to understand how to read, write, and free memory in C. I'm proud of my work here because it was the first time I felt that I truly understood the required logic, it was proof that I was making progress towards becoming a developer.
Readability was suprisingly frustrating at first... The goal was to reconstruct a program we had written in C which would take text as input and return the approximate grade level of difficulty, and convert it to Python. Despite knowing the logic for the program and having some prior experience with Python, I quickly found that things weren't as straightforward as I assumed. Python can be powerful because of its abstraction, but it is still crucial to understand what is happening underneath the hood to make a well-designed program. Once I grasped the implicit assumptions made by Python and it's libraries, I was able to complete the project with relative ease.