---
sheet_format: 1.0
id: 2024-09-derusting-handpan-tab-generator
title: "DeRusting My Skills: Building a Handpan Tab Generator Web App with Rust and AI"
speaker: Erwan Rougeux
with: []
date: 2024-09-04
event: "LinkedIn"
place: "online (LinkedIn article)"
format: article
language: en
video: null
slides: null
topics: [ai-assisted development, rust, chatgpt, handpan, prototyping, paas, clever cloud]
source: "Summary written by Claude (AI) from the article as published on LinkedIn on 4 September 2024 (about 1,500 words). Everything here is the author's own written account; check the article before quoting."
review: none
---

# DeRusting My Skills: Building a Handpan Tab Generator Web App with Rust and AI

**In one sentence:** Over three sleepless nights with ChatGPT, nicknamed "Wolfy", Erwan Rougeux built HandFlow, a Rust web app that turns MuseScore files into handpan tabs, deployed it on Clever Cloud, and concluded that AI is a remarkably sharp assistant that still needs a human at the wheel.

## TL;DR
Night one started as a test of ChatGPT on something niche: the handpan in his line of sight. The model misunderstood scales, miscounted notes and confused the instrument with a tongue drum, but with persistence it produced an ASCII handpan (D Kurd, nine notes), chords for a scale and a passable Super Mario theme as tabs. Printing ASCII with GPU power felt frivolous, so the question became: can it help build a real web app? Night two, he named the assistant Wolfy after Mozart and gave it a persona (music expert, Rust guru), choosing Rust to revive skills untouched since college after a conversation with Luc Lenôtre, author of the Maestro kernel. Wolfy set up the environment on the Iron framework, proposed MusicXML and MuseScore's compressed format as input, and generated the app block by block: upload, parse, group measures, draw a coloured SVG handpan, find the best transposition, play notes. Night three, ChatGPT had lost all memory of the project ("HAL 9000 would have been proud"); he reloaded the code and carried on. Wolfy refactored the messy codebase, then flagged that Iron, its own recommendation, was heading for deprecation and migrated the app to ActixWeb, then raised zip bombs, rate limiting and input sanitisation. It named the app HandFlow, wrote a DALL-E prompt for the logo, and guided the deployment on Clever Cloud: a git push, live fifteen seconds later. His verdict: the app is neither elegant nor the safest, but AI proved a remarkably sharp assistant that empowers inexperienced users and accelerates prototypes, with errors, freezes and forgotten functions that demand human oversight, and with social, legal and intellectual-property questions to think through. He adds that AI is most efficient on scripted tasks and that rapid idea-to-prototype with small teams could help emerging countries close the technology gap.

## Erwan's key points
- He set out to probe AI's limits on something obscure enough to escape canned answers; ChatGPT initially mixed up scales, notes and even the instrument, but could be guided to an ASCII handpan, chords and a Super Mario tab (section "The Beginning").
- He named the assistant Wolfy and gave it parameters because interacting with AI will be part of daily life and "our approach to it should still reflect our humanity" (section "Entering Wolfy").
- Rust, because he had not touched it since college and because Luc Lenôtre, creator of the Maestro Rust kernel, praised its speed; the project was a low-pressure way to de-rust (same section).
- The workflow was copy, paste, compile, debug, repeat, block by block; two tips: ask for each function as a separate block so a freeze does not lose everything, and set up version control from the start because the AI forgets earlier blocks and produces incomplete or oversized code (same section).
- On night three ChatGPT had wiped the project from memory; reloading main.rs and recapping the features was enough to resume (section "I'm Sorry, Dave").
- The AI recommended Iron, then warned Iron was being deprecated and migrated the app to ActixWeb; it also raised zip bombs, rate limiting and input sanitisation that he had not anticipated (same section).
- Hosting on Clever Cloud, a PaaS he describes as efficient with Rust apps: link GitHub, git push, live in fifteen seconds (same section).
- Verdict: "AI demonstrated itself to be a remarkably sharp and effective assistant", able to empower inexperienced users, accelerate new solutions, enhance existing ones and bridge the technological gap, but it overlooked code errors, froze often and shipped functions that did not work; human oversight and correction remain necessary (section "Conclusion").
- Using AI thoughtfully means considering the social, industrial, educational, legal and intellectual-property implications; a Rust-specific model might have been more efficient, but the goal was to gauge a general model (same section).
- AI is more efficient on scripted tasks than applied indiscriminately: generating ASCII tables with ChatGPT consumes more energy than running the Rust app on an efficient PaaS (same section).
- Going from idea to prototype with small teams could drive progress in emerging countries by making application development accessible and solutions local (same section).

