You are browsing as a guest. Sign up (or log in) to start making projects!

DeltaVortex

@DeltaVortex

Joined July 12th, 2026

  • 61Devlogs
  • 5Projects
  • 2Ships
  • 34Votes
Open comments for this post

9h 12m 15s logged

Spectralis devlog #53
—Hello again proggers—
Spent an absurd amount of time this round fighting Spotify EQ loopback, and lost. Straight up did not manage to fix it. Consolation prize: started building out real scripts to make compiling and building capsules a lot less painful.
logged an absurd amount of hours for a net result of “nope”
Cat or dog? loopback.device
Okay let’s get into it~
—Yap—
Two threads this round, one that went nowhere and one that’s genuinely useful going forward. The Spotify EQ loopback problem ate most of the time and didn’t budge; the capsule build tooling picked up the slack.
—The Great Suffering—
1 — Spotify EQ Loopback: Defeated Me
Tried to get the DSP chain from devlog #49 actually applying to Spotify playback through loopback, and it just would not cooperate. Sunk an absurd amount of time into this specifically, tried multiple angles, none of them landed. Not resolved as of this devlog.
undefeated so far, and not in a good way
2 — Capsule Build Scripts, Started
While the loopback fight was going nowhere, started building out actual scripting to make compiling and building capsules easier. Less manual setup, more repeatable process — exactly the kind of tooling that matters more the more capsules get made, especially with the CHASER world from devlog #52 in progress.
—FAQ (no one asked these but they are here)—
Q: What is a “progger”?
A: A human programmer. You. The one who lost an entire session to Spotify’s loopback behavior.
Q: Is Spotify EQ loopback going to get revisited?
A: Presumably, eventually. Not resolved right now, parking it rather than continuing to burn time on it tonight.
Q: What do the new capsule build scripts actually help with?
A: Compiling and building capsules faster and more consistently, useful directly for ongoing work like the CHASER world.
Q: Is this related to the DSP work from devlog #49?
A: Yes, the loopback fight was specifically about getting that DSP chain to apply to Spotify audio.
Q: Any workaround for now?
A: None found yet, this devlog’s the “still broken” status, not a fix.
—This is the end*—
*end for now, loopback devices permitting
PREBUILD!!!

0
0
12
Open comments for this post

4h 47m 25s logged

Spectralis devlog #52
—Hello again proggers—
Landed on the album for the first public 3D world: CHASER by femtanyl. Working on the album design now. Also had a moment of pure hubris — tried to offload a small bug onto Claude instead of finding it myself, and that went about as well as you’d expect.
“i’ll just let claude find it” is my new “how hard could it be”
Cat or dog? git revert HEAD
Okay let’s get into it~
—Yap—
Following devlog #51’s plan to build a real EP into the first public 3D world, the album’s locked in now. Also learned a valuable lesson about delegation this round, courtesy of one very confident, very wrong AI rewrite.
—The Great Suffering—
1 — The Album: CHASER By femtanyl
Decided on CHASER as the album going into the first public 3D world. Working through album design now — laying out how the tracks translate into the world’s structure and visuals.
2 — Delegated A Bug To Claude, Regretted It
Had a small bug I was too lazy to actually track down myself, so figured I’d just hand it off. Claude rewrote a large chunk of the surrounding code in the process, made it genuinely unreadable, and still didn’t fix the actual bug. Net negative outcome on every axis.
3 — Reverted, Found It Myself
Rolled the whole thing back with git, thank god for version control, and just found the bug the old-fashioned way instead. Sometimes the “lazy” shortcut costs more time than the thing it was supposed to save.
thanks git, my one reliable coworker tonight
4 — The Art Is Hard: Token Specifically
Working on the visualizer art now, and one character in particular — Token — is turning out to be surprisingly difficult to draw well. Full visualizer expected in a day or two once the art actually comes together.
—FAQ (no one asked these but they are here)—
Q: What is a “progger”?
A: A human programmer. You. The one who learned the hard way that delegating a bug isn’t always faster than fixing it yourself.
Q: Is this the EP world from devlog #51?
A: Same project, now with the actual album picked — CHASER by femtanyl.
Q: What went wrong with the Claude delegation specifically?
A: Rewrote surrounding code into something unreadable, didn’t fix the bug, had to be reverted entirely.
Q: When’s the full visualizer dropping?
A: A day or two, mainly gated on finishing the art, Token specifically being the hard part.
Q: Any lessons for next time?
A: Probably just fix the small ones yourself. Noted.
—This is the end*—
*end for now, git reverts permitting
PRETTY!!!
:yay-1-1-72614fb2edd2: :yay-2-1-3828bb11976b:
:yay-1-2-1e2d4f324297: :yay-2-2-b04378aea4ec:

0
0
8
Open comments for this post

8h 36m 1s logged

