Portfolio Website

Goal:

The goal of this project was to both practice my newly learned Python and MySQL skills and to develop a way to showcase my data analysis skills. Some tools I’ve used, such as Tableau and ArcGIS, allow you to display projects on your profile, but this solution would leave me projects scattered in different places and wouldn’t provide practice for skills outside of those used on those platforms specifically. Other websites, such as Dropbox or Google Drive, would allow me to share projects I’ve completed, but not in the way I’d like to display them. That’s why I chose to build my own portfolio website.

Methods:

To complete this project I used web design and development skills learned in Dr. Angela Yu's Udemy class, “100 Days of Python: The Complete Python Pro Bootcamp.” As a starting point, I used the day 71 files, a blog template, as well as the Finexo Free CSS Template from Free-CSS.com. From there I added my own content, including my bio, resume, and projects. Once the website was approximately 75% complete, I took on the challenge of getting it online. Thanks to PythonAnywhere, this website is proudly running on sustainable energy, as verified through websitecarbon.com and thegreenwebfoundation.org. All project information is stored in a MySQL database.

Challenges:

The most challenging aspect of building my portfolio website was getting it online. I had the domain name, the code, and knew I needed a hosting service to get it online, but with only a vague idea of what “hosting a website” even meant, I took to the internet to research. After a day or two of research I decided to use PythonAnywhere to host my website because it runs on green energy and is able to host python-based websites. After another day of finagling, I managed to connect my GitHub account to PythonAnywhere so that I could updated my code files as needed in the bash console, and my domain name to the one given to me by PythonAnywhere so that lydiakidwell.com would get people to where they need to go. And voila! My portfolio website was live. There was still a lot of work to be done, but it was live.

Tools:

  • Languages: Python, Bash, SQL, HTML, and CSS
  • Frameworks: Bootstrap and Flask
  • Templates and templating engines: Dr. Angela Yu's blog from her Udemy course, Finexo Free CSS Template from Free-CSS.com, and Jinja
  • Hosting service: PythonAnywhere
  • IDEs: PyCharm and PythonAnywhere
  • Git repository: GitHub
  • Database management system: MySQL

Sources:

N/A

Improvements:

This project was “completed” in February 2025, but there are many improvements I would still like to make. I would like to improve the design of the website by changing the color scheme and adding a carousel to display projects in order to learn Sass and to make the website more my own. Future sustainability improvements include learning green web development principles and implementing them into the site. Lydiakidwell.com, as of February 12, 2025, has a carbon rating of “B” and produces 0.31g of CO2 every time the home page is loaded, according to websitecarbon.com. This is good, but I want to make it better. Another sustainability improvement planned is migrating to a different green hosting service so as not to use AWS (a few websites where you can read about Amazon’s unethical business practices: https://www.ethicalconsumer.org/retailers/ten-reasons-avoid-amazon, https://makeamazonpay.com/, and https://www.amazonclimatejustice.org/). Last but not least I plan to improve accessibility on the site by reviewing my code and implementing Web Content Accessibility Guidelines (WCAG) international standards.

See this project on GitHub