## Outline
- Section "The Beginning - 1st Late Night": testing ChatGPT on the handpan; ASCII tabs; the Super Mario theme; why not build an app?
- Section "Entering Wolfy (Wolfgang Mozart) - 2nd Late Night": naming the assistant; why Rust (Luc Lenôtre, Maestro); Iron framework; MusicXML and .mscz; main.rs generated block by block; features (SVG handpan, transposition, playback); two tips on blocks and version control.
- Section "I'm Sorry, Dave, I'm Afraid I Can't Do That - 3rd Late Night": memory wiped; recovery; refactoring; Iron to ActixWeb; security concerns; the name HandFlow and the logo; deployment on Clever Cloud.
- Section "Conclusion": what the experiment showed, its limits, the broader implications, energy and emerging countries.
- Sections "More Information About HandFlow" and "Credits": GitHub repository, live version, Freepik, "ChatGPT aka Wolfy".

## Notable quotes
> "AI demonstrated itself to be a remarkably sharp and effective assistant." — Erwan Rougeux, section "Conclusion"

> "It was the kind of codebase that only a mother could love—messy, unstructured, and difficult to maintain." — Erwan Rougeux, section "I'm Sorry, Dave"

> "ChatGPT had lost all memory of our work. [...] HAL 9000 would have been proud." — Erwan Rougeux, section "I'm Sorry, Dave"

> "Generating ASCII tables with ChatGPT consumes more energy than running a Rust web app hosted on an efficient PaaS solution like Clever Cloud." — Erwan Rougeux, section "Conclusion"

## Questions this answers
**Q: What is HandFlow?**
A: A web app written in Rust that takes a MuseScore (.mscz) file, parses the score and generates handpan tabs, with a coloured SVG handpan, a best-transposition finder and note playback; code on GitHub, live version hosted on Clever Cloud (sections "Entering Wolfy" and "More Information").

**Q: Why did he pick Rust?**
A: To de-rust skills untouched since college on a low-pressure project, encouraged by Luc Lenôtre, creator of the Maestro Rust kernel, who praised the language's speed (section "Entering Wolfy").

**Q: What went wrong with the AI?**
A: It confused scales and instruments at first, lost all memory of the project between sessions, overlooked code errors, froze often, forgot earlier function blocks, and recommended a framework (Iron) it later flagged as deprecated (sections "The Beginning", "I'm Sorry, Dave", "Conclusion").

**Q: What practical tips does he give for coding with an AI?**
A: Request each function as a separate block so a freeze does not lose progress, and use version control from the start because the AI can forget, truncate or omit parts of the code (section "Entering Wolfy").

**Q: How was it deployed?**
A: On Clever Cloud: link the GitHub account in the console, git push, and the app was live fifteen seconds later (section "I'm Sorry, Dave").

**Q: What is his overall verdict on AI-assisted development?**
A: A powerful accelerator that empowers non-experts and speeds up prototypes, provided a human reviews and corrects it, used strategically on scripted tasks rather than everywhere, and with its social, legal and IP implications in mind (section "Conclusion").

## Mentioned
ChatGPT, HandFlow, MuseScore, MusicXML, Rust, Iron, ActixWeb, Clever Cloud, GitHub, Luc Lenôtre, Maestro, P99 conference, DALL-E, Freepik, Super Mario Bros, HAL 9000, handpan, D Kurd scale, tongue drum