Spectralis devlog #51
—Hello again proggers—
All four features from devlog #48 are done. Satellites are working. 6.1.0’s feature set is genuinely complete now. Next up: building an EP I actually like into the first public Spectralis 3D world.
all four boxes checked, time to actually put something real inside the format
Cat or dog? world.build()
Okay let’s get into it~
—Yap—
Following through on devlog #50’s last remaining piece — satellites are functional now, which closes out DSP control, 3D worlds, the lite format, and satellites as a complete set. With the format actually finished, moving straight into making the first real showcase for it: a full EP built out as a public 3D world.
—The Great Suffering—
1 — Satellites, Working
Streaming audio to other devices around the house — smart speakers and similar — is functional now. Last of the four planned features from devlog #48, and it’s in.
2 — All Four Implementations, Done
DSP control from devlog #49, 3D-based worlds, the lite capsule/world format, and now satellites. Full set, complete. 6.1.0’s core feature list is locked.
3 — Building The First Public 3D World: An EP
Instead of a tech-demo world, going with something real — an actual EP, one I genuinely like, built into the 3D world format as its first public showcase. Direct successor to the demo capsule approach from devlog #18, same idea, bigger format this time around.
devlog #18 was the proof of concept, this is the real thing
—FAQ (no one asked these but they are here)—
Q: What is a “progger”?
A: A human programmer. You. The one about to turn a feature-complete format into an actual finished piece of content.
Q: Is this the same demo approach from devlog #18?
A: Same philosophy — real content over a synthetic tech demo — scaled up into the full 3D world format instead of a single capsule.
Q: Is 6.1.0 shipping now that all four features are done?
A: Feature-complete, yes. This EP world is likely part of showcasing the release once it goes out.
Q: Does the EP world use the DSP effects from devlog #49?
A: Almost certainly, given how tied together spatial audio and the DSP batch are in this format.
Q: How big is this EP world going to be?
A: Scope’s still forming — this devlog’s the kickoff, not the finished product.
—This is the end*—
*end for now, world-building permitting
PROGRESS!!! :yipee:

0
0
11
Open comments for this post

9h 58m logged

Spectralis devlog #50
—Hello again proggers—
50 devlogs. 375 hours. Genuinely holy lock in, we’ve come a long way since devlog #1’s “song wars docked in sidebar” commit list. Three of the four features from devlog #48 are actually in now.
375 hours in and this milestone hits different than the 338 hour panic in devlog #46
Cat or dog? v6.1.0-rc
Okay let’s get into it~
—Yap—
Real progress since devlog #48 named the final four features for this release, and devlog #49’s DSP detour. DSP control, 3D-based worlds, and a new lite capsule/world format are all in. Satellites are the last piece, in progress now.
—The Great Suffering—
1 — DSP Control, Implemented
The whole batch of coloring, mastering, and spatial effects from devlog #49 is wired up and controllable now, not just built as standalone processing.
2 — 3D-Based Worlds, Implemented
The explorable-space, 3D-support world format from devlog #48 is in. Ties directly into the binaural panner work from devlog #49 too — a sound at a location in a 3D world can actually use real spatial positioning now.
3 — The New Lite Capsule/World Format, Implemented
Also in, and here’s the honest part: I know in my heart this is really for the mobile release, even though it wasn’t framed that way explicitly. Lighter data footprint, less demanding format, exactly what a mobile client would need. Not saying it out loud earlier didn’t make it any less obviously true.
building it for “everyone” while secretly building it for the phone in my pocket
4 — Satellites, In Progress
Last of the four. Streaming audio out to other devices around the house — smart speakers and similar — still being worked on, the one piece standing between here and shipping 6.1.0.
—FAQ (no one asked these but they are here)—
Q: What is a “progger”?
A: A human programmer. You. The one who just crossed 375 hours and 50 devlogs on one ongoing arc.
Q: Is the lite format really built with mobile in mind?
A: Yes, admitting it now even though it wasn’t stated as the explicit goal when it was first planned in devlog #48.
Q: How close is 6.1.0 now?
A: Three of four features done. Satellites left, then it ships.
Q: Does 3D world support use the DSP work from devlog #49?
A: Directly — the binaural panner is what makes spatial positioning in these worlds actually work.
Q: Any reflections on hitting devlog #50?
A: Mostly disbelief at the hour total, same reaction as devlog #46, just a bigger number this time.
—This is the end*—
*end for now, satellite streaming permitting
PLUGINS!!!

0
0
30
Open comments for this post

9h 48m logged

Spectralis devlog #49
—Hello again proggers—
Procrastinated on the advanced stuff from devlog #48 and went down a DSP rabbit hole instead. Not a small detour either — a real batch of new processing across coloring, mastering, and spatial categories.
productive procrastination is still procrastination, i’m not fooling anyone
Cat or dog? IR.wav
Okay let’s get into it~
—Yap—
Three buckets this round: creative coloring effects, utility/mastering tools, and spatial/immersive processing. Some of these are straightforward additions, a couple tie directly into the 3D worlds work from devlog #48.
—The Great Suffering—
1 — Creative / Coloring
Saturation, tape, and tube warmth for soft-clip harmonic coloring — fits naturally next to the existing “cozy” preset feel. Distortion/overdrive for harder, more aggressive clipping. Chorus for modulated pitch/delay width. Flanger/phaser for swept comb-filter and all-pass effects, good territory for the more experimental world and capsule presets. Stereo widener/imager for mid-side width manipulation without needing true multi-mic recording.
2 — Utility / Mastering
Limiter as a hard ceiling that pairs naturally with existing compression — comp handles dynamics, limiter catches peaks. Noise gate for cutting signal below a threshold, useful for cleaning up quiet passages or hiss. De-esser for targeted sibilance reduction, mainly relevant if capsules ever carry vocal-heavy content. Multiband compression for independent per-frequency-band control, more complex than single-band but genuinely mastering-grade. Transient shaper for punch and attack control independent of overall level.
3 — Spatial / Immersive
Convolution reverb using real impulse responses instead of the current algorithmic reverb — much richer, heavier on CPU and asset cost since it needs IR files. Delay/echo, a basic tempo-syncable version, oddly missing until now despite being more commonly used than reverb alone. Stereo/binaural panner for spatial positioning, directly relevant to the 3D worlds from devlog #48 — a sound at a location in a world could map to real panning. Room/ambience simulation as a lighter-weight alternative to full convolution, parametric size/damping style but modeling early reflections separately from the existing reverb.
—FAQ (no one asked these but they are here)—
Q: What is a “progger”?
A: A human programmer. You. The one who somehow turned “procrastinate on the hard feature” into “build 14 DSP effects instead.”
Q: How does the binaural panner connect to the 3D worlds from devlog #48?
A: Sound positioned at a location in a world can map to actual spatial panning instead of flat stereo, which is exactly what explorable 3D worlds need to feel real.
Q: Is convolution reverb replacing the existing reverb?
A: No, sitting alongside it — algorithmic reverb stays lighter-weight, convolution’s the heavier, richer option when it’s worth the CPU and asset cost.
Q: Are all of these implemented already?
A: This is the buildout round, not confirmation everything’s fully polished yet.
Q: Back to the advanced 6.1.0 stuff next?
A: Presumably, eventually. No promises given the track record.
—This is the end*—
*end for now, impulse responses permitting
PRESET!!!

