Building My Personal Portfolio with Jekyll
Introduction
This post is a summary of my personal portfolio project journey. From initial conception through design iterations to the current state, I document the decisions made, technologies chosen, and the ongoing development of this Jekyll-based portfolio site.
Project Genesis
I decided to build a personal portfolio to showcase my work across three main areas:
- Legal technology projects and insights
- Software development learning and projects
- Cybersecurity studies and progress
A static site generator made sense for simplicity, performance, and version control friendly content.
Technology Stack
Core Technology:
- Jekyll for static site generation
- SCSS for styling and design system
- Gulp for build automation and asset compilation
- GitHub Pages for hosting and deployment
Design Approach:
- Dark theme with neon green accents for visual identity
- Responsive mobile-first design
- Clean, minimal typography
- Focus on readability and content hierarchy
Site Structure
The portfolio is organized into several key sections:
- Homepage - Hero section with tagline, learning card, featured projects
- About - Personal background and career transition narrative
- Portfolio - Showcase of completed projects and work samples
- Projects - Detailed project pages with descriptions and outcomes
- Blog - Posts organized by category (Legal Tech, Software Development, Cybersecurity, Tech Projects, Portfolio Posts)
- Contact - Ways to get in touch and social links
Current Version Status
Completed Features
- Responsive homepage with hero section and learning card grid
- Project listing with card-based layout and detail pages
- Blog page with category-based filtering and jump links
- Footer with social media links
- Dark theme with consistent color palette
- Mobile-friendly navigation and layout
Recent Improvements
- Fixed blog category filtering to use post categories instead of tags
- Added new blog categories (Tech Projects, Portfolio Posts)
- Created project detail pages for Home Lab and Private AI Workstation
- Unified typography and spacing across all pages
- Enforced neon green accent color throughout design
Known Upcoming Work
- Expand blog content with more posts in each category
- Add more project showcase pages
- Implement analytics and SEO optimization
- Create automated deployment pipeline
- Add dark/light theme toggle (future enhancement)
Design Decisions
Dark Theme: Chosen for reduced eye strain and modern aesthetic appeal.
Category-Based Blog: Allows readers to filter content by their interest area (legal tech, coding, security).
Project Cards: Provides quick overview with links to detailed project pages.
Static Generation: Ensures fast load times, easy version control, and minimal hosting complexity.
Lessons Learned
- Jekyll Liquid templating is powerful but requires careful attention to variable scope
- SCSS organization with partial imports keeps stylesheets maintainable
- Responsive design requires testing on multiple device sizes
- Clear front matter structure (categories, tags) is essential for content organization
Next Steps
- Continue expanding blog content with detailed posts
- Add more project showcase pages as work progresses
- Optimize images and assets for better performance
- Implement comment system for blog posts (optional)
- Create a projects archive or timeline view
- Add search functionality for blog posts
Reflection
Building this portfolio has been a valuable exercise in web development fundamentals. It serves as both a showcase of my work and a learning project where I can experiment with design and layout decisions. The modular structure makes it easy to add new content and iterate on the design as my skills grow.
This site is a living document of my transition from law to technology, and I plan to continue evolving it as my projects and skills develop.