Project

Django Portfolio Platform

A Django portfolio platform that turns structured project content into responsive, accessibility-focused case studies backed by automated tests and disciplined releases.

Overview

This portfolio presents selected software and research-oriented work through structured, server-rendered case studies. It includes a searchable project archive and a contact workflow, while React adds filtering and sorting where interaction improves project discovery.

Problem

The portfolio needed to move beyond static placeholder pages while staying small enough to understand, test, and evolve. Early project content also needed to be reproducible from the repository instead of depending on local admin-only data.

Approach

The application is organized around focused Django apps for projects, contact, pages, and shared configuration. Server-rendered templates provide the baseline experience, while React enhances only the project archive with search, filtering, and sorting.

Project records and contact submissions use database models. Stable site copy remains configuration-driven. Contact submissions are saved before notification, and automated checks cover public routes, content visibility, progressive-enhancement behavior, and production configuration.

Outcome

The site is deployed at drkusse.com with database-backed project pages, a progressively enhanced project archive, and a persisted contact workflow.

Django, frontend, and Playwright tests cover public routes, unpublished-project filtering, project explorer fallbacks, and contact persistence. Production checks cover security settings, PostgreSQL, object storage, email, static assets, and the Gunicorn/WhiteNoise runtime.

Tradeoffs

Letting real content drive the next schema decisions made the project stronger. The first case study showed that one description field was useful for an overview, but structured case-study sections are needed before adding more portfolio entries.

Professional profile

Continue from the evidence

See how this work fits into my broader computational science and software engineering background, or get in touch about relevant work.