0
0
10
Open comments for this post

9h 24m logged

Spectralis devlog #48
—Hello again proggers—
Following up on devlog #47’s refocus, here’s the last three features locking in the 6.1.0 drop. Been holding this release back since devlog #44 specifically to land things like this, and it feels good to finally have the list finished.
three features, one release, zero more excuses to keep holding it back
Cat or dog? preset.apply()
Okay let’s get into it~
—Yap—
These three round out worlds, capsules, and playback into a more complete picture. Explorable spatial worlds instead of just mixtapes, universal preset control, and audio streaming to other devices in the house.
—The Great Suffering—
1 — Advancing World Features: Explorable Spaces + 3D Support
Instead of worlds acting like mixtapes — a flat sequence of things to listen through — giving them a lite bundle option with explorable spatial layout and 3D support. Less data than the full experience, but a genuinely different kind of world than what’s existed so far, closer to something you move through than something that just plays.
2 — Universal Preset Control For All Capsules And Worlds
Every format of capsule and world now gets preset control, consistently, instead of presets being a feature some formats had and others didn’t. One system, applies everywhere.
3 — Satellite Feature: Stream To Other Devices In The House
New satellite capability lets audio stream from the app out to other devices around the house — think a smart speaker picking up playback instead of everything staying locked to whatever device is running Spectralis directly.
the app finally understands that speakers exist outside of one room
—FAQ (no one asked these but they are here)—
Q: What is a “progger”?
A: A human programmer. You. The one who just locked in the last three features before a release that’s been held back on purpose.
Q: Is the “lite bundle” world format replacing regular worlds?
A: No, it’s an option alongside them — smaller footprint, spatial/explorable, less data than the full experience.
Q: Does preset control work the same across every capsule/world format?
A: Yes, that’s the point — consistent control regardless of format instead of feature parity gaps.
Q: What kind of devices does the satellite feature support?
A: Framed around smart speakers as the main use case, streaming audio out to other devices in the house.
Q: Is 6.1.0 shipping now that these are locked in?
A: Following devlog #47’s refocus, yes, this is the last feature set before it goes out.
—This is the end*—
*end for now, satellite devices permitting
PEAK!!!

0
0
13
Open comments for this post

6h 50m logged

Spectralis devlog #47
—Hello again proggers—
Head down in porting and mobile planning this round, until reality tapped on the shoulder: 6.1.0 still needs to actually go out, and it can’t just keep getting pushed aside for mobile forever. Lol.
“i’ll just focus on mobile” she said, right before remembering desktop users exist
Cat or dog? git checkout release/6.1.0
Okay let’s get into it~
—Yap—
Following devlog #46’s mobile scaffolding push, kept going down that road for a bit before catching myself — 6.1.0 has been held back since devlog #44 specifically to add features and QoL, and it can’t stay in limbo indefinitely while all the attention goes to a platform that’s still months out.
—The Great Suffering—
1 — Porting And Planning, Continued
More work on the mobile scaffolding and porting effort from last devlog — figuring out what actually needs to move over versus what gets built fresh for mobile specifically.
2 — The Realization
Mid-planning, it hit: 6.1.0’s still sitting unreleased, on purpose, since devlog #44, and mobile is a multi-month effort that shouldn’t be blocking a desktop release that’s basically ready. Priorities got reshuffled on the spot.
got so deep into the new shiny thing I forgot the old shiny thing needed to ship first
3 — Refocusing On 6.1.0
Redirecting effort back to actually pushing 6.1.0 out, mobile work continuing in parallel rather than as the sole focus going forward.
4 — Grinding All Night, Sleep Isn’t The Move
Going all night on this one. Sleep is lowkey just not the tech for staying locked in right now, so skipping it in favor of momentum.
one of these devlogs is going to open with “and then I collapsed,” today is not confirmed to not be that day
—FAQ (no one asked these but they are here)—
Q: What is a “progger”?
A: A human programmer. You. The one who almost let a shiny new platform delay an already-ready release.
Q: Is mobile work paused now?
A: No, continuing in parallel, just not at the expense of 6.1.0 anymore.
Q: How long has 6.1.0 been held back?
A: Since devlog #44, deliberately, to add features and QoL first.
Q: When’s 6.1.0 actually shipping now?
A: Priority’s shifted back to it as of this devlog. Sooner than it would’ve been otherwise.
Q: Any regrets about the mobile detour?
A: Not regrets, just a timing correction. The scaffolding work wasn’t wasted.
Q: Why no example photo today?
A: Too lazy
—This is the end*—
*end for now, priority queues permitting
PHARMA!!!

0
0
14
Open comments for this post

11h 38m logged

