08-22-2024
This is really the first major project I've put together that I would feel is complete. I mean, I still have to create content for it. And I have other ideas for improvements. And my brain won't ever let me actually done with any project. But, besides that, I'm proud of this. If you know me, that's kind of a big deal.
Coding has been an interesting adventure for me. You spend a lot of time going through tutorials, paying for courses, watching YouTube videos, trolling through documentation, and making some real crap. Through that process, you feel like you aren't getting anywhere, because you just can understand the process. Figuring out the why is the key. Why what you wrote was not working. Why what you wrote didn't work like you expected. Why what you wrote made you want to die inside.
But all those small victories add up. With determination, blind stupidity, and dumb luck, I got to where I'm at today. Fairly good.
I started building a portfolio many years ago when I first started to learn to code. I had some neat ideas about it. I would create pixel graphics of myself doing things. I would toil away with enormous HTML files, copying and pasting large sections to create the next entry. I would have to convert blog posts into HTML so I could create new posts, adding that entry to a dedicated page for it. It really just wasn't working and at that time, I didn't have the larger foundational knowledge that things can be easier. At least not without using tools like WordPress.
Cut to a few months ago. I've made lots of little things since then. I wanted to start to tackle making a new site for myself. When I started, I had some grand ambitions (I do want to do a couple of those things still). I took out my notebook and started to sketch out pages of content. Different looks and style. Amazing amounts of functionality.
Needless to say, I also failed at finishing that project.
I've been learning more about React over time. Once I heard about NextJS and all that it could offer, I started down that rabbit hole. Before I learned much about how the app works, how the structure works, how React works, I wanted to get a portfolio going. I made the same mistake again.
Once I came to my senses (and actually learned some things), I decided the best action is just to build something. Not from a tutorial. Not from a template. Not from someone else's ideas. Just code using things as simply as I could. I didn't need to do fancy animations or crazy graphics. I just needed a site. I needed it to be simple to use, simple to manage, and simply just work.
I use Obsidian, so I wanted to make a way that I can write project pages or blog posts in Markdown, then copy that file over to the file structure, and it would just work. So I read up on how I can do that, making a system that can read front matter from the markdown and display the content with a simple styling. Could I have something fancier? Sure, but why? What real purpose does that serve? I want things to just work without having to put much thought into it once it's built.
As things were coming together, other ideas came to me, which I was able to tackle with some patience and process. After I had gotten the structure in place, I started to really understand my app, how it functions, how I breathes. I can pass information around easier because I made it myself. I can style things my own way (clumsily) because I styled it (poorly).
It's odd how a project can make you feel. This one, it feels great.
I hope you can enjoy how good this app made me feel to make it. I know it's simple, but it's mine.
There are many improvements that can come to it, there always could be. But this app is the start of something good for me, I can feel it. More apps to come.
Cheers,
Dave.