Project ideas from Hacker News discussions.

Learning music with Strudel

📝 Discussion Summary (Click to expand)

The three most prevalent themes in the discussion revolve around the rise and appeal of interactive live-coding music platforms (specifically Strudel), the comparison between Strudel and its predecessor TidalCycles, and technical discussions around tooling, workflows, and performance optimization.


1. Growing Interest and Appeal of Live-Coding Music (Strudel)

There is significant enthusiasm for Strudel as a tool for programmatic music creation, often cited for its immediate visual feedback and accessibility, especially in live performance contexts like Algoraves.

  • Supporting Quote: Users find the immediate, visual nature of the coding highly engaging: > "I get more motivated when I can see it working directly and change some code here and there!" - "rodrigodlu"
  • Supporting Quote: The phenomenon of live-coding performance is gaining traction: > "I went to a basement party/rave recently where the DJ was live-coding strudel, was incredibly cool to see in person." - "ashwindharne"

2. Comparison and Relationship with Predecessor (TidalCycles)

The discussion frequently references TidalCycles, drawing parallels and contrasts between the two tools, highlighting Strudel's relative simplicity and JavaScript basis versus TidalCycles' Haskell power.

  • Supporting Quote: Strudel is often positioned as the more approachable, JavaScript-based counterpart to TidalCycles: > "Strudel is TidalCycles but in javascript." - "lomase"
  • Supporting Quote: Acknowledgment remains that TidalCycles possesses deeper technical maturity: > "Strudel doesn't have all of the advanced features of TidalCycles... but TidalCycles has the full power of Haskell, longer history, and more advanced tooling." - "venturecruelty"

3. Tooling, Workflow Integration, and Performance Concerns

Users are actively seeking ways to integrate Strudel into existing software development environments (like VS Code/NeoVim) and debating how to manage the computational load of complex musical patches.

  • Supporting Quote: Interest in integrating Strudel editing into established text editors is strong: > "I mean, one of Strudel strong point is the browser based rich visualization, but I just want to edit JS code with my favorite editor." - "hamasho"
  • Supporting Quote: Performance efficiency is a common concern for complex sequences: > "I find I get close to something ready to perform... but then the webapp starts struggling and I find myself back at the drawing board." - "jquaint"

🚀 Project Ideas

Strudel Performance Profiler & Optimization Guide

Summary

  • A tool designed to analyze and visualize the CPU/DSP load generated by specific lines or sections of Strudel code, addressing user concerns about performance bottlenecks (stuttering).
  • Core value proposition: Makes complex, data-heavy live-coding safe for performance by providing immediate feedback on performance cost.

Details

Key Value
Target Audience Strudel musicians attempting complex arrangements or live performances, especially those running on less powerful hardware ("ending stuttering quite badly sometimes").
Core Feature Line-by-line performance metrics overlayed on the code editor (similar to line coverage), combined with suggested optimization tips based on detected expensive operations (e.g., high room, large array lookups).
Tech Stack JavaScript/TypeScript (to integrate deeply with the Strudel/Browser environment), Web Workers for non-blocking profiling, CSS for visualization.
Difficulty High (Requires deep understanding of Strudel's internal evaluation/DSP loop).
Monetization Hobby

Notes

  • "Anyway, but that does not really matter, if you're worried about performance, maybe try the dev version at: https://warm.strudel.cc/" suggests optimization is a known, ongoing concern.
  • This directly addresses the pain point expressed by bobim and jquaint regarding performance struggles when creating complex patches.

Strudel Arrangement Structuring Service (SASS)

Summary

  • A web service or desktop extension that facilitates transitioning from short, iterative live-coding loops (Strudel's strength) into structured, multi-part songs with defined start/stop points, arrangements, and mastering options.
  • Core value proposition: Bridges the gap between live performance improv and recording/mastering full tracks, utilizing a declarative, structured approach inspired by DAW timelines.

Details

Key Value
Target Audience Users who like creating sounds/beats in Strudel but need help with high-level structure and arrangement (wouterjanl: "would love for there to be a good bridge between producing sounds and beats with Strudel code and structurering and mastering an entire track").
Core Feature A secondary timeline interface where users can map/sequence saved Strudel snippets (or even named sections of a single large file) into verses, choruses, etc., allowing for pre-defined transitions and structure export.
Tech Stack React/Vue frontend, Node.js backend (for managing larger arrangement files), potentially use WebAssembly to handle the actual timed playback sequence if full export is needed.
Difficulty Medium
Monetization Hobby

Notes

  • Solves the gap mentioned by wouterjanl: "I would love for there to be a good bridge between producing sounds and beats with Strudel code and structurering and mastering an entire track."
  • This could integrate concepts from forks like the one mentioned by neom (snaps/snapshotting) into a formal structure.

Headless Strudel Session Recorder & Visual Exporter

Summary

  • A CLI tool or browser extension command that runs Strudel sessions without opening the standard visual editor, rendering only the programmed visuals to a video file format (MP4/GIF). Aims to satisfy requests for easy sharing/saving of performances.
  • Core value proposition: Provides seamless, high-fidelity recording of the visual component of live code performances without the distraction of the editor UI.

Details

Key Value
Target Audience Users who perform live or want to share high-quality recordings of their visual programming without manual screen recording (danvoell: "Could someone go ahead and make a plugin that allows you to download an mp4 of the loop").
Core Feature Command-line interface to launch a headless Strudel instance, execute a provided code file for a specified duration (or loop count), and output the resulting visual/graphic rendering directly to a standard video file.
Tech Stack Node.js, Puppeteer/Playwright (to drive a headless Chromium instance for rendering the JavaScript/Canvas output), FFmpeg (for final video compilation).
Difficulty Medium
Monetization Hobby

Notes

  • Directly responds to user desire for easy video output: "This is an excellent example. You can uncomment some lines at the bottom and hit alt+enter (or click the Update button) to add visualization effects too." combined with the request for an MP4 download.
  • Also caters to users wanting to use the code editor externally (rodrigodlu asking about hiding the CSS) by allowing the recording step to be entirely separate from the editing step.