Spectralis devlog #46
—Hello again proggers—
Pulled the numbers on Stardance out of curiosity and immediately regretted it. 5 months of work. 338 total hours logged. On one release. This project is starting to look genuinely horrifying.
338 hours and I still can’t tell you where half of them went
Cat or dog? hours_logged += 1
Okay let’s get into it~
—Yap—
Not a features devlog, more a “stared at the numbers and had a moment” devlog. Stardance has spanned devlog #33 through the mobile decision in #45, and apparently that whole arc adds up to something a lot bigger than it felt like living through it one session at a time.
—The Great Suffering—
1 — 338 Hours, One Release
Total logged time on Stardance alone comes out to 338 hours across 5 months. Every individual devlog felt like its own contained grind — a night here, an all-nighter there — but seeing it all summed up in one number is a different kind of gut punch entirely.
2 — This Is Starting To Look Genuinely Horrifying
That’s the honest reaction. Not “wow, dedication,” more “oh no, this has been eating my entire life for 5 months and I only just noticed.” Both things can be true at once, apparently.
338 hours is basically a part-time job’s worth of overtime, cool cool cool
3 — Every All-Nighter, Adding Up
The 10, 11, 12, 15-hour sessions scattered across devlogs #10, #15, #17, #20, #22, #23, #26 through #28, #37, #39-#40, and #43 weren’t isolated incidents, apparently, they were just installments. All of them landed in this same 338 hour bucket.
4 — Mobile Scaffolding, Started
Following the mobile decision in devlog #45, actually started laying scaffolding for it. Also went through a pile of signup steps for Apple Developer and Android/Play stuff — half of which I’d genuinely never heard of before this. Onboarding for platform ecosystems is its own kind of maze.
a whole new category of forms nobody warns you about
—FAQ (no one asked these but they are here)—
Q: What is a “progger”?
A: A human programmer. You. The one who just found out their side project logged more hours than a part-time job over 5 months.
Q: Is 338 hours a lot for one feature/release cycle?
A: Subjectively, yes, viscerally so once it’s all added up in one place instead of spread across 13 devlogs.
Q: Was this number a surprise?
A: Genuinely, yes. Living through it one session at a time hides the total in a way that checking Hackatime totals does not.
Q: What kind of Apple/Android signups came up?
A: A pile of them, some genuinely unfamiliar until now — platform ecosystem onboarding is its own maze.
Q: Is this changing how work gets paced going forward?
A: Worth thinking about. Not promising anything yet.
Q: Is Stardance actually done after all this?
A: Getting closer with each devlog, but 338 hours in and still not quite there.
—This is the end*—
*end for now, hour totals permitting
PART!!!

0
0
15
Open comments for this post

4h 24m logged

Spectralis devlog #45
—Hello again proggers—
Rested up after devlog #44 and made a real decision: mobile apps are finally happening. CarPlay and Android Auto both included, though CarPlay’s less likely to actually land than Android Auto — same reasoning as the Mac situation, plus a new wrinkle: the Apple Developer fee.
apple gatekeeps hardware access AND a yearly fee, incredible business model, respect the hustle
Cat or dog? AndroidAuto.connect()
Okay let’s get into it~
—Yap—
Big decision this round, not code yet, direction. Mobile’s been the obvious missing platform for a while, and going all in means CarPlay and Android Auto both get planned for from day one instead of bolted on later.
—The Great Suffering—
1 — Mobile Apps Are Actually Happening
Committing to it now. iOS and Android both, built with CarPlay and Android Auto support planned in from the start rather than retrofitted after the fact.
2 — CarPlay Is The Harder Bet
Same underlying issue as the Mac saga back in devlog #19 and #32 — limited Apple hardware access makes CarPlay genuinely less likely to land than Android Auto, at least on a similar timeline. Hoping for it, not promising it.
3 — The New Wrinkle: The Apple Developer Fee
Beyond hardware access, there’s now a real financial barrier too — the Apple Developer Program fee, which Android doesn’t require in the same way. Another thing stacked on top of the existing Mac-style constraints, specifically for iOS/CarPlay.
hardware access AND a paywall, apple really said “both”
—FAQ (no one asked these but they are here)—
Q: What is a “progger”?
A: A human programmer. You. The one about to budget for an Apple Developer fee on top of everything else.
Q: Why is CarPlay less likely than Android Auto?
A: Same reasoning as Mac desktop support — limited hardware access, now compounded by the Apple Developer fee as a financial hurdle too.
Q: Is Android Auto guaranteed then?
A: More likely, yes, since Android doesn’t carry the same access and fee barriers.
Q: Is this related to the Mac release saga?
A: Same underlying constraint, different platform. Consistent theme at this point.
Q: When’s mobile actually landing?
A: Direction’s decided this devlog, timeline’s not locked in yet.
—This is the end*—
*end for now, developer fees permitting
PHONE!!!

0
0
11
Open comments for this post

9h 50m logged

