pngme project and what it taught me

structure project
rust

09 Jan 2026

introduction

New year, New me. First project completed, and I am coming back to keep up with my writing. My first project I completed was the PNGMe guided, but minimal direction project. This is the first project I have done with a structure but no steps.

lessons learned

i was following more than i thought

Doing Advent of Code, and other small blocks of code had helped me with getting used to Rusts syntax. Getting into this project opened my eyes to how I had learnt to either follow a tutorial or solve a tiny problem in my own way. PngMe got me writing and thinking more about how interactions with modules, functions and data would work. This was a lot more of a challenge than I had expected, and that took me (and my ego) by surprise.

regular works to learn

Working on the same problem regularly over a drawn out time period is great for understanding. Small projects change too much, and you move around so you never have to solve the larger design issues. Even with this project, there was little design consideration, but you have to understand how it fits in order to build something that works.

i need to learn how to work out the steps

I was told what to do, and still had some issues. I need to find some very small problems that I need to think about how to get started. Whilst I feel it did a lot of forcing me to think about what I was doing. It still had links to what I needed, tests set up and instructions on what to do next. This is definitely the next part of a project I need to learn how to do.

i am terrible at scoping projects

As a project this is a small thing I will never likely use, and that is fine! I always feel I have to be building something that will change the world or teach me every single part of programming at once. I see the benefit gained from doing this, and it has made me realise, it is okay to build something that isn’t functional or perfect. Just building it is good enough and who knows where it would lead.

what next?

Keep going! I am very happy that 10 days into the year I have finished one project, and I really just want this to snowball now. I have a few ideas of where to take my learning from this project.

  1. Build a Chip-8 interpreter. It seems to be highly recommended from the author of PngMe.
  2. Follow a tutorial and build a kernel / OS or low level functionality. This seems to be the end goal of a lot of books or courses so I can see there must be a lot of value there. It also ties into some longer term aims I have for 2027 and beyond.
  3. Complete my neovim notes plugin. I think this would be a small scope, simple build that would actually be useful in my learning. It will also get my thinking about a beginning to end project without a guide.
  4. Follow the Cryptopals challenges. These seem like smaller challenges to work through to learn about cryptography.

If you are looking for a challenge to move past the awkward beginner phase of learning rust, I would highly recommend following this!