Skip to main content
Back to Writing

Building My Own Portfolio Blog: A Developer's Journey

Joseph Osei Aboagye 6 min read
Building My Own Portfolio Blog: A Developer's Journey

Why I Built This 😌

Hello and welcome to my corner of the internet. You're reading the very first post on my brand-new portfolio-blog site, and I couldn't be more excited to share this journey with you.

So, I've been thinking about creating my own blog for a while now and just last week I got to work. As I am writing this very post of mine is the day well I finished with the most part of it. I mean maybe it's not all there yet and all but I am confident This is a milestone and worth sharing with y'all.

Anyway the real reason I built this is help me focus on my software developer career by building something to keep those daily github commits going(not that I coded every single day though 🤭 ).

Another reason is because I thought it'd be cool to have my own blog where I can post whatever I like or interests me. So yeah these are the only reasons I did this, It my not be too deep and all but you know, I still did it and its something for me to proud of. 😮‍💨

How I Did It 👀

Okay so its really not that difficult and anybody serious about doing something like this should be able to do it regardless of whether you're a beginner or not. it's just about the heart you know, put it on your heart that you want to do it and you will.

I mean sure you will run into some setbacks and all but with the presence of all these online tools and numerous AIs on the internet now, honestly there's no excuse why you should give up. Vibe coding and learning on the job, that how I build stuff. And I know most of y'all developers out there might not be fully behind this whole code with AI revolution but, I mean if it's there, might as well use it right, as long as you know what you're doing and all, its honestly way faster like this.

The TechStack

I wanted this site to be fast, modern, and maintainable so I chose:

Nuxt - The Foundation

Nuxt gave me server-side rendering, automatic routing, and an incredible developer experience out of the box. The hybrid rendering options meant I could optimize each page exactly how I wanted.

Firebase - Auth & Data

For authentication and data storage, Firebase was a no-brainer. I wanted users to sign in with Google easily, and Firebase Auth made that trivial. Firestore handles my blog posts and subscriber data beautifully.

TailwindCSS - Styling with Speed

Love it or hate it, Tailwind let me build a custom design system faster than anything else. Those utility classes just click with my medulla.

Nuxt Content - The Blog Engine

Nuxt Content transforms Markdown into cool blog posts with zero hassle. Syntax highlighting, custom components, frontmatter support—it just works. That is even what I am using now as I type out this post.😌

Features

When creating this blog I wanted some pretty cool features and on it and honestly speaking I am not even done with those yet. But as I said, this is a milestone for me and so I am going talk about those I have set up for now.

🎨 Dark Mode

Dark mode is pretty ordinary right? Well I implemented one anyway and it works as complete design system that looks pretty awesome so you can try it and let me know what you think.

🔐 Google Authentication

One thing about me, I don't like stress at all (probably lazy), so when I decided to create my sign in logic, you know I had to use google auth, that way users will just sign in with one click-hassle free. 😂

📬 Newsletter Integration

Built-in newsletter subscription with Resend for email delivery. Subscribers get notified of new posts, and I maintain full control over my email list. You also get a welcome message when you subscribe so why don't you go ahead and do just that? I promise it'll be fun here😊

💬 Comment and Like System

Yes this too, so go ahead, like and comment on posts will ya?

The Challenges (And How I Solved Them)

No developer develops anything without encountering some challenges and me personally, well I had a lot of them so, you know, hang back and let me tell you about a few.

Challenge Numero Uno-#1: Firebase SSR in Nuxt

Firebase and server-side rendering don't always play nicely together. The solution? Client-only plugins with proper initialization checks.

Challenge Numero Deux-#2: Authentication State Management

Managing auth state across server and client required careful thinking. I created a composable that lazily initializes state and sets up listeners only once.

Well I think you get the Idea, I don't want to bore you with technicalities after all. Moving on.😎

Lessons Learned

I mean like duuh right? If I faced challenges then I obviously learned stuff too and to say a few:

Start Simple, Iterate Always

I didn't build everything in a day (kind of impossible for me honestly😂). But yes you should start simple with a basic blog, then add features as you need them. My first version was just Markdown files and a header. Everything else came later.

User Experience >>>> Feature Count

It's tempting to add every cool feature you see, believe me I should know, but a smooth, fast site with three features beats a sluggish site with thirty. Focus on the core experience first.

3. Document as You Build

Well personally I sort of suck at that but it is a very important part development phase

4. Embrace the Learning Curve

Every bug is an opportunity to understand your stack better. I mean it even got to point where I would just sit and wait for an error to appear as I build, its been rough and now I can laugh about it, because I saw it all through. So yeah, hang in there too buddy.

What's Next?

Well currently I plan on populating this site with enough blog posts, documenting other journeys I set my eyes on and even sharing some of my novels with you guys, hopefully you like them? 😂🙈

Anyway yeah, I will also keep up maintaining this site and upgrading it in time, I mean like I said before, I just began writing this post after hosting this and saw its quite okay, and if I know anything from software development, well I know problems always arise so I will be awaiting some as I do other things too😮‍💨

Should You Build Your Own?

Well yeah, if you're like interested in talking and typing a lot like me and probably want to keep up your GitHub streak too, yeah, definitely go for it. Maybe you can even holler with any challenges, I mean I'd be glad to help.💪

Let's Connect

I'd love to hear about your own portfolio projects! What challenges did you face? What would you do differently? Sign in with Google below to subscribe to the newsletter or hit me up on any of my socials and let's keep this conversation going.

Thanks for reading this far. Here's to many more posts, projects, and late-night coding sessions. 🍻

PS: If you noticed any bugs or have suggestions for improvements, I'm all ears. This site is a continuous work in progress, just like all of us as developers.

Found this helpful? Share it with other developers who are thinking about building their own blog. Let's inspire more people to own their content and their platform.

Discussion (0)

Sign in to join the conversation

Sign in with Google to share your thoughts, questions, or feedback on this article.

No comments yet. Start the conversation above.