Spectralis devlog #44
—Hello again proggers—
Did it. Fixed a genuine ton of bugs, following through on the mess from devlog #43. Tempted to just drop 6.1.0 right now, but holding off — want to get a few new features in and brainstorm some more QoL first so this actually feels like a finished product, not just a stopgap. Also: finally going to bed.
the bar was “fix the bugs” and I cleared it, going higher anyway
Cat or dog? sleep(∞)
Okay let’s get into it~
—Yap—
Real closure on the websocket/CDN/prod chaos from last devlog. Cleared out a lot in one sitting, and instead of rushing 6.1.0 out the door on relief alone, choosing to actually sit with it a bit longer.
—The Great Suffering—
1 — The Bug Backlog, Actually Cleared
Worked through the fallout from devlog #43 — websocket issues, the CDN backup failures, all of it — and got a genuine ton of it fixed in one real pass instead of piecemeal patching.
2 — Holding Off On 6.1.0, On Purpose
Could ship right now. Choosing not to. Want to work in a few new features and brainstorm more QoL first, so the release feels complete rather than just “the bugs are gone, ship it.” Patience over momentum this time.
3 — Finally Going To Bed
After devlog #43’s two-days-no-sleep spiral, actually calling it and going to bed now. Today off is finally getting used the way it was supposed to be used.
the sleep debt collector finally caught up
—FAQ (no one asked these but they are here)—
Q: What is a “progger”?
A: A human programmer. You. The one about to get real sleep for the first time in a while.
Q: Why not just ship 6.1.0 now if the bugs are fixed?
A: Because “bug-free” and “actually done” aren’t the same bar, and this one’s worth clearing the second one too.
Q: Was this the same chaos from devlog #43?
A: Same fires, all put out this round.
Q: What kind of new features are being considered?
A: Not locked in yet — that brainstorming is the next step, not this devlog.
Q: Sleep status, finally?
A: Handled. Going now.
—This is the end*—
*end for now, actual sleep permitting
PLAY!!! :plane-flapping:

0
0
16
Open comments for this post

2h 30m logged

Spectralis devlog #43 :yay:
—Hello again proggers—
[2:47am] okay so. websockets again, more of them, and now the CDN backup is failing too which is great, love that for me. on my 4th coffee at this point, energy drink count is starting to get concerning honestly and I’m not gonna pretend it isn’t.
pretty sure i debugged the cdn thing at 4am purely out of spite
Cat or dog? idk man catch (Exception e) { } at this point
Okay let’s get into it, or at least try to~
—Yap—
so continuing from devlog #42’s websocket hardening, turns out hardening one part just revealed the next part was also fragile, shocking, anyway. need to push something to prod to actually get it working but can’t do that without interrupting infra which is currently live so that’s a whole separate problem I have to solve first before I can solve the actual problem. love layers.
—The Great Suffering—
1 — More Websocket Issues
more of them. found while poking at the hardening from last devlog. not sure if figuring this part out took 20 minutes or 3 hours honestly, time’s doing something weird tonight.
2 — CDN Backup Is Failing
on top of the websocket stuff, cdn backups just started failing too. not connected to each other as far as i can tell but who knows at this point, everything feels connected at 3am.
3 — Need To Push To Prod, Can’t Without Interrupting Infra
the actual fix needs to go to prod but pushing it right now means interrupting live infra, which i don’t want to do blind, so now i need a plan for THAT before the real fix even goes out. process problem wrapped around the actual problem, great.
4 — Shared Play Is Doing The AI-Look Thing Again
noticed shared play’s UI is drifting into the same generic-AI-looking territory the main site kept getting flagged for back in devlog #21-#24. damn. gonna have to redo that too. not tonight though, one disaster at a time.
5 — Oh And I Found A Missing Semicolon
spent a genuinely embarrassing amount of time on a bug that turned out to be a missing semicolon. send help. actually don’t, just let me suffer, i clearly deserve it at this hour.
6 — No Sleep For 2 Days, Hitting Now
it’s catching up. hard. luckily got tomorrow off so plan is stay up tongiht finish this, and just completely pass out tomorrow instead. worth it. probably.
—FAQ (no one asked these but they are here)—
Q: What is a “progger”?
A: a human programmer. you. the one reading this at whatever hour you’re reading it, hopefully not also running on 2 days no sleep
Q: Is the websocket hardening from #42 actually working?
A: mostly? finding more edge cases as i go, which is annoying but also kind of expected honestly
Q: Why can’t you just push to prod now?
A: because infra’s live and i don’t want to interrupt it blind, need an actual plan for that part first
Q: Is shared play getting a full redesign again?
A: yeah probably, later though, not adding a 4th fire to tonight
Q: Sleep plan?
A: none tonight, all of it tomorrow, that’s the whole plan
—This is the end

*end for now, semicolons permitting
send sleep!!! :sleeping_parrot:

0
0
58
Open comments for this post

9h 42m 37s logged

Spectralis devlog #42
—Hello again proggers—
Spent this round hardening shared queues, mostly because WebSockets are just genuinely cool and it’s about time they got treated that way in this codebase.
a devlog motivated entirely by “websockets are cool” is a valid devlog
Cat or dog? ws://
Okay let’s get into it~
—Yap—
Shared queues have been functional but not particularly resilient this whole time, riding on shared play’s presence/reactions/queue work from way back in devlog #9. This round was about actually hardening that layer instead of leaving it fragile.
—The Great Suffering—
1 — Hardening Shared Queues
Went through and shored up a bunch of the underlying bases for shared queues — the stuff that only matters once real connections are dropping, reconnecting, and behaving unpredictably instead of the clean happy-path test case.
2 — Because WebSockets Are Cool
Genuinely part of the motivation here. Real-time bidirectional connections are just satisfying to get right, and shared queues are exactly the kind of feature that benefits from taking that layer seriously instead of treating it as plumbing.
not every feature needs a dramatic bug story, sometimes it’s just “wanted to do it well”
—FAQ (no one asked these but they are here)—
Q: What is a “progger”?
A: A human programmer. You. The one hardening infrastructure purely because it’s fun to get right.
Q: Is this related to the shared play work from devlog #9?
A: Same general system, this round focused specifically on making the queue layer more resilient.
Q: What does “hardening” mean here specifically?
A: Making the shared queue behavior hold up better under real conditions — drops, reconnects, timing edge cases — rather than just the clean test path.
Q: Any bugs found during this pass?
A: Nothing dramatic enough to call out individually, mostly proactive resilience work.
Q: What’s next?
A: Podcast mode and the randomizer work from devlog #41 are both still ongoing threads.
—This is the end*—
*end for now, dropped connections permitting
P_P!!!

