PhD Thesis Cover Design 🎨

πŸŽ„πŸŽ Advent of Open Source – Day 14/24: An open-source project for designing personalized thesis covers using Python.

(See my intro post)

When most people think of open source, they think of software. But what about open-sourcing your PhD thesis and creating a generative art system for its cover?

πŸ“– Origin Story

With my PhD defense approaching and needing around 100 copies of my thesis, I faced a design challenge. As someone more comfortable with Python than Photoshop, I turned what started as a simple visualization idea into a full-blown generative art project with machine learning-based clustering.

A photograph of multiple printed copies of Bas's PhD thesis laid out on a table outdoors. Each copy has a unique, colorful, generated cover design. Potted plants are visible in the background.
Multiple printed copies of the thesis

πŸ”§ Technical Highlights

  • Generated 3,671 unique covers from quantum physics simulation data
  • Used VGG16 neural network to extract features from covers
  • Implemented K-means clustering to group similar designs
  • Created interactive IPywidgets for design selection
  • Built a Binder app for real-time color scheme adjustment
  • Added unique edition numbers (1/120, 2/120, etc.)
  • Made both thesis and cover design code fully open source

The project combines:

  • Adaptive sampling for physics simulations
  • Neural networks for image feature extraction
  • Interactive visualization tools
  • Parallel processing for batch generation
  • Version control for scientific writing

πŸ“Š Impact

  • Thesis repository: 14 GitHub stars
  • Cover design repository: 36 GitHub stars
  • Real-world adoption: Dr. Tomas Pippia from TU Delft used the code to create his own thesis cover
  • ~100 unique printed copies, each with its own generated cover and edition number

🎯 Challenges and Solutions

  • Managing 3,671 unique PDF files and their conversions
  • Creating a clustering system for visually similar designs
  • Building interactive tools for non-technical collaborators
  • Ensuring consistent print quality across designs
  • Balancing artistic appeal with scientific relevance

πŸ’‘ Lessons Learned

  1. Open source isn’t just about code - it’s about sharing knowledge
  2. Python can be a powerful tool for creative projects
  3. Machine learning can help solve unexpected problems
  4. Good visualization requires both technical skill and artistic sense
  5. Interactive tools make collaboration with non-programmers easier

πŸ“š Fun Fact

Due to COVID restrictions, I defended my thesis without any guests present. The silver lining? I still have about 100 beautifully unique copies at home, each with a different generated cover and edition number. If you’d like a physical copy of this piece of quantum physics meets generative art, just let me know!

Want to create your own thesis cover or see how I wrote mine? Check out the thesis cover project and thesis source!

#OpenSource #PhD #Python #MachineLearning #DataVisualization

Edit this page

Bas Nijholt
Bas Nijholt
Staff Engineer

Hi.

Related