nextup
A simple wheel-of-names for picking who goes next. The entire state (names, who went last and who’s away) lives in the URL. No ads.
Hey, thanks for stopping by. My name is Redas Jefisovas and I'm a software developer with a background in music. Currently working at Strawberry.
A simple wheel-of-names for picking who goes next. The entire state (names, who went last and who’s away) lives in the URL. No ads.
A browser based light show maker for the Novation Launchpad X.
For all of my music making life, I’ve always used piano keyboard style MIDI controllers, and after all these years - my hands have become way too familiar with the layout. Everytime I sit down to make music, my muscle memory wins over my mind and I need to make a conscious effort to play something new.
Enter the Launchpad.
Playing my go-to piano accompaniments with this layout (or any of the available variations) just doesn’t work and what comes out are things I’ve never heard myself play before. Great success! Let’s make some cool new music now…wait…how do they make these pads light up in different colors? How fast can they blink? Wouldn’t it be cool if you could program a whole light show on this thing?
That new music will have to wait while we get the answers to all of those questions.
Turns out, the Launchpad community has been doing this sort of thing for years with Ableton and I’m just late to the party. Nevertheless, this was a very satisfying thing to make and I’m continuing to work on it occasionally. Since first posting about it online, I’ve added the ability to start/stop the sequence and sync tempo by sending MIDI clock messages from a DAW.
This project was the first time I used code to manipulate something in the physical world and the immense satisfaction it provided inspired me to start learning embedded development.
A tracker-like sequencer DAW for the browser. My biggest and longest project to date. I’m chipping away at it at least a few times a week and will write here a bit more later when I catch my breath.
For now, you can read the origin story here.
Post-validation data redaction for Zod schemas. Annotate fields with replacement values, then parse-and-redact in one step.
This one came out of necessity. I wanted to redact certain fields in an API response and was tired of writing mocks and a bunch of temporary logic for a quick demo or presentation. Zod-redact let’s you mark fields in your schema with replacement values and let Zod conditionally apply those replacements while parsing the data.
Great for any situation where you want to use realdata with all of the sensitive information redacted.
A lightweight, dependency-free Node.js Terminal User Interface (TUI) for browsing, toggling and visualizing oxlint rules and the number of warnings/errors they produce when toggled ON.
Oxlint with it’s type-aware linting is really powerful and I’m using it as an extension of TypeScript itself to enforce opinionated coding standard across all the projects I work on. This means that I’m always on the lookout for more rules to add to my config and it got a bit tedious going between the browser, the config file and the terminal while trying out new ones. So I built this TUI as a quicker way to browse the whole rule catalog and instantly see how many offenders there are in the codebase without leaving the terminal.
I feel like it kind of became obsolete just as I finished building it, with agents becoming very capable and easily parsing the oxlint output. However, this was my first real NPM package and first repo to reach 25 stars on GitHub so I’m continuing to maintain it for the sentimental value and for the occasional rule shopping.
A browser game inspired by my time working as a mail carrier. Specifically the mail sorting part. Sounds boring? Yeah it kind of is, but some people who tried it instantly get hooked and some can’t even get past the first level. You’ll know which camp you fall into as soon as you start.
If you do make it through the first couple of levels, you’ll realize that your success depends on your knowledge of continents and which countries belong to which. So at the very least you’ll brush up on your geography a bit. It has a locally persistent high score to keep you coming back for more.
At the time I built this I was really proud of making a fully functional game in 100% plain vanilla javascript without any build steps or external dependencies and put it on my CV to show off my DOM manipulation skills.
Back in 2018, only months before Synthwave was declared dead (originally posted in 2019) I started my Synthwave project HOLOFLASH. I was tired of making rock music and wanted to explore some more electronic parts of the 80s.
In the following years, I managed to squeeze out one (barely) full album, make it onto THE New Retro Wave YouTube channel, twice. Teamed up with an awesome guy from across the Atlantic and left our mark on the not-dead-yet-at-that-point Popwave genre.
Many argued that Synthwave was not in fact dead in 2019, but today I think the fact is undeniable. By the time The Weeknd released Dawn FM, there were very few musicians who didn’t have a Synthwave project or remix, and I could feel that it wasn’t coming from a place of love for the genre but from FOMO. I was sure guilty of this as well. This led to a huge amount of mixed quality output being produced in a short time and ultimately to a huge training data set for the agents generating Synthwave today.
The very nature of the Synthwave sound makes it very hard to distinguish a human creation from an AI one. Today, I’m hearing a lot of obviously AI generated Synthwave, but also a lot that is right on the edge and too hard to tell apart. As someone who is not interested in listening to music that doesn’t have a significant amount of human effort behind it, I can firmly conclude that Synthwave - for me as a consumer - is truly dead.
Luckily, as a creator - it lives! There are still a lot of people who share my values and enable me to continue doing this - even though soon no one will be able to believe I actually did it myself. Some of them are the Masebrothers who despite being able to prompt their way to potentially better output than I’m producing, still value my effort and keep letting me make cool unapolagetically 80s tracks for their projects.
This next one is going to be really cool. I got to make quite a lot of music for it, and it’s a follow up to their movie Dragon Cop that first started our collaboration.
This project is the culmination of all of my teenage years and early adult hood.
I started playing guitar when I was around 12 years old and pretty soon got into my head that no matter what, I would do whatever it takes to get a record deal and release an album. This goal defined every choice I made and every fiber of my being for the next decade until I finally achieved it in 2016 when I signed a record deal with Frontiers Records and released my debut solo album Master Of The Universe. I continued to re-achieve the dream many more times after that.
At around the time of my first album release, I started to write and produce for other artists and slowly developed it into a small business that was sustaining me. While I was firmly locked into the 80s Melodic Rock/AOR niche, I did some house and EDM work and that ended up being the most commercially successful. I appeared in a TV commercial for an online casino that some people still remember.
Ultimately, I suffered from something that seems to be common when you end up achieving a childhood dream. What do you do after? Around the time of my penultimate Palace album release, I started to feel like I’m just going through the motions and actually had no real interest to continue doing it. This realization took way too long to sink in though and the next couple of years were very difficult.
It was during that “dark time” that I got into programming and re-discovered myself. Learning how to code brought back the same feeling I had when I first picked up a guitar and I came to the realization that it was never about releasing an album - it was about learning HOW to. It’s the Rocky training montage that is the best part - not the match.
Once I understood that, I could finally step away without any guilt and begin the next chapter in my life. Today, I feel like I have a much healthier relationship to music and can enjoy it for what it is without everything being work towards some higher purpose. Now as I’m slowly becoming a better programmer, all of the musical knowledge I thought was wasted, is coming back into mind in new and unexpected ways as I’m building my own DAW psikat.
I have a playlist with some of the better music I’ve done. A lot of is from the “denial era” and suffer from a lack of passion, but there’s some pieces there that I’m still really proud of!
Greek is hard, but the last big change to the written language happened as recently as 1982, which makes me believe that it hasn’t quite settled in yet. This was my experiment with some ideas I’ve had about what could make the next revision really awesome.
This was a fun experiment but after playing around with it and getting a lot of feedback from native Greek speakers, I’ve come to the conclusion that Greek is not needlessly complex or “in need of another revision”. This comment on HackerNews brilliantly summarizes exactly what value the things I tried to remove bring and perfectly illustrates what is lost when a language is over-simplified.