0
0
35
Open comments for this post

5h 16m 1s logged

Spectralis devlog #41
—Hello again proggers—
Podcast mode’s in the works, with a real new way to actually find saved podcasts instead of digging for them. Also fixed the randomizing tools so they actually help pick a song instead of just existing decoratively. And: class got canceled for a hurricane watch, so tonight’s an all-nighter by default.
free 10 hours courtesy of a hurricane, weird way to get them
Cat or dog? shuffle(weighted=True)
Okay let’s get into it~
—Yap—
Two real features this round plus a forced schedule change. Podcast mode’s genuinely new territory for the app, the randomizer fix is a smaller but meaningful UX improvement, and the hurricane watch just handed over a full night that wasn’t originally planned for grinding.
—The Great Suffering—
1 — Podcast Mode, In Progress
Building out actual podcast support, including a new way to locate saved podcasts rather than just treating them like any other track and hoping they surface in the right place. Real new territory for the app compared to the music-first feature set so far.
2 — Randomizing Tools, Actually Useful Now
The shuffle/randomizer tools existed before but weren’t really doing anything meaningful — mostly there in name. Fixed so they actually aid in song selection now instead of just sitting there as a checkbox nobody trusted.
a randomizer that doesn’t actually help you pick anything is just decoration
3 — The Hurricane Watch Situation
Class got canceled due to a hurricane watch, which means tonight’s turning into a full grind session that wasn’t originally on the calendar. Silver lining of a weather delay, I suppose.
—FAQ (no one asked these but they are here)—
Q: What is a “progger”?
A: A human programmer. You. The one getting a bonus grind night courtesy of a hurricane watch.
Q: Is podcast mode close to done?
A: In progress, this devlog’s the early build phase, not the finish line.
Q: What was actually wrong with the randomizer before?
A: It existed but didn’t meaningfully help pick songs — more decorative than functional. Fixed to actually aid selection now.
Q: Is Song Wars rework from devlog #40 still going?
A: Ongoing, this devlog’s focus shifted to podcast mode and the randomizer instead.
Q: Stay safe with the hurricane watch, by the way.
A: Appreciated. Staying inside, staying coding.
—This is the end*—
*end for now, hurricane watches permitting
POOL!!!

0
0
18
Open comments for this post

10h 0m logged

Spectralis devlog #40
—Hello again proggers—
10 straight hours, and the highlight is getting tricked by Suno’s own scraper path. There was a decoy path that looked exactly like the real music endpoint, and it just returned forbidden the whole time. Maybe I’m the bot in this scenario. Unclear.
got outsmarted by a decoy URL, humbling
Cat or dog? 403 Forbidden
Okay let’s get into it~
—Yap—
Continuing the reverse-engineering grind from devlog #39, Suno specifically threw a curveball this round. Beyond that, spent real time thinking about what the app actually is and why certain features exist, plus started tearing into Song Wars, which has apparently been quietly buggy for a while.
—The Great Suffering—
1 — The Suno Decoy Path
Suno provides a path that looks exactly like the real music endpoint, structurally identical, right down to how it responds at a glance. In reality it just returns forbidden every time. Spent real time thinking this was progress before realizing it was a dead end dressed up as a working one.
maybe im the bot
2 — Actually Fixed It, After Testing
Once the decoy was identified for what it was, found the real path and got it working properly. Testing it thoroughly this time before calling it done, given how devlog #39 went.
3 — Identity Of The App
Spent real time thinking through what Spectralis actually is at this point, and justifying why certain features exist rather than just accumulating them because they seemed cool at the time. Less code, more “why does this exist and does it still make sense.”
4 — Song Wars Rework, Started
Started tearing into Song Wars, which turns out to be hella buggy underneath. Early stages of a rework rather than a patch job, since patching individual bugs in it hasn’t been holding up.
—FAQ (no one asked these but they are here)—
Q: What is a “progger”?
A: A human programmer. You. The one who got fooled by a decoy API path for a while.
Q: Was the Suno issue related to the S3 discovery from devlog #38?
A: Same general integration, different specific obstacle this round.
Q: Is Song Wars getting a full rewrite or just fixes?
A: Leaning toward a real rework rather than more patches, given how buggy it’s turned out to be.
Q: What does “identity of the app” work actually produce?
A: Not code directly — more a filter for which features actually belong and why, going forward.
Q: How’s the 10 hour grind treating you?
A: Productive despite the decoy detour. Real progress by the end of it.
—This is the end*—
*end for now, decoy paths permitting
PAP!!!

0
0
18
Open comments for this post

11h 35m 59s logged

