← Selected work

Personal site / Project case study

Portfolio Website

A Django-powered personal portfolio with database-backed profile content, projects, experience, and a contact form.

PythonDjangoHTMLCSS

01 / Context

The problem

Project details and a downloadable CV need to stay consistent as experience and work samples change. Maintaining a separate PDF by hand creates duplicate editing work.

02 / Engineering

Technical decisions

Django admin manages published projects, case-study text, and ordered image and video galleries. Draft projects are excluded from public pages and the generated CV.

The website and PDF share a content provider. ReportLab renders the CV on request, so published project updates flow into the download.

The homepage highlights selected work, while a dedicated projects index and detail pages provide room for technical explanations.

03 / Delivery

What the project delivers

Visitors can browse projects and download a CV generated from current content. The portfolio includes a saved theme preference, project publishing controls, and automated tests for public visibility and content rendering.

Technical focus

A closer look at the implementation.

  • Django class-based views
  • Database-backed content
  • Contact form persistence

Let’s talk about the work.

Interested in the technical decisions behind this project? Get in touch.

Start a conversation ↗