[Side Project]: Sonificafy
Table of contents
I recently launched Sonificafy, a side-project I dreamed up about a year ago and was eager to build.
It’s a site that converts any public URL into sound, so you can discover what your website sounds like in a funny way ✨
Goal
To bring an idea to life and enjoy the process.
On this page about the project I explain my motivation, goals, and the challenge it presented, but in short, I wanted to build something from scratch—even though along the way I encountered many valuable experiences, one of them having the opportunity to explore a variety of different roles.
I took on every possible role: project manager, product owner, visual designer (UX/UI), front-end, back-end, and devops. I had a lot of fun because in my day-to-day work I don’t usually get the chance to switch between roles or responsibilities. That’s one of the strengths of side-projects.
How It All Started
First off, I have a huge passion for space, science fiction, and the concept of sonification.
I discovered that NASA had a channel on SoundCloud featuring audio tracks about the sounds of planets and nebulae (also on YouTube), which couldn’t be right—if sound can’t travel through space, you wouldn’t hear anything, though the idea of floating in front of Jupiter and hearing only silence felt a bit off.
It turns out that NASA converts the data it collects, like electromagnetic pulses, into sound. I’m not sure how much processing is involved because some of the harmonics in these tracks are truly epic 🤘
So, I did some research on the process and learned the basics of its functioning, and I wondered if I could do the same with HTML—if any input could be transformed into audio.
Planning
It seemed simple:
- Create the Python script for sonification
- Build the back-end
- Design the front-end
- Build the front-end
- Integrate the front-end and back-end
- Set up the infrastructure
- Deploy 🚀
Technology
- Front-end (React + Vite + PostCSS): For the front-end, choosing the stack was easy. I wanted the flexibility of React while keeping things simple.
- Back-end (Node.js + Express): Although it’s not my strongest area, I’m comfortable enough to handle it, so I opted for the solution I was most familiar with.
- Back-end (Python): Initially, I looked for JavaScript libraries to replicate the process but I realized that using Python with NumPy and SciPy was more appropriate. I found myself in a bit of a bind because I didn’t have enough knowledge to pull it off.
- Back-end / DevOps (Docker): This wasn’t part of my original plan either, but after evaluating different approaches, I decided to dockerize this part to keep the entire back-end together.
- DevOps (Render + Fly.io): I chose Render because I already knew it and knew that a static site would be free, and Fly.io because it convinced me more than Railway.
AI
AI played a very important role because I wouldn’t have been able to complete this project—or at least not in the same timeframe—without using it, as I needed help with Python and Docker.
I chose Claude as an experienced partner and found it very easy to work with him because I knew how to describe in detail what I was looking for, guide his responses, and refine the results.
Professionals in this industry have been taking sides ever since ChatGPT emerged, from “it’s going to take our jobs” to “it’s a tool we need to learn to use.” I’ve been gradually adopting it, evaluating how it can help me or add value to me, and now I have my own opinion: it’s a tool that will free our creativity. I believe we can soon expect the blooming of many strange ideas—both good and bad—that until now would have died before even being born, simply because who can cover all these professional roles? Who can put together a team to even validate an idea? It’s like having the possibility of becoming the chief of your own team.
Will one person then replace an entire team? I don’t think so. I believe there will still be specialized professionals who can delegate repetitive tasks, and new hybrid roles will emerge because we’ll be able to cover a bigger surface, although with a more superficial view of each area.
I think the near future will be very interesting. I can’t stop thinking about what’s next and looking back for those projects that I used to fall (die before being born) because I might not have had the knowledge on persistence or deploying my back-end.
Side-Projects
There’s a lot written about the positives of these kinds of projects, and I’ve already mentioned some of the benefits above, but I think it’s important to highlight that while they’re a breath of fresh air, you shouldn’t feel pressured if it’s not your thing, and you can let go of the mantra “you have to do it, you have to do it.”
What I’ve Learned
- A bit about musical concepts and other “implementation details”
- About Python as a programming language and its ecosystem
- Some things about Docker, though I still have a long way to go
- Fly.io as a cool platform with very kindly free tier plans
- Environments should be set up and available from the beginning of the development, otherwise surprises come later
Resources
comments powered by DisqusIf you find it interesting
If you have any doubt or you want to chat about this topic, as if you find interesting the content or our profiles and you think we could build something together, do not hesitate to contact us trough the email address hola@mamutlove.com