When I started Nikolas Dev Journey, it was a basic Next.js project with a few static pages. My goal was to document my learning as a self-taught developer transitioning from philosophy to programming. Over time, through trial, error, and a lot of learning, this blog has evolved into a sophisticated portfolio showcasing my skills.
The Beginning: A Simple Blog
My first version was minimal: a homepage, an about page, and a blog with static content. I used Next.js for its simplicity and focused on getting the basics right.
- Core pages: Homepage, About, Contact, and Blog.
- Tech stack: Next.js, React, and basic CSS.
- Goal: Create a space to share my learning journey.
First Steps in Design
Early on, I adopted a dark theme to give the blog a modern, developer-friendly look. I chose the Inter font for readability and introduced Fira Code for headings to add a technical vibe.
- Dark theme: Background color
#1a202cwith high-contrast text. - Fonts:
Interfor body,Fira Codefor headings. - Responsive design: Ensured the blog looked good on mobile and desktop.
Project Structure Evolution
As the blog grew, I organized the codebase to support new features. The current structure reflects the addition of dynamic blog posts, API routes, and reusable components.
Adding Interactive Features
To make the blog more engaging, I introduced interactive features. The biggest upgrades were category tabs, a search bar, and a featured post section.
- Tabs: Filter posts by categories like "Blog Development" and "Python".
- Search: A search bar to quickly find posts by title or excerpt.
- Featured post: Highlights my best work at the top of the blog page.
Improving User Experience
User experience became a priority as the blog grew. I added animations to make transitions smoother, improved accessibility with ARIA attributes, and ensured the site was fully responsive.
- Animations: Subtle fadeInUp effects for posts and tabs.
- Accessibility: ARIA roles for screen readers.
- Responsiveness: Grid layouts adapt to mobile screens seamlessly.
Lessons Learned and Future Plans
This journey taught me more than just coding. I learned to tackle errors, organize complex codebases, and prioritize user needs. Each challenge was a chance to grow as a developer.
- Error handling: Debugging hydration errors showed me the importance of server-client consistency.
- Code organization: Reusable components and API routes made scaling easier.
- User focus: Accessibility and responsiveness are key to a great portfolio.
- Performance optimization: Every feature should enhance user experience.
- Continuous iteration: The best blogs evolve constantly.
Looking ahead, I plan to add more interactive features, a comment system for reader engagement, and possibly a light theme toggle. My goal is to keep pushing the boundaries of what this blog can do while sharing my progress.
"From a single page to a dynamic portfolio, every line of code tells the story of my growth as a developer."
💬 Comments & Discussion
Share your thoughts, ask questions, or discuss this post. Comments are powered by GitHub Discussions.
💡 Tip: You need a GitHub account to comment. This helps reduce spam and keeps discussions high-quality.