Spectralis devlog #39
—Hello again proggers—
All-nighter, running on 3 Monsters and a Coke Zero. Reverse engineering APIs is hard as hell, and untitled.stream in particular fought back the whole way. Also snuck in a fix for a Spotify library issue on the side.
3 Monsters and a Coke Zero is not a nutrition plan, it’s a battle strategy
Cat or dog? 429 Too Many Requests
Okay let’s get into it~
—Yap—
Following up on devlog #38’s untitled.stream compat work — turns out “working on it” undersold how hard it actually was. Genuinely brutal reverse engineering session, plus a smaller fix that came out of the same stretch of work.
—The Great Suffering—
1 — untitled.stream Was Particularly Hard To Crack
Chasing this compatibility since devlog #38, and it turned out to be one of the harder reverse-engineering targets yet. No public API to lean on, so it was the usual slow grind of observing behavior and piecing together how it actually works under the hood.
some APIs give up easy, this was not one of them
2 — Reverse Engineering APIs In General: Still Hard
Not a new lesson given devlog #17’s whole saga, but worth restating: this category of work is consistently the hardest and slowest kind on the whole project. Going in with better patience and verification habits this time though, which helped.
3 — Spotify Library Polling, Increased
Bumped how often libraries get polled to account for some Spotify-side issues that were surfacing. Smaller fix, but a real one, found and shipped in the same session.
—FAQ (no one asked these but they are here)—
Q: What is a “progger”?
A: A human programmer. You. The one who ran on three energy drinks to crack one integration.
Q: Is untitled.stream compat actually working now?
A: Meaningfully further along after this session, following up from devlog #38’s start on it.
Q: Did this go better than devlog #17’s reverse-engineering disaster?
A: Yes — hard and slow, but productive this time rather than a total dead end.
Q: What was the Spotify polling issue specifically?
A: Library state getting out of sync too easily — more frequent polling keeps it closer to accurate.
Q: Sleep status?
A: Same as every other all-nighter devlog. Not great. Worth it this time though.
—This is the end*—
*end for now, rate limits permitting
PIPSQUEAK!!!

0
0
12
Open comments for this post

9h 32m logged

Spectralis devlog #38
—Hello again proggers—
Suno’s integration broke after their latest TOS update, so that got fixed. Also added Discord Rich Presence control for capsules, started chasing down a batch of connections that quietly broke or got dropped over time, and picked up a fun trivia fact along the way: Suno apparently hosts on AWS S3.
a TOS update breaking an integration, name a more classic story
Cat or dog? S3://
Okay let’s get into it~
—Yap—
Mixed bag this round: one reactive fix from an external platform change, one genuinely new feature, and the start of a cleanup pass on integrations that have been quietly rotting since whenever they last got touched.
—The Great Suffering—
1 — Suno Integration, Fixed
Suno’s newest TOS update broke the existing integration. Patched it back up to work with the new terms. Reactive fix, not a fun one, but necessary.
2 — Capsule DRPC Control
Real new feature: Spectralis capsules can now control Discord Rich Presence, so a capsule can show custom status while it’s playing instead of the app just showing generic now-playing info.
3 — Chasing Down Broken And Dropped Connections
Going through existing integrations that broke with newer updates on the other end, or that got dropped along the way and never revisited — untitled.stream compatibility being one specific example. Working through the backlog of “this used to work” one at a time.
4 — Suno Hosts On AWS S3
Small fun discovery while poking around the integration: Suno’s hosting is on AWS S3. Not actionable, just neat to know.
5 — Looking For New Platforms
Actively looking for what to integrate with next. Feedback on what platforms people actually want would genuinely help shape this.
—FAQ (no one asked these but they are here)—
Q: What is a “progger”?
A: A human programmer. You. The one whose integration broke because someone else updated a TOS page.
Q: What’s DRPC?
A: Discord Rich Presence — the status shown under someone’s name in Discord. Capsules can now set custom status through it.
Q: What’s untitled.stream compat about?
A: One of the connections that broke or got left behind at some point — being actively worked back into shape.
Q: What platforms are being considered for new integration?
A: Not decided yet, genuinely open to suggestions.
Q: Was the Suno fix hard?
A: Not conceptually, just annoying — an external change forcing reactive work instead of planned work.
Q: What’s the image order now?
A: Changed my mind again — meme first, app screenshot second this time. The devlog #37 order didn’t stick.
—This is the end*—
*end for now, TOS updates permitting
POP!!!

0
0
15
Open comments for this post

15h 24m logged

Spectralis devlog #37
—Hello again proggers—
Working through the feedback wave from the ship, including an upcoming maybe-new streaming service integration. Reverse engineering, again, yay. Also completely forgot Hackclub’s 10 hour limit was a thing and ran 5 hours over it. It’s fine. Everything’s fine.
last time reverse engineering a streaming service ate 12 hours and produced nothing, so this is either growth or déjà vu
Cat or dog? HKEY_LOCAL_MACHINE
Okay let’s get into it~
—Yap—
Post-ship feedback turned into real changes fast, and one of them’s a streaming service integration that’s back to reverse-engineering territory — hopefully with better luck than the devlog #17 saga. Also, format note: switching up how devlogs get posted going forward.
—The Great Suffering—
1 — Maybe New Streaming Service Support
Working on possible support for another streaming service, and since it doesn’t have a public API either, that means reverse engineering again. Learned some hard lessons from devlog #17’s all-nighter about this exact kind of work, applying them here — verifying before implementing, checking whether something’s already patched before sinking hours into it.
2 — 15 Hours, Not 10
Completely lost track of Hackclub’s 10 hour session limit and blew past it by 5 hours. Not the plan, happened anyway, no regrets loud enough to stop it from happening again probably.
time limits are more of a guideline when you’re mid-flow
3 — A Format Change, By Request
People like the meme format but keep asking to actually see the project itself, which is fair — problem is most of what’s happening is engine work, and a screenshot of raw code just doesn’t communicate much on its own. Going to try posting an actual screenshot as the first image and keep the meme as the second, going forward.
—FAQ (no one asked these but they are here)—
Q: What is a “progger”?
A: A human programmer. You. The one who just blew past a 10 hour limit by half again as much.
Q: Is this streaming integration going to end like devlog #17’s did?
A: Hoping not — going in more carefully this time given how that one went.
Q: Why not just show code screenshots if people want to see the project?
A: Raw engine code doesn’t communicate much visually to most people. Trying to find screenshots that actually show something meaningful instead.
Q: Will the meme format go away?
A: No, staying as image two. Just adding an actual project screenshot as image one.
Q: How’s the feedback wave going overall?
A: Productive, this streaming service idea being one direct result of it.
—This is the end*—
*end for now, session limits permitting
POSSIBLE!!!

