projects/fragrantica

Fragrantica, a tasting log in code.

A perfume database scraped, normalised, and piped into Notion. Selenium against Cloudflare, a small tkinter UI, packaged with PyInstaller.

stack
Python, Selenium, Notion API, tkinter, PyInstaller
year
2024, side project
code
github.com/mxdean

Why

I wanted my tasting notes in one place, with structured fields, that I could query. Fragrantica had the data. Their CDN had opinions about that. tkinter is unfashionable and that is fine.

What it does

  • Headless browser run with Cloudflare-aware retries and a polite rate limit.
  • Normaliser that resolves accord synonyms, dedupes notes, and tags concentration.
  • One-click sync to a Notion database with a custom schema.
projects/knitregen

KnitRegen, a glove that learns.

Knitted pneumatic actuator for post-stroke hand rehabilitation. Dissertation with the University of Exeter.

format
MEng dissertation, prototype, small user study
with
University of Exeter
year
2023

The shape of the problem

Stroke rehab gloves are either too rigid or too dumb. The knitted-textile approach lets you put compliance and routing in the same fabric, and gets a clinician comfortable with how it feels in five seconds.

about

About, briefly.

I started in mechanical engineering at Lufthansa Technik, kept going through electronics at BMW and software at Lobster, then took a left at Berkeley to bioengineering. Now I sit between AI ops at CreativesApp and a CFA in August. The pivot is to venture, with a thesis in deep tech and life sciences.

Career, in mono

2020  Mechanical engineer, Lufthansa Technik, Hamburg
2021  Electronic engineer, BMW Group, Munich
2022  Cert., Anatomy & Nano-medicine, UCL
2023  MEng Bioengineering, UC Berkeley
2024  Software engineer, Lobster Data, Munich
2025–  AI integration & data ops, CreativesApp, London
2026  CFA Level I, August

Languages

Native English and German. Studying Japanese, Spanish, Mandarin, in that order of seriousness.

Where

Feldafing, Bavaria, hybrid into London.

blog

Notes, from the workbench.

Short posts on engineering, biology, and the occasional memo. Reverse chronological, no categories, no clever taxonomy.

projects/picoprinter

PicoPrinter, capstone tissue printer.

A UV-calibrated inkjet bioprinter built for the MEng capstone. LabVIEW for motion, Python for the UI, PyInstaller to ship it.

stack
Python, LabVIEW, PyInstaller, tkinter
format
MEng group capstone project
year
2023

The problem

Tissue engineering labs use printers that cost six figures and require a specialist to operate. The brief was to build something a PhD student could run on day one.

What we built

  • XY stage controlled via LabVIEW with micron-level repeatability.
  • UV calibration routine that accounts for lamp degradation over time.
  • Single-window Python UI packaged as a standalone exe — no install required.
projects/aortic

Aortic valve, leaflet under flow.

FEA study of a bioprosthetic aortic valve under pulsatile flow. Focused on leaflet stress distribution and fatigue life estimation.

tools
ANSYS, SolidWorks, MATLAB
format
Individual research project
year
2022

The question

Bioprosthetic valves fail in fatigue. The stress concentrations are well-documented in literature but the sensitivity to leaflet geometry is not. This project ran a parametric sweep across commissure angle and thickness profile.

Findings

  • Peak von Mises stress at the commissure was 40% higher than belly — consistent with clinical failure patterns.
  • A 12% reduction in commissure angle dropped peak stress by 18% with no penalty to coaptation area.

EKG bicep study, UCL.

Surface EMG signal analysis on bicep brachii during graded isometric contraction. Done at UCL as part of a biomedical signals module.

tools
MATLAB, Delsys Trigno EMG
format
Lab report, UCL
year
2022

Protocol

Ten subjects performed isometric bicep curls at 25%, 50%, and 75% MVC. Surface EMG was recorded at 2 kHz, bandpass filtered, and RMS-enveloped.

Key result

Mean firing rate increased linearly with load up to 50% MVC, then plateaued — consistent with size-principle recruitment saturation. Spectral centroid shifted down with fatigue as expected from slow-twitch dominance.