HN user

mcao

250 karma
Posts3
Comments61
View on HN

Yes, the UI is all from scratch. My inspiration was from seeing other audio-reactive videos on Youtube, but those were rendered with either Adobe After Effects or a 3D program like Blender. I wanted to build something that was easy for the average person to use.

If you simply drop in a song, it will render in realtime. You don't have to render it to a video. I am working on a "live" mode that will act much like Winamp, where you would select a playlist of songs and have it cycle effects.

Hi everybody, I'm the creator of Astrofox. Surprised to see this here, but I'll be glad to answer any questions.

Astrofox has been my side project for several years now. It's basically my playground for trying out things like Electron, React and WebGL. It's open-source, MIT licensed, and totally free to use.

This may just be me, but I'm very particular about my software. I want it to look and flow a certain way. So I wrote Umami mainly for my needs first. Plus it was just a fun project.

I always start side projects so I can learn something new. In this case it was Prisma.io, Chart.js, Next.js authentication, JWT and Postgresql. All of which I didn't know about until this project.

Fair point. I was simply following the "common practice" from other products making these claims, which is to not store personal user data and only generate an anonymous ids.

Maybe that's not fully compliant, I don't know, so I went ahead and removed any mention of GDPR from the website. It's not really my goal anyways. I'm just trying to release free software while they are charging money and making these claims.

I will probably implement the daily salt and remove the localStorage code as well just to be safe.

But again, I'm not a lawyer here, where do you draw the line? Why not hourly salts? 5 minute salts? What is considered a reasonable effort? At some point you're storing data that can identify a user for the purpose of analytics. Still, I'm going try to lean to the safer side as best I can.

For personal projects I tend to write all the CSS and components myself. I just like being able to control everything down to the pixel without reading some documentation. But that's just my workflow. I say just use whatever gets the job done. The only thing I used was Bootstrap grid for responsive layouts. Tailwind CSS is pretty popular.

I am not a lawyer so I cannot say for sure what constitutes PII and what breaches GDPR. I am using the same techniques as Fathom Analytics, Plausible.io and other products. Everything is hashed into a unique session id and none of the actual data like user agent or IP address is actually stored. It is the same data that is found in server log files. In the strictest interpretation of GDPR, I don't think any analytics product can exist.

As for the localStorage, it's just for performance so I don't have to recompute the session hash. The product will work the same without it. But seeing as it is a cause contention I am probably going to remove it.

The local storage is mainly for performance. It's to prevent a round-trip to the database to figure out the session again. The session id will be the same regardless and it can function without local storage. But I do see your point. I may consider removing it just to be safe.

Yes, event tracking is already in the current build. I just haven't finished the UI components or documentation yet. But basically all you have to do is add a CSS class to an element and it will automatically start tracking. Like this:

  <div class="button umami--onclick--signup-button">Signup</div>