Architecture

This site is designed to be a clean, fast, and maintainable portfolio and playground. It prioritizes simplicity and standard web technologies over complex frameworks.

Tech Stack

  • Backend: .NET 8, ASP.NET Core Web API
  • Frontend: ASP.NET Core Razor Pages (Server-side rendering)
  • Database: PostgreSQL with Entity Framework Core
  • Styling: Custom CSS (No heavy frameworks)
  • Deployment: Docker & Docker Compose

Key Decisions

Razor Pages vs SPA

I chose Razor Pages to keep the architecture simple and SEO-friendly. For a content-heavy site like a portfolio, the complexity of a React/Angular SPA wasn't justified. Razor Pages offer excellent performance and a straightforward development model.

PostgreSQL

Using PostgreSQL allows for robust data management. I use EF Core for data access, ensuring type safety and easy migrations.

Lab Area

The "Lab" section is a space for small tools and experiments. It's designed to be easily extensible, allowing me to drop in new tools without affecting the main portfolio structure.