my Portfolio website marginal gains sprint

Over the past month and a half, I’ve been applying a series of targeted improvements to my personal portfolio website codebase and architecture to start preparing it for the world of career elevation and conversations. Small changes, big results. Here’s a snapshot of what’s been done:

🔧 Backend & Architecture

I standardised the codebase using design patterns such as the Service–Repository pattern to achieve a cleaner separation of concerns. Alongside this, I applied core object-oriented principles — abstraction, encapsulation, polymorphism, and interfaces — to reinforce clarity and maintainability. To improve modularity, I separated services and controllers into a dedicated library, making the architecture more scalable. I also replaced spreadsheet files with JSON to ensure consistency and future-proof data handling. Finally, I enhanced error handling throughout the system to bolster resilience and streamline diagnostics.

🧪 Testing Strategy: Complex Logic Meets Happy Path I’ve adopted a pragmatic testing strategy:

Unit and integration tests now carry the weight of validating complex logic and internal behaviours with precision, ensuring that the system functions reliably under varied conditions. Meanwhile, BDD scenarios are reserved for the happy path, confirming that key user journeys behave as expected and remain intuitive. This layered approach keeps the test suite lean and focused, aligning it with real-world usage while maintaining deep coverage where it matters most.

📊 Observability

I integrated OpenTelemetry and connected it to Honeycomb to enhance system observability, enabling clearer visibility into backend operations and more actionable performance insights. This setup allows for distributed tracing and diagnostics, making it easier to identify bottlenecks and optimise behaviour in real-world conditions.

📊 Frontend & UI

I adopted Blazor within the MVC paradigm to enable modern, component-driven development that supports clean separation and reusability. To enhance flexibility and maintainability, I introduced content blocks for modular UI management, allowing for easier updates and consistent layout control. The homepage was refreshed to deliver a cleaner, more engaging experience for visitors.

✅ Conclusion

This is all part of a marginal gains approach refining each layer of the stack to build a more resilient, scalable, and maintainable system, even when working within brownfield realities.

🔗 Links

To Github Repository