0
0
12
Ship

Spectralis shiplarp 2 — Stardance

—wuzzup guys—

So much has happened since shiplarp 1 and I cannot wait to not break down what changed. I will. I’m lazy. Not right now though.

Cat or dog? redeem_code.claim()

—the celebration—

We’ve gone through so many changes since last time that it deserves an actual celebration: a very cool, very awesome custom visualizer for Stardance.

Claim yours: Help > Manage Visualizers, then redeem stardance-lts-pulp.

—found a bug?—

Including the dreaded Tim Cook issues — DM me:

Can’t wait to hear the feedback and all the bugs you dig up.

—this is the end*—

*end for now, redeem codes permitting

YIPEE!!!

  • 34 devlogs
  • 236h
  • 16.89x multiplier
  • 3884 Stardust
Try project → See source code →
Open comments for this post

9h 52m 1s logged

Spectralis devlog #36
—Hello again proggers—
Last log before 6.0.1 tries to ship to everyone. Except Mac, remember? If anyone — and by anyone I mean basically no one — has the app downloaded already, you should see the update land fairly soon.
“anyone” carrying a lot of self-deprecation in that sentence
Cat or dog? v6.0.1
Okay let’s get into it~
—Yap—
Four things landing in this round: video export from devlog #35 finally patched back in properly, the about page expanded, a real EQ upgrade, and more webview bugs cleared out. Then it’s out the door.
—The Great Suffering—
1 — Video Export, Actually Patched In
Announced back in devlog #35, and this round it’s actually working and patched into the build for real instead of just existing as a headline feature nobody could touch yet.
2 — About Page, Expanded
Grew the about page out — more actual content instead of the bare-minimum version it’s had this whole time.
3 — A Far More Advanced EQ System
Real upgrade here: new EQ with envelope styling and a handful of presets. Meaningfully more capable than whatever was there before, for anyone who actually cares about shaping their sound instead of just hitting play.
4 — More Webview Bugs, Patched
Following the WebView2Host fast-path fix from devlog #9, a few more webview-related bugs got cleared out this round. Apparently that surface keeps finding new ways to misbehave.
webview bugs are the gift that keeps on giving
5 — 6.0.1 Ships, Mac Excluded (Still)
Same LTS-only policy from devlog #32 applies — Mac isn’t getting 6.0.1 as a minor. Everyone else should see the update land soon.
—FAQ (no one asked these but they are here)—
Q: What is a “progger”?
A: A human programmer. You. The one about to auto-update basically no one to 6.0.1.
Q: Why doesn’t Mac get 6.0.1?
A: Same policy from devlog #32 — Mac only gets LTS releases, not minors, unless it’s a Mac-specific patch.
Q: What’s new in the EQ system specifically?
A: Envelope styling plus a set of presets, a real step up from the previous version.
Q: Is video export from devlog #35 fully working now?
A: Yes, patched in properly this round.
Q: When does 6.0.1 land?
A: Fairly soon, per this devlog, for anyone who already has the app installed.
—This is the end*—
*end for now, update pushes permitting
PEBBLE!!!

0
0
39
Open comments for this post

9h 34m logged

Spectralis devlog #35
—Hello again proggers—
Long way from v5.3.0, that’s for sure. New ship’s cooking, and it’s built directly off the feedback wave from devlog #33 — took what came in and actually built more on top of it. Also, the big one this round: video export is here.
35 devlogs from “last ship” to this
Cat or dog? .mp4
Okay let’s get into it~
—Yap—
This one’s a real feedback-driven ship, not just internal roadmap stuff. Fed reports and requests all the way back from devlog #2’s post-first-ship feedback into the app, and video export was the headline addition that came out of it.
—The Great Suffering—
1 — Feedback Actually Became Features
Everything that came in since devlog #2, right after the very first ship, finally got folded back into this release, not just patched as bugs but expanded into more app. Real loop from “here’s what’s wrong/missing” way back then to “here’s it, fixed and built out” now.
2 — Video Export Is Here
For music makers who want something to post — YouTube, Klipy, wherever you’re posting cool stuff — Spectralis can now export video directly instead of just playing audio and visualizers live. Been a long time coming given how much the visualizer/capsule work has built up across devlogs #7, #18, #23, and #29-#30.
3 — This Is The New Ship, Not The Finished One
Announcing the direction this round more than closing it out — the surprise from devlog #33/#34 still rides along on this too. Full picture coming as it actually ships.
—FAQ (no one asked these but they are here)—
Q: What is a “progger”?
A: A human programmer. You. The one who just got a whole export pipeline for their trouble.
Q: What can video export actually do?
A: Exports your visualizer/capsule output as an actual video file, suited for posting to platforms like YouTube or Klipy.
Q: Is this the same ship as the Stardance surprise from devlog #34?
A: Same overall release window, yes.
Q: How much of this came directly from user feedback?
A: A meaningful chunk — some of it going all the way back to devlog #2, right after the very first ship.
Q: When’s it actually dropping?
A: Still in progress. This is the announcement, not the release.
—This is the end*—
*end for now, export pipelines permitting
PS: couldn’t find a good meme this time, so you get corporate gif slop instead. Enjoy.
PICKLE!!!

0
0
17
Loading more…

Followers

Loading…