Peaks
I design and build product experiences, storytelling systems, and editorial tools end to end. These are the projects where frontend craft, interaction design, AI, and shipping speed mattered most.
When a project is live, I like adding analytics and feedback loops so iteration is based on real behaviour, not vibes.
Selected work:
AI Search for Editorial Archives — I designed and built an AI-powered semantic search experience on top of Drupal, Solr, and LLM-assisted retrieval. The product blended keyword precision with AI relevance, and I paired it with ratings, search analytics, and feedback loops so we could keep improving ranking, UX, and zero-result recovery after launch.
Interactive Storytelling Framework — I owned and shipped a reusable storytelling system for investigations and longform features, first in Next.js and then in SvelteKit. It gave teams a faster way to launch polished stories with better typography, responsive behaviour, performance, and interaction details baked in.
Israel Aid Killings Dashboard — I designed and built the interactive database and timeline experience for a year-long open-source investigation into attacks on aid seekers in Gaza. The product turns nearly 200 documented incidents into a searchable, legible evidence base for reporters, researchers, and legal follow-up.
WhatsApp, Lebanon? — I designed and built the entire experience for an explainer on how WhatsApp became essential infrastructure during Lebanon’s economic collapse. The piece balanced narrative flow, interaction pacing, and responsive performance inside a custom storytelling codebase. Longlisted for multiple international awards.
Lebanon Displacement Diaries — I designed and built a reading experience that combines first-person accounts of displacement with lightweight data visualisation. The goal was to keep the interface calm and readable while still surfacing patterns across individual experiences.
Yemen Listening Project — A story series sharing the lived experiences of people in Yemen’s protracted conflict. Built to prioritise voices often missing from mainstream coverage, using thoughtful interaction design to support deep reading.
Migration Routes on the Mediterranean Sea — An interactive map tracing migrant journeys and their challenges. Visualising complex movement patterns while maintaining focus on human stories behind the data.
More Projects
TrainHub.co.za — A side project I’m currently building to make Cape Town’s trains easier to use. It simplifies Metrorail timetables, lines, and cross-line connections so people can search any two stations and get around the city with less friction.
Art in a Time of Crisis – Drawing Derna — A visual story using illustration and interaction to explore the human impact of the Derna floods. I developed the interactive experience and collaborated closely with the editorial and artists. Longlisted for the One World Media Environmental Reporting Award (2024).
Bangladesh’s Hidden Climate Crisis — Interactive story on climate displacement in Bangladesh. I handled data visualisation, frontend engineering, and UX, turning complex reporting into an accessible experience that won a Covering Climate Now Journalism Award.
How Coronavirus Hit Aden – A Yemeni Doctor’s Diary — Built an immersive storytelling piece combining text, imagery, and interaction. The project won the One World Media Coronavirus Reporting Award (2020).
VBZ Delays (Tages-Anzeiger) — Early interactive data story visualising public transport delays in Zurich. This project helped the team win a European Newspaper Award.
Bolt’s Olympic Gold Sprint (Tages-Anzeiger) — A playful but technically demanding sprint visualisation that also received a European Newspaper Award.
Collaborate
Interested in discussing work opportunities? Get in touch.
Download my CV (PDF) for detailed experience and technical skills.

