How I Built My Portfolio: Design, Tech, and Lessons Learned
Building a personal portfolio is one of those projects that seems simple on the surface but quickly becomes a deep dive into design philosophy, technical decisions, and personal branding. After months of iteration and refinement, I'm excited to share the story behind my portfolio site.
The Challenge
As a developer who works across the full stack—from Shopify Plus customizations to complex web applications—I needed a site that could showcase both my technical depth and design sensibility. The portfolio had to serve multiple audiences: potential clients looking for Shopify expertise, businesses needing custom web applications, and fellow developers interested in my approach to problem-solving.
Design Philosophy
I wanted to move away from the typical developer portfolio clichés. Instead of dark themes with neon accents, I opted for a sophisticated royal blue and gold color scheme that conveys professionalism while maintaining warmth and approachability.
Key Design Principles
- Professional yet approachable: The color palette and typography create authority without intimidation
- Performance-first: Every animation and component is optimized for speed
- Content hierarchy: Clear visual flow guides visitors through my story and work
- Responsive excellence: Looks and works perfectly on any device
Technology Stack
I chose Next.js 15 as the foundation for several reasons:
Frontend
- Next.js 15 with App Router for modern React patterns
- TypeScript for type safety and better developer experience
- Tailwind CSS for rapid, consistent styling
- Framer Motion for smooth, purposeful animations
- Lucide React for consistent, scalable icons
Content Management
- MDX for blog posts and case studies
- Custom content pipeline for type-safe content handling
- Gray-matter for frontmatter parsing
Deployment & Performance
- Vercel for seamless deployment and edge optimization
- Image optimization with Next.js built-in features
- SEO optimization with custom metadata generation
Unique Features
Floating Elements Component
One of my favorite additions is the FloatingElements component that adds subtle animated background elements throughout the site. It's configurable, performance-optimized, and adds just the right amount of visual interest without being distracting.
Skills Grid with Progress Bars
Rather than a simple list, I created an interactive skills visualization that shows proficiency levels across eight categories, from Web2 fundamentals to advanced AI/automation and Web3 technologies.
Animated Timeline
The process section on the services page uses a custom vertical timeline with step circles, icons, and connecting elements that guide visitors through my collaborative approach.
Performance Optimizations
Performance was non-negotiable. Here's what I implemented:
- Image optimization for all visual assets
- Component lazy loading for above-the-fold content prioritization
- Tailwind CSS purging to minimize bundle size
- Font optimization with Next.js font loading strategies
- SEO metadata generation for all pages
Lessons Learned
1. Iteration is Everything
My first design was completely different. Through multiple iterations, I discovered that restraint often creates more impact than complexity.
2. Performance Matters More Than Features
Every cool animation or component had to justify its performance cost. Some beautiful ideas got cut because they didn't meet my speed standards.
3. Content Strategy is Design
The structure of my content directly influenced the site architecture. Starting with content strategy would have saved time in the design phase.
4. Accessibility from Day One
Building with accessibility in mind from the start is much easier than retrofitting it later. Semantic HTML, proper contrast ratios, and keyboard navigation were priorities throughout.
What's Next
The portfolio is never truly "done." My roadmap includes:
- Blog expansion with more technical deep-dives
- Case study details with interactive demos
- Performance dashboard to track real user metrics
- Dark mode refinements based on user feedback
For Fellow Developers
If you're building your own portfolio, here are my top recommendations:
- Start with content strategy before diving into design
- Choose technologies you're excited to showcase
- Optimize for your target audience (clients vs. employers vs. peers)
- Make it uniquely yours - avoid template thinking
- Measure everything - performance, conversions, user behavior
Conclusion
Building this portfolio was as much about self-discovery as it was about web development. It forced me to articulate my value proposition, refine my design instincts, and push my technical boundaries.
The result is a site I'm genuinely proud of—one that represents not just my skills, but my approach to solving complex problems with elegant solutions.
Interested in how I built a specific feature? Let's connect and I'd be happy to dive deeper into the technical implementation.
Bechara El Maalouf
Full-Stack Developer specializing in Shopify Plus, React, Node.js, and automation solutions. Helping businesses grow through strategic development.
Learn MoreNeed Help With Your Project?
Let's discuss how I can help you achieve your goals through strategic development and optimization.