Go-Based Portfolio Website

This project showcases a custom website framework built entirely in Go (Golang), using native HTML templates to render structured, dynamic content without external CMS dependencies. The goal was to design a fast, secure, and easily configurable portfolio site that reflects both technical versatility and performance-conscious engineering.

Unlike sites generated by JavaScript-heavy frameworks, this platform prioritizes server-side rendering, low latency, and lightweight deployment. It runs efficiently on a minimal VPS or container, serving static assets and templated pages with near-instant response times.

At the core of this system is a configuration-driven architecture that separates content from logic. The application parses a YAML or JSON configuration file containing all site metadata:

  • - Site Details: title, description, email, and social links
  •  
  • - Projects: structured data describing featured works, each with its own title, summary, tech stack, and links
  •  
  • - Skills & Technologies: categorized lists of programming languages, frameworks, and tools
  •  


This design allows content updates without touching any Go code — simply edit the config file and redeploy or reload the server.



Technical Highlights

The application is built on Go’s standard net/http package with html/template for rendering views. No external frameworks are required, keeping the codebase lean, portable, and easy to audit.

Key technical components include:


  • - Custom Struct Parsing: A structured model unmarshals configuration data at startup, populating the in-memory site context.
  •  
  • - Template Inheritance: Shared layouts for headers, navigation, and footers using define and template blocks.
  •  
  • - Template Caching: Some templates are read on the fly to improve performance a caching mechanism is employed.
  •  
  • -Toml based configuration: Configuration data is read from a TOML file and parsed into a structured model.
  •  


Design Philosophy

The website was designed to be maintainable, transparent, and developer-friendly. Every piece of content—whether a project summary, contact info, or technology tag—is data-driven, making it ideal for developers who prefer to version-control their portfolio content in Git.

By leveraging Go’s standard library, we avoided external templating frameworks or CMS systems that introduce bloat and security risks. The result is a system that starts instantly, serves thousands of requests per second, and can be deployed on virtually any host that supports Go binaries.

Outcome

The finished product is a lightning-fast, fully self-contained website that represents a developer’s profile, portfolio, and technical skills without relying on third-party platforms. It’s a perfect showcase for developers who value performance, autonomy, and code clarity.

While I can’t publicly disclose proprietary interface details or internal workflows, I’m happy to discuss the technical architecture, migration strategy, and Flutter best practices that made this transition a success.

The Go-based templating system has since become a reusable framework that can be adapted for blogs, company landing pages, or internal dashboards with minimal effort.