|
58507
|
My personal site by @Mistix | Stardance
|
Mistix
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-06T07:59:29Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I have created a portfolio website using HTML and CSS. CSS was little tricky since I’m not really familiar with coding in CSS. I you would like to check it out head over to https://project.urnotmistix.com", "repo": "https://github.com/AyaanplayszYT/personal-web", "demo": "https://project.urnotmistix.com/"}]...
|
[{"post_id": 62740, "ts": "202 [{"post_id": 62740, "ts": "2026-09-06T07:51:33Z", "hours": 1.4522, "text": "I’m working on my portfolio website for the stardance mission. I built it using HTML and CSS, also used some tutorials along the way."}]...
|
Title: My personal site by @Mistix | Stardance
De Title: My personal site by @Mistix | Stardance
Devlogs:
I’m working on my portfolio website for the stardance mission. I built it using HTML and CSS, also used some tutorials along the way.
Ships:
I have created a portfolio website using HTML and CSS. CSS was little tricky since I’m not really familiar with coding in CSS. I you would like to check it out head over to https://project.urnotmistix.com...
|
1792824646.4582217
|
1793688646.4582217
|
|
21847
|
Flux-OS by @Abhiram999 | Stardance
|
Abhiram999
|
3
|
81.0
|
828
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-06T07:57:02Z", "hours": 28.0, "multiplier": 8.97, "payout": 249, "blessing": "neutral", "text": "So, Yes FluxOS is a WebOS and i believe everyone is already aware of by now and is (mostly) made on vanilla CSS, HTML and JS Doesn’t really follow any design theme ( like other OS based on animals mostly ) But its kinda going with what i like mostly minimal , functional and customizable hence it is quite customizable ( not as customizable as real OS but common this is running on the web gng ) Not as functional as i would like but its pretty good, Id like to work on it more but I am ending this project right here Also It was hell to debug as the code base is simply massive, wayy too big for its own good Anyways I hope you like it ._.", "repo": "https://github.com/the-degenerate-otaku/Flux-OS", "demo": "https://the-degenerate-otaku.github.io/Flux-OS/"}, {"ship_num": 2, "ts": "2026-08-19T16:57:25Z", "hours": 52.0, "multiplier": 13.04, "payout": 579, "blessing": "neutral", "text": "So Essentially I Made a WebOS but It is customizable ( Well It tried to be at least ) How customizable? Well you change wallpapers , window accents , Window transparent and Window blurring , Have cursor effects which change with accents , a fully working file manager and notepad to scribble shi down And Yea IT TOOK A WHILE especially when your code is broken because you forgot to capitalize a letter for a function and then the function now doesn’t exist and you do everything and turn the entire code upside down before finding it on random Tuesday (smh) I’m gonna keeping working on this cause i did have a web browser in built into the OS and a Music player but got rid of it cause It just doesn’t work how i quite want it to right now frankly so It’ll probably next ship that the full version of this WebOS will release and I can put this project to rest ( fyi I’m one month overdue so yea gotta finish it fast", "repo": "https://github.com/the-degenerate-otaku/Flux-OS", "demo": "https://the-degenerate-otaku.github.io/Flux-OS/"}, {"ship_num": 3, "ts": "2026-07-01T12:09:25Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a custom OS build on html and is web-based using CSS, JS and HTML. Along the journey of me building the WebOS i learnt a lot of things like how to build a real-time clock and Terminal code, it was hard though cause the code kept breaking again and again and yea a lot of debugging and brain wrecking later it finally works and I’m quite proud of it ngl it maybe be small step it is an honest one :) k’bie", "repo": "https://github.com/the-degenerate-otaku/Flux-OS", "demo": "https://the-degenerate-otaku.github.io/Flux-OS/"}]...
|
[{"post_id": 62738, "ts": "202 [{"post_id": 62738, "ts": "2026-09-06T07:49:51Z", "hours": 3.8911, "text": "FluxOS Final Devlog #21 Date : 6 September 2026 So, Yes this is going to be my final Devvlog on this project and on Stardance as a whole probably though I have an entire month Infront of me I have shi to do in RL and i am focusing on the ysws too so yea gotta end this here i suppose, There is alot I still wanna build on Flux but there is technical and aesthetic constraints on vanilla CSS and JS so It would make the project so big that neither will i be able to complete it nor will it run well so im ending it here that said im pretty happy how it turned out, it looks pretty good for a project i started making when i began coding Whats New? Added the music player back Default settings have been updated Updated readme Taskbar google Search Final UI clean up PS: the clock position might change depending on your screen size it should be fine on most lap but on larger or smaller screen it might be a bit off target so just drag it back to where it is in the wallpaper ight? ( I cant figure it out )"}, {"post_id": 60932, "ts": "2026-09-03T16:34:30Z", "hours": 2.7239, "text": "Flux OS Devlog#20 Date: 3 September 2026 What New? So essentially small bug changes and a new feature the accent picker now has a auto or manual option to choose from the Auto accent picker bug where it displayed on top the manual accent has been fixed bug where the pet wouldnt come out in itss proper size has been fixed SEARCH BAR ADDED ( YES BROWSER SEARCH ) yea its not an embedded browser it does take you to a new tab when you search anything but its still better than having a half assed wiki page as the browser which doesnt event work and it got cool rolling text hehhehe"}, {"post_id": 60354, "ts": "2026-09-02T17:20:23Z", "hours": 1.8397, "text": "Flux OS Devlog #19 Date: 2 September 2026 What’s New? So accent picker the accent now automatically changes with the wallpaper colors ( still need to add the option to manually select it tho )"}, {"post_id": 59112, "ts": "2026-08-31T18:56:29Z", "hours": 0.275, "text": "Flux OS BTS #1 Date: 31 August 2026 heehehe here is a sneak peek on what im making ( yes im tired that why no devlog )"}, {"post_id": 58354, "ts": "2026-08-30T18:59:20Z", "hours": 1.8422, "text": "Flux OS Devlog #18 Date: 30 August 2026 ( well 31 actually ) Whats New? BETTER ACCENTS, so I earlier had only 4 accents and they were kinda eh meh so yea this is a fully reworked accents with now 10 colors which changes the color of the glass and the Globe live wallpaper and updates in real time ( pet is still white ) took shit ton of time cause i somehow broke the taskbar ( yep ik )"}, {"post_id": 57157, "ts": "2026-08-29T08:17:10Z", "hours": 2.7289, "text": "Flux OS Devlog #17 Date: 30 August 2026 Whats new? Honestly nothing much just some minor ahh changes fixed maximise , minimise and close button function so now the windows actually maximise properly instead of the old broken one Dock autohide when maximised Updated terminal lost the entire site for half an hour ( didnt even have dev console ) but fixed it"}, {"post_id": 56829, "ts": "2026-08-28T19:29:53Z", "hours": 2.1167, "text": "Flux OS Devlog #16 Date 29 August 2026 How come im not dead yet smh, its the middle of night and i got a cold Whats New? ⭐ THE PET IS FINALLY HERE ( YEES IK ISNT HE CUTE :O ) this one is so much of an improvement over thee last pet i had and the cat i tried to make omg and the math behind it is genuinely fascinating ( not gonna bother explaining it here ) so yea it was made the by this dude https://github.com/codetoanbug/ReptileInteractiveCursor or atleast that whom i used to understand how the code worked and yea the pet is togglable works on all background and yea pretty cool Now lemme go rest im sick af and i have a headache"}, {"post_id": 55190, "ts": "2026-08-26T18:18:10Z", "hours": 3.7108, "text": "Flux OS Devlog #15 Date : 26 August 2026 Whats new? Brought the taskbar icons back so now u can minimize and itll go to the taskbar, everything else is kinda broken tho Im making something big may have something to do with my pet hehe~"}, {"post_id": 53606, "ts": "2026-08-24T07:40:46Z", "hours": 1.1694, "text": "Flux OS Devlog#14 Date : 24 August 2026 Whats New? Brought back the custom wallpaper options I expect the live and static wallpaper shifting to be a lot more difficult cause I’m not using a video as the live wallpaper but a reactive that moves with your mouse and I had problems with this in the past nonetheless everything went pretty smoothly too smoothly in fact I thought something would break and I would have to spend 3hrs finding what broke but it took barely an hour hmm isn’t that interesting Cleaner up a visual bug for the accents where the colors weren’t rendering properly in their half and would leak into the other half"}, {"post_id": 53193, "ts": "2026-08-23T17:06:00Z", "hours": 2.1472, "text": "Flux OS Devlog#13 Date : 23 August 2026 Whats new? Small changes for small hours, Taskbar has now a Wi-Fi and Bluetooth symbol also has device specs and a Calendar yyyayyyyyy also there is an app finder Haven’t made much progress cause i was busy playing Genshin ( its too good )"}, {"post_id": 52359, "ts": "2026-08-22T13:57:37Z", "hours": 5.3289, "text": "Flux OS Devlog#12 Date : 22 August 2026 Whats new? More like is there anything left What all got removed? Music player , Browser , pet - Went for redesign and rework Notification centre - Removed and discarded Wallpaper capabilities - temporarily removed Ye, No joke i removed half of the entire WebOS What got added? Custom png icons new cursor effect removing the old one a new dynamic wallpaper ( which is the reason for removing custom wallpapers) New look generally speaking"}, {"post_id": 50436, "ts": "2026-08-19T16:31:20Z", "hours": 8.7722, "text": "Flux OS Devlog #11 Date 19 August 2026 Whats New? Apart from the fact im posting this almost a month since I last touched it there has been quoote alot of changes You can now close the notification centre the Accent colors and a new design Two apps has been removed for further development Cleaned up the code Fixed some bugs"}, {"post_id": 28865, "ts": "2026-07-15T12:55:50Z", "hours": 10.5608, "text": "Flux OS Devlog #10 Date: 15 July 2026 Whats New? So there is nothing much major to say new even though its over 10hrs of coding time almost 8hrs was debugging the things I already had cause there was may things that was broken from the last coding session that I had too dedicate the entire day towards Bugfixing the old code and since most of the old bugs where invisible i had to go through the entire code manually to come across over 10 bugs but all is good everything works as it should except the aero snap which I’m still figuring out and yes I have been coding almost the entire day and ngl Im seriously not stopping until tonight cause I’m basically hooked atp and I only stopped to post a Devlog otherwise my hours wont be counted Oh welp k’bie"}, {"post_id": 28439, "ts": "2026-07-14T17:55:57Z", "hours": 3.1869, "text": "Flux OS - Devlog #9 Date: 14 July 2026 Whats New? Sooooooo Its lookinh ppretty good ngl except for alot of shi breaking like always thing OS is finally coming together Cursor Particle trail system fixed Basic boot animation exsists a very bad but working aero snap ( tho ccant really function cause the dragging broke ) local storage ( VFS system ) added notification Centre added"}, {"post_id": 28287, "ts": "2026-07-14T13:30:52Z", "hours": 17.0628, "text": "Flux OS - Devlog #8 Date: 14 July 2026 Soooo Why do I have 17 hrs logged over 3 days and literally nearly no change to the actual WebOS and If anything a broken cursor?? Well so essentially I didnt know you had to log eveery 10hrs ( down goes 7 hrs in the drain ) and the 17 hrs I was trying alot of ideas trying to get work but couldnt cause well ehhh skilll issue….. ( ._. ) but i got a particle effect for the cursor working ….. except the cursor dosent work now …… oh well also i tried to get the cat working for like 10 hrs out of thee 17 and ye it is just not listening to me so yea im probably rethink my approach for this project and keep it oon the side for a few days"}, {"post_id": 26599, "ts": "2026-07-11T14:57:39Z", "hours": 6.3031, "text": "Flux OS - Devlog #7 Date : 11th July 2026 I am tired, so goddamn tired after 6hrs of coding ughhhhh so essentially i tried to make a desktop cat similar to the Comnyang pixel cat and after 6 hrs i havent moved anywhere i couldve probably spent more time making the OS better but nahh i spent it on a pixel cat that said i got something to work so idk i just need to find a way to make the json file better ahhh welp thats all k’bie"}, {"post_id": 26130, "ts": "2026-07-10T19:00:35Z", "hours": 1.6269, "text": "Flux OS - Devlog #6 Date 11 July 2026 Its 1 in the goddamn morning and I Finally got it to work finally after hours off debugging Jesus Christ and I’m currently cracked rn I’m very happy with what I made in 2hrs and that the debugging was soooo much more easy after i learned how to read errors, cause at first id just be confused and just start reading the code for the errors but its the entire codebase is over 700 lines long and reading it wasn’t plausible anymore anyway this is a major milestone What Changed ?? Basically the entire code changed to keep it short at first i coded CSS inline with HTML, now i just took my entire CSS file and made it a separate file You can put Custom Wallpapers now ( yes even you dog or cat can be your wallpaper ) using the Local storage property of JS the themes work but they aren’t much of use rn, Ill add more later and simplify them The control center isn’t how I want it now but honestly its already middle of the night so I’m doing that tomorrow You can change the transparency value of the windows and now can make them transparent, or frosty type whatever you like there is a WebApp Dock now where you can add your favorite sites and click them to immediately launch them like a real App dock Alr that’s enough for today im gonna log off and sleep have a good day k’bie"}, {"post_id": 26040, "ts": "2026-07-10T16:53:59Z", "hours": 3.1717, "text": "FluxOS - Devlog #5 Date 10 July 2026 What changed? I added Window transparency, Yes now the windows have a small frosted glass look though its not that visible because of the plain background but when u stack apps it becomes clear What’s Next? I have an idea for an app dock not sure if it’ll work I am trying to add a ability to customize your background Making a control center that pops up from the side k’bie"}, {"post_id": 20973, "ts": "2026-07-02T18:26:12Z", "hours": 1.3433, "text": "Flux-OS - Devlog #4 Date : 2 July 2026 So So I had a big brain scratching session of 4hrs with 90mins of actual coding but i did it i some got the NASA Uplink working What Changed? Researched a lot how to get uplink working it was either write a extremely long JS in Html and make it chaotic or make a equally challenging JS script file and type it out so I took the second route and made a JS file How does it work? In short I made a asynchronous module which uses a native fetch API to ask an External Rest API Which gets the info of the ISS k’bie"}, {"post_id": 19939, "ts": "2026-07-01T11:58:40Z", "hours": 0.385, "text": "Flux-OS Devlog #3 Date 1 July 2026 Changelog Now the terminal actually works it now reacts to commands and can take user input though it’ll still break if you put something other than the codes Whats Next Going forward i have quite a lot of changes cause the shell is now complete A full OS revamp with better animations Better Terminal More Apps Somehow make it customizable to the user"}, {"post_id": 19925, "ts": "2026-07-01T11:18:58Z", "hours": 0.6133, "text": "FluxOS Devlog #2 Date: 1 July 2026 So after bit of procrastination and thinking later i finally made some new changes Changelog changed the code to look cleaner and more readable Did alot of bugfixiing that came with the new change Added a custom Bootup Screen Problems i ran into Almost broke the entire code because a small syntax error file didn’t want to boot up ( still dont know why)"}, {"post_id": 19828, "ts": "2026-07-01T06:35:10Z", "hours": 0.0, "text": "Web-OS -Devlog #1 Date: 1 July 2026 So after alot of deliberation, studying , crying over my tight ahh schedule with literally no room to breathe ( I dont even get 6hrs of sleep atp ) I got 90 mins to make the shell of what is going to be my first ever Web-OS So What did I build in the 90mins? Trust me absolutely nothing significant, I managed to a framework running and made a shell of what going to be my future Web-OS ( which doesn’t even have a name atp) so ye, i got a lot of planned for this thing cause even if I’m not good at writing code im good at thinking up ideas which is usually a hit or miss so ye I’m feeling pretty good about this project Issues I ran into Even though Im pretty confident in my basic html skills atp i still suck at it and i generally am a slow typer which just makes me take so much time to write code its infuriating anyway there was nothing major to be tackled except myself ( why ofc not ) and my single celled brain who doesn’t understand syntax mistakes I do other than that all good What’s coming next Proper animations A boot up screen Custom commands for the terminal Proper working apps which look good Generally better user friendly design That’s all, K’bye"}]...
|
Title: Flux-OS by @Abhiram999 | Stardance
Devlogs Title: Flux-OS by @Abhiram999 | Stardance
Devlogs:
Web-OS -Devlog #1 Date: 1 July 2026 So after alot of deliberation, studying , crying over my tight ahh schedule with literally no room to breathe ( I dont even get 6hrs of sleep atp ) I got 90 mins to make the shell of what is going to be my first ever Web-OS So What did I build in the 90mins? Trust me absolutely nothing significant, I managed to a framework running and made a shell of what going to be my future Web-OS ( which doesn’t even have a name atp) so ye, i got a lot of planned for this thing cause even if I’m not good at writing code im good at thinking up ideas which is usually a hit or miss so ye I’m feeling pretty good about this project Issues I ran into Even though Im pretty confident in my basic html skills atp i still suck at it and i generally am a slow typer which just makes me take so much time to write code its infuriating anyway there was nothing major to be tackled except myself ( why ofc not ) and my single celled brain who doesn’t understand syntax mistakes I do other than that all good What’s coming next Proper animations A boot up screen Custom commands for the terminal Proper working apps which look good Generally better user friendly design That’s all, K’bye
FluxOS Devlog #2 Date: 1 July 2026 So after bit of procrastination and thinking later i finally made some new changes Changelog changed the code to look cleaner and more readable Did alot of bugfixiing that came with the new change Added a custom Bootup Screen Problems i ran into Almost broke the entire code because a small syntax error file didn’t want to boot up ( still dont know why)
Flux-OS Devlog #3 Date 1 July 2026 Changelog Now the terminal actually works it now reacts to commands and can take user input though it’ll still break if you put something other than the codes Whats Next Going forward i have quite a lot of changes cause the shell is now complete A full OS revamp with better animations Better Terminal More Apps Somehow make it customizable to the user
Flux-OS - Devlog #4 Date : 2 July 2026 So So I had a big brain scratching session of 4hrs with 90mins of actual coding but i did it i some got the NASA Uplink working What Changed? Researched a lot how to get uplink working it was either write a extremely long JS in Html and make it chaotic or make a equally challenging JS script file and type it out so I took the second route and made a JS file How does it work? In short I made a asynchronous module which uses a native fetch API to ask an External Rest API Which gets the info of the ISS k’bie
FluxOS - Devlog #5 Date 10 July 2026 What changed? I added Window transparency, Yes now the windows have a small frosted glass look though its not that visible because of the plain background but when u stack apps it becomes clear What’s Next? I have an idea for an app dock not sure if it’ll work I am trying to add a ability to customize your background Making a control center that pops up from the side k’bie
Flux OS - Devlog #6 Date 11 July 2026 Its 1 in the goddamn morning and I Finally got it to work finally after hours off debugging Jesus Christ and I’m currently cracked rn I’m very happy with what I made in 2hrs and that the debugging was soooo much more easy after i learned how to read errors, cause at first id just be confused and just start reading the code for the errors but its the entire codebase is over 700 lines long and reading it wasn’t plausible anymore anyway this is a major milestone What Changed ?? Basically the entire code changed to keep it short at first i coded CSS inline with HTML, now i just took my entire CSS file and made it a separate file You can put Custom Wallpapers now ( yes even you dog or cat can be your wallpaper ) using the Local storage property of JS the themes work but they aren’t much of use rn, Ill add more later and simplify them The control center isn’t how I want it now but honestly its already middle of the night so I’m doing that tomorrow You can change the transparency value of the windows and now can make them transparent, or frosty type whatever you like there is a WebApp Dock now where you can add your favorite sites and click them to immediately launch them like a real App dock Alr that’s enough for today im gonna log off and sleep have a good day k’bie
Flux OS - Devlog #7 Date : 11th July 2026 I am tired, so goddamn tired after 6hrs of coding ughhhhh so essentially i tried to make a desktop cat similar to the Comnyang pixel cat and after 6 hrs i havent moved anywhere i couldve probably spent more time making the OS better but nahh i spent it on a pixel cat that said i got something to work so idk i just need to find a way to make the json file better ahhh welp thats all k’bie
Flux OS - Devlog #8 Date: 14 July 2026 Soooo Why do I have 17 hrs logged over 3 days and literally nearly no change to the actual WebOS and If anything a broken cursor?? Well so essentially I didnt know you had to log eveery 10hrs ( down goes 7 hrs in the drain ) and the 17 hrs I was trying alot of ideas trying to get work but couldnt cause well ehhh skilll issue….. ( ._. ) but i got a particle effect for the cursor working ….. except the cursor dosent work now …… oh well also i tried to get the cat working for like 10 hrs out of thee 17 and ye it is just not listening to me so yea im probably rethink my approach for this project and keep it oon the side for a few days
Flux OS - Devlog #9 Date: 14 July 2026 Whats New? Sooooooo Its lookinh ppretty good ngl except for alot of shi breaking like always thing OS is finally coming together Cursor Particle trail system fixed Basic boot animation exsists a very bad but working aero snap ( tho ccant really function cause the dragging broke ) local storage ( VFS system ) added notification Centre added
Flux OS Devlog #10 Date: 15 July 2026 Whats New? So there is nothing much major to say new even though its over 10hrs of coding time almost 8hrs was debugging the things I already had cause there was may things that was broken from the last coding session that I had too dedicate the entire day towards Bugfixing the old code and since most of the old bugs where invisible i had to go through the entire code manually to come across over 10 bugs but all is good everything works as it should except the aero snap which I’m still figuring out and yes I have been coding almost the entire day and ngl Im seriously not stopping until tonight cause I’m basically hooked atp and I only stopped to post a Devlog otherwise my hours wont be counted Oh welp k’bie
Flux OS Devlog #11 Date 19 August 2026 Whats New? Apart from the fact im posting this almost a month since I last touched it there has been quoote alot of changes You can now close the notification centre the Accent colors and a new design Two apps has been removed for further development Cleaned up the code Fixed some bugs
Flux OS Devlog#12 Date : 22 August 2026 Whats new? More like is there anything left What all got removed? Music player , Browser , pet - Went for redesign and rework Notification centre - Removed and discarded Wallpaper capabilities - temporarily removed Ye, No joke i removed half of the entire WebOS What got added? Custom png icons new cursor effect removing the old one a new dynamic wallpaper ( which is the reason for removing custom wallpapers) New look generally speaking
Flux OS Devlog#13 Date : 23 August 2026 Whats new? Small changes for small hours, Taskbar has now a Wi-Fi and Bluetooth symbol also has device specs and a Calendar yyyayyyyyy also there is an app finder Haven’t made much progress cause i was busy playing Genshin ( its too good )
Flux OS Devlog#14 Date : 24 August 2026 Whats New? Brought back the custom wallpaper options I expect the live and static wallpaper shifting to be a lot more difficult cause I’m not using a video as the live wallpaper but a reactive that moves with your mouse and I had problems with this in the past nonetheless everything went pretty smoothly too smoothly in fact I thought something would break and I would have to spend 3hrs finding what broke but it took barely an hour hmm isn’t that interesting Cleaner up a visual bug for the accents where the colors weren’t rendering properly in their half and would leak into the other half
Flux OS Devlog #15 Date : 26 August 2026 Whats new? Brought the taskbar icons back so now u can minimize and itll go to the taskbar, everything else is kinda broken tho Im making something big may have something to do with my pet hehe~
Flux OS Devlog #16 Date 29 August 2026 How come im not dead yet smh, its the middle of night and i got a cold Whats New? ⭐ THE PET IS FINALLY HERE ( YEES IK ISNT HE CUTE :O ) this one is so much of an improvement over thee last pet i had and the cat i tried to make omg and the math behind it is genuinely fascinating ( not gonna bother explaining it here ) so yea it was made the by this dude https://github.com/codetoanbug/ReptileInteractiveCursor or atleast that whom i used to understand how the code worked and yea the pet is togglable works on all background and yea pretty cool Now lemme go rest im sick af and i have a headache
Flux OS Devlog #17 Date: 30 August 2026 Whats new? Honestly nothing much just some minor ahh changes fixed maximise , minimise and close button function so now the windows actually maximise properly instead of the old broken one Dock autohide when maximised Updated terminal lost the entire site for half an hour ( didnt even have dev console ) but fixed it
Flux OS Devlog #18 Date: 30 August 2026 ( well 31 actually ) Whats New? BETTER ACCENTS, so I earlier had only 4 accents and they were kinda eh meh so yea this is a fully reworked accents with now 10 colors which changes the color of the glass and the Globe live wallpaper and updates in real time ( pet is still white ) took shit ton of time cause i somehow broke the taskbar ( yep ik )
Flux OS BTS #1 Date: 31 August 2026 heehehe here is a sneak peek on what im making ( yes im tired that why no devlog )
Flux OS Devlog #19 Date: 2 September 2026 What’s New? So accent picker the accent now automatically changes with the wallpaper colors ( still need to add the option to manually select it tho )
Flux OS Devlog#20 Date: 3 September 2026 What New? So essentially small bug changes and a new feature the accent picker now has a auto or manual option to choose from the Auto accent picker bug where it displayed on top the manual accent has been fixed bug where the pet wouldnt come out in itss proper size has been fixed SEARCH BAR ADDED ( YES BROWSER SEARCH ) yea its not an embedded browser it does take you to a new tab when you search anything but its still better than having a half assed wiki page as the browser which doesnt event work and it got cool rolling text hehhehe
FluxOS Final Devlog #21 Date : 6 September 2026 So, Yes this is going to be my final Devvlog on this project and on Stardance as a whole probably though I have an entire month Infront of me I have shi to do in RL and i am focusing on the ysws too so yea gotta end this here i suppose, There is alot I still wanna build on Flux but there is technical and aesthetic constraints on vanilla CSS and JS so It would make the project so big that neither will i be able to complete it nor will it run well so im ending it here that said im pretty happy how it turned out, it looks pretty good for a project i started making when i began coding Whats New? Added the music player back Default settings have been updated Updated readme Taskbar google Search Final UI clean up PS: the clock position might change depending on your screen size it should be fine on most lap but on larger or smaller screen it might be a bit off target so just drag it back to where it is in the wallpaper ight? ( I cant figure it out )
Ships:
I made a custom OS build on html and is web-based using CSS, JS and HTML. Along the journey of me building the WebOS i learnt a lot of things like how to build a real-time clock and Terminal code, it was hard though cause the code kept breaking again and again and yea a lot of debugging and brain wrecking later it finally works and I’m quite proud of it ngl it maybe be small step it is an honest one :) k’bie
So Essentially I Made a WebOS but It is customizable ( Well It tried to be at least ) How customizable? Well you change wallpapers , window accents , Window transparent and Window blurring , Have cursor effects which change with accents , a fully working file manager and notepad to scribble shi down And Yea IT TOOK A WHILE especially when your code is broken because you forgot to capitalize a letter for a function and then the function now doesn’t exist and you do everything and turn the entire code upside down before finding it on random Tuesday (smh) I’m gonna keeping working on this cause i did have a web browser in built into the OS and a Music player but got rid of it cause It just doesn’t work how i quite want it to right now frankly so It’ll probably next ship that the full version of this WebOS will release and I can put this project to rest ( fyi I’m one month overdue so yea gotta finish it fast
So, Yes FluxOS is a WebOS and i believe everyone is already aware of by now and is (mostly) made on vanilla CSS, HTML and JS Doesn’t really follow any design theme ( like other OS based on animals mostly ) But its kinda going with what i like mostly minimal , functional and customizable hence it is quite customizable ( not as customizable as real OS but common this is running on the web gng ) Not as functional as i would like but its pretty good, Id like to work on it more but I am ending this project right here Also It was hell to debug as the code base is simply massive, wayy too big for its own good Anyways I hope you like it ._....
|
1792878728.3268666
|
1793742728.3268666
|
|
55285
|
Slasher by @KelvinY | Stardance
|
KelvinY
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-06T07:26:11Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Your friendly slack bot Slasher! You can ask him any questions by typing /slasher-ask [prompt], implemented using Cloudflare Worker AI (spending my own neutrons/tokens :/) You can also type /slasher-trivia to get a random useless fact about the world, fetched from a free api Thank you!", "repo": "https://github.com/kelvinyhf/slasher", "demo": "https://hackclub.slack.com/archives/C0BV7JP4KMZ"}]...
|
[{"post_id": 62724, "ts": "202 [{"post_id": 62724, "ts": "2026-09-06T07:01:08Z", "hours": 0.635, "text": "Added profile picture for Slasher, and completed README"}, {"post_id": 62642, "ts": "2026-09-06T03:26:01Z", "hours": 2.4117, "text": "Added five commands: -help (shows a list of commands available), -ping (latency checking), -hello, -trivia (get a random useless fact, using the free api [https://uselessfacts.jsph.pl/api/v2/facts/random?language=en]), and the core, -ask (using my own cloudflare worker AI, coded in the backend)."}]...
|
Title: Slasher by @KelvinY | Stardance
Devlogs:
A Title: Slasher by @KelvinY | Stardance
Devlogs:
Added five commands: -help (shows a list of commands available), -ping (latency checking), -hello, -trivia (get a random useless fact, using the free api [https://uselessfacts.jsph.pl/api/v2/facts/random?language=en]), and the core, -ask (using my own cloudflare worker AI, coded in the backend).
Added profile picture for Slasher, and completed README
Ships:
Your friendly slack bot Slasher! You can ask him any questions by typing /slasher-ask [prompt], implemented using Cloudflare Worker AI (spending my own neutrons/tokens :/) You can also type /slasher-trivia to get a random useless fact about the world, fetched from a free api Thank you!...
|
1793145124.5373049
|
1793231524.5373049
|
|
58045
|
Trivia Bot by @Seyin | Stardance
|
Seyin
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-06T07:10:56Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A Slack trivia bot in JavaScript. That posts questions, takes answers with DM. I went from not knowing how to make a slack bot to having something actually deployed and working.", "repo": "https://github.com/Seyinlash/Trivia-bot", "demo": "https://hackclub.enterprise.slack.com/archives/C0C0D304Q1E"}]...
|
[{"post_id": 61865, "ts": "202 [{"post_id": 61865, "ts": "2026-09-05T00:08:48Z", "hours": 0.5769, "text": "I built a trivia bot for Slack from scratch using JavaScript, Node.js, and Slack’s Bolt framework running in Socket Mode. It posts trivia questions in a channel, lets people DM their answers privately (so no one can just copy the first response), tracks scores, and has a leaderboard. Questions come from a live API (Open Trivia DB) with a local JSON question bank as a fallback if the API is ever down."}, {"post_id": 61617, "ts": "2026-09-04T16:30:24Z", "hours": 0.3311, "text": "Right now I am doing the commands and testing them hopefully they work"}]...
|
Title: Trivia Bot by @Seyin | Stardance
Devlogs:
Title: Trivia Bot by @Seyin | Stardance
Devlogs:
Right now I am doing the commands and testing them hopefully they work
I built a trivia bot for Slack from scratch using JavaScript, Node.js, and Slack’s Bolt framework running in Socket Mode. It posts trivia questions in a channel, lets people DM their answers privately (so no one can just copy the first response), tracks scores, and has a leaderboard. Questions come from a live API (Open Trivia DB) with a local JSON question bank as a fallback if the API is ever down.
Ships:
A Slack trivia bot in JavaScript. That posts questions, takes answers with DM. I went from not knowing how to make a slack bot to having something actually deployed and working....
|
1792878691.153745
|
1793742691.153745
|
|
54101
|
Hacker's inspiration headquarter by @SelinaZ | Hacker's inspiration headquarter by @SelinaZ | Stardance...
|
SelinaZ
|
1
|
13.0
|
100
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-06T07:03:40Z", "hours": 13.0, "multiplier": 7.74, "payout": 100, "blessing": "neutral", "text": "Hi everyone, I’m so excited to present you Kindling! Kindling is a website for “hackers” to get inspirations of coding project to make, as well as a place for anyone to share their software ideas, their needs and issues, or anything they wish there’s a digital tool for. This is only ship #1, so Kindling is not fully developed yet! I coded the entire site using REACT (so JavaScript, HTML, CSS), which I’ve been loving recently. Here are the current features Kindling has: Home page Introduces about this project and the Kindling community Show 3 featured projects of the week Inspirations page Shows all the inspiration posts. Allow users to search for specific topics/titles, filer by category. Upload your own ideas via the “add” button. Save a post using the “save” button on the bottom left corner of the pop up modal for an inspiration post. Profile page (this page is still under development): displays the user’s basic info, projects they’ve created, idea posts they saved, and ideas they’ve uploaded. Here are the things I’m still working on: Currently all the database storage is just local browser storage on the user’s browser. I’m planning to move all the database and storage to Supabase storage. I plan to enable user log in as well. The 3 buttons under the menu button on the profile page (setting, login info, report) do not work yet. The inspirations page on the profile tab should track the ideas the user has uploaded (not working yet) NOTE: All of the inspiration/ideas content are AI generated, they are only suppose to serve as a placeholder for now, solely for the purpose of better demo. Feel free to try out this project and give me some feedbacks on what you think I should change. Also let me know if you find any bugs besides the things I mentioned above.", "repo": "https://github.com/SelinaZ07/Kindling", "demo": "https://kindling-tau.vercel.app/"}]...
|
[{"post_id": 62714, "ts": "202 [{"post_id": 62714, "ts": "2026-09-06T06:20:48Z", "hours": 1.6217, "text": "I’m planning to ship a prototype version of Kindling to get some feedback before I fully develops it. Everything on the front end is working fine, I just haven’t developed a database and all the login credentials stuff. I am planning to store all the data in Supabase database and implement user login (like email, google login etc) So in this devlog, I pushed all the changes and current version of the code to my Github repo and wrote the README. I also deployed the current Version on Vercel."}, {"post_id": 61367, "ts": "2026-09-04T07:35:44Z", "hours": 2.375, "text": "To give yall a better demo experience, I decided to implement the backend storage along with the front-end with my first ship. So now users will be able to: Edit their profile Add their own creations/projects Add new ideas to the inspirations page However, for now the storage is only to the local browser (just for demo purposes). I will be creating a formal backend via supabase later, but that will be included in the second ship. So this is pretty much what I’ve been working on for this devlog. Will be cleaning up the code a bit and the first ship be ready!"}, {"post_id": 60108, "ts": "2026-09-02T08:18:03Z", "hours": 0.6356, "text": "I enabled some more features to my websites, mostly just finishing up some small parts and making some UI actually work properly. I added a save button to the inspiration posts and whenever the user click on the save button it will save to the “collections” tab on the Profile page. I also made the search bar finally working, so it is now properly filtering inspo posts based on the title and details. I also made the filtering by category work. Currently I only have the 5 categories shown in the photo, but feel free to give me more recommendations."}, {"post_id": 59435, "ts": "2026-09-01T09:01:43Z", "hours": 1.7456, "text": "I added some more features and enables some buttons. I added pop up modals for the “add project” and “edit profile” button on the profile page. And I also changed the layout of the content of the inspirations popup modal (because it was previously just randomly generated content by AI). Still have a few things to finalize and update, but once that is done, the front-end should be somewhat presentable."}, {"post_id": 58702, "ts": "2026-08-31T07:21:27Z", "hours": 1.0581, "text": "I added a featured projects section to the home page, and built out the basic structure of the profile page. Still have to enable some buttons and add some popup pages (like the settings, edit profile etc) to the profile page. The current placeholder contents for all the inspirations/ideas are all AI generated. I’m planning to leave the for the product demo. Once users start using this website, they will be removed. Once all the front-end is finalized, I’m planning to ship the first version as a brief product demo to get some feedback before I start building and connecting to the backend."}, {"post_id": 57917, "ts": "2026-08-30T07:53:38Z", "hours": 1.5164, "text": "I added the About page and filled it in with my own content (instead of making AI to give me some temporary filler content). I also enabled some more functionalities in the Inspirations page, like the “add” button. I also replaced some of the previously AI generated filler content with actual contents. There’s still a lot of functionalities I need to add. Once all frontend is done, I will start working on the backend."}, {"post_id": 57178, "ts": "2026-08-29T09:02:55Z", "hours": 4.0244, "text": "This is my new project! I am always struggling to come up with fun and creative things to code, either just for fun or for hackathons. However, I have ,any friends and younger siblings who always like to give me ideas of what to build. So this inspired me to create this coding projects idea hub. The goal is: users can upload cool hackathon project ideas that come to their mind, or issues they have in their life that they want to get a software application to solve, or ideas of software applications that can solve real world issues. This not only helps hackers build meaningful projects, but also allows people who don’t know how to code to express their needs or wishes. I do plan to continue running this website once it is finished, and potentially scale it up. Of course, I still need to think more about the details like crediting, privacy, and business potential if I do push this out to the public. For this first ship, I’m just working on building the major framework and structure. Currently have the inspirations page basic layout finished, still working on the other to pages. I used AI to populate the content for now, as I can’t come up with so many project ideas so quickly lol."}]...
|
Title: Hacker's inspiration headquarter by @Se Title: Hacker's inspiration headquarter by @SelinaZ | Stardance
Devlogs:
This is my new project! I am always struggling to come up with fun and creative things to code, either just for fun or for hackathons. However, I have ,any friends and younger siblings who always like to give me ideas of what to build. So this inspired me to create this coding projects idea hub. The goal is: users can upload cool hackathon project ideas that come to their mind, or issues they have in their life that they want to get a software application to solve, or ideas of software applications that can solve real world issues. This not only helps hackers build meaningful projects, but also allows people who don’t know how to code to express their needs or wishes. I do plan to continue running this website once it is finished, and potentially scale it up. Of course, I still need to think more about the details like crediting, privacy, and business potential if I do push this out to the public. For this first ship, I’m just working on building the major framework and structure. Currently have the inspirations page basic layout finished, still working on the other to pages. I used AI to populate the content for now, as I can’t come up with so many project ideas so quickly lol.
I added the About page and filled it in with my own content (instead of making AI to give me some temporary filler content). I also enabled some more functionalities in the Inspirations page, like the “add” button. I also replaced some of the previously AI generated filler content with actual contents. There’s still a lot of functionalities I need to add. Once all frontend is done, I will start working on the backend.
I added a featured projects section to the home page, and built out the basic structure of the profile page. Still have to enable some buttons and add some popup pages (like the settings, edit profile etc) to the profile page. The current placeholder contents for all the inspirations/ideas are all AI generated. I’m planning to leave the for the product demo. Once users start using this website, they will be removed. Once all the front-end is finalized, I’m planning to ship the first version as a brief product demo to get some feedback before I start building and connecting to the backend.
I added some more features and enables some buttons. I added pop up modals for the “add project” and “edit profile” button on the profile page. And I also changed the layout of the content of the inspirations popup modal (because it was previously just randomly generated content by AI). Still have a few things to finalize and update, but once that is done, the front-end should be somewhat presentable.
I enabled some more features to my websites, mostly just finishing up some small parts and making some UI actually work properly. I added a save button to the inspiration posts and whenever the user click on the save button it will save to the “collections” tab on the Profile page. I also made the search bar finally working, so it is now properly filtering inspo posts based on the title and details. I also made the filtering by category work. Currently I only have the 5 categories shown in the photo, but feel free to give me more recommendations.
To give yall a better demo experience, I decided to implement the backend storage along with the front-end with my first ship. So now users will be able to: Edit their profile Add their own creations/projects Add new ideas to the inspirations page However, for now the storage is only to the local browser (just for demo purposes). I will be creating a formal backend via supabase later, but that will be included in the second ship. So this is pretty much what I’ve been working on for this devlog. Will be cleaning up the code a bit and the first ship be ready!
I’m planning to ship a prototype version of Kindling to get some feedback before I fully develops it. Everything on the front end is working fine, I just haven’t developed a database and all the login credentials stuff. I am planning to store all the data in Supabase database and implement user login (like email, google login etc) So in this devlog, I pushed all the changes and current version of the code to my Github repo and wrote the README. I also deployed the current Version on Vercel.
Ships:
Hi everyone, I’m so excited to present you Kindling! Kindling is a website for “hackers” to get inspirations of coding project to make, as well as a place for anyone to share their software ideas, their needs and issues, or anything they wish there’s a digital tool for. This is only ship #1, so Kindling is not fully developed yet! I coded the entire site using REACT (so JavaScript, HTML, CSS), which I’ve been loving recently. Here are the current features Kindling has: Home page Introduces about this project and the Kindling community Show 3 featured projects of the week Inspirations page Shows all the inspiration posts. Allow users to search for specific topics/titles, filer by category. Upload your own ideas via the “add” button. Save a post using the “save” button on the bottom left corner of the pop up modal for an inspiration post. Profile page (this page is still under development): displays the user’s basic info, projects they’ve created, idea posts they saved, and ideas they’ve uploaded. Here are the things I’m still working on: Currently all the database storage is just local browser storage on the user’s browser. I’m planning to move all the database and storage to Supabase storage. I plan to enable user log in as well. The 3 buttons under the menu button on the profile page (setting, login info, report) do not work yet. The inspirations page on the profile tab should track the ideas the user has uploaded (not working yet) NOTE: All of the inspiration/ideas content are AI generated, they are only suppose to serve as a placeholder for now, solely for the purpose of better demo. Feel free to try out this project and give me some feedbacks on what you think I should change. Also let me know if you find any bugs besides the things I mentioned above....
|
1793109285.5577269
|
1793195685.5577269
|
|
42658
|
custom-tab by @dineshkarthik | Stardance
|
dineshkarthik
|
3
|
5.0
|
25
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-06T06:41:05Z", "hours": 1.0, "multiplier": 2.36, "payout": 3, "blessing": "neutral", "text": "What I made I’ve created my custom new tab page dubbed Space Pulse . It’s a small dashboard with a NASA’s APOD image slider, a search bar, shortcuts, sticky notes, and an emoji profile section. What was challenging The most challenging aspect of the project was to ensure all the features co-exist without making the page messy and to enable all data to be stored properly in local storage. Another challenge was to make the page appear personalized and not just another dashboard. What I’m proud of The fact that this is a functional personal project that could be used daily is a great achievement. It also looks personal with the emoji profile, notes, and shortcuts. Lastly, managing to display the NASA space image with all those features without compromising its aesthetic appeal makes me proud. What people should know before trying it out The page is only functional on browsers with JavaScript enabled. All data including notes, shortcuts, and emoji profile are stored locally in a browser; hence, it will be lost upon clearing local storage . The APOD picture changes every day, and if a day’s picture is unavailable or in video format, then the d", "repo": "https://github.com/Karthik-854321/newtab", "demo": "https://newtab-dxud.vercel.app/"}, {"ship_num": 2, "ts": "2026-08-05T15:47:42Z", "hours": 1.0, "multiplier": 16.42, "payout": 22, "blessing": "neutral", "text": "What I made I’ve created my custom new tab page dubbed Space Pulse . It’s a small dashboard with a NASA’s APOD image slider, a search bar, shortcuts, sticky notes, and an emoji profile section. What was challenging The most challenging aspect of the project was to ensure all the features co-exist without making the page messy and to enable all data to be stored properly in local storage. Another challenge was to make the page appear personalized and not just another dashboard. What I’m proud of The fact that this is a functional personal project that could be used daily is a great achievement. It also looks personal with the emoji profile, notes, and shortcuts. Lastly, managing to display the NASA space image with all those features without compromising its aesthetic appeal makes me proud. What people should know before trying it out The page is only functional on browsers with JavaScript enabled. All data including notes, shortcuts, and emoji profile are stored locally in a browser; hence, it will be lost upon clearing local storage . The APOD picture changes every day, and if a day’s picture is unavailable or in video format, then the dashboard uses a background image to fill the space.", "repo": "https://github.com/Karthik-854321/newtab", "demo": "https://newtab-dxud.vercel.app/"}, {"ship_num": 3, "ts": "2026-08-02T11:30:32Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "🚀 Space Pulse – Quick Submit What? A glassmorphic new tab page with NASA’s daily space image as background, search bar, quick links, sticky notes, live clock, and emoji avatar. Challenge? Syncing APOD to background, keeping layout clean without scroll chaos, and deploying securely without exposing API key. Proud of? The frosted‑glass floating UI and the seamless single‑page experience. Test it? Live: newtab.vercel.app Try setup, search, links, notes, and date pick – all changes persist. Local: npm install && npm run dev with NASA key in .env .", "repo": "https://github.com/Karthik-854321/newtab", "demo": "https://newtab-dxud.vercel.app/"}]...
|
[{"post_id": 62716, "ts": "202 [{"post_id": 62716, "ts": "2026-09-06T06:39:48Z", "hours": 0.8669, "text": "fixed some bugs that i found in flex and grid stylings other than that everything is same now it is completely cool and working well"}, {"post_id": 44162, "ts": "2026-08-09T18:51:25Z", "hours": 0.3022, "text": "finished everything"}, {"post_id": 41339, "ts": "2026-08-05T14:24:59Z", "hours": 0.2972, "text": "#H1 ## Failure teaches more than success. Actually i am bad at write the notes so i used ai to wrote my readme.md file but due to the ai usage my project got rejected 3 times i am completely frutrated and i deleted all my readme.md file and created a new start writing the whole by analysing others reame.md file noting all the required headings everything now i learned how to write the readme.md file and i feel more confident than before that i can able write by my own . I am thanking stardance to reject my project multiple times so that i learned from it .Finally my readme.md file is complete cleared all my project is cool"}, {"post_id": 40116, "ts": "2026-08-03T14:49:33Z", "hours": 0.7989, "text": "Make an mistake by polish my own csss by using ai fixed it with my own css working and looking cool once make a try link : https://newtab-dxud.vercel.app/"}, {"post_id": 39552, "ts": "2026-08-02T16:11:39Z", "hours": 0.2661, "text": "📖 Devlog – Review & RecoveryThe Stardance review highlighted two issues: my demo was behind Vercel’s login protection, and my README needed an AI usage note. 🔒I disabled Deployment Protection, redeployed the site, and added a clear AI Usage section explaining how ChatGPT assisted while I reviewed and refined everything myself. ✍️After resolving a Git merge conflict and pushing the latest changes, the demo became publicly accessible again. 🌐One small fix unlocked the project for everyone. 🚀"}, {"post_id": 39414, "ts": "2026-08-02T11:19:24Z", "hours": 0.3369, "text": "markdown## 📖 Devlog #Far from home still completed in mobile**Space Pulse: From API to Glass Dashboard**1. 🚀 Fetched NASA APOD – image, title, explanation.2. 🔍 Added search bar, quick links & sticky notes.3. 🎨 Made APOD image the live page background.4. 🧩 Single‑scroll layout – greeting, search, APOD left, notes right.5. ✨ Glassmorphism UI – frosted panels, blur, transparency.6. 🕊️ Floating animations, 3D tilt, emoji avatar setup.7. 🔐 Deployed on Vercel with NASA key as secure env variable – never exposed.*Cosmos meets productivity, wrapped in glass.*"}, {"post_id": 39318, "ts": "2026-08-02T06:49:46Z", "hours": 0.8892, "text": "#Final-Devlog: From Raw API to Floating Glass Dashboard🚀 Started with a simple NASA APOD viewer – fetching daily space images & videos.🔍 Added a Chrome‑style search bar, quick links, and sticky notes for full productivity.🎨 Dynamized the background to mirror the APOD image, with a fallback for video days.🧩 Restructured the layout – greeting, clock, and avatar at the top, notes beside APOD, no awkward scrolls.✨ Polished with glassmorphism: frosted panels, saturate blurs, and subtle borders for depth.🕊️ Brought it to life with floating animations and a friendly 3D tilt on hover.👨🚀 Personalized with a setup modal that remembers your name and emoji avatar – every visit feels like your own space station.The result: a sleek, immersive New Tab page that turns NASA’s cosmos into a functional, floating workspace."}, {"post_id": 39297, "ts": "2026-08-02T05:40:37Z", "hours": 0.8847, "text": "🔭 Devlog #4 – Exploring the Universe, One Date at a TimeToday my space dashboard became even more interactive. 🚀 I added a Search APOD button alongside a 📅 date picker, allowing users to travel through NASA’s archive and discover Astronomy Pictures of the Day from any past date. 🌌 With just one click, the website fetches and displays a new image or video along with its title, date, and explanation, making every search feel like uncovering a hidden story from the universe. ✨ This small feature transformed the site from a static viewer into an explorer’s portal, giving users the freedom to revisit unforgettable moments in space history. 🌠 Next, I’ll polish the experience with smoother loading, better error handling, and deploy the project to GitHub Pages. 🌍"}, {"post_id": 38872, "ts": "2026-08-01T13:07:26Z", "hours": 0.2539, "text": "💫 Devlog #3 – Bringing My Space Dashboard to LifeToday I transformed my APOD website from a simple demo into a polished space experience. 🚀 I designed a two-column layout with the NASA image/video on the left and the title, date, and explanation on the right for a clean, readable interface. ✨ To create a futuristic feel, I added a dark blue-purple space gradient and a glowing glassmorphism card that makes the APOD appear to float in space. 🌌 I also made the explanation panel scrollable so long NASA descriptions stay easy to read. 📖 To match the “Give Your Website a Pulse” theme, I built an animated CSS pulse bar with a glowing green ECG effect that adds subtle life to the page. 💚 Next, I’ll improve the user experience with better loading and error states before deploying the project on GitHub Pages. 🌍"}, {"post_id": 38855, "ts": "2026-08-01T12:47:15Z", "hours": 0.3992, "text": "📡 Devlog #2 – First Contact with the NASA APOD API 🚀🌌 Today was the day my website finally reached out to space! 🌍➡️🛰️ I replaced the default Vite page with a clean layout featuring a media section on the left and the APOD title, date, and explanation on the right. ✨ Using fetch() and my VITE_NASA_API_KEY , I connected to NASA’s Astronomy Picture of the Day API and displayed either a stunning 🖼️ image or an 🎥 video based on the response. I also added a 📅 date picker and a “Fetch APOD” button so I can travel back in time and explore older space discoveries, while limiting the maximum date to today to prevent invalid requests. Seeing real NASA content appear inside my own website for the first time felt like making first contact with the universe . 🌠💙 Next up: transforming it into a polished, futuristic space dashboard. 🚀"}, {"post_id": 38834, "ts": "2026-08-01T12:14:16Z", "hours": 0.4903, "text": "🚀 H1 – Giving My Website a PulseToday I launched my “Give Your Website a Pulse” project using Vite and confirmed it runs at localhost:5173. ⚡This local server lets me connect APIs without CORS issues. 🌐I got a free NASA APOD API key and stored it safely in a .env file. 🔑I also added .env to .gitignore to keep the key off GitHub. 🔒Even for a free API, I wanted to follow professional security practices. 💡Next, I’ll build a clean UI to display NASA’s daily title, date, image/video, and explanation. 🚀🌌"}]...
|
Title: custom-tab by @dineshkarthik | Stardance
D Title: custom-tab by @dineshkarthik | Stardance
Devlogs:
🚀 H1 – Giving My Website a PulseToday I launched my “Give Your Website a Pulse” project using Vite and confirmed it runs at localhost:5173. ⚡This local server lets me connect APIs without CORS issues. 🌐I got a free NASA APOD API key and stored it safely in a .env file. 🔑I also added .env to .gitignore to keep the key off GitHub. 🔒Even for a free API, I wanted to follow professional security practices. 💡Next, I’ll build a clean UI to display NASA’s daily title, date, image/video, and explanation. 🚀🌌
📡 Devlog #2 – First Contact with the NASA APOD API 🚀🌌 Today was the day my website finally reached out to space! 🌍➡️🛰️ I replaced the default Vite page with a clean layout featuring a media section on the left and the APOD title, date, and explanation on the right. ✨ Using fetch() and my VITE_NASA_API_KEY , I connected to NASA’s Astronomy Picture of the Day API and displayed either a stunning 🖼️ image or an 🎥 video based on the response. I also added a 📅 date picker and a “Fetch APOD” button so I can travel back in time and explore older space discoveries, while limiting the maximum date to today to prevent invalid requests. Seeing real NASA content appear inside my own website for the first time felt like making first contact with the universe . 🌠💙 Next up: transforming it into a polished, futuristic space dashboard. 🚀
💫 Devlog #3 – Bringing My Space Dashboard to LifeToday I transformed my APOD website from a simple demo into a polished space experience. 🚀 I designed a two-column layout with the NASA image/video on the left and the title, date, and explanation on the right for a clean, readable interface. ✨ To create a futuristic feel, I added a dark blue-purple space gradient and a glowing glassmorphism card that makes the APOD appear to float in space. 🌌 I also made the explanation panel scrollable so long NASA descriptions stay easy to read. 📖 To match the “Give Your Website a Pulse” theme, I built an animated CSS pulse bar with a glowing green ECG effect that adds subtle life to the page. 💚 Next, I’ll improve the user experience with better loading and error states before deploying the project on GitHub Pages. 🌍
🔭 Devlog #4 – Exploring the Universe, One Date at a TimeToday my space dashboard became even more interactive. 🚀 I added a Search APOD button alongside a 📅 date picker, allowing users to travel through NASA’s archive and discover Astronomy Pictures of the Day from any past date. 🌌 With just one click, the website fetches and displays a new image or video along with its title, date, and explanation, making every search feel like uncovering a hidden story from the universe. ✨ This small feature transformed the site from a static viewer into an explorer’s portal, giving users the freedom to revisit unforgettable moments in space history. 🌠 Next, I’ll polish the experience with smoother loading, better error handling, and deploy the project to GitHub Pages. 🌍
#Final-Devlog: From Raw API to Floating Glass Dashboard🚀 Started with a simple NASA APOD viewer – fetching daily space images & videos.🔍 Added a Chrome‑style search bar, quick links, and sticky notes for full productivity.🎨 Dynamized the background to mirror the APOD image, with a fallback for video days.🧩 Restructured the layout – greeting, clock, and avatar at the top, notes beside APOD, no awkward scrolls.✨ Polished with glassmorphism: frosted panels, saturate blurs, and subtle borders for depth.🕊️ Brought it to life with floating animations and a friendly 3D tilt on hover.👨🚀 Personalized with a setup modal that remembers your name and emoji avatar – every visit feels like your own space station.The result: a sleek, immersive New Tab page that turns NASA’s cosmos into a functional, floating workspace.
markdown## 📖 Devlog #Far from home still completed in mobile**Space Pulse: From API to Glass Dashboard**1. 🚀 Fetched NASA APOD – image, title, explanation.2. 🔍 Added search bar, quick links & sticky notes.3. 🎨 Made APOD image the live page background.4. 🧩 Single‑scroll layout – greeting, search, APOD left, notes right.5. ✨ Glassmorphism UI – frosted panels, blur, transparency.6. 🕊️ Floating animations, 3D tilt, emoji avatar setup.7. 🔐 Deployed on Vercel with NASA key as secure env variable – never exposed.*Cosmos meets productivity, wrapped in glass.*
📖 Devlog – Review & RecoveryThe Stardance review highlighted two issues: my demo was behind Vercel’s login protection, and my README needed an AI usage note. 🔒I disabled Deployment Protection, redeployed the site, and added a clear AI Usage section explaining how ChatGPT assisted while I reviewed and refined everything myself. ✍️After resolving a Git merge conflict and pushing the latest changes, the demo became publicly accessible again. 🌐One small fix unlocked the project for everyone. 🚀
Make an mistake by polish my own csss by using ai fixed it with my own css working and looking cool once make a try link : https://newtab-dxud.vercel.app/
#H1 ## Failure teaches more than success. Actually i am bad at write the notes so i used ai to wrote my readme.md file but due to the ai usage my project got rejected 3 times i am completely frutrated and i deleted all my readme.md file and created a new start writing the whole by analysing others reame.md file noting all the required headings everything now i learned how to write the readme.md file and i feel more confident than before that i can able write by my own . I am thanking stardance to reject my project multiple times so that i learned from it .Finally my readme.md file is complete cleared all my project is cool
finished everything
fixed some bugs that i found in flex and grid stylings other than that everything is same now it is completely cool and working well
Ships:
🚀 Space Pulse – Quick Submit What? A glassmorphic new tab page with NASA’s daily space image as background, search bar, quick links, sticky notes, live clock, and emoji avatar. Challenge? Syncing APOD to background, keeping layout clean without scroll chaos, and deploying securely without exposing API key. Proud of? The frosted‑glass floating UI and the seamless single‑page experience. Test it? Live: newtab.vercel.app Try setup, search, links, notes, and date pick – all changes persist. Local: npm install && npm run dev with NASA key in .env .
What I made I’ve created my custom new tab page dubbed Space Pulse . It’s a small dashboard with a NASA’s APOD image slider, a search bar, shortcuts, sticky notes, and an emoji profile section. What was challenging The most challenging aspect of the project was to ensure all the features co-exist without making the page messy and to enable all data to be stored properly in local storage. Another challenge was to make the page appear personalized and not just another dashboard. What I’m proud of The fact that this is a functional personal project that could be used daily is a great achievement. It also looks personal with the emoji profile, notes, and shortcuts. Lastly, managing to display the NASA space image with all those features without compromising its aesthetic appeal makes me proud. What people should know before trying it out The page is only functional on browsers with JavaScript enabled. All data including notes, shortcuts, and emoji profile are stored locally in a browser; hence, it will be lost upon clearing local storage . The APOD picture changes every day, and if a day’s picture is unavailable or in video format, then the dashboard uses a background image to fill the space.
What I made I’ve created my custom new tab page dubbed Space Pulse . It’s a small dashboard with a NASA’s APOD image slider, a search bar, shortcuts, sticky notes, and an emoji profile section. What was challenging The most challenging aspect of the project was to ensure all the features co-exist without making the page messy and to enable all data to be stored properly in local storage. Another challenge was to make the page appear personalized and not just another dashboard. What I’m proud of The fact that this is a functional personal project that could be used daily is a great achievement. It also looks personal with the emoji profile, notes, and shortcuts. Lastly, managing to display the NASA space image with all those features without compromising its aesthetic appeal makes me proud. What people should know before trying it out The page is only functional on browsers with JavaScript enabled. All data including notes, shortcuts, and emoji profile are stored locally in a browser; hence, it will be lost upon clearing local storage . The APOD picture changes every day, and if a day’s picture is unavailable or in video format, then the d...
|
1792878687.8525214
|
1793742687.8525214
|
|
58487
|
DevTab by @Dev_L_K | Stardance
|
Dev_L_K
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-06T06:12:16Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A custom new tab named DevTab. It was a hard task to make the bookmarks. Others were quite simple.", "repo": "https://github.com/dev-l-k/DevTab", "demo": "https://tab.devlkakkoth.me"}]...
|
[{"post_id": 62699, "ts": "202 [{"post_id": 62699, "ts": "2026-09-06T05:53:59Z", "hours": 1.3711, "text": "Devlog 5 DevTab Completed the project and debugged. added functional bookmark setup 12 hr wise time Deployed via Vercel Try through https://tab.devlkakkoth.me"}, {"post_id": 62626, "ts": "2026-09-06T02:57:59Z", "hours": 1.0267, "text": "Devlog 4 DevTab Progress Completed Css Currently working on JS added Time sync functions"}, {"post_id": 62590, "ts": "2026-09-06T01:48:33Z", "hours": 0.38, "text": "Devlog 3 DevTab modernizing the ui of the DevTab project"}, {"post_id": 62204, "ts": "2026-09-05T13:52:09Z", "hours": 1.1183, "text": "Devlog 2 DevTab Currently adding styles to my devtab"}, {"post_id": 62111, "ts": "2026-09-05T11:16:01Z", "hours": 0.5619, "text": "Devlog 1 DevTab(mission) Now I have completed the complete html structure for my DevTab project mission Current Features added bookmarks (html only) added time label"}]...
|
Title: DevTab by @Dev_L_K | Stardance
Devlogs:
De Title: DevTab by @Dev_L_K | Stardance
Devlogs:
Devlog 1 DevTab(mission) Now I have completed the complete html structure for my DevTab project mission Current Features added bookmarks (html only) added time label
Devlog 2 DevTab Currently adding styles to my devtab
Devlog 3 DevTab modernizing the ui of the DevTab project
Devlog 4 DevTab Progress Completed Css Currently working on JS added Time sync functions
Devlog 5 DevTab Completed the project and debugged. added functional bookmark setup 12 hr wise time Deployed via Vercel Try through https://tab.devlkakkoth.me
Ships:
A custom new tab named DevTab. It was a hard task to make the bookmarks. Others were quite simple....
|
1793087427.53033
|
1793173827.53033
|
|
34143
|
Spectralis by @DeltaVortex | Stardance
|
DeltaVortex
|
2
|
332.84
|
4092
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-06T05:56:33Z", "hours": 236.0, "multiplier": 16.89, "payout": 3884, "blessing": "neutral", "text": "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: Discord: @deltav0rtex Slack: deltavortex 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!!!", "repo": "https://github.com/Dareto-Dream/Spectralis", "demo": "https://spectralis.deltavdevs.com"}, {"ship_num": 2, "ts": "2026-08-14T06:50:58Z", "hours": 23.0, "multiplier": 12.89, "payout": 208, "blessing": "neutral", "text": "Spectralis shiplarp — v5.3.0 —shipped it— Notepads. A spin wheel. Dead zones that aren’t OBS-only anymore. Playlists that don’t look like a log file. Spotify that actually behaves. That’s the version. —what’s in it— Notepad system: docked panel, tabs, pop-out window, saves to track tags Spin wheel: weighted entries, saved wheel lists, notepad-fed Dead zones now shift the app’s own layout, not just OBS overlays Spotify: playlist sync, queue, pause, and Discord presence all fixed Fixed: playlist rows missing RowBackground (looked like a terminal, my bad) Fixed: nav rebuilding the entire view every click Fixed: library load blocking window open on big libraries Fixed: spectrum bars snapping instead of moving (FFT overlap bumped to 75%) Fixed: soundcloud playhead, word-mode timestamp export, track-switch click/pop —that’s it— PICKLE!!!", "repo": "https://github.com/Dareto-Dream/Spectralis", "demo": "https://spectralis.deltavdevs.com"}]...
|
[{"post_id": 65615, "ts": "202 [{"post_id": 65615, "ts": "2026-09-10T21:10:25Z", "hours": 9.8333, "text": "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!!!"}, {"post_id": 65271, "ts": "2026-09-10T08:34:54Z", "hours": 2.5, "text": "Spectralis devlog #43 —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!!!"}, {"post_id": 65216, "ts": "2026-09-10T06:03:36Z", "hours": 9.7103, "text": "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!!!"}, {"post_id": 64674, "ts": "2026-09-09T08:17:56Z", "hours": 5.2669, "text": "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!!!"}, {"post_id": 64588, "ts": "2026-09-09T03:01:20Z", "hours": 10.0, "text": "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!!!"}, {"post_id": 64321, "ts": "2026-09-08T16:38:31Z", "hours": 11.5997, "text": "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!!!"}, {"post_id": 64034, "ts": "2026-09-08T05:01:47Z", "hours": 9.5333, "text": "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!!!"}, {"post_id": 63804, "ts": "2026-09-07T19:28:07Z", "hours": 15.4, "text": "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!!!"}, {"post_id": 62666, "ts": "2026-09-06T04:36:39Z", "hours": 9.8669, "text": "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!!!"}, {"post_id": 62302, "ts": "2026-09-05T16:34:34Z", "hours": 9.5667, "text": "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!!!"}, {"post_id": 61350, "ts": "2026-09-04T07:08:42Z", "hours": 7.2333, "text": "Spectralis devlog #34 —Hello again proggers— Still on the devlog commits grind. The surprise from devlog #33 is actually finished now, releasing alongside the next Stardance ship as soon as this current one clears. Meanwhile, spent this round scouring the app for small edge cases and UI stuff that’s been quietly overlooked. the surprise is done, the suspense is not Cat or dog? edge_case.md Okay let’s get into it~ —Yap— Two tracks this devlog: the surprise from last time is locked and ready, waiting on the current ship to clear before it goes out with Stardance. In the meantime, doing a proper sweep for the small stuff — edge cases and UI rough edges that don’t show up unless you’re specifically hunting for them. —The Great Suffering— 1 — The Surprise Is Finished Whatever it is, it’s done. Releasing with the next Stardance ship, not this current one — has to clear first. Still not saying what it is. still not telling you, patience 2 — Scouring For Edge Cases Going through the app specifically looking for edge cases that got missed during normal feature work — the inputs and states nobody thinks to test until something breaks in a very specific, very rare way. 3 — UI Stuff That Got Overlooked Alongside the edge cases, hunting down small UI issues that slipped through — spacing, alignment, states that don’t look quite right, the stuff that’s easy to miss when you’re heads-down building instead of using the app like a regular person would. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one hunting edge cases nobody else would think to try. Q: What’s the surprise? A: Patience, my dear child. Q: Why wait for the current ship to clear first? A: Cleaner to let one release settle before stacking the surprise onto the next one. Q: Any specific edge cases found yet? A: Sweep’s ongoing, nothing dramatic enough to call out individually yet. Q: Still not saying what the surprise is? A: Correct. Ask again next devlog. —This is the end*— *end for now, edge cases permitting PERISHABLE!!!"}, {"post_id": 60763, "ts": "2026-09-03T11:03:52Z", "hours": 5.8667, "text": "Spectralis devlog #33 —Hello again proggers— First real wave of feedback since Mac shipped in devlog #32, and it’s been genuinely good. Patching a handful of bugs people actually pointed out, plus one quick clarification for a specific rater who had a question. real users, real feedback, feels different from testing solo Cat or dog? feedback.md Okay let’s get into it~ —Yap— Shipping to actual people instead of just self-testing changes the kind of bugs that surface. Round of patches based directly on what came in, plus a couple of housekeeping notes. —The Great Suffering— 1 — Real Feedback, First Time At This Scale Genuinely solid feedback wave since the Mac release. Different flavor of bug reports than internal testing ever produces — actual usage patterns finding things a solo QA pass wouldn’t. 2 — Patching What Got Pointed Out Working through the specific bugs raised by that feedback. Direct fixes for direct reports, exactly the kind of loop that’s supposed to happen once something’s actually in people’s hands. 3 — Quick Note For A Specific Rater One rater asked about the track used in devlog #1 — it’s a custom remix of “Delete” by Ninjirachi. DM if you want the file. 4 — How To Reach Out For anyone hitting issues with the app: Slack works, or Discord at @deltav0rtex . Genuinely want the reports, keep them coming. 5 — A Surprise Is Coming Next Ship Got something tucked away for the next release that should land well. Not spoiling it here, staying quiet on purpose. Minor patch for this round’s QoL fixes drops within the next two days. teasing it and saying nothing else, that’s the whole bit —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one actually reading feedback instead of guessing what’s broken. Q: How do I report a bug? A: Slack, or Discord — @deltav0rtex . Q: What was that track in devlog #1? A: A custom remix of “Delete” by Ninjirachi. DM for the file if you want it. Q: Is the current bug list from this feedback wave big? A: Manageable, working through it directly rather than batching for a bigger release. Q: Any plans to formalize a feedback/bug channel later? A: Not stated yet, current setup is DMs and Slack for now. Q: What’s the surprise for next ship? A: Not saying. That’s the point of a surprise. Q: When’s the minor QoL patch dropping? A: Within the next two days. —This is the end*— *end for now, bug reports permitting PARABLE!!!"}, {"post_id": 60643, "ts": "2026-09-03T04:06:16Z", "hours": 3.4, "text": "Spectralis devlog #32 —Hello again proggers— Mac’s out. Actually out, actually available, actually done. Took way longer than expected — the site needed updating and every single update script needed fixing before this could actually go out the door clean. “we got mac out” undersells how much site and script work that actually took Cat or dog? .pkg Okay let’s get into it~ —Yap— Closing the loop that started way back in devlog #19 with a borrowed Mac and a hopeful “fingers crossed,” went through the decoding fixes in devlog #28, the platform-assumption hotfix in devlog #26, and now it’s actually shipped. Quick policy reminder while we’re here, since it matters going forward. —The Great Suffering— 1 — The Site Needed Updating First Before Mac could actually go out, the site itself needed real updates to reflect it — new download option, new platform messaging, none of which existed yet. Took a real chunk of the time this release ate. 2 — Every Update Script Needed Fixing Following up on the Windows/Linux-centric script assumptions caught back in devlog #26 — turns out that wasn’t a one-off fix, it touched update scripts broadly. Had to go through and fix them properly for Mac to actually be able to update itself going forward, not just install once. 3 — Mac Is Actually Out After all of that: it’s live. Full journey from borrowed hardware sessions to an actual public release. 4 — Reminder: Mac Only Gets LTS Quick policy note, stated plainly since it matters: Mac only receives LTS releases going forward, not minor updates, unless a minor is a Mac-specific patch. Same access-constraint reasoning from devlog #19 — this isn’t changing anytime soon, so setting the expectation clearly now. —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 “ship Mac” secretly meant “rebuild the update pipeline.” Q: Does Mac get every LTS release? A: Yes, every LTS. Just not the minors in between, unless that minor is Mac-specific. Q: Why not give Mac full parity now that it’s out? A: Hardware access is still the bottleneck — same reasoning as devlog #19, testing and building for Mac isn’t a routine, always-available thing yet. Q: What took so long between the decoding fixes in devlog #28 and now? A: Mostly the site and update script work described above — the actual build was closer to ready than the delivery pipeline around it was. Q: Is this the end of the Mac saga? A: The release side, yes. Ongoing maintenance is just going to follow the LTS-only cadence from here. —This is the end*— *end for now, update scripts permitting POP!!!"}, {"post_id": 59211, "ts": "2026-08-31T21:37:18Z", "hours": 9.9, "text": "Spectralis devlog #31 —Hello again proggers— More QoL, a real bug fixed in world editing, and a proper in-depth test run of the whole thing. Honest verdict after actually using it for real: still sucks, still hate it, but it’s at least somewhat usable now. Progress, technically. “somewhat usable” is a real milestone when you started from “actively bad” Cat or dog? node.isCorrupt Okay let’s get into it~ —Yap— World editing’s been the newer, rougher part of the studio since the Godot-inspired redesign in devlog #29. This round was about actually running it through its paces instead of just building on top of it, and that testing found a real problem. —The Great Suffering— 1 — More QoL Another pass of small quality-of-life improvements, continuing the trend from the last couple devlogs. Nothing individually huge, all of it adds up. 2 — The Bad Node Bug Found and fixed a genuinely bad node bug in the world section during testing. The kind of bug that only shows up once you’re actually building real worlds instead of poking at an empty editor. 3 — The In-Depth Test Run Took world editing for a real, thorough run this time instead of a quick sanity check. Built something with actual substance in it and used the tool the way it’s meant to be used. 4 — The Honest Verdict Still sucks. Still hate using it. But after this round of fixes and QoL, it’s crossed into “somewhat usable” territory, which is more than could be said before this session. low bar, cleared, moving on —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one who just admitted their own tool still sucks and shipped it anyway. Q: Is world editing done now? A: No, “somewhat usable” is the current state, not “finished.” More work ahead. Q: How bad was the node bug? A: Bad enough to matter, found through actual real-world testing rather than a quick check. Q: Is this related to the layer work from devlog #30? A: Different area — that was capsules/timeline, this is world editing specifically. Q: What’s the plan to make world editing not suck? A: Keep testing it for real, keep fixing what that testing turns up. This devlog’s the start of that loop, not the end. —This is the end*— *end for now, corrupted nodes permitting PAPLE!!!"}, {"post_id": 58336, "ts": "2026-08-30T18:33:09Z", "hours": 9.3333, "text": "Spectralis devlog #30 —Hello again proggers— Following up on the studio redesign from last devlog — actually building inside that new layer system now. Lyric importer, a bezier tool that fought back the whole way, and capsules jumped to full HD. 30 devlogs in and the bezier tool still almost won Cat or dog? bezier.controlPoint Okay let’s get into it~ —Yap— Layers from devlog #29’s redesign got real functionality built on top of them this round, plus a genuinely useful new import path and a resolution bump that should’ve probably happened earlier. —The Great Suffering— 1 — Layer Fixes Cleaned up a handful of issues in the new After Effects-style layer system from last devlog — the kind of rough edges that only show up once you’re actually building real content in it instead of just looking at the layout. 2 — Lyric Importer: Auto Vector Layers + Keyframing New importer that takes lyric timing and automatically generates vector layers, keyframed to match. Turns what used to be manual layer-by-layer, keyframe-by-keyframe setup into an actual import step. Big time save for anything lyric-driven, including future capsules like the demo from devlog #18. 3 — A Few More Bugs, Squashed Small round of additional fixes alongside the bigger items, nothing individually dramatic. 4 — Capsule Resolution: Bumped To Full HD Capsules render at full HD now instead of whatever lower resolution they were capped at before. Straightforward upgrade, noticeably better output. 5 — The Bezier Tool (Which Was Hell) Added a real bezier curve tool to the timeline/layer editing. Genuinely brutal to get right — curve math, control point handling, and making it feel intuitive to actually drag are three different hard problems stacked on top of each other. Worth it, but it fought back the whole way. bezier curves: simple in theory, a nightmare in an actual editor UI 6 — Timeline And Tool QoL Assorted quality-of-life improvements across the timeline and tools generally — the small friction-reduction stuff that adds up once you’re using the studio for real work instead of just testing it. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one who just fought a bezier tool and mostly won. Q: Does the lyric importer work with the demo capsule from devlog #18? A: That one was hand-timed and hand-built before this importer existed — this tool’s for making the next ones faster. Q: Why was the bezier tool specifically so hard? A: Curve math, control point interaction, and UI feel all had to work together, and getting any one of them wrong makes the whole tool feel broken. Q: Is full HD the resolution ceiling now, or is higher coming later? A: Full HD is what shipped this round. No commitment yet on going higher. Q: Is the studio redesign from devlog #29 basically done now? A: Getting real functionality built on it, which is a good sign, but still ongoing. —This is the end*— *end for now, control points permitting PALPABLE!!!"}, {"post_id": 57958, "ts": "2026-08-30T09:12:42Z", "hours": 9.7667, "text": "Spectralis devlog #29 —Hello again proggers— The studio’s finally looking like a real UI tool instead of a collection of windows held together by vibes. Two design references pulled this round: Godot for world editing, and Adobe After Effects for capsules. stealing good ideas from great tools is called “design research,” look it up Cat or dog? Ctrl+Shift+F Okay let’s get into it~ —Yap— Studio’s been the least polished part of the whole app for a while, mostly functional, rarely pretty. This round actually leaned into real interface design instead of just adding buttons where they fit, borrowing structure from two tools that already solved similar problems well. —The Great Suffering— 1 — Godot-Inspired World Editing World editing took cues from Godot’s editor layout — the way it structures a scene tree, viewport, and inspector panel together as one coherent workspace instead of scattered windows. Applying that same structural thinking to world editing here, since worlds are conceptually similar: a tree of pieces you’re arranging in space. 2 — After Effects-Inspired Capsules Capsule editing leaned on After Effects instead, specifically the layer/timeline/composition mental model. Capsules are time-based and layered by nature — a story surface, a visualizer, audio all stacked together — so a timeline-and-layers metaphor fits better than a flat property list ever did. 3 — The Studio Finally Feels Like A Tool Combined, these two reference points are what’s pushing the studio from “internal dev utility” toward something that actually feels designed for someone to sit down and use, not just something built incrementally to unblock whatever feature needed it that week. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one borrowing UI patterns from two very different but very good tools. Q: Is this a full rewrite of the studio UI? A: More a restructuring around better mental models than a ground-up rebuild, but it touches a lot of surface area. Q: Why Godot for world editing specifically? A: Scene/viewport/inspector is a well-worn pattern for spatial editing, and worlds are fundamentally a spatial arrangement problem. Q: Why After Effects for capsules? A: Capsules stack time-based layers — story, visualizer, audio — which maps naturally onto a timeline/layers workflow instead of flat settings. Q: Does this connect to the visualizer toolkit grind from devlogs #25-#27? A: Same broader authoring-tools push, yes, this is the UI side catching up to that work. —This is the end*— *end for now, layer panels permitting POP!!!"}, {"post_id": 57408, "ts": "2026-08-29T15:34:29Z", "hours": 8.4333, "text": "Spectralis devlog #28 —Hello again proggers— LTS 6 is out. Genuinely out, not “shipped to nowhere” out like devlog #11. Sleep deprivation’s fully caught up though — first chance I get, I’m passing out on the couch with the cat and that’s non-negotiable at this point. the cat’s getting a co-author credit at this rate Cat or dog? couch, specifically, with the cat, immediately Okay let’s get into it~ —Yap— Long stretch from devlog #26 through here finally paid off. LTS 6 pushed, and the major macOS decoding problems from the borrowed-Mac build sessions actually got fixed. Real progress, real exhaustion, both at once. —The Great Suffering— 1 — LTS 6 Is Out Following the hydra-bug fight in devlog #20, the Electron relearn and Mac hotfix in #26, and the binary format detour in #27 — it’s actually pushed now. Linux and Windows builds are the ones going out first. 2 — Major macOS Decoding Problems, Fixed Following up on the platform-assumption bug from devlog #26, where Windows/Linux-centric scripts choked on Mac being neither — dug into the actual decoding issues on macOS and got the major ones resolved this round. 3 — Mac Release Is Coming, Just Not Today No Mac hardware access again until Monday, so the macOS build follows a bit after Linux/Windows instead of dropping same-day. Same access constraint from devlog #19, still the bottleneck, still the plan. 4 — Sleep Is Winning Officially out of gas. Couch, cat, first available window. This devlog is basically the victory lap before collapsing. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one about to lose consciousness on a couch next to a cat, mission accomplished. Q: Is LTS 6 out for everyone right now? A: Linux and Windows, yes. macOS is coming shortly after once Mac access is available again Monday. Q: Were the macOS decoding problems from the script issue in devlog #26? A: Related territory, yes — once the platform-assumption bug got flagged, the deeper decoding issues underneath it got found and fixed too. Q: Any concerns going into the Mac release specifically? A: Nothing unresolved as of this devlog, but access is still limited to occasional sessions, so timing’s dependent on that. Q: What’s next after this? A: Sleep. Genuinely, actually sleep, before anything else touches this project. —This is the end*— *end for now, couch naps permitting thud Zzzzzz!!!"}, {"post_id": 56861, "ts": "2026-08-28T20:36:45Z", "hours": 9.3, "text": "Spectralis devlog #27 —Hello again proggers— Still going. Decided mid-grind to switch off JSON-based saving entirely and move to a proper binary streamed format instead — faster save/load, way less CPU overhead. Which sounds like a clean upgrade until you realize it means reading books on binary format design that were probably written before I was. my caffeine and my reading list have diverged wildly tonight Cat or dog? BinaryWriter Okay let’s get into it~ —Yap— The pivot away from JSON wasn’t planned going into tonight, it just became obviously worth it partway through the toolkit grind. Now stuck in the part of the process nobody enjoys: documentation, theory, and CS ideation before any of the actual implementation gets to happen. —The Great Suffering— 1 — JSON’s Getting Replaced Moving off JSON-based saving to a binary streamed format. The reasoning’s simple — faster save/load, meaningfully less CPU usage — but simple reasoning doesn’t mean simple implementation. 2 — Reading Books Older Than Me Digging into binary streaming format theory means reading material that predates this whole project by a wide margin, some of it by a lot more than that. Foundational stuff, just not exactly light reading at this hour. 3 — Documentation And Theory Hell Currently deep in the least glamorous part of any format redesign: reading documentation, working through theory, and CS ideation before writing a single line that actually does anything. Necessary, still miserable at 2am. the implementation is the fun part and it’s still hours away 4 — Sun Came Up, Had A Sandwich, Kept Going Watched the sunrise somewhere in the middle of the theory reading. Had an egg and bacon sandwich for breakfast, genuinely delicious, best part of the night so far. No sleep planned until tonight — just powering through on breakfast fuel instead. breakfast during an all-nighter hits different —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one reading format-design theory older than their own project at 2am. Q: Why move off JSON now, mid-grind? A: Became clear it was the right call while working on the visualizer toolkit — better performance characteristics were worth the detour. Q: Is this related to the toolkit from devlog #25/#26? A: Same overall session, this is a scope addition that came up while working on it. Q: When does actual implementation start? A: Once the theory and documentation phase actually resolves. Not there yet. Q: Is tonight ever going to end? A: Not until tonight, apparently — sun’s already up and there’s no sleep planned before then. —This is the end*— *end for now, binary formats permitting PAM!!!"}, {"post_id": 56521, "ts": "2026-08-28T10:00:04Z", "hours": 2.9008, "text": "Spectralis devlog #26 —Hello again proggers— Still grinding the visualizer toolkit from devlog #25. Fueled up properly this time — favorite tunes on, Coke Zero and a Monster Ultra on deck, going the entire night. Also, small detour: past me apparently gave in and used Electron at some point, so present me now has to relearn it from scratch. past me makes decisions present me has to live with, name a more accurate description of software Cat or dog? require(‘electron’) Okay let’s get into it~ —Yap— Two threads tonight: the toolkit grind continuing from last devlog, and a genuinely surprising discovery on the Mac build front that’s going to need its own hotfix branch. —The Great Suffering— 1 — Relearning Electron Past-me committed to Electron somewhere along the way and current-me forgot most of it. Spending part of tonight just getting back up to speed on something that used to be second nature. Annoying, but at least it’s a known quantity once it clicks back in. 2 — The Toolkit, Still Grinding Same visualizer toolkit as devlog #25. Not done yet, but the night’s young and there’s caffeine involved. Hoping to actually close real ground on it before LTS needs to be ready. 3 — Mac Build Actually Compiles Now Following up on devlog #19’s borrowed-Mac session — got it to build and compile this time. Real progress on a front that’s been genuinely hardware-constrained the whole way. 4 — Turns Out Mac Isn’t Windows Or Linux (Shocking, I Know) Here’s the surprising part: a lot of the build scripts turned out to be Windows/Linux-centric, and Mac is, in fact, neither of those operating systems. Somehow this wasn’t obvious until actually staring at a failing script on real Mac hardware. three major desktop OSes and somehow I only accounted for two of them 5 — Hotfix Branch Incoming Need to spin up a hotfix specifically for the platform-assumption problem in the scripts, and hoping it merges back clean without conflicts. Given tonight’s track record so far, cautiously optimistic. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one who forgot their own framework choice from past-self. Q: Why Electron in the first place? A: Decision from before this devlog series apparently, reasons unclear at this hour, dealing with the consequences now regardless. Q: Is the Mac hotfix urgent? A: Ties directly into whether LTS with Mac support actually holds together, so yes, fairly urgent. Q: Was assuming Windows/Linux-only scripts really a mistake nobody caught until now? A: Apparently so. Borrowed-Mac hardware access from devlog #19 finally exposed it. Q: Toolkit status vs. hotfix status tonight — which wins? A: Whichever gets further before the caffeine runs out. Probably both get some progress. —This is the end*— *end for now, merge conflicts permitting PROPER!!!"}, {"post_id": 55615, "ts": "2026-08-27T16:05:39Z", "hours": 9.3964, "text": "Spectralis devlog #25 —Hello again proggers— Short one, I’m about to pass out for real this time. Ground away at the visualizer toolkit for a long stretch and it’s still nowhere near done. another one for the “not as close as I thought” pile Cat or dog? too tired to pick one honestly Okay quick version~ —Yap— Same visualizer editor territory from devlog #23, except the format not-changing this time didn’t mean the finish line got any closer. Long grind, real progress somewhere in there probably, just not a done toolkit at the end of it. —The Great Suffering— 1 — The Toolkit Isn’t Close Put in a long stretch on it and it’s genuinely still far from finished. Not a small gap either, just more scope than one exhausted session could close. 2 — I’m Cooked That’s the whole update. No dramatic bug story tonight, just hours in and not enough left to keep going. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one who should probably close the laptop now. Q: Is this the same visualizer editor from devlog #23? A: Same one. Still cooking, longer than expected. Q: Any specific blockers? A: Too tired to write them up properly tonight. Next devlog, probably, once there’s actual sleep behind it. Q: When’s it landing? A: Unknown. Not this session. —This is the end*— *end for now, actually sleeping this time POOL!!!"}, {"post_id": 55404, "ts": "2026-08-27T06:36:57Z", "hours": 2.3342, "text": "Spectralis devlog #24 —Hello again proggers— Rewrote the README a third time. Not because it was wrong, because proper prose and actual formatting apparently reads as “completely AI” to whoever’s judging it, and I’m too burnt out to keep arguing that point. So it just got redone instead. can’t fight the vibes, can only rewrite around them Cat or dog? README.md Okay let’s get into it~ —Yap— Small win buried in the exhaustion: website’s on version 4 now and it didn’t get flagged this time. First one that made it through clean since devlog #21 started this whole saga. Progress, even if the README’s now on its third rewrite for reasons that have nothing to do with whether it’s actually good. —The Great Suffering— 1 — README Rewrite #3 Same content, restructured again, because well-formatted prose keeps getting read as an AI tell regardless of who wrote it or how. Not going to keep relitigating this one, just redid it and moved on. 2 — Website v4 Survived The actual good news. Fourth pass on the site, first one that didn’t get flagged. Whatever combination of changes from devlog #21 onward finally landed right. 3 — Hoping The App Gets Checked Next If the docs and the website keep clearing review, maybe eventually the actual app gets looked at instead of just the surface-level stuff around it. That’s the real hope here — less time defending prose formatting, more time on the thing that actually matters. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one whose actual writing keeps getting mistaken for a machine’s. Q: Why does formatted prose get flagged as AI? A: Genuinely unclear, and at this point not worth the energy to keep contesting. Rewriting around it was faster than arguing it. Q: Is this the fourth full website redesign? A: Yes — devlog #14, then #21’s rework, and now this pass, landing clean. Q: Has the app itself ever been flagged? A: Not yet, and that’s sort of the point of this devlog — hoping it stays that way, or at least gets a fair look if it comes up. Q: How’s the burnout? A: Present. Noted. Continuing anyway. —This is the end*— *end for now, formatting opinions permitting PEEL!!!"}, {"post_id": 55123, "ts": "2026-08-26T16:10:50Z", "hours": 2.6669, "text": "Spectralis devlog #23 —Hello again proggers— Introducing the visualizer editor. Been sitting on this one for a while without announcing it, for a very specific reason: every single time it felt ready, the format changed again and “ready” moved further away. Think it’s actually real this time. announced it in my head about six times before this devlog Cat or dog? visualizer.format Okay let’s get into it~ —Yap— Grinding all night on this one, branch and v1 dropping tomorrow. No promises beyond that, just the plan and the fact that this has been quietly cooking for way longer than any single devlog has let on. —The Great Suffering— 1 — Why This Wasn’t Announced Sooner Kept hitting the point where the editor felt done, then rethinking the underlying format and starting that part over. Easier to just not announce something that keeps changing shape than to keep walking back a “it’s ready” claim in public. 2 — v1 And The Branch, Tomorrow Committing to it now — v1 and the branch land tomorrow. Whole night’s going toward getting there, which given the last 22 devlogs of this project is either a great sign or a very familiar warning sign. history suggests: could go either way 3 — What The Visualizer Editor Actually Is A real editor for building visualizers instead of the visualizer side of the app staying built-in-only. Ties back to everything from the capsule/worlds work in devlogs #7 and #8 and the custom visualizer built for the demo capsule in devlog #18 — this is the tool version of doing that by hand. 4 — Hackatime Also Just Died (Or My PC Did) On top of everything else, Hackatime seems to be down, or my PC’s cooked, unclear which yet. Either way tracked hours for tonight are now undefined. Yipee. unlogged hours are the best kind of hours, said nobody’s time tracker ever —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one about to pull yet another all-nighter for a feature reveal. Q: Why did the format keep changing? A: Each pass revealed a new limitation once actually used for real, and fixing that meant reworking the format again rather than shipping something known to be wrong. Q: Is this related to the demo capsule visualizer from devlog #18? A: Same territory. That one was hand-built. This is the editor meant to make building one not require doing it by hand. Q: What’s “v1” mean here specifically? A: First real usable version, branch-only for now, not a full public release yet. Q: Any risk this slips again? A: Always possible given the track record, but committing to tomorrow specifically this time. —This is the end*— *end for now, format stability permitting PEPLE!!!"}, {"post_id": 54323, "ts": "2026-08-25T08:40:49Z", "hours": 4.6333, "text": "Spectralis devlog #22 —Hello again proggers— Posting this before I pass out for real. And no, that wasn’t me faceplanting the keyboard, that was the cat walking across it. Very important distinction. the cat gets a commit credit for that one, honestly Cat or dog? cat, apparently, tonight specifically Okay let’s get into it~ —Yap— Back on the ever-growing pile of bugs and QoL from devlog #20’s hydra fight — turns out killing all the tiny bugs once doesn’t mean they stay dead forever, more just showed up in the meantime. Made real progress anyway. —The Great Suffering— 1 — A Few Spotify Bugs, Actually Squashed Chased down and fixed a handful of Spotify-side bugs this round. Not a full audit like earlier devlogs, just real ground covered on stuff that’s been sitting in the pile. 2 — Resizing QA Went through resizing behavior across the app and did a real QA pass on it — the kind of thing that’s easy to skip until someone resizes a window in a way you never tested and everything looks wrong. 3 — The Multi-Channel Stream Queue Idea Had the idea to implement multi-channel support for Streamer Queue. Started on it, and it’s genuinely probably too big to land fully before LTS ships — most likely going in as a stub for now rather than a finished feature, with the real implementation following after. “horrible idea” is doing some self-aware lifting there and I stand by it —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one who mistook a cat for their own exhaustion, and honestly it could’ve gone either way. Q: What’s a “stub” mean for multi-channel here? A: The scaffolding and interface exist, the real functional implementation doesn’t yet. Placeholder with intent, not a real feature. Q: Is this the same bug pile from devlog #20? A: Same pile, refilled since then. Small bugs apparently regenerate on their own schedule, not just when you’re actively fighting them. Q: Why is multi-channel “horrible” if you’re building it anyway? A: Because scope-wise it’s a lot more than it looks like on paper, and admitting that upfront beats pretending it’s simple. Q: Sleep status tonight? A: About to happen, actually, this time. Cat’s taking the credit either way. —This is the end*— *end for now, sleepy cats permitting PEOPLE!!!"}, {"post_id": 54216, "ts": "2026-08-25T03:14:52Z", "hours": 6.1014, "text": "Spectralis devlog #21 —Hello again proggers— Flagged for “AI website” again. By Shipwrights this time. Getting a little tired of this specific accusation, honestly — a commit log sitting right there would show actual work happening over actual time, but apparently that’s a few extra minutes nobody wants to spend. the receipts exist, nobody’s asking to see them Cat or dog? git log –oneline Okay let’s get into it~ —Yap— Third redesign of the site now. Not because the flag was right, but because if this keeps happening it’s worth just making the “looks AI-made” argument harder to make at all, regardless of whether it was ever a fair read in the first place. —The Great Suffering— 1 — Flagged Again Shipwrights flagged the site as AI-generated. Same accusation as the devlog #12-#14 saga, different flagger this time. Slightly more annoying with each repeat, since the actual work history’s right there for anyone willing to look. 2 — The Annoying Part It’s not that the site got flagged, it’s that the disproof is trivially available — commits, timestamps, iterative changes across three separate rebuilds — and checking that apparently isn’t part of the process. Frustrating, not devastating. 3 — Redesigned It A Third Time Rather than fight the flag directly, changed the site again. Third pass now, and it genuinely reads less like generic AI-slop territory than the last version did. Whether that satisfies the next flag or not, it’s a real improvement on its own merits. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one who’s redesigned this website three separate times partly to dodge a false flag. Q: What’s Shipwrights? A: The one doing the flagging this round. Q: Is the flag actually accurate? A: No — there’s a real commit history behind the site across devlogs #12 through #14 and now this one. The flag’s wrong, just annoying to keep disproving. Q: Does this redesign replace the one from devlog #14? A: Yes, third full pass on top of that one. Q: Any plan if it gets flagged a fourth time? A: Probably the same plan: keep the receipts, keep improving the site anyway, move on. —This is the end*— *end for now, false flags permitting PALPABLE!!!"}, {"post_id": 53903, "ts": "2026-08-24T16:41:40Z", "hours": 7.9, "text": "Spectralis devlog #20 —Hello again proggers— Two zero. Milestone devlog, and it’s a good one: LTS is about to actually go out the door, Mac included, today. we made it, barely, on no sleep, as tradition demands Cat or dog? git revert HEAD 7 Okay let’s get into it —Yap— Spent the whole night doing QoL and QA on all the tiny bugs that had been getting pushed aside devlog after devlog. Turns out “small bugs” and “easy to fix” are not the same category, and the whole night proved it the hard way. —The Great Suffering— 1 — Hydra Bugs Every single one of the small deferred bugs got patched, and every single patch spawned about three new ones in its place. Fix one, watch three grow back. Felt less like debugging and more like fighting something with a regeneration mechanic. cut off one head, three more show up, name a more accurate bug report 2 — Tried Claude Code Out Of Exhaustion Got tired enough mid-hydra-fight to set up Claude Code and hand off some of the grind. It did not go well — ended up rearranging the repo and commit layout in ways that made the history a mess, not the bugs. 3 — Had To Undo Its Commits Rolled back what Claude Code did and went back to fixing things manually. Lesson for the night: handing off a messy, deep-in-it repo state to an agent mid-crisis is not the same as handing off a clean one. 4 — Actually Got All The Tiny Bugs Out After all of that, the hydra’s actually dead. Every deferred small bug from the last 19 devlogs finally cleared in one sitting, which is the whole reason today’s release is happening at all. 5 — Mac Release, Today Following up on devlog #19’s borrowed-Mac build attempt — releasing to Mac today alongside everything else. First real payoff from that session. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one who fought a hydra of bugs all night and won, barely. Q: Did Claude Code actually break anything functional, or just the repo layout? A: Just history and commit structure, nothing shipped broke because of it. Still a mess worth undoing. Q: Is this LTS build the one from devlog #19’s prep? A: Yes, same one. This was the final QA gauntlet before it goes out. Q: Is Mac really getting it today? A: That’s the plan, following through on the borrowed-Mac build session from last devlog. Q: 20 devlogs in, anything you’d do differently? A: Sleep more, probably. Not going to happen, but it’d be the right answer. —This is the end*— *end for now, hydra heads permitting PROPERTY!!!"}, {"post_id": 53619, "ts": "2026-08-24T08:31:21Z", "hours": 4.2003, "text": "Spectralis devlog #19 —Hello again proggers— v6 LTS is on the horizon. Scheduled time with a friend who actually owns a Tim Cook machine, fingers crossed a Mac build comes out the other side of that session actually working. praying to the WWDC gods Cat or dog? arm64 Okay let’s get into it~ —Yap— First real LTS push. Different mindset than the last 18 devlogs of feature work and 3am bug hunts — LTS means stability first, and it also means finally taking a real swing at macOS instead of leaving it as a someday problem. —The Great Suffering— 1 — Prepping For v6 LTS Getting the groundwork in place for the first Long Term Support build. Less “ship the coolest thing,” more “ship the thing that won’t need constant babysitting after release.” 2 — Borrowing A Friend’s Mac Don’t own a Mac. Scheduled dedicated time with a friend’s actual Apple hardware to attempt a real build instead of guessing blind or fighting a CI-only setup with no way to actually test the output. 3 — The Honest Caveat: Mac Support Will Lag Straight talk: limited access to Mac hardware means Mac builds will very likely only get LTS releases going forward, and will land late relative to betas and regular updates on other platforms. Not ideal, but better to say it now than pretend otherwise. can’t test what you can’t touch —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one borrowing a friend’s Mac because Apple hardware access is not a given. Q: Will Mac users get every update? A: Realistically, no — LTS builds only for the foreseeable future, and later than other platforms. Access to hardware is the bottleneck, not desire to support it. Q: Why prioritize LTS over a beta cycle right now? A: Stability’s the actual goal for v6. Betas can come later once the LTS foundation’s solid. Q: Is the Mac build guaranteed to work this session? A: No promises. That’s what “fingers crossed” means. Q: What happens if the Mac session doesn’t go well? A: Try again next time hardware access lines up. Not giving up on it, just constrained by it. —This is the end*— *end for now, Tim Cook machines permitting PRINCIPLE!!!"}, {"post_id": 53545, "ts": "2026-08-24T04:19:31Z", "hours": 7.8, "text": "Spectralis devlog #18 —Hello again proggers— First real demo capsule is live. Not a screenshot, not a “trust me it works” — an actual .spectralis file you can grab and open yourself, right after devlog #17’s night of nothing. Felt good to ship something that isn’t a revert for once. redemption arc, one demo file at a time Cat or dog? demo.spectralis Okay let’s get into it~ —Yap— Wanted the first public demo to actually show off what a capsule can do, not just be a proof of concept nobody can open. So it’s a full one: real track, real hand-timed lyrics, and a visualizer built specifically for it instead of a generic default. —The Great Suffering— 1 — The Demo’s Live demo.spectralis is up at cdn.deltavdevs.com now. First capsule anyone outside this devlog series can actually download and open. 2 — The Track And The Lyrics Built around Black Coast’s “TRNDSTTR” (Lucian Remix). Lyrics for it were timed and written into the capsule by hand — not pulled from some export, actually sat down and did the timing work myself. 3 — The Visualizer’s Custom, Not A Default Also built the visualizer specifically for this capsule instead of shipping the demo with a stock one. Wanted the first thing people see from Spectralis to actually demonstrate what the capsule format can do end to end — audio, synced lyrics, and a visual built to match, all in one file. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one downloading the first real capsule demo. Q: Where’s the demo? A: cdn.deltavdevs.com/spectralis/demo.spectralis — direct download, no wrapper page. Q: Did you write the lyrics yourself or pull them from somewhere? A: Wrote and timed them in by hand for this capsule specifically. Q: Is the visualizer reusable for other capsules? A: Built for this one specifically, but nothing stopping it from getting adapted or reused as a base for others later. Q: Is this what stories/capsules from devlog #7-#8 were building toward? A: Exactly that. This is the first one actually finished and out in the world instead of just being tested locally. —This is the end*— *end for now, capsule downloads permitting PARODY!!!"}, {"post_id": 53182, "ts": "2026-08-23T16:54:15Z", "hours": 12.2667, "text": "Spectralis devlog #17 —Hello again proggers— 12 hours. All-nighter. Zero sleep. Feature isn’t in the app. Nothing shipped. This is the devlog where I explain what an entire night of work bought me, and the honest answer is “a very expensive lesson.” worth it? absolutely not. did i learn something? also debatable Cat or dog? catch (ApiDoesNotExistException) Okay let’s get into it~ —Yap— Got ambitious. Decided Spectralis should integrate with everything — Pandora, Amazon Music, a bunch of other big platforms on top of what already works. Turns out “everything” includes a lot of services that simply don’t offer a public API to integrate with in the first place, and finding that out was not the fast part of the night. —The Great Suffering— 1 — The APIs Just Don’t Exist Pandora, Amazon Music, and others: no public API to build against. Not “hard to find,” not “poorly documented,” just not there. Should’ve been step zero, ended up being the thing that derailed the entire night once discovered mid-build instead of before starting. 2 — So I Built Backdoors Instead Spent a huge chunk of the 12 hours reverse-engineering and building unofficial access paths instead, since the front door didn’t exist. This is the kind of work that eats hours and produces nothing you can point to until it’s fully working, if it ever gets there. 3 — Most Of Them Were Already Patched Implemented several of these backdoor approaches only to find out the platforms had already closed the exact gaps being exploited, sometimes before the implementation was even finished. Built things that were dead on arrival by the time they existed. patched before i even shipped it, incredible timing 4 — Asked Claude, Got A Hallucinated Answer, Followed It Anyway At the point of giving up, asked for a way to make it work anyway. Got a confident-sounding approach back that didn’t actually correspond to anything real, and followed it blindly instead of verifying it first, because by that point it was hour 10-something and verifying things sounded like more effort than it was. 5 — Ripped The Whole Feature Out End state: none of it works, none of it can work without real API access that doesn’t exist, so the entire feature attempt got stripped back out of the codebase. 12 hours, one commit’s worth of net progress, and that commit is the revert. —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 platforms without public APIs stay that way for a reason. Q: Is any of this coming back later? A: Not until there’s an actual, real, non-reverse-engineered way in. Not chasing patched backdoors again. Q: Should you have asked Claude earlier instead of at hour 10? A: Probably. Should also have double-checked what it said instead of following it blind at 4am. Two separate lessons from one night. Q: Was any of the 12 hours useful? A: Now know definitively which platforms are and aren’t worth attempting. That’s the only thing salvaged. Q: Sleep status? A: Catastrophic. Handling that before touching code again. —This is the end*— *end for now, actual sleep permitting Im gonna go pass out on the couch ADIOS!!!"}, {"post_id": 52796, "ts": "2026-08-23T04:27:01Z", "hours": 0.6667, "text": "Spectralis devlog #16 —Hello again proggers— Short one. Found the website pipeline issue from devlog #15. Cat or dog? sudo —Yap— It wasn’t the code. It was permissions. The site was calling root but never actually had access to root, which is exactly why it worked fine locally and fell over the second it hit deployment. “It woRKS On My macHiNe” — the oldest curse in software, and I said it unironically. classic —This is the end*— *end for now, root access permitting PAPAYA!!!"}, {"post_id": 52775, "ts": "2026-08-23T03:46:04Z", "hours": 2.0667, "text": "Spectralis devlog #15 —Hello again proggers— I lied. Posted devlog #14 saying the site was done and shipped, and the deploy pipeline crashed basically the second it went out. So that’s fun. On the bright side, v5.4.2 also went out this round, and it’s actually solid. “it’s done” is apparently my curse word Cat or dog? dequeue() Okay let’s get into it~ —Yap— Website pipeline ate itself right after devlog #14 posted, which is its own kind of poetic. Meanwhile the app side had a genuinely good run — six real fixes landed, one of them embarrassing enough to name directly. —The Great Suffering— 1 — The Website Pipeline Crashed Right After I Said It Shipped Devlog #14 said done. Pipeline said otherwise, immediately. Working on getting it back up, this is very much a “developing situation” and not a “resolved” one yet. 2 — Listener Requests Auto-Queue Now Requests from listeners now auto-queue instead of needing a manual step to actually land in the queue. 3 — Audio Literally Never Played, Whoops Exactly what it says. Somewhere in there, audio just wasn’t playing. Found and fixed, extremely glad this one got caught. a music player where the music doesn’t play is a bold minimalist statement 4 — Found It: Join Links Were Missing A Slash Root cause of a chunk of shared-play join weirdness — the links were missing a slash. One character. Fixed, join links actually resolve correctly now. 5 — Host Room Button Actually Tells You Something Now The host room button used to just sit there. Now it actually communicates state back to you instead of leaving you guessing whether anything happened. 6 — Host Room Was Dropping Every Tick Forever Host room had a bug where it was dropping on every single tick, indefinitely, rather than staying stable. Fixed so the room actually holds instead of degrading in real time. 7 — yt-dlp Was 5 Months Stale, Updated The bundled yt-dlp from devlog #10 hadn’t been touched in 5 months. Updated. Stale extraction tooling breaking silently is exactly the kind of thing that sneaks up on you. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one who called the website shipped and got immediately humbled by CI. Q: Is the website back up yet? A: Working on it. Genuinely not resolved as of this devlog. Q: How long was audio actually broken for? A: Not specified, but “literally never played” is about as bad as this category of bug gets. Fixed now. Q: Was the missing-slash bug related to the join link work from devlog #9? A: Yes, same feature area, this was the actual root cause of some of the lingering weirdness there. Q: Is 5.4.2 stable? A: As far as testing shows. Same disclaimer as always applies. —This is the end*— *end for now, deploy pipelines permitting PARABLE!!!"}, {"post_id": 52728, "ts": "2026-08-23T01:43:09Z", "hours": 2.1678, "text": "Spectralis devlog #14 —Hello again proggers— Site’s done. Actually done. Got it to a place I actually liked instead of just a place I was tired of looking at, and shipped it. Three devlogs of fighting the generic-AI-look problem and it finally landed somewhere that feels like Spectralis instead of every other landing page on the internet. took long enough Cat or dog? git push origin main Okay let’s get into it~ —Yap— After devlog #12 and #13’s whole ordeal of everything converging on the same generic design no matter what got tried, something finally clicked and stuck. Shipped it. Two honest confessions on the way out the door, might as well log them here instead of pretending otherwise. —The Great Suffering— 1 — It’s Live The full rework from the last two devlogs is done and pushed. Went from “everything looks like AI made it” to something that actually feels intentional. Whatever finally broke the streak, it worked. 2 — The Help & Manuals Tab Is A Placebo Button Full transparency: the Help & Manuals tab on the site exists, looks real, sits right where you’d expect it, and does essentially nothing right now. It’s there because a site without one looks incomplete, not because there’s real content behind it yet. Consider it a placeholder wearing a real button’s clothes. it’s not lying, it’s aspirational 3 — I Copied FL Studio’s Homepage. Hard. Not going to pretend otherwise: leaned on FL Studio’s site pretty heavily for structure and layout ideas here. And honestly, that’s just how this works — programming, design, all of it is borrowing from people who borrowed from the people before them. Nobody’s inventing layout from first principles in 2026. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one who finally shipped a website after three devlogs of fighting it. Q: Is Help & Manuals actually going to do anything eventually? A: Presumably, someday. Right now it’s a promise the button is making on behalf of a future devlog. Q: Isn’t copying FL Studio’s homepage kind of a big deal? A: Structure and layout inspiration, not a straight copy-paste. And realistically, every site borrows from something — this one’s just being honest about the source. Q: Did the “everything looks like AI” problem from devlog #13 actually get solved? A: Yes, finally. Whatever changed between then and now worked. Q: What’s next now that the site’s shipped? A: I finally get to ship my project without worrying about AI looking websites —This is the end*— *end for now, placebo buttons permitting PLACEBO!!!"}, {"post_id": 52690, "ts": "2026-08-22T23:32:19Z", "hours": 10.1028, "text": "Spectralis devlog #13 —Hello again proggers— Still on the website. Turns out the “make it not look like AI made it” problem does not have an easy exit — everything ends up looking like AI made it no matter what gets tried. Also had to ask Claude how to center a div. Yes, that div. The one every developer has fought since the dawn of CSS. the irony of asking an AI how to make something look less AI-made is not lost on me Cat or dog? display: flex Okay let’s get into it~ —Yap— Round two on the visual rework from last devlog, and the honest update is: it’s harder than expected. Every direction tried still lands somewhere in “generic modern web design,” which might just be what modern web design looks like right now regardless of who’s making it. —The Great Suffering— 1 — Everything Still Looks Like AI Made It Tried multiple directions this round trying to get away from the generic look. Kept landing back in the same neighborhood anyway. Starting to suspect this isn’t a “try harder” problem, it’s just what the current design language space looks like from basically every angle right now. 2 — Had To Ask Claude How To Center A Div The oldest joke in frontend development, still funny because it’s still true. Got stuck on it anyway. Some things never stop being annoying regardless of how many years of CSS have gone by. flexbox has existed for a decade and this is still where we are 3 — Pulled Up W3Schools For The First Time In Forever Dug up an old W3Schools reference mid-debugging, and it is dusty as hell at this point but the information’s still correct. Sometimes the ancient reference site is exactly what’s needed, aesthetics of the source be damned. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one who asked an AI to help make something look less like an AI made it. Q: Did the AI-startup look actually get fixed this round? A: Not fully. Still fighting it. That’s most of this devlog. Q: Why does everything converge on the same generic look? A: Best guess: current tools and current design trends both nudge toward the same handful of patterns, so escaping it takes more than just trying different colors. Q: Is W3Schools still reliable? A: Apparently yes. Dated presentation, correct information. Q: When’s the website actually done? A: Closer than devlog #12, not there yet. Ask devlog #14. —This is the end*— *end for now, centered divs permitting PEPPLE!!!"}, {"post_id": 51936, "ts": "2026-08-21T21:25:25Z", "hours": 10.2181, "text": "Spectralis devlog #12 —Hello again proggers— Website’s getting a real pass. Not new copy this time, actual visual identity work, because it currently reads like every AI startup landing page that ever came out of the middle of California, and Spectralis is not that. gradient blob, bold sans headline, “revolutionize your workflow” — no Cat or dog? theme.css Okay let’s get into it~ —Yap— Not released yet, deliberately. This one’s still in progress, but close enough that it’s worth logging before it’s done instead of only after. The goal’s simple to say and annoying to actually do: stop looking generic. —The Great Suffering— 1 — The AI-Startup Look Had To Go Somewhere along the way the site had drifted into the exact aesthetic every seed-stage AI company in the Bay Area ships with — same fonts, same soft gradients, same layout rhythm everyone’s using because everyone else is using it. None of that says anything about what Spectralis actually is. 2 — Actual Visual Identity Work Working through what the site should look like instead of what’s easy to reach for by default. This is the slow part — not writing more copy, actually deciding what the thing looks like and why, instead of inheriting a template’s opinions by accident. 3 — Not Done, Getting Close Deliberately not shipping this mid-rework. Better to land it as one coherent pass than dribble out half-finished visual changes and confuse anyone who lands on the page in between. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one trying to make a music app’s website stop looking like a fundraising deck. Q: What specifically screamed “AI startup”? A: The general vibe more than any one element — the kind of design every YC-adjacent landing page converges on when nobody makes an active choice. Q: Why not ship incrementally instead of waiting? A: A visual identity rework half-applied looks worse than the thing it’s replacing. Waiting for it to be coherent. Q: How close is close? A: Close. Not “next devlog” close necessarily, but visibly closer than devlog #11 left it. Q: Does this touch the changelog-from-backend system from devlog #5? A: No, that infrastructure stays as-is. This is purely visual. —This is the end*— *end for now, gradient blobs permitting POGO!!!"}, {"post_id": 51267, "ts": "2026-08-20T20:03:38Z", "hours": 1.8481, "text": "Spectralis devlog #11 —Hello again proggers— Docs got a full rework this round. Also turns out v5.4.1 went out to nobody, because it never actually got pushed to the CDN. Tagged, released, announced probably, and completely inaccessible the whole time. shipped a release into a void and called it done Cat or dog? docs/ Okay let’s get into it~ —Yap— Started as a documentation pass and ended with the realization that the last release had been sitting local this whole time instead of where anyone could actually get it. Two very different kinds of work, same devlog. —The Great Suffering— 1 — The Entire Doc Rework Not a touch-up, a full rework. Docs, README, and STANDARDS all got restructured rather than patched in place, since patching them individually over the last several devlogs had left them internally inconsistent with each other and with what the app actually does now. 2 — 5.4.1 Never Made It To The CDN The actual headline bug of this devlog. v5.4.1 shipped, in the sense that it was built, tagged, and probably announced somewhere — but never got pushed to the CDN, meaning nobody could actually download it. Public-facing, and it was quietly broken the whole time until someone noticed. a release that ships to nowhere didn’t really ship 3 — Fixed And Actually Pushed Corrected the CDN push so 5.4.1 is genuinely available now, not just tagged in git looking like it is. Also part of why the doc rework mattered — docs referencing a version nobody could download was its own kind of lie. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one who tagged a release and forgot the part where people can actually get it. Q: How long was 5.4.1 unavailable? A: Long enough to be embarrassing, short enough to fix before it became a real problem. Caught during this pass. Q: Why redo the docs entirely instead of patching them again? A: Because incremental doc patches across several devlogs had drifted apart from each other and from the app. A full rework got everything back in sync at once. Q: Is this the same CDN that serves changelogs now (devlog #5)? A: Same one. This time the release binary itself was the thing missing, not just content. Q: Anything else quietly broken that hasn’t surfaced yet? A: Unknown by definition. That’s what the next devlog is for. —This is the end*— *end for now, CDN pushes permitting POPPY!!!"}, {"post_id": 51122, "ts": "2026-08-20T16:50:19Z", "hours": 11.1333, "text": "Spectralis devlog #10 —Hello again proggers— 11 hours, zero sleep, and somewhere in the middle of that a full release went out. v5.4.1, then v5.4.1.2 right behind it because apparently one patch release wasn’t enough punishment for one night. sleep is a scheduling conflict I lost Cat or dog? winmm.dll Okay let’s get into it~ —Yap— Started as a normal patch pass and turned into a full Linux compatibility audit at 3am, because it turns out shipping something cross-platform means actually checking what “cross-platform” was quietly lying about. Found four separate ways the app was secretly Windows-only, fixed all of them, shipped twice. —The Great Suffering— 1 — winmm.dll Doesn’t Exist On Linux, Who Knew Something was calling into winmm.dll directly. Which is a Windows multimedia API. Which does not exist on Linux. Genuinely did not know this was happening until it broke loudly. “who knew” is doing a lot of work in that commit message 2 — Shipped A .exe To Linux, My Bad Somewhere in the build/packaging step, a .exe was ending up in the Linux build. An executable format Linux does not run. Not a subtle bug, just an embarrassing one. 3 — Song Wars Closing = Surprise Alt+F4 Closing Song Wars was apparently also closing the entire app, unprompted, no warning. A feature window doubling as a kill switch is not a feature, it’s a trap. 4 — Yeeted yt-dlp + ffmpeg Into Linux Land, Zero Installs Needed The actual fix underneath most of this: bundled yt-dlp and ffmpeg directly for Linux instead of assuming they’d already be installed system-wide, which they very often weren’t. Zero external installs needed now, it just works out of the box. 5 — Last Page Isn’t A Dead End Anymore Merged in from feature/story-pager-finish — reaching the last page of a story used to just… stop. Dead end, nothing to do. Fixed so it actually resolves properly instead of leaving you stranded on the final page. 6 — Two Releases In One Night v5.4.1 went out, then a second pass turned up enough left over that v5.4.1.2 followed right after. Both merged through staging same night, same sleepless stretch. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one who found out about winmm.dll at 3am. Q: Was Spectralis actually broken on Linux before this? A: In at least four distinct ways, yes. Missing binaries, a stray .exe, a Windows-only DLL call, and an app-closing bug. Now fixed. Q: Why two patch releases instead of one? A: v5.4.1 went out, more got found immediately after, and waiting felt worse than just shipping v5.4.1.2 same night. Q: Did you actually not sleep? A: Correct. Not recommending it. Doing it anyway next time, probably. Q: Is Linux actually solid now? A: As solid as one very long, very tired night of testing can confirm. Time will tell the rest. —This is the end*— *end for now, sleep schedules permitting PIBBLE!!!"}, {"post_id": 50150, "ts": "2026-08-19T07:58:44Z", "hours": 5.4667, "text": "Spectralis devlog #9 — 5.4.0 is public —Hello again proggers— 5.4.0 is actually out, publicly, in people’s hands. Diffed v5.3.4 through v5.4.0: 40 commits, Aug 16-18, four threads of work. Cat or dog? spectral.resume() —Yap— Shared play became joinable, Streamer Queue and the Discord bot got hardened, story/visualizer bugs got chased down in one sitting, and some platform/perf issues got caught. None of these were small. —The Great Suffering— 1 — Shared Play Can Be Joined Now spectralis://shared-play/join links used to fall through to nothing. Now routed to a real handler. 2 — Streamer Queue: Host Controls + A Bot That Won’t Die Host can add tracks and mark played/skipped directly, no viewer round-trip. Desktop got an add-to-queue button and history panel. Both pollers (desktop + bot) back off dead rooms instead of hammering them. SQ API calls got a 10s timeout + one retry, GETs only — mutating calls don’t retry, to avoid double-submitting on a timed-out-but-successful response. Bot had zero global error handlers before this. One bad promise took the whole process down silently. Now it logs and survives, plus 3-attempt startup retry. 3 — Story Pages vs. Visualizers: Three Bugs, One Afternoon A capsule with both used to have them fight. Story can now queue a surface behind it — TryAdvancePastStory() swaps in the queued surface on spectral.resume(). Audio was starting under the story before the reader finished — now gated on whether a surface is queued. Once queued, picker/prev-next/keyboard could still hijack it — new IsVisualizerLocked blocks all three (user-picked “Special:” visualizers stay switchable). 4 — Platform + Perf Fixes MP3 decoding silently depended on Windows’ ACM codec via Mp3FileReader. Swapped to NLayer, pure managed decoder — MP3s decode on Linux/macOS now too. WebView2Host inline-rendered small visualizers via NavigateToString, which serves from about:blank with no real origin and tanks frame rate — everything goes through the fast file-backed path now. Auto-cycle switching checked IsLoaded/IsPlaying, both false during Spotify playback since Spotify never loads into the local engine — switched to HasTrack/IsPlaying. And: a regex stripping onclick=”…” had no exception, matched JS identifiers like onSomething =, and being quote-unguarded ate everything to the next stray quote anywhere later in the file. Fixed with a -block carve-out. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one who’s been waiting on shared play join links forever. Q: Was shared play really host-only until now? A: Yes. The link existed, it just went nowhere. Q: How bad was the regex bug? A: Silent corruption of unrelated code anywhere later in the file, no error thrown. Very glad it’s found. Q: Is 5.4.0 stable? A: As far as testing shows. That’s what everyone says right before the hotfix. —This is the end*— *end for now, public users permitting PEBBLE!!!"}, {"post_id": 49430, "ts": "2026-08-18T08:25:19Z", "hours": 10.7003, "text": "Spectralis devlog #8 —Hello again proggers— 10 hours 48 minutes. Again. Didn’t plan it, didn’t notice it happening, just looked up and the sun had done a full cycle. This time it was capsules and worlds actually getting built and tested for real instead of just existing in theory. we’ve been here before and we will be here again Cat or dog? Capsule.story + Capsule.visualizer print(f”I try to make stu{2f} which {actually_coexist} {10h48m_later}”) Okay let’s get into it~ —Yap— Stories came back in devlog #7 as a concept. This round was making and testing the first actual .spectralis capsules and worlds built on that concept, which is a different job entirely — turns out “the architecture supports it” and “a real capsule with a real story actually works” are two very different milestones. Also fixed a bug that only shows up once you’re actually testing real capsules instead of imagining them, and a GitHub pull issue that had nothing to do with any of this and ate time anyway. —The Great Suffering— 1 — Building And Testing The First Real Capsules And Worlds Most of the 10 hours 48 minutes, honestly. Going from “stories and worlds work in concept” to actually authoring capsules, loading them, and confirming the hooks — track start, track control, the custom HTML page — behave the way they’re supposed to under real content instead of a test stub. This is the part where theory meets “wait, why is this blank.” 2 — A Story And A Visualizer Couldn’t Both Exist In One Capsule Found this one while testing, not before. A capsule with both a story and a visualizer defined would break, since apparently the two weren’t built to coexist in the same capsule at all. Fixed so a single capsule can hold both without one stepping on the other. the two features that were supposed to be siblings turned out to be enemies 3 — GitHub Was Being Weird About Pulling Somewhere in the middle of all this, git decided pulling wasn’t going to just work. Fixed the pulling issue, which is the kind of fix that has no interesting story attached, it was just broken and then it wasn’t. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one who said “quick test” and looked up 10 hours 48 minutes later. Q: Was the story/visualizer bug there since devlog #7? A: Presumably, yes. Nobody had actually tried putting both in one capsule until this round. Q: What does “testing capsules and worlds” actually involve? A: Authoring real ones, loading them in the app, and checking the hooks — track start, track control, custom HTML rendering — behave correctly with actual content, not placeholder data. Q: What was the GitHub pulling issue? A: Not going into detail, it wasn’t interesting, it was just broken. Fixed now. Q: Is this the last capsule/worlds devlog? A: No idea. Ask devlog #9. —This is the end*— *end for now, git remotes permitting PEPPERONI!!!"}, {"post_id": 49210, "ts": "2026-08-17T21:23:21Z", "hours": 10.1667, "text": "Spectralis devlog #7 — welcome 5.4.0 —Hello again proggers— 5.4.0’s out. This one brought back a feature I’d basically buried, hardened two systems that were still a little too trust-me-bro, and finally let shared play open where it should’ve been opening the whole time. Also touched the docs, which I’m choosing to be proud of. Cat or dog? .spectralis print(f”I try to make stu{2f} which {actually_ships} {5.4.0}”) Okay let’s get into it~ —Yap— Big one this round is stories coming back into .spectralis capsules, except not as the thing they used to be — modernized, closer to how album worlds work now, as a proper custom HTML page with real hooks instead of whatever they were before. Rest of the release was hardening and cleanup: Streamer Queue and Discord got a pass to make sure live use doesn’t fall over, shared play finally opens in-app, and the docs stopped lying about what the app actually does. bringing back a feature I killed is a personality trait at this point —The Great Suffering— 1 — Stories Are Back, But Not The Same Stories Old stories concept is back inside .spectralis capsules, rebuilt to match how album worlds work now instead of resurrecting the original implementation as-is. Each one’s a custom HTML page with real hooks into the player — starting tracks, track control, the works — instead of being a static bolt-on. Bringing it back meant actually integrating it with the current architecture, not just copy-pasting the old version back in. 2 — Streamer Queue + Discord Got Hardened Both of these existed and mostly worked, which is different from “survives actually being used live by a streamer with chat moving.” Went through and hardened the interaction between Streamer Queue and the Discord bot — the stuff that only shows up under real load or real edge cases instead of a clean local test run. “mostly works” is doing a lot of lifting in software 3 — Shared Play Opens In App Now Shared play used to need you to go find it. Now there’s an actual open-in-app implementation, so joining a shared room is a real in-app flow instead of a workaround. Small change on paper, but it’s the difference between a feature people use and a feature people forget exists. 4 — Docs, README, and STANDARDS Actually Match Reality Updated the docs, README, and STANDARDS to reflect what’s actually in the app at this point instead of an earlier version of it. Boring work, necessary work, the kind of thing that only gets noticed when it’s wrong. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one who buried a feature and then dug it back up two versions later. Q: Why bring stories back instead of leaving them dead? A: Because the concept was good, the old implementation just wasn’t, and album worlds proved the modernized version of the idea actually works. Q: What counts as “hardening” for Streamer Queue and Discord? A: The stuff that only breaks under real conditions — live chat, real timing, real edge cases — not the happy path you get testing solo. Q: Does shared play opening in-app change how sessions work? A: No, same sessions, same presence/reactions/queue from devlog #6. Just a real entry point now instead of a workaround. Q: Anything left over for next time? A: Always. This is a devlog series, not a finish line. —This is the end*— *end for now, capsule hooks permitting 再见!!!"}, {"post_id": 48667, "ts": "2026-08-17T05:02:56Z", "hours": 9.6881, "text": "Spectralis devlog #6 —Hello again proggers— Website stuff wrapped up at the 310ee27 merge, then everything shifted straight into Streamer Queue and shared play. Ten commits deep on dev, plus one fix that’s sitting uncommitted in the working tree because it’s the kind of thing you want to stare at twice before you trust it. Cat or dog? Mp3FileReaderBase print(f”I try to make stu{2f} which {actually_decodes} {cross_platform}”) Okay let’s get into it~ —Yap— Streamer Queue went from “backend endpoints exist” to “actual UI with history and add-to-queue” over the course of ten commits, shared play picked up presence and reactions along the way, and then right at the end I found out the MP3 decoder has been quietly depending on a Windows-only codec this whole time. Great. cross-platform, they said. it’ll be fine, they said —The Great Suffering— 1 — Streamer Queue Backend, Then Actually Wiring It Up 402e2ef–2b74f97 built out the Streamer Queue backend endpoints — host add, mark played, mark skipped — and wired them into the client through a new StreamerQueueViewModel. Backend existing and backend actually being called by anything are two different milestones, and this covered both. 2 — The UI Caught Up 16c4b26 added the add-to-queue button and a history panel, so Streamer Queue stopped being an API you’d have to hit manually and became something that’s actually usable in the app. 3 — Shared Play Learned About Presence and Reactions ecb43e6 and c7a19c2 — shared play now fetches and exposes presence and reaction snapshots straight from the CDN. 7e60e15 then had SharedPlaySessionController pass presence, reactions, and queue through properly instead of any of those three living off on their own. 4 — HostAsync Was Ignoring The Host 92f2079. Found and fixed HostAsync quietly ignoring the host’s actual settings — not great for a feature called “host a shared play session.” the host had opinions the whole time, we just weren’t asking 5 — Preloading and the Full Shared UI 22bc56e preloads the next track into the shared room too, so listeners aren’t waiting on it live. f2df836 (HEAD) rounds it out with listener count, a reactions ticker, and a request list in the shared play UI — the room finally looks like it has people in it. Net diff for this stretch: SectionViewModels.cs (+206), backend/src/main.rs (+103), plus the SharedPlay CDN client/models and StreamerQueueView.axaml. 6 — The Uncommitted One: MP3 Playback Was Windows-Only This Whole Time AudioEngine.cs and VideoExportEngine.cs were both using Mp3FileReader, which under the hood calls Windows’ ACM codec (msacm32.dll) to decompress. Which does not exist on Linux or macOS. Swapping to Mp3FileReaderBase with an NLayer decompressor instead — NLayer.NAudioSupport added to Spectralis.Core.csproj — since NLayer is a pure managed decoder and doesn’t care what OS it’s on. Not committed yet, wanted to sit with it first. —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 MP3 playback only worked on one OS. Q: Was Spectralis actually cross-platform before this fix? A: For anything that wasn’t MP3 audio, sure. For MP3 specifically, only on Windows, silently, this whole time. Q: Why leave the audio fix uncommitted? A: Swapping a decoder for something this central deserves a beat of “does this actually sound right” before it goes in, not just “does it build.” Q: What’s the difference between Streamer Queue and the regular request queue? A: Streamer Queue is host-controlled — add, mark played, mark skipped, from the streamer’s side, with its own history panel, separate from the public submission flow. Q: Did shared play or Streamer Queue touch the Discord bot? A: No, this round’s entirely Spectralis.App/Spectralis.Core and the Rust backend. Bot’s untouched. —This is the end*— *end for now, ACM codecs permitting PARROT!!!"}, {"post_id": 48057, "ts": "2026-08-16T10:39:23Z", "hours": 2.2006, "text": "Spectralis devlog #5 —Hello again proggers— This one’s website side, not app side. Less “watches chat and reacts,” more “stop lying to people who land on the page.” Changelogs, copy, and a pile of QoL that all needed doing at once, so they got done at once. Cat or dog? GET /changelog print(f”I try to make stu{2f} which {actually_updates} {2day}”) Okay let’s get into it~ —Yap— The website had drifted into “hardcoded strings and vibes” territory. Changelog was static, copy was doing the thing where every sentence has an exclamation point and says nothing, and a bunch of small friction points had just been sitting there unfixed because none of them were dramatic enough on their own to stop and deal with. death by a thousand papercuts, website edition —The Great Suffering— 1 — Changelogs Moved To The Backend Changelog used to live as static content baked into the site itself, which meant every release meant a redeploy just to update a text block. Now it’s served from the backend, so shipping a new version updates the changelog without touching the frontend at all. Site and release process finally agree with each other. 2 — Marketing Fluff: Removed Went through the copy and cut the stuff that existed to sound exciting instead of to say something. Fewer exclamation points, fewer vague superlatives, more actual sentences about what the thing does. Turns out “it’s fast” means more than “blazingly fast, lightning quick, revolutionary” stacked in one line. RIP to several adjectives, you will not be missed 3 — A Bunch Of Small QoL Fixes The kind of stuff that’s individually boring but collectively the difference between a site that feels maintained and one that doesn’t — broken anchor links, inconsistent spacing that had been “fine for now” for way too long, a couple of buttons that didn’t actually do what their label said, loading states that just weren’t there before. Nothing here gets its own numbered section because none of it deserves one, but all of it needed fixing. 4 — Site and Backend Actually Talk Now With changelogs pulled from the backend, the website stopped being a static artifact that occasionally gets redeployed and started being an actual client of the backend it’s supposed to represent. Small architectural shift, disproportionate amount of relief. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one who wrote “blazingly fast” unironically at some point. Q: Why was the changelog static in the first place? A: Because it was easy at the time and “at the time” was a while ago. Q: Is the marketing copy gone entirely now? A: No, just the fluff. The site still has to say what Spectralis does, it just doesn’t need six adjectives to do it. Q: Does this affect the Discord bot or the app? A: No, this one’s website-only. App and bot are untouched this round. Q: What counts as a “small QoL fix” that didn’t get its own section? A: The stuff that’s annoying to list individually but adds up to “the site feels better now.” You’ll notice it without being told what it was. —This is the end*— *end for now, copywriting urges permitting CYA!!!"}, {"post_id": 47986, "ts": "2026-08-16T08:15:58Z", "hours": 11.9667, "text": "Spectralis devlog #4 —Hello again proggers— Uh. So. It’s been 11 hours. We sat down, opened the bot code, and just… didn’t stop. No devlog got posted because posting a devlog requires noticing that time is a thing that’s passing, and that stopped happening somewhere around hour 3. this is fine, this has always been fine Cat or dog? channelLock.ts print(f”I try to make stu{2f} which {actually_locked} {11hrs_later}”) Okay let’s get into it, before I forget more of it~ —Yap— No app changes this round. Zero. Not one line touched in Spectralis.App or Spectralis.Core. This whole stretch was 100% the Discord bot, going from “stubbed slash commands” to “bot that actually watches chat and does something about it.” —The Great Suffering— 1 — Railway Kept Rebuilding Rust For No Reason v5.3.2. Railway was rebuilding the entire backend on every single deploy regardless of whether the Rust actually changed. Pinned the build so it stops doing that. Small fix, saved a genuinely upsetting amount of deploy time. 2 — The Bot Learned to Watch Chat v5.3.3, and the actual reason for the 11 hours. The bot now watches the queue channel and reacts to song submissions as they come in, instead of just sitting there answering slash commands and pretending it doesn’t see anything else happening. 3 — New Files, New Problems messageSubmission.ts showed up to handle reacting to and tracking submitted songs in chat. channelLock.ts showed up next to it to handle locking logic for the watched channel, because a bot watching chat unsupervised is a bot that needs boundaries. 4 — Bot Token Can Now Actually See Things Bumped the bot token’s permissions so it can see and read submissions in the first place, which, in hindsight, was load-bearing for “watches chat and reacts to submissions.” Can’t react to what you can’t read. 5 — New Slash Commands, Existing Ones Got Bigger set-closed-message and set-open-message let streamers customize what shows up when the queue opens or closes instead of eating a hardcoded string. open-queue/close-queue got extended to actually talk to the new messaging and channel-lock logic instead of just flipping a flag and hoping. 6 — Everything Downstream Had to Catch Up db.ts, sqApi.ts, nowPlayingPoller.ts, types.ts, and index.ts all expanded to support the submission-tracking flow end to end. Backend picked up a small related change too, +11/-2 in main.rs, mostly plumbing to support what the bot needed on the other end. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one who let this go 11 hours without a devlog. Q: How did 11 hours happen? A: One slash command needed one more file, which needed one more type, which needed the bot to actually be able to read messages, and then the sun came up. Q: Is the C# app okay? A: Untouched and fine. It got the week off. Q: Why does the bot need to watch chat instead of just answering commands? A: Song submissions happen by posting in the channel, not by running a command every time. The bot needed to actually see that to react to and track them. Q: What’s channelLock.ts for? A: Making sure the watched channel behaves predictably while the bot is actively tracking submissions in it, instead of reacting to chaos. Q: Are we caught up on devlogs now? A: This is #4. We are exactly as caught up as we’re going to get. —This is the end*— *end for now, sleep permitting PANCAKES!!!"}, {"post_id": 47399, "ts": "2026-08-15T09:49:05Z", "hours": 5.2097, "text": "Spectralis devlog #3 —Hello again proggers— Back at it. This round wasn’t visualizer polish or UI cleanup, it was Song Wars/SQ backend stuff and a Discord bot that didn’t exist yesterday. Less “make it pretty,” more “make it not lie to people.” Cat or dog? AcceptingSubmissions print(f”I try to make stu{2f} which {actually_closes} {2day}”) Okay let’s get into it~ —Yap— Turns out “turn off the fee toggle” and “actually prevent the fee-gated action” are two different things, and I had only been doing the first one. Also built an entire close-queue flow because apparently streamers want to stop taking requests sometimes, which, fair. And then there’s a Discord bot now. That happened too. scope creep? never heard of her —The Great Suffering— 1 — The Free Skip Loophole Turning off “Skip fee” or “Super Skip fee” removed the option from the public request page (sq.html/sq.js) just fine. What it did NOT do was stop the backend from accepting skip/super-skip attempts anyway — submit, upload, promote, all of it. Toggle says no, server says sure why not. Backend now actually rejects those attempts when the toggle’s off, closing the gap where a disabled tier was quietly still free. the frontend was lying and the backend believed it Still preserved: turning a toggle ON with a $0 amount is a real, intentional free tier. That distinction stays. 2 — Close Queue Didn’t Exist There was a “Queue enabled” toggle, but no way to just… stop taking requests without digging into settings. Added a real AcceptingSubmissions flag, separate from that, plus a one-click “Close Queue”/“Reopen Queue” button right next to “Copy Submit URL” in the header. No settings menu detour required. When closed, the public page still shows now-playing and queue count, just hides the request/skip/super-skip forms behind a “requests are closed” banner. Streamer can keep browsing and playing from the existing queue the whole time, since the app’s queue view was never gated on “enabled” to begin with. 3 — Now Playing Was Just Empty This Whole Time Found this one by accident while wiring Close Queue: the public page’s “Now Playing” section never actually populated for anyone who wasn’t the owner, because the backend just wasn’t sending track info to non-owner viewers. Fixed alongside everything else. 4 — A Discord Bot Shows Up New discord-bot/ folder, Node.js + TypeScript, discord.js, with a full PLANNING.md for the design: PIN-based pairing so the streamer generates a short-lived PIN in-app and runs /link-queue in Discord with no secrets ever touching chat, a scoped bot-token concept kept separate from the full owner token, and a (guildId, channelId) → room mapping so one bot instance can serve many servers. /queue, /request, /skip, /superskip are fully wired against the existing public SQ API and build clean. /link-queue, /close-queue, /open-queue are stubbed with TODOs since they need backend PIN/token endpoints that don’t exist yet, which is now the next backend work item. Everything typechecks and builds clean across the board — Rust release build, Spectralis.App, and the bot’s tsc. —FAQ (no one asked these but they are here)— Q: Why does Spectralis need a Discord bot? A: Because apparently the request queue living only on a web page wasn’t enough surface area. Now it can also live in your server. Q: What’s PIN-based pairing? A: Streamer gets a short-lived PIN in-app, runs one Discord command with it, done. No tokens or secrets ever posted in chat. Q: Anything left over from last devlog? A: Chat template drift is still an EDITH problem, not a Spectralis one. Wrong repo, wrong devlog. —This is the end*— *end for now, PIN endpoints permitting PIZZA!!!"}, {"post_id": 46741, "ts": "2026-08-14T06:44:16Z", "hours": 6.1242, "text": "Spectralis devlog #2 —Hello again proggers— New project, same yapping. This one’s Spectralis — the WinForms-to-Avalonia refugee that somehow ended up with a spin wheel, notepads, dead zones, and Spotify playlist sync bolted onto it. 917 commits deep and counting. Cat or dog? RowBackground print(f”I try to make stu{2f} which {actually_renders} {2day}”) Okay let’s get into it~ —Yap— This stretch was less “one big feature” and more “death by a thousand small horrors,” which honestly might just be what maintaining a music app is. Playlists, now playing, the visualizer pipeline, and a wheel of all things all got touched. a spin wheel. in a music app. sure —The Great Suffering— 1 — Playlists Looked Like a Log File For way too long, the playlist view rendered like plain rows in a terminal instead of, y’know, an app. Turns out library explicitly set RowBackground and playlists just… didn’t. So it fell back to the theme’s default accent-tinted fill on every single row instead of the real styling. One missing property. That’s it. That’s the bug. found staring at my own code for an hour 2 — Every Nav Click Rebuilt The World ContentControl was tearing down and rebuilding the entire section view from scratch on every single navigation click. Fixed by caching views per viewmodel instead of nuking them each time. App feels like it’s not fighting itself anymore. 3 — Library Load Was Blocking the Window From Even Opening Big libraries meant the window just… wouldn’t show up. Load was sitting on the UI thread like it owned the place. Moved off it. Window opens now regardless of how unhinged your library size is. 4 — Spectrum Bars Were Snapping FFT window was running back-to-back instead of overlapping, so spectrum/spectrogram/loudness only actually updated every ~185ms even at 60fps render — bars were snapping to new values instead of moving. Bumped overlap to 75% and eased toward target instead of drawing raw values. Smooth now. Suspiciously smooth. 5 — Notepads and the Wheel Happened Somewhere in here a full notepad feature got built — embed model, tag service, docked panel in now playing, pop-out window, save-to-track-tags — and then immediately got wired into a spin wheel with weighted entries, its own model, and a saved-wheels list. Neither of these were planned at the start of the week. Both exist now. 6 — Spotify Actually Behaves Spotify stopped pausing forever, stopped lying about the queue, stopped refusing to shut up, and playlists now actually sync instead of just vibing. Also Discord presence shows Spotify tracks now instead of just going blank like it forgot what music was. 7 — Small Bugs, Deployed With Extreme Prejudice Soundcloud playhead was showing the previous track’s end position on load, fixed. Word mode wasn’t saving timestamps so exports came out empty, fixed. Track-switch click (and the pop when another app grabs the audio device) got a quick fade instead. Dead zones stopped being OBS-only and now shift the app’s own layout too. —FAQ (no one asked these but they are here)— Q: What is Spectralis? A: A local + Spotify + SoundCloud music player with a visualizer pipeline, OBS integration, and apparently a spin wheel now. Originally WinForms, migrated to Avalonia across 917 commits. Q: Why does a music player need dead zones? A: For OBS overlay layouts — panels and toasts need to know where not to render so they don’t cover your stream elements. It’s a layout constraint system wearing a spooky name. Q: Was the RowBackground bug really just one missing line? A: Yes. I’m still thinking about it. Q: Is the wheel feature load-bearing or a bit? A: Unclear. It has weighted spins, saved wheel lists, and its own viewmodel. Feels load-bearing now. Q: What’s next? A: Whatever the changelog for the version after 5.4.0 ends up needing. Probably something I haven’t broken yet. —This is the end*— *end for now, RowBackground permitting ADIOS!!!😎😎😎😎"}, {"post_id": 27486, "ts": "2026-07-13T02:54:53Z", "hours": 16.6944, "text": "DEVLOG 001 initial setup with hackclub this is the 5th iteration of the spectralis audio visualizer app core features changed: switched from WinForms to AvaloniaUI refined UI design and theming fixed api related issues added streamer support and automated queueing web share audio hosting refinements to the embedded audio visualizer system bug fixes: fixed an issue with the youtube API placeholder fix for Spotify webplayer playback fixed an issue with the viz switcher would “hide” behind the html visualizers"}]...
|
Title: Spectralis by @DeltaVortex | Stardance
Dev Title: Spectralis by @DeltaVortex | Stardance
Devlogs:
DEVLOG 001 initial setup with hackclub this is the 5th iteration of the spectralis audio visualizer app core features changed: switched from WinForms to AvaloniaUI refined UI design and theming fixed api related issues added streamer support and automated queueing web share audio hosting refinements to the embedded audio visualizer system bug fixes: fixed an issue with the youtube API placeholder fix for Spotify webplayer playback fixed an issue with the viz switcher would “hide” behind the html visualizers
Spectralis devlog #2 —Hello again proggers— New project, same yapping. This one’s Spectralis — the WinForms-to-Avalonia refugee that somehow ended up with a spin wheel, notepads, dead zones, and Spotify playlist sync bolted onto it. 917 commits deep and counting. Cat or dog? RowBackground print(f”I try to make stu{2f} which {actually_renders} {2day}”) Okay let’s get into it~ —Yap— This stretch was less “one big feature” and more “death by a thousand small horrors,” which honestly might just be what maintaining a music app is. Playlists, now playing, the visualizer pipeline, and a wheel of all things all got touched. a spin wheel. in a music app. sure —The Great Suffering— 1 — Playlists Looked Like a Log File For way too long, the playlist view rendered like plain rows in a terminal instead of, y’know, an app. Turns out library explicitly set RowBackground and playlists just… didn’t. So it fell back to the theme’s default accent-tinted fill on every single row instead of the real styling. One missing property. That’s it. That’s the bug. found staring at my own code for an hour 2 — Every Nav Click Rebuilt The World ContentControl was tearing down and rebuilding the entire section view from scratch on every single navigation click. Fixed by caching views per viewmodel instead of nuking them each time. App feels like it’s not fighting itself anymore. 3 — Library Load Was Blocking the Window From Even Opening Big libraries meant the window just… wouldn’t show up. Load was sitting on the UI thread like it owned the place. Moved off it. Window opens now regardless of how unhinged your library size is. 4 — Spectrum Bars Were Snapping FFT window was running back-to-back instead of overlapping, so spectrum/spectrogram/loudness only actually updated every ~185ms even at 60fps render — bars were snapping to new values instead of moving. Bumped overlap to 75% and eased toward target instead of drawing raw values. Smooth now. Suspiciously smooth. 5 — Notepads and the Wheel Happened Somewhere in here a full notepad feature got built — embed model, tag service, docked panel in now playing, pop-out window, save-to-track-tags — and then immediately got wired into a spin wheel with weighted entries, its own model, and a saved-wheels list. Neither of these were planned at the start of the week. Both exist now. 6 — Spotify Actually Behaves Spotify stopped pausing forever, stopped lying about the queue, stopped refusing to shut up, and playlists now actually sync instead of just vibing. Also Discord presence shows Spotify tracks now instead of just going blank like it forgot what music was. 7 — Small Bugs, Deployed With Extreme Prejudice Soundcloud playhead was showing the previous track’s end position on load, fixed. Word mode wasn’t saving timestamps so exports came out empty, fixed. Track-switch click (and the pop when another app grabs the audio device) got a quick fade instead. Dead zones stopped being OBS-only and now shift the app’s own layout too. —FAQ (no one asked these but they are here)— Q: What is Spectralis? A: A local + Spotify + SoundCloud music player with a visualizer pipeline, OBS integration, and apparently a spin wheel now. Originally WinForms, migrated to Avalonia across 917 commits. Q: Why does a music player need dead zones? A: For OBS overlay layouts — panels and toasts need to know where not to render so they don’t cover your stream elements. It’s a layout constraint system wearing a spooky name. Q: Was the RowBackground bug really just one missing line? A: Yes. I’m still thinking about it. Q: Is the wheel feature load-bearing or a bit? A: Unclear. It has weighted spins, saved wheel lists, and its own viewmodel. Feels load-bearing now. Q: What’s next? A: Whatever the changelog for the version after 5.4.0 ends up needing. Probably something I haven’t broken yet. —This is the end*— *end for now, RowBackground permitting ADIOS!!!😎😎😎😎
Spectralis devlog #3 —Hello again proggers— Back at it. This round wasn’t visualizer polish or UI cleanup, it was Song Wars/SQ backend stuff and a Discord bot that didn’t exist yesterday. Less “make it pretty,” more “make it not lie to people.” Cat or dog? AcceptingSubmissions print(f”I try to make stu{2f} which {actually_closes} {2day}”) Okay let’s get into it~ —Yap— Turns out “turn off the fee toggle” and “actually prevent the fee-gated action” are two different things, and I had only been doing the first one. Also built an entire close-queue flow because apparently streamers want to stop taking requests sometimes, which, fair. And then there’s a Discord bot now. That happened too. scope creep? never heard of her —The Great Suffering— 1 — The Free Skip Loophole Turning off “Skip fee” or “Super Skip fee” removed the option from the public request page (sq.html/sq.js) just fine. What it did NOT do was stop the backend from accepting skip/super-skip attempts anyway — submit, upload, promote, all of it. Toggle says no, server says sure why not. Backend now actually rejects those attempts when the toggle’s off, closing the gap where a disabled tier was quietly still free. the frontend was lying and the backend believed it Still preserved: turning a toggle ON with a $0 amount is a real, intentional free tier. That distinction stays. 2 — Close Queue Didn’t Exist There was a “Queue enabled” toggle, but no way to just… stop taking requests without digging into settings. Added a real AcceptingSubmissions flag, separate from that, plus a one-click “Close Queue”/“Reopen Queue” button right next to “Copy Submit URL” in the header. No settings menu detour required. When closed, the public page still shows now-playing and queue count, just hides the request/skip/super-skip forms behind a “requests are closed” banner. Streamer can keep browsing and playing from the existing queue the whole time, since the app’s queue view was never gated on “enabled” to begin with. 3 — Now Playing Was Just Empty This Whole Time Found this one by accident while wiring Close Queue: the public page’s “Now Playing” section never actually populated for anyone who wasn’t the owner, because the backend just wasn’t sending track info to non-owner viewers. Fixed alongside everything else. 4 — A Discord Bot Shows Up New discord-bot/ folder, Node.js + TypeScript, discord.js, with a full PLANNING.md for the design: PIN-based pairing so the streamer generates a short-lived PIN in-app and runs /link-queue in Discord with no secrets ever touching chat, a scoped bot-token concept kept separate from the full owner token, and a (guildId, channelId) → room mapping so one bot instance can serve many servers. /queue, /request, /skip, /superskip are fully wired against the existing public SQ API and build clean. /link-queue, /close-queue, /open-queue are stubbed with TODOs since they need backend PIN/token endpoints that don’t exist yet, which is now the next backend work item. Everything typechecks and builds clean across the board — Rust release build, Spectralis.App, and the bot’s tsc. —FAQ (no one asked these but they are here)— Q: Why does Spectralis need a Discord bot? A: Because apparently the request queue living only on a web page wasn’t enough surface area. Now it can also live in your server. Q: What’s PIN-based pairing? A: Streamer gets a short-lived PIN in-app, runs one Discord command with it, done. No tokens or secrets ever posted in chat. Q: Anything left over from last devlog? A: Chat template drift is still an EDITH problem, not a Spectralis one. Wrong repo, wrong devlog. —This is the end*— *end for now, PIN endpoints permitting PIZZA!!!
Spectralis devlog #4 —Hello again proggers— Uh. So. It’s been 11 hours. We sat down, opened the bot code, and just… didn’t stop. No devlog got posted because posting a devlog requires noticing that time is a thing that’s passing, and that stopped happening somewhere around hour 3. this is fine, this has always been fine Cat or dog? channelLock.ts print(f”I try to make stu{2f} which {actually_locked} {11hrs_later}”) Okay let’s get into it, before I forget more of it~ —Yap— No app changes this round. Zero. Not one line touched in Spectralis.App or Spectralis.Core. This whole stretch was 100% the Discord bot, going from “stubbed slash commands” to “bot that actually watches chat and does something about it.” —The Great Suffering— 1 — Railway Kept Rebuilding Rust For No Reason v5.3.2. Railway was rebuilding the entire backend on every single deploy regardless of whether the Rust actually changed. Pinned the build so it stops doing that. Small fix, saved a genuinely upsetting amount of deploy time. 2 — The Bot Learned to Watch Chat v5.3.3, and the actual reason for the 11 hours. The bot now watches the queue channel and reacts to song submissions as they come in, instead of just sitting there answering slash commands and pretending it doesn’t see anything else happening. 3 — New Files, New Problems messageSubmission.ts showed up to handle reacting to and tracking submitted songs in chat. channelLock.ts showed up next to it to handle locking logic for the watched channel, because a bot watching chat unsupervised is a bot that needs boundaries. 4 — Bot Token Can Now Actually See Things Bumped the bot token’s permissions so it can see and read submissions in the first place, which, in hindsight, was load-bearing for “watches chat and reacts to submissions.” Can’t react to what you can’t read. 5 — New Slash Commands, Existing Ones Got Bigger set-closed-message and set-open-message let streamers customize what shows up when the queue opens or closes instead of eating a hardcoded string. open-queue/close-queue got extended to actually talk to the new messaging and channel-lock logic instead of just flipping a flag and hoping. 6 — Everything Downstream Had to Catch Up db.ts, sqApi.ts, nowPlayingPoller.ts, types.ts, and index.ts all expanded to support the submission-tracking flow end to end. Backend picked up a small related change too, +11/-2 in main.rs, mostly plumbing to support what the bot needed on the other end. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one who let this go 11 hours without a devlog. Q: How did 11 hours happen? A: One slash command needed one more file, which needed one more type, which needed the bot to actually be able to read messages, and then the sun came up. Q: Is the C# app okay? A: Untouched and fine. It got the week off. Q: Why does the bot need to watch chat instead of just answering commands? A: Song submissions happen by posting in the channel, not by running a command every time. The bot needed to actually see that to react to and track them. Q: What’s channelLock.ts for? A: Making sure the watched channel behaves predictably while the bot is actively tracking submissions in it, instead of reacting to chaos. Q: Are we caught up on devlogs now? A: This is #4. We are exactly as caught up as we’re going to get. —This is the end*— *end for now, sleep permitting PANCAKES!!!
Spectralis devlog #5 —Hello again proggers— This one’s website side, not app side. Less “watches chat and reacts,” more “stop lying to people who land on the page.” Changelogs, copy, and a pile of QoL that all needed doing at once, so they got done at once. Cat or dog? GET /changelog print(f”I try to make stu{2f} which {actually_updates} {2day}”) Okay let’s get into it~ —Yap— The website had drifted into “hardcoded strings and vibes” territory. Changelog was static, copy was doing the thing where every sentence has an exclamation point and says nothing, and a bunch of small friction points had just been sitting there unfixed because none of them were dramatic enough on their own to stop and deal with. death by a thousand papercuts, website edition —The Great Suffering— 1 — Changelogs Moved To The Backend Changelog used to live as static content baked into the site itself, which meant every release meant a redeploy just to update a text block. Now it’s served from the backend, so shipping a new version updates the changelog without touching the frontend at all. Site and release process finally agree with each other. 2 — Marketing Fluff: Removed Went through the copy and cut the stuff that existed to sound exciting instead of to say something. Fewer exclamation points, fewer vague superlatives, more actual sentences about what the thing does. Turns out “it’s fast” means more than “blazingly fast, lightning quick, revolutionary” stacked in one line. RIP to several adjectives, you will not be missed 3 — A Bunch Of Small QoL Fixes The kind of stuff that’s individually boring but collectively the difference between a site that feels maintained and one that doesn’t — broken anchor links, inconsistent spacing that had been “fine for now” for way too long, a couple of buttons that didn’t actually do what their label said, loading states that just weren’t there before. Nothing here gets its own numbered section because none of it deserves one, but all of it needed fixing. 4 — Site and Backend Actually Talk Now With changelogs pulled from the backend, the website stopped being a static artifact that occasionally gets redeployed and started being an actual client of the backend it’s supposed to represent. Small architectural shift, disproportionate amount of relief. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one who wrote “blazingly fast” unironically at some point. Q: Why was the changelog static in the first place? A: Because it was easy at the time and “at the time” was a while ago. Q: Is the marketing copy gone entirely now? A: No, just the fluff. The site still has to say what Spectralis does, it just doesn’t need six adjectives to do it. Q: Does this affect the Discord bot or the app? A: No, this one’s website-only. App and bot are untouched this round. Q: What counts as a “small QoL fix” that didn’t get its own section? A: The stuff that’s annoying to list individually but adds up to “the site feels better now.” You’ll notice it without being told what it was. —This is the end*— *end for now, copywriting urges permitting CYA!!!
Spectralis devlog #6 —Hello again proggers— Website stuff wrapped up at the 310ee27 merge, then everything shifted straight into Streamer Queue and shared play. Ten commits deep on dev, plus one fix that’s sitting uncommitted in the working tree because it’s the kind of thing you want to stare at twice before you trust it. Cat or dog? Mp3FileReaderBase print(f”I try to make stu{2f} which {actually_decodes} {cross_platform}”) Okay let’s get into it~ —Yap— Streamer Queue went from “backend endpoints exist” to “actual UI with history and add-to-queue” over the course of ten commits, shared play picked up presence and reactions along the way, and then right at the end I found out the MP3 decoder has been quietly depending on a Windows-only codec this whole time. Great. cross-platform, they said. it’ll be fine, they said —The Great Suffering— 1 — Streamer Queue Backend, Then Actually Wiring It Up 402e2ef–2b74f97 built out the Streamer Queue backend endpoints — host add, mark played, mark skipped — and wired them into the client through a new StreamerQueueViewModel. Backend existing and backend actually being called by anything are two different milestones, and this covered both. 2 — The UI Caught Up 16c4b26 added the add-to-queue button and a history panel, so Streamer Queue stopped being an API you’d have to hit manually and became something that’s actually usable in the app. 3 — Shared Play Learned About Presence and Reactions ecb43e6 and c7a19c2 — shared play now fetches and exposes presence and reaction snapshots straight from the CDN. 7e60e15 then had SharedPlaySessionController pass presence, reactions, and queue through properly instead of any of those three living off on their own. 4 — HostAsync Was Ignoring The Host 92f2079. Found and fixed HostAsync quietly ignoring the host’s actual settings — not great for a feature called “host a shared play session.” the host had opinions the whole time, we just weren’t asking 5 — Preloading and the Full Shared UI 22bc56e preloads the next track into the shared room too, so listeners aren’t waiting on it live. f2df836 (HEAD) rounds it out with listener count, a reactions ticker, and a request list in the shared play UI — the room finally looks like it has people in it. Net diff for this stretch: SectionViewModels.cs (+206), backend/src/main.rs (+103), plus the SharedPlay CDN client/models and StreamerQueueView.axaml. 6 — The Uncommitted One: MP3 Playback Was Windows-Only This Whole Time AudioEngine.cs and VideoExportEngine.cs were both using Mp3FileReader, which under the hood calls Windows’ ACM codec (msacm32.dll) to decompress. Which does not exist on Linux or macOS. Swapping to Mp3FileReaderBase with an NLayer decompressor instead — NLayer.NAudioSupport added to Spectralis.Core.csproj — since NLayer is a pure managed decoder and doesn’t care what OS it’s on. Not committed yet, wanted to sit with it first. —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 MP3 playback only worked on one OS. Q: Was Spectralis actually cross-platform before this fix? A: For anything that wasn’t MP3 audio, sure. For MP3 specifically, only on Windows, silently, this whole time. Q: Why leave the audio fix uncommitted? A: Swapping a decoder for something this central deserves a beat of “does this actually sound right” before it goes in, not just “does it build.” Q: What’s the difference between Streamer Queue and the regular request queue? A: Streamer Queue is host-controlled — add, mark played, mark skipped, from the streamer’s side, with its own history panel, separate from the public submission flow. Q: Did shared play or Streamer Queue touch the Discord bot? A: No, this round’s entirely Spectralis.App/Spectralis.Core and the Rust backend. Bot’s untouched. —This is the end*— *end for now, ACM codecs permitting PARROT!!!
Spectralis devlog #7 — welcome 5.4.0 —Hello again proggers— 5.4.0’s out. This one brought back a feature I’d basically buried, hardened two systems that were still a little too trust-me-bro, and finally let shared play open where it should’ve been opening the whole time. Also touched the docs, which I’m choosing to be proud of. Cat or dog? .spectralis print(f”I try to make stu{2f} which {actually_ships} {5.4.0}”) Okay let’s get into it~ —Yap— Big one this round is stories coming back into .spectralis capsules, except not as the thing they used to be — modernized, closer to how album worlds work now, as a proper custom HTML page with real hooks instead of whatever they were before. Rest of the release was hardening and cleanup: Streamer Queue and Discord got a pass to make sure live use doesn’t fall over, shared play finally opens in-app, and the docs stopped lying about what the app actually does. bringing back a feature I killed is a personality trait at this point —The Great Suffering— 1 — Stories Are Back, But Not The Same Stories Old stories concept is back inside .spectralis capsules, rebuilt to match how album worlds work now instead of resurrecting the original implementation as-is. Each one’s a custom HTML page with real hooks into the player — starting tracks, track control, the works — instead of being a static bolt-on. Bringing it back meant actually integrating it with the current architecture, not just copy-pasting the old version back in. 2 — Streamer Queue + Discord Got Hardened Both of these existed and mostly worked, which is different from “survives actually being used live by a streamer with chat moving.” Went through and hardened the interaction between Streamer Queue and the Discord bot — the stuff that only shows up under real load or real edge cases instead of a clean local test run. “mostly works” is doing a lot of lifting in software 3 — Shared Play Opens In App Now Shared play used to need you to go find it. Now there’s an actual open-in-app implementation, so joining a shared room is a real in-app flow instead of a workaround. Small change on paper, but it’s the difference between a feature people use and a feature people forget exists. 4 — Docs, README, and STANDARDS Actually Match Reality Updated the docs, README, and STANDARDS to reflect what’s actually in the app at this point instead of an earlier version of it. Boring work, necessary work, the kind of thing that only gets noticed when it’s wrong. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one who buried a feature and then dug it back up two versions later. Q: Why bring stories back instead of leaving them dead? A: Because the concept was good, the old implementation just wasn’t, and album worlds proved the modernized version of the idea actually works. Q: What counts as “hardening” for Streamer Queue and Discord? A: The stuff that only breaks under real conditions — live chat, real timing, real edge cases — not the happy path you get testing solo. Q: Does shared play opening in-app change how sessions work? A: No, same sessions, same presence/reactions/queue from devlog #6. Just a real entry point now instead of a workaround. Q: Anything left over for next time? A: Always. This is a devlog series, not a finish line. —This is the end*— *end for now, capsule hooks permitting 再见!!!
Spectralis devlog #8 —Hello again proggers— 10 hours 48 minutes. Again. Didn’t plan it, didn’t notice it happening, just looked up and the sun had done a full cycle. This time it was capsules and worlds actually getting built and tested for real instead of just existing in theory. we’ve been here before and we will be here again Cat or dog? Capsule.story + Capsule.visualizer print(f”I try to make stu{2f} which {actually_coexist} {10h48m_later}”) Okay let’s get into it~ —Yap— Stories came back in devlog #7 as a concept. This round was making and testing the first actual .spectralis capsules and worlds built on that concept, which is a different job entirely — turns out “the architecture supports it” and “a real capsule with a real story actually works” are two very different milestones. Also fixed a bug that only shows up once you’re actually testing real capsules instead of imagining them, and a GitHub pull issue that had nothing to do with any of this and ate time anyway. —The Great Suffering— 1 — Building And Testing The First Real Capsules And Worlds Most of the 10 hours 48 minutes, honestly. Going from “stories and worlds work in concept” to actually authoring capsules, loading them, and confirming the hooks — track start, track control, the custom HTML page — behave the way they’re supposed to under real content instead of a test stub. This is the part where theory meets “wait, why is this blank.” 2 — A Story And A Visualizer Couldn’t Both Exist In One Capsule Found this one while testing, not before. A capsule with both a story and a visualizer defined would break, since apparently the two weren’t built to coexist in the same capsule at all. Fixed so a single capsule can hold both without one stepping on the other. the two features that were supposed to be siblings turned out to be enemies 3 — GitHub Was Being Weird About Pulling Somewhere in the middle of all this, git decided pulling wasn’t going to just work. Fixed the pulling issue, which is the kind of fix that has no interesting story attached, it was just broken and then it wasn’t. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one who said “quick test” and looked up 10 hours 48 minutes later. Q: Was the story/visualizer bug there since devlog #7? A: Presumably, yes. Nobody had actually tried putting both in one capsule until this round. Q: What does “testing capsules and worlds” actually involve? A: Authoring real ones, loading them in the app, and checking the hooks — track start, track control, custom HTML rendering — behave correctly with actual content, not placeholder data. Q: What was the GitHub pulling issue? A: Not going into detail, it wasn’t interesting, it was just broken. Fixed now. Q: Is this the last capsule/worlds devlog? A: No idea. Ask devlog #9. —This is the end*— *end for now, git remotes permitting PEPPERONI!!!
Spectralis devlog #9 — 5.4.0 is public —Hello again proggers— 5.4.0 is actually out, publicly, in people’s hands. Diffed v5.3.4 through v5.4.0: 40 commits, Aug 16-18, four threads of work. Cat or dog? spectral.resume() —Yap— Shared play became joinable, Streamer Queue and the Discord bot got hardened, story/visualizer bugs got chased down in one sitting, and some platform/perf issues got caught. None of these were small. —The Great Suffering— 1 — Shared Play Can Be Joined Now spectralis://shared-play/join links used to fall through to nothing. Now routed to a real handler. 2 — Streamer Queue: Host Controls + A Bot That Won’t Die Host can add tracks and mark played/skipped directly, no viewer round-trip. Desktop got an add-to-queue button and history panel. Both pollers (desktop + bot) back off dead rooms instead of hammering them. SQ API calls got a 10s timeout + one retry, GETs only — mutating calls don’t retry, to avoid double-submitting on a timed-out-but-successful response. Bot had zero global error handlers before this. One bad promise took the whole process down silently. Now it logs and survives, plus 3-attempt startup retry. 3 — Story Pages vs. Visualizers: Three Bugs, One Afternoon A capsule with both used to have them fight. Story can now queue a surface behind it — TryAdvancePastStory() swaps in the queued surface on spectral.resume(). Audio was starting under the story before the reader finished — now gated on whether a surface is queued. Once queued, picker/prev-next/keyboard could still hijack it — new IsVisualizerLocked blocks all three (user-picked “Special:” visualizers stay switchable). 4 — Platform + Perf Fixes MP3 decoding silently depended on Windows’ ACM codec via Mp3FileReader. Swapped to NLayer, pure managed decoder — MP3s decode on Linux/macOS now too. WebView2Host inline-rendered small visualizers via NavigateToString, which serves from about:blank with no real origin and tanks frame rate — everything goes through the fast file-backed path now. Auto-cycle switching checked IsLoaded/IsPlaying, both false during Spotify playback since Spotify never loads into the local engine — switched to HasTrack/IsPlaying. And: a regex stripping onclick=”…” had no exception, matched JS identifiers like onSomething =, and being quote-unguarded ate everything to the next stray quote anywhere later in the file. Fixed with a -block carve-out. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one who’s been waiting on shared play join links forever. Q: Was shared play really host-only until now? A: Yes. The link existed, it just went nowhere. Q: How bad was the regex bug? A: Silent corruption of unrelated code anywhere later in the file, no error thrown. Very glad it’s found. Q: Is 5.4.0 stable? A: As far as testing shows. That’s what everyone says right before the hotfix. —This is the end*— *end for now, public users permitting PEBBLE!!!
Spectralis devlog #10 —Hello again proggers— 11 hours, zero sleep, and somewhere in the middle of that a full release went out. v5.4.1, then v5.4.1.2 right behind it because apparently one patch release wasn’t enough punishment for one night. sleep is a scheduling conflict I lost Cat or dog? winmm.dll Okay let’s get into it~ —Yap— Started as a normal patch pass and turned into a full Linux compatibility audit at 3am, because it turns out shipping something cross-platform means actually checking what “cross-platform” was quietly lying about. Found four separate ways the app was secretly Windows-only, fixed all of them, shipped twice. —The Great Suffering— 1 — winmm.dll Doesn’t Exist On Linux, Who Knew Something was calling into winmm.dll directly. Which is a Windows multimedia API. Which does not exist on Linux. Genuinely did not know this was happening until it broke loudly. “who knew” is doing a lot of work in that commit message 2 — Shipped A .exe To Linux, My Bad Somewhere in the build/packaging step, a .exe was ending up in the Linux build. An executable format Linux does not run. Not a subtle bug, just an embarrassing one. 3 — Song Wars Closing = Surprise Alt+F4 Closing Song Wars was apparently also closing the entire app, unprompted, no warning. A feature window doubling as a kill switch is not a feature, it’s a trap. 4 — Yeeted yt-dlp + ffmpeg Into Linux Land, Zero Installs Needed The actual fix underneath most of this: bundled yt-dlp and ffmpeg directly for Linux instead of assuming they’d already be installed system-wide, which they very often weren’t. Zero external installs needed now, it just works out of the box. 5 — Last Page Isn’t A Dead End Anymore Merged in from feature/story-pager-finish — reaching the last page of a story used to just… stop. Dead end, nothing to do. Fixed so it actually resolves properly instead of leaving you stranded on the final page. 6 — Two Releases In One Night v5.4.1 went out, then a second pass turned up enough left over that v5.4.1.2 followed right after. Both merged through staging same night, same sleepless stretch. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one who found out about winmm.dll at 3am. Q: Was Spectralis actually broken on Linux before this? A: In at least four distinct ways, yes. Missing binaries, a stray .exe, a Windows-only DLL call, and an app-closing bug. Now fixed. Q: Why two patch releases instead of one? A: v5.4.1 went out, more got found immediately after, and waiting felt worse than just shipping v5.4.1.2 same night. Q: Did you actually not sleep? A: Correct. Not recommending it. Doing it anyway next time, probably. Q: Is Linux actually solid now? A: As solid as one very long, very tired night of testing can confirm. Time will tell the rest. —This is the end*— *end for now, sleep schedules permitting PIBBLE!!!
Spectralis devlog #11 —Hello again proggers— Docs got a full rework this round. Also turns out v5.4.1 went out to nobody, because it never actually got pushed to the CDN. Tagged, released, announced probably, and completely inaccessible the whole time. shipped a release into a void and called it done Cat or dog? docs/ Okay let’s get into it~ —Yap— Started as a documentation pass and ended with the realization that the last release had been sitting local this whole time instead of where anyone could actually get it. Two very different kinds of work, same devlog. —The Great Suffering— 1 — The Entire Doc Rework Not a touch-up, a full rework. Docs, README, and STANDARDS all got restructured rather than patched in place, since patching them individually over the last several devlogs had left them internally inconsistent with each other and with what the app actually does now. 2 — 5.4.1 Never Made It To The CDN The actual headline bug of this devlog. v5.4.1 shipped, in the sense that it was built, tagged, and probably announced somewhere — but never got pushed to the CDN, meaning nobody could actually download it. Public-facing, and it was quietly broken the whole time until someone noticed. a release that ships to nowhere didn’t really ship 3 — Fixed And Actually Pushed Corrected the CDN push so 5.4.1 is genuinely available now, not just tagged in git looking like it is. Also part of why the doc rework mattered — docs referencing a version nobody could download was its own kind of lie. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one who tagged a release and forgot the part where people can actually get it. Q: How long was 5.4.1 unavailable? A: Long enough to be embarrassing, short enough to fix before it became a real problem. Caught during this pass. Q: Why redo the docs entirely instead of patching them again? A: Because incremental doc patches across several devlogs had drifted apart from each other and from the app. A full rework got everything back in sync at once. Q: Is this the same CDN that serves changelogs now (devlog #5)? A: Same one. This time the release binary itself was the thing missing, not just content. Q: Anything else quietly broken that hasn’t surfaced yet? A: Unknown by definition. That’s what the next devlog is for. —This is the end*— *end for now, CDN pushes permitting POPPY!!!
Spectralis devlog #12 —Hello again proggers— Website’s getting a real pass. Not new copy this time, actual visual identity work, because it currently reads like every AI startup landing page that ever came out of the middle of California, and Spectralis is not that. gradient blob, bold sans headline, “revolutionize your workflow” — no Cat or dog? theme.css Okay let’s get into it~ —Yap— Not released yet, deliberately. This one’s still in progress, but close enough that it’s worth logging before it’s done instead of only after. The goal’s simple to say and annoying to actually do: stop looking generic. —The Great Suffering— 1 — The AI-Startup Look Had To Go Somewhere along the way the site had drifted into the exact aesthetic every seed-stage AI company in the Bay Area ships with — same fonts, same soft gradients, same layout rhythm everyone’s using because everyone else is using it. None of that says anything about what Spectralis actually is. 2 — Actual Visual Identity Work Working through what the site should look like instead of what’s easy to reach for by default. This is the slow part — not writing more copy, actually deciding what the thing looks like and why, instead of inheriting a template’s opinions by accident. 3 — Not Done, Getting Close Deliberately not shipping this mid-rework. Better to land it as one coherent pass than dribble out half-finished visual changes and confuse anyone who lands on the page in between. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one trying to make a music app’s website stop looking like a fundraising deck. Q: What specifically screamed “AI startup”? A: The general vibe more than any one element — the kind of design every YC-adjacent landing page converges on when nobody makes an active choice. Q: Why not ship incrementally instead of waiting? A: A visual identity rework half-applied looks worse than the thing it’s replacing. Waiting for it to be coherent. Q: How close is close? A: Close. Not “next devlog” close necessarily, but visibly closer than devlog #11 left it. Q: Does this touch the changelog-from-backend system from devlog #5? A: No, that infrastructure stays as-is. This is purely visual. —This is the end*— *end for now, gradient blobs permitting POGO!!!
Spectralis devlog #13 —Hello again proggers— Still on the website. Turns out the “make it not look like AI made it” problem does not have an easy exit — everything ends up looking like AI made it no matter what gets tried. Also had to ask Claude how to center a div. Yes, that div. The one every developer has fought since the dawn of CSS. the irony of asking an AI how to make something look less AI-made is not lost on me Cat or dog? display: flex Okay let’s get into it~ —Yap— Round two on the visual rework from last devlog, and the honest update is: it’s harder than expected. Every direction tried still lands somewhere in “generic modern web design,” which might just be what modern web design looks like right now regardless of who’s making it. —The Great Suffering— 1 — Everything Still Looks Like AI Made It Tried multiple directions this round trying to get away from the generic look. Kept landing back in the same neighborhood anyway. Starting to suspect this isn’t a “try harder” problem, it’s just what the current design language space looks like from basically every angle right now. 2 — Had To Ask Claude How To Center A Div The oldest joke in frontend development, still funny because it’s still true. Got stuck on it anyway. Some things never stop being annoying regardless of how many years of CSS have gone by. flexbox has existed for a decade and this is still where we are 3 — Pulled Up W3Schools For The First Time In Forever Dug up an old W3Schools reference mid-debugging, and it is dusty as hell at this point but the information’s still correct. Sometimes the ancient reference site is exactly what’s needed, aesthetics of the source be damned. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one who asked an AI to help make something look less like an AI made it. Q: Did the AI-startup look actually get fixed this round? A: Not fully. Still fighting it. That’s most of this devlog. Q: Why does everything converge on the same generic look? A: Best guess: current tools and current design trends both nudge toward the same handful of patterns, so escaping it takes more than just trying different colors. Q: Is W3Schools still reliable? A: Apparently yes. Dated presentation, correct information. Q: When’s the website actually done? A: Closer than devlog #12, not there yet. Ask devlog #14. —This is the end*— *end for now, centered divs permitting PEPPLE!!!
Spectralis devlog #14 —Hello again proggers— Site’s done. Actually done. Got it to a place I actually liked instead of just a place I was tired of looking at, and shipped it. Three devlogs of fighting the generic-AI-look problem and it finally landed somewhere that feels like Spectralis instead of every other landing page on the internet. took long enough Cat or dog? git push origin main Okay let’s get into it~ —Yap— After devlog #12 and #13’s whole ordeal of everything converging on the same generic design no matter what got tried, something finally clicked and stuck. Shipped it. Two honest confessions on the way out the door, might as well log them here instead of pretending otherwise. —The Great Suffering— 1 — It’s Live The full rework from the last two devlogs is done and pushed. Went from “everything looks like AI made it” to something that actually feels intentional. Whatever finally broke the streak, it worked. 2 — The Help & Manuals Tab Is A Placebo Button Full transparency: the Help & Manuals tab on the site exists, looks real, sits right where you’d expect it, and does essentially nothing right now. It’s there because a site without one looks incomplete, not because there’s real content behind it yet. Consider it a placeholder wearing a real button’s clothes. it’s not lying, it’s aspirational 3 — I Copied FL Studio’s Homepage. Hard. Not going to pretend otherwise: leaned on FL Studio’s site pretty heavily for structure and layout ideas here. And honestly, that’s just how this works — programming, design, all of it is borrowing from people who borrowed from the people before them. Nobody’s inventing layout from first principles in 2026. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one who finally shipped a website after three devlogs of fighting it. Q: Is Help & Manuals actually going to do anything eventually? A: Presumably, someday. Right now it’s a promise the button is making on behalf of a future devlog. Q: Isn’t copying FL Studio’s homepage kind of a big deal? A: Structure and layout inspiration, not a straight copy-paste. And realistically, every site borrows from something — this one’s just being honest about the source. Q: Did the “everything looks like AI” problem from devlog #13 actually get solved? A: Yes, finally. Whatever changed between then and now worked. Q: What’s next now that the site’s shipped? A: I finally get to ship my project without worrying about AI looking websites —This is the end*— *end for now, placebo buttons permitting PLACEBO!!!
Spectralis devlog #15 —Hello again proggers— I lied. Posted devlog #14 saying the site was done and shipped, and the deploy pipeline crashed basically the second it went out. So that’s fun. On the bright side, v5.4.2 also went out this round, and it’s actually solid. “it’s done” is apparently my curse word Cat or dog? dequeue() Okay let’s get into it~ —Yap— Website pipeline ate itself right after devlog #14 posted, which is its own kind of poetic. Meanwhile the app side had a genuinely good run — six real fixes landed, one of them embarrassing enough to name directly. —The Great Suffering— 1 — The Website Pipeline Crashed Right After I Said It Shipped Devlog #14 said done. Pipeline said otherwise, immediately. Working on getting it back up, this is very much a “developing situation” and not a “resolved” one yet. 2 — Listener Requests Auto-Queue Now Requests from listeners now auto-queue instead of needing a manual step to actually land in the queue. 3 — Audio Literally Never Played, Whoops Exactly what it says. Somewhere in there, audio just wasn’t playing. Found and fixed, extremely glad this one got caught. a music player where the music doesn’t play is a bold minimalist statement 4 — Found It: Join Links Were Missing A Slash Root cause of a chunk of shared-play join weirdness — the links were missing a slash. One character. Fixed, join links actually resolve correctly now. 5 — Host Room Button Actually Tells You Something Now The host room button used to just sit there. Now it actually communicates state back to you instead of leaving you guessing whether anything happened. 6 — Host Room Was Dropping Every Tick Forever Host room had a bug where it was dropping on every single tick, indefinitely, rather than staying stable. Fixed so the room actually holds instead of degrading in real time. 7 — yt-dlp Was 5 Months Stale, Updated The bundled yt-dlp from devlog #10 hadn’t been touched in 5 months. Updated. Stale extraction tooling breaking silently is exactly the kind of thing that sneaks up on you. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one who called the website shipped and got immediately humbled by CI. Q: Is the website back up yet? A: Working on it. Genuinely not resolved as of this devlog. Q: How long was audio actually broken for? A: Not specified, but “literally never played” is about as bad as this category of bug gets. Fixed now. Q: Was the missing-slash bug related to the join link work from devlog #9? A: Yes, same feature area, this was the actual root cause of some of the lingering weirdness there. Q: Is 5.4.2 stable? A: As far as testing shows. Same disclaimer as always applies. —This is the end*— *end for now, deploy pipelines permitting PARABLE!!!
Spectralis devlog #16 —Hello again proggers— Short one. Found the website pipeline issue from devlog #15. Cat or dog? sudo —Yap— It wasn’t the code. It was permissions. The site was calling root but never actually had access to root, which is exactly why it worked fine locally and fell over the second it hit deployment. “It woRKS On My macHiNe” — the oldest curse in software, and I said it unironically. classic —This is the end*— *end for now, root access permitting PAPAYA!!!
Spectralis devlog #17 —Hello again proggers— 12 hours. All-nighter. Zero sleep. Feature isn’t in the app. Nothing shipped. This is the devlog where I explain what an entire night of work bought me, and the honest answer is “a very expensive lesson.” worth it? absolutely not. did i learn something? also debatable Cat or dog? catch (ApiDoesNotExistException) Okay let’s get into it~ —Yap— Got ambitious. Decided Spectralis should integrate with everything — Pandora, Amazon Music, a bunch of other big platforms on top of what already works. Turns out “everything” includes a lot of services that simply don’t offer a public API to integrate with in the first place, and finding that out was not the fast part of the night. —The Great Suffering— 1 — The APIs Just Don’t Exist Pandora, Amazon Music, and others: no public API to build against. Not “hard to find,” not “poorly documented,” just not there. Should’ve been step zero, ended up being the thing that derailed the entire night once discovered mid-build instead of before starting. 2 — So I Built Backdoors Instead Spent a huge chunk of the 12 hours reverse-engineering and building unofficial access paths instead, since the front door didn’t exist. This is the kind of work that eats hours and produces nothing you can point to until it’s fully working, if it ever gets there. 3 — Most Of Them Were Already Patched Implemented several of these backdoor approaches only to find out the platforms had already closed the exact gaps being exploited, sometimes before the implementation was even finished. Built things that were dead on arrival by the time they existed. patched before i even shipped it, incredible timing 4 — Asked Claude, Got A Hallucinated Answer, Followed It Anyway At the point of giving up, asked for a way to make it work anyway. Got a confident-sounding approach back that didn’t actually correspond to anything real, and followed it blindly instead of verifying it first, because by that point it was hour 10-something and verifying things sounded like more effort than it was. 5 — Ripped The Whole Feature Out End state: none of it works, none of it can work without real API access that doesn’t exist, so the entire feature attempt got stripped back out of the codebase. 12 hours, one commit’s worth of net progress, and that commit is the revert. —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 platforms without public APIs stay that way for a reason. Q: Is any of this coming back later? A: Not until there’s an actual, real, non-reverse-engineered way in. Not chasing patched backdoors again. Q: Should you have asked Claude earlier instead of at hour 10? A: Probably. Should also have double-checked what it said instead of following it blind at 4am. Two separate lessons from one night. Q: Was any of the 12 hours useful? A: Now know definitively which platforms are and aren’t worth attempting. That’s the only thing salvaged. Q: Sleep status? A: Catastrophic. Handling that before touching code again. —This is the end*— *end for now, actual sleep permitting Im gonna go pass out on the couch ADIOS!!!
Spectralis devlog #18 —Hello again proggers— First real demo capsule is live. Not a screenshot, not a “trust me it works” — an actual .spectralis file you can grab and open yourself, right after devlog #17’s night of nothing. Felt good to ship something that isn’t a revert for once. redemption arc, one demo file at a time Cat or dog? demo.spectralis Okay let’s get into it~ —Yap— Wanted the first public demo to actually show off what a capsule can do, not just be a proof of concept nobody can open. So it’s a full one: real track, real hand-timed lyrics, and a visualizer built specifically for it instead of a generic default. —The Great Suffering— 1 — The Demo’s Live demo.spectralis is up at cdn.deltavdevs.com now. First capsule anyone outside this devlog series can actually download and open. 2 — The Track And The Lyrics Built around Black Coast’s “TRNDSTTR” (Lucian Remix). Lyrics for it were timed and written into the capsule by hand — not pulled from some export, actually sat down and did the timing work myself. 3 — The Visualizer’s Custom, Not A Default Also built the visualizer specifically for this capsule instead of shipping the demo with a stock one. Wanted the first thing people see from Spectralis to actually demonstrate what the capsule format can do end to end — audio, synced lyrics, and a visual built to match, all in one file. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one downloading the first real capsule demo. Q: Where’s the demo? A: cdn.deltavdevs.com/spectralis/demo.spectralis — direct download, no wrapper page. Q: Did you write the lyrics yourself or pull them from somewhere? A: Wrote and timed them in by hand for this capsule specifically. Q: Is the visualizer reusable for other capsules? A: Built for this one specifically, but nothing stopping it from getting adapted or reused as a base for others later. Q: Is this what stories/capsules from devlog #7-#8 were building toward? A: Exactly that. This is the first one actually finished and out in the world instead of just being tested locally. —This is the end*— *end for now, capsule downloads permitting PARODY!!!
Spectralis devlog #19 —Hello again proggers— v6 LTS is on the horizon. Scheduled time with a friend who actually owns a Tim Cook machine, fingers crossed a Mac build comes out the other side of that session actually working. praying to the WWDC gods Cat or dog? arm64 Okay let’s get into it~ —Yap— First real LTS push. Different mindset than the last 18 devlogs of feature work and 3am bug hunts — LTS means stability first, and it also means finally taking a real swing at macOS instead of leaving it as a someday problem. —The Great Suffering— 1 — Prepping For v6 LTS Getting the groundwork in place for the first Long Term Support build. Less “ship the coolest thing,” more “ship the thing that won’t need constant babysitting after release.” 2 — Borrowing A Friend’s Mac Don’t own a Mac. Scheduled dedicated time with a friend’s actual Apple hardware to attempt a real build instead of guessing blind or fighting a CI-only setup with no way to actually test the output. 3 — The Honest Caveat: Mac Support Will Lag Straight talk: limited access to Mac hardware means Mac builds will very likely only get LTS releases going forward, and will land late relative to betas and regular updates on other platforms. Not ideal, but better to say it now than pretend otherwise. can’t test what you can’t touch —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one borrowing a friend’s Mac because Apple hardware access is not a given. Q: Will Mac users get every update? A: Realistically, no — LTS builds only for the foreseeable future, and later than other platforms. Access to hardware is the bottleneck, not desire to support it. Q: Why prioritize LTS over a beta cycle right now? A: Stability’s the actual goal for v6. Betas can come later once the LTS foundation’s solid. Q: Is the Mac build guaranteed to work this session? A: No promises. That’s what “fingers crossed” means. Q: What happens if the Mac session doesn’t go well? A: Try again next time hardware access lines up. Not giving up on it, just constrained by it. —This is the end*— *end for now, Tim Cook machines permitting PRINCIPLE!!!
Spectralis devlog #20 —Hello again proggers— Two zero. Milestone devlog, and it’s a good one: LTS is about to actually go out the door, Mac included, today. we made it, barely, on no sleep, as tradition demands Cat or dog? git revert HEAD 7 Okay let’s get into it —Yap— Spent the whole night doing QoL and QA on all the tiny bugs that had been getting pushed aside devlog after devlog. Turns out “small bugs” and “easy to fix” are not the same category, and the whole night proved it the hard way. —The Great Suffering— 1 — Hydra Bugs Every single one of the small deferred bugs got patched, and every single patch spawned about three new ones in its place. Fix one, watch three grow back. Felt less like debugging and more like fighting something with a regeneration mechanic. cut off one head, three more show up, name a more accurate bug report 2 — Tried Claude Code Out Of Exhaustion Got tired enough mid-hydra-fight to set up Claude Code and hand off some of the grind. It did not go well — ended up rearranging the repo and commit layout in ways that made the history a mess, not the bugs. 3 — Had To Undo Its Commits Rolled back what Claude Code did and went back to fixing things manually. Lesson for the night: handing off a messy, deep-in-it repo state to an agent mid-crisis is not the same as handing off a clean one. 4 — Actually Got All The Tiny Bugs Out After all of that, the hydra’s actually dead. Every deferred small bug from the last 19 devlogs finally cleared in one sitting, which is the whole reason today’s release is happening at all. 5 — Mac Release, Today Following up on devlog #19’s borrowed-Mac build attempt — releasing to Mac today alongside everything else. First real payoff from that session. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one who fought a hydra of bugs all night and won, barely. Q: Did Claude Code actually break anything functional, or just the repo layout? A: Just history and commit structure, nothing shipped broke because of it. Still a mess worth undoing. Q: Is this LTS build the one from devlog #19’s prep? A: Yes, same one. This was the final QA gauntlet before it goes out. Q: Is Mac really getting it today? A: That’s the plan, following through on the borrowed-Mac build session from last devlog. Q: 20 devlogs in, anything you’d do differently? A: Sleep more, probably. Not going to happen, but it’d be the right answer. —This is the end*— *end for now, hydra heads permitting PROPERTY!!!
Spectralis devlog #21 —Hello again proggers— Flagged for “AI website” again. By Shipwrights this time. Getting a little tired of this specific accusation, honestly — a commit log sitting right there would show actual work happening over actual time, but apparently that’s a few extra minutes nobody wants to spend. the receipts exist, nobody’s asking to see them Cat or dog? git log –oneline Okay let’s get into it~ —Yap— Third redesign of the site now. Not because the flag was right, but because if this keeps happening it’s worth just making the “looks AI-made” argument harder to make at all, regardless of whether it was ever a fair read in the first place. —The Great Suffering— 1 — Flagged Again Shipwrights flagged the site as AI-generated. Same accusation as the devlog #12-#14 saga, different flagger this time. Slightly more annoying with each repeat, since the actual work history’s right there for anyone willing to look. 2 — The Annoying Part It’s not that the site got flagged, it’s that the disproof is trivially available — commits, timestamps, iterative changes across three separate rebuilds — and checking that apparently isn’t part of the process. Frustrating, not devastating. 3 — Redesigned It A Third Time Rather than fight the flag directly, changed the site again. Third pass now, and it genuinely reads less like generic AI-slop territory than the last version did. Whether that satisfies the next flag or not, it’s a real improvement on its own merits. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one who’s redesigned this website three separate times partly to dodge a false flag. Q: What’s Shipwrights? A: The one doing the flagging this round. Q: Is the flag actually accurate? A: No — there’s a real commit history behind the site across devlogs #12 through #14 and now this one. The flag’s wrong, just annoying to keep disproving. Q: Does this redesign replace the one from devlog #14? A: Yes, third full pass on top of that one. Q: Any plan if it gets flagged a fourth time? A: Probably the same plan: keep the receipts, keep improving the site anyway, move on. —This is the end*— *end for now, false flags permitting PALPABLE!!!
Spectralis devlog #22 —Hello again proggers— Posting this before I pass out for real. And no, that wasn’t me faceplanting the keyboard, that was the cat walking across it. Very important distinction. the cat gets a commit credit for that one, honestly Cat or dog? cat, apparently, tonight specifically Okay let’s get into it~ —Yap— Back on the ever-growing pile of bugs and QoL from devlog #20’s hydra fight — turns out killing all the tiny bugs once doesn’t mean they stay dead forever, more just showed up in the meantime. Made real progress anyway. —The Great Suffering— 1 — A Few Spotify Bugs, Actually Squashed Chased down and fixed a handful of Spotify-side bugs this round. Not a full audit like earlier devlogs, just real ground covered on stuff that’s been sitting in the pile. 2 — Resizing QA Went through resizing behavior across the app and did a real QA pass on it — the kind of thing that’s easy to skip until someone resizes a window in a way you never tested and everything looks wrong. 3 — The Multi-Channel Stream Queue Idea Had the idea to implement multi-channel support for Streamer Queue. Started on it, and it’s genuinely probably too big to land fully before LTS ships — most likely going in as a stub for now rather than a finished feature, with the real implementation following after. “horrible idea” is doing some self-aware lifting there and I stand by it —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one who mistook a cat for their own exhaustion, and honestly it could’ve gone either way. Q: What’s a “stub” mean for multi-channel here? A: The scaffolding and interface exist, the real functional implementation doesn’t yet. Placeholder with intent, not a real feature. Q: Is this the same bug pile from devlog #20? A: Same pile, refilled since then. Small bugs apparently regenerate on their own schedule, not just when you’re actively fighting them. Q: Why is multi-channel “horrible” if you’re building it anyway? A: Because scope-wise it’s a lot more than it looks like on paper, and admitting that upfront beats pretending it’s simple. Q: Sleep status tonight? A: About to happen, actually, this time. Cat’s taking the credit either way. —This is the end*— *end for now, sleepy cats permitting PEOPLE!!!
Spectralis devlog #23 —Hello again proggers— Introducing the visualizer editor. Been sitting on this one for a while without announcing it, for a very specific reason: every single time it felt ready, the format changed again and “ready” moved further away. Think it’s actually real this time. announced it in my head about six times before this devlog Cat or dog? visualizer.format Okay let’s get into it~ —Yap— Grinding all night on this one, branch and v1 dropping tomorrow. No promises beyond that, just the plan and the fact that this has been quietly cooking for way longer than any single devlog has let on. —The Great Suffering— 1 — Why This Wasn’t Announced Sooner Kept hitting the point where the editor felt done, then rethinking the underlying format and starting that part over. Easier to just not announce something that keeps changing shape than to keep walking back a “it’s ready” claim in public. 2 — v1 And The Branch, Tomorrow Committing to it now — v1 and the branch land tomorrow. Whole night’s going toward getting there, which given the last 22 devlogs of this project is either a great sign or a very familiar warning sign. history suggests: could go either way 3 — What The Visualizer Editor Actually Is A real editor for building visualizers instead of the visualizer side of the app staying built-in-only. Ties back to everything from the capsule/worlds work in devlogs #7 and #8 and the custom visualizer built for the demo capsule in devlog #18 — this is the tool version of doing that by hand. 4 — Hackatime Also Just Died (Or My PC Did) On top of everything else, Hackatime seems to be down, or my PC’s cooked, unclear which yet. Either way tracked hours for tonight are now undefined. Yipee. unlogged hours are the best kind of hours, said nobody’s time tracker ever —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one about to pull yet another all-nighter for a feature reveal. Q: Why did the format keep changing? A: Each pass revealed a new limitation once actually used for real, and fixing that meant reworking the format again rather than shipping something known to be wrong. Q: Is this related to the demo capsule visualizer from devlog #18? A: Same territory. That one was hand-built. This is the editor meant to make building one not require doing it by hand. Q: What’s “v1” mean here specifically? A: First real usable version, branch-only for now, not a full public release yet. Q: Any risk this slips again? A: Always possible given the track record, but committing to tomorrow specifically this time. —This is the end*— *end for now, format stability permitting PEPLE!!!
Spectralis devlog #24 —Hello again proggers— Rewrote the README a third time. Not because it was wrong, because proper prose and actual formatting apparently reads as “completely AI” to whoever’s judging it, and I’m too burnt out to keep arguing that point. So it just got redone instead. can’t fight the vibes, can only rewrite around them Cat or dog? README.md Okay let’s get into it~ —Yap— Small win buried in the exhaustion: website’s on version 4 now and it didn’t get flagged this time. First one that made it through clean since devlog #21 started this whole saga. Progress, even if the README’s now on its third rewrite for reasons that have nothing to do with whether it’s actually good. —The Great Suffering— 1 — README Rewrite #3 Same content, restructured again, because well-formatted prose keeps getting read as an AI tell regardless of who wrote it or how. Not going to keep relitigating this one, just redid it and moved on. 2 — Website v4 Survived The actual good news. Fourth pass on the site, first one that didn’t get flagged. Whatever combination of changes from devlog #21 onward finally landed right. 3 — Hoping The App Gets Checked Next If the docs and the website keep clearing review, maybe eventually the actual app gets looked at instead of just the surface-level stuff around it. That’s the real hope here — less time defending prose formatting, more time on the thing that actually matters. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one whose actual writing keeps getting mistaken for a machine’s. Q: Why does formatted prose get flagged as AI? A: Genuinely unclear, and at this point not worth the energy to keep contesting. Rewriting around it was faster than arguing it. Q: Is this the fourth full website redesign? A: Yes — devlog #14, then #21’s rework, and now this pass, landing clean. Q: Has the app itself ever been flagged? A: Not yet, and that’s sort of the point of this devlog — hoping it stays that way, or at least gets a fair look if it comes up. Q: How’s the burnout? A: Present. Noted. Continuing anyway. —This is the end*— *end for now, formatting opinions permitting PEEL!!!
Spectralis devlog #25 —Hello again proggers— Short one, I’m about to pass out for real this time. Ground away at the visualizer toolkit for a long stretch and it’s still nowhere near done. another one for the “not as close as I thought” pile Cat or dog? too tired to pick one honestly Okay quick version~ —Yap— Same visualizer editor territory from devlog #23, except the format not-changing this time didn’t mean the finish line got any closer. Long grind, real progress somewhere in there probably, just not a done toolkit at the end of it. —The Great Suffering— 1 — The Toolkit Isn’t Close Put in a long stretch on it and it’s genuinely still far from finished. Not a small gap either, just more scope than one exhausted session could close. 2 — I’m Cooked That’s the whole update. No dramatic bug story tonight, just hours in and not enough left to keep going. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one who should probably close the laptop now. Q: Is this the same visualizer editor from devlog #23? A: Same one. Still cooking, longer than expected. Q: Any specific blockers? A: Too tired to write them up properly tonight. Next devlog, probably, once there’s actual sleep behind it. Q: When’s it landing? A: Unknown. Not this session. —This is the end*— *end for now, actually sleeping this time POOL!!!
Spectralis devlog #26 —Hello again proggers— Still grinding the visualizer toolkit from devlog #25. Fueled up properly this time — favorite tunes on, Coke Zero and a Monster Ultra on deck, going the entire night. Also, small detour: past me apparently gave in and used Electron at some point, so present me now has to relearn it from scratch. past me makes decisions present me has to live with, name a more accurate description of software Cat or dog? require(‘electron’) Okay let’s get into it~ —Yap— Two threads tonight: the toolkit grind continuing from last devlog, and a genuinely surprising discovery on the Mac build front that’s going to need its own hotfix branch. —The Great Suffering— 1 — Relearning Electron Past-me committed to Electron somewhere along the way and current-me forgot most of it. Spending part of tonight just getting back up to speed on something that used to be second nature. Annoying, but at least it’s a known quantity once it clicks back in. 2 — The Toolkit, Still Grinding Same visualizer toolkit as devlog #25. Not done yet, but the night’s young and there’s caffeine involved. Hoping to actually close real ground on it before LTS needs to be ready. 3 — Mac Build Actually Compiles Now Following up on devlog #19’s borrowed-Mac session — got it to build and compile this time. Real progress on a front that’s been genuinely hardware-constrained the whole way. 4 — Turns Out Mac Isn’t Windows Or Linux (Shocking, I Know) Here’s the surprising part: a lot of the build scripts turned out to be Windows/Linux-centric, and Mac is, in fact, neither of those operating systems. Somehow this wasn’t obvious until actually staring at a failing script on real Mac hardware. three major desktop OSes and somehow I only accounted for two of them 5 — Hotfix Branch Incoming Need to spin up a hotfix specifically for the platform-assumption problem in the scripts, and hoping it merges back clean without conflicts. Given tonight’s track record so far, cautiously optimistic. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one who forgot their own framework choice from past-self. Q: Why Electron in the first place? A: Decision from before this devlog series apparently, reasons unclear at this hour, dealing with the consequences now regardless. Q: Is the Mac hotfix urgent? A: Ties directly into whether LTS with Mac support actually holds together, so yes, fairly urgent. Q: Was assuming Windows/Linux-only scripts really a mistake nobody caught until now? A: Apparently so. Borrowed-Mac hardware access from devlog #19 finally exposed it. Q: Toolkit status vs. hotfix status tonight — which wins? A: Whichever gets further before the caffeine runs out. Probably both get some progress. —This is the end*— *end for now, merge conflicts permitting PROPER!!!
Spectralis devlog #27 —Hello again proggers— Still going. Decided mid-grind to switch off JSON-based saving entirely and move to a proper binary streamed format instead — faster save/load, way less CPU overhead. Which sounds like a clean upgrade until you realize it means reading books on binary format design that were probably written before I was. my caffeine and my reading list have diverged wildly tonight Cat or dog? BinaryWriter Okay let’s get into it~ —Yap— The pivot away from JSON wasn’t planned going into tonight, it just became obviously worth it partway through the toolkit grind. Now stuck in the part of the process nobody enjoys: documentation, theory, and CS ideation before any of the actual implementation gets to happen. —The Great Suffering— 1 — JSON’s Getting Replaced Moving off JSON-based saving to a binary streamed format. The reasoning’s simple — faster save/load, meaningfully less CPU usage — but simple reasoning doesn’t mean simple implementation. 2 — Reading Books Older Than Me Digging into binary streaming format theory means reading material that predates this whole project by a wide margin, some of it by a lot more than that. Foundational stuff, just not exactly light reading at this hour. 3 — Documentation And Theory Hell Currently deep in the least glamorous part of any format redesign: reading documentation, working through theory, and CS ideation before writing a single line that actually does anything. Necessary, still miserable at 2am. the implementation is the fun part and it’s still hours away 4 — Sun Came Up, Had A Sandwich, Kept Going Watched the sunrise somewhere in the middle of the theory reading. Had an egg and bacon sandwich for breakfast, genuinely delicious, best part of the night so far. No sleep planned until tonight — just powering through on breakfast fuel instead. breakfast during an all-nighter hits different —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one reading format-design theory older than their own project at 2am. Q: Why move off JSON now, mid-grind? A: Became clear it was the right call while working on the visualizer toolkit — better performance characteristics were worth the detour. Q: Is this related to the toolkit from devlog #25/#26? A: Same overall session, this is a scope addition that came up while working on it. Q: When does actual implementation start? A: Once the theory and documentation phase actually resolves. Not there yet. Q: Is tonight ever going to end? A: Not until tonight, apparently — sun’s already up and there’s no sleep planned before then. —This is the end*— *end for now, binary formats permitting PAM!!!
Spectralis devlog #28 —Hello again proggers— LTS 6 is out. Genuinely out, not “shipped to nowhere” out like devlog #11. Sleep deprivation’s fully caught up though — first chance I get, I’m passing out on the couch with the cat and that’s non-negotiable at this point. the cat’s getting a co-author credit at this rate Cat or dog? couch, specifically, with the cat, immediately Okay let’s get into it~ —Yap— Long stretch from devlog #26 through here finally paid off. LTS 6 pushed, and the major macOS decoding problems from the borrowed-Mac build sessions actually got fixed. Real progress, real exhaustion, both at once. —The Great Suffering— 1 — LTS 6 Is Out Following the hydra-bug fight in devlog #20, the Electron relearn and Mac hotfix in #26, and the binary format detour in #27 — it’s actually pushed now. Linux and Windows builds are the ones going out first. 2 — Major macOS Decoding Problems, Fixed Following up on the platform-assumption bug from devlog #26, where Windows/Linux-centric scripts choked on Mac being neither — dug into the actual decoding issues on macOS and got the major ones resolved this round. 3 — Mac Release Is Coming, Just Not Today No Mac hardware access again until Monday, so the macOS build follows a bit after Linux/Windows instead of dropping same-day. Same access constraint from devlog #19, still the bottleneck, still the plan. 4 — Sleep Is Winning Officially out of gas. Couch, cat, first available window. This devlog is basically the victory lap before collapsing. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one about to lose consciousness on a couch next to a cat, mission accomplished. Q: Is LTS 6 out for everyone right now? A: Linux and Windows, yes. macOS is coming shortly after once Mac access is available again Monday. Q: Were the macOS decoding problems from the script issue in devlog #26? A: Related territory, yes — once the platform-assumption bug got flagged, the deeper decoding issues underneath it got found and fixed too. Q: Any concerns going into the Mac release specifically? A: Nothing unresolved as of this devlog, but access is still limited to occasional sessions, so timing’s dependent on that. Q: What’s next after this? A: Sleep. Genuinely, actually sleep, before anything else touches this project. —This is the end*— *end for now, couch naps permitting thud Zzzzzz!!!
Spectralis devlog #29 —Hello again proggers— The studio’s finally looking like a real UI tool instead of a collection of windows held together by vibes. Two design references pulled this round: Godot for world editing, and Adobe After Effects for capsules. stealing good ideas from great tools is called “design research,” look it up Cat or dog? Ctrl+Shift+F Okay let’s get into it~ —Yap— Studio’s been the least polished part of the whole app for a while, mostly functional, rarely pretty. This round actually leaned into real interface design instead of just adding buttons where they fit, borrowing structure from two tools that already solved similar problems well. —The Great Suffering— 1 — Godot-Inspired World Editing World editing took cues from Godot’s editor layout — the way it structures a scene tree, viewport, and inspector panel together as one coherent workspace instead of scattered windows. Applying that same structural thinking to world editing here, since worlds are conceptually similar: a tree of pieces you’re arranging in space. 2 — After Effects-Inspired Capsules Capsule editing leaned on After Effects instead, specifically the layer/timeline/composition mental model. Capsules are time-based and layered by nature — a story surface, a visualizer, audio all stacked together — so a timeline-and-layers metaphor fits better than a flat property list ever did. 3 — The Studio Finally Feels Like A Tool Combined, these two reference points are what’s pushing the studio from “internal dev utility” toward something that actually feels designed for someone to sit down and use, not just something built incrementally to unblock whatever feature needed it that week. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one borrowing UI patterns from two very different but very good tools. Q: Is this a full rewrite of the studio UI? A: More a restructuring around better mental models than a ground-up rebuild, but it touches a lot of surface area. Q: Why Godot for world editing specifically? A: Scene/viewport/inspector is a well-worn pattern for spatial editing, and worlds are fundamentally a spatial arrangement problem. Q: Why After Effects for capsules? A: Capsules stack time-based layers — story, visualizer, audio — which maps naturally onto a timeline/layers workflow instead of flat settings. Q: Does this connect to the visualizer toolkit grind from devlogs #25-#27? A: Same broader authoring-tools push, yes, this is the UI side catching up to that work. —This is the end*— *end for now, layer panels permitting POP!!!
Spectralis devlog #30 —Hello again proggers— Following up on the studio redesign from last devlog — actually building inside that new layer system now. Lyric importer, a bezier tool that fought back the whole way, and capsules jumped to full HD. 30 devlogs in and the bezier tool still almost won Cat or dog? bezier.controlPoint Okay let’s get into it~ —Yap— Layers from devlog #29’s redesign got real functionality built on top of them this round, plus a genuinely useful new import path and a resolution bump that should’ve probably happened earlier. —The Great Suffering— 1 — Layer Fixes Cleaned up a handful of issues in the new After Effects-style layer system from last devlog — the kind of rough edges that only show up once you’re actually building real content in it instead of just looking at the layout. 2 — Lyric Importer: Auto Vector Layers + Keyframing New importer that takes lyric timing and automatically generates vector layers, keyframed to match. Turns what used to be manual layer-by-layer, keyframe-by-keyframe setup into an actual import step. Big time save for anything lyric-driven, including future capsules like the demo from devlog #18. 3 — A Few More Bugs, Squashed Small round of additional fixes alongside the bigger items, nothing individually dramatic. 4 — Capsule Resolution: Bumped To Full HD Capsules render at full HD now instead of whatever lower resolution they were capped at before. Straightforward upgrade, noticeably better output. 5 — The Bezier Tool (Which Was Hell) Added a real bezier curve tool to the timeline/layer editing. Genuinely brutal to get right — curve math, control point handling, and making it feel intuitive to actually drag are three different hard problems stacked on top of each other. Worth it, but it fought back the whole way. bezier curves: simple in theory, a nightmare in an actual editor UI 6 — Timeline And Tool QoL Assorted quality-of-life improvements across the timeline and tools generally — the small friction-reduction stuff that adds up once you’re using the studio for real work instead of just testing it. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one who just fought a bezier tool and mostly won. Q: Does the lyric importer work with the demo capsule from devlog #18? A: That one was hand-timed and hand-built before this importer existed — this tool’s for making the next ones faster. Q: Why was the bezier tool specifically so hard? A: Curve math, control point interaction, and UI feel all had to work together, and getting any one of them wrong makes the whole tool feel broken. Q: Is full HD the resolution ceiling now, or is higher coming later? A: Full HD is what shipped this round. No commitment yet on going higher. Q: Is the studio redesign from devlog #29 basically done now? A: Getting real functionality built on it, which is a good sign, but still ongoing. —This is the end*— *end for now, control points permitting PALPABLE!!!
Spectralis devlog #31 —Hello again proggers— More QoL, a real bug fixed in world editing, and a proper in-depth test run of the whole thing. Honest verdict after actually using it for real: still sucks, still hate it, but it’s at least somewhat usable now. Progress, technically. “somewhat usable” is a real milestone when you started from “actively bad” Cat or dog? node.isCorrupt Okay let’s get into it~ —Yap— World editing’s been the newer, rougher part of the studio since the Godot-inspired redesign in devlog #29. This round was about actually running it through its paces instead of just building on top of it, and that testing found a real problem. —The Great Suffering— 1 — More QoL Another pass of small quality-of-life improvements, continuing the trend from the last couple devlogs. Nothing individually huge, all of it adds up. 2 — The Bad Node Bug Found and fixed a genuinely bad node bug in the world section during testing. The kind of bug that only shows up once you’re actually building real worlds instead of poking at an empty editor. 3 — The In-Depth Test Run Took world editing for a real, thorough run this time instead of a quick sanity check. Built something with actual substance in it and used the tool the way it’s meant to be used. 4 — The Honest Verdict Still sucks. Still hate using it. But after this round of fixes and QoL, it’s crossed into “somewhat usable” territory, which is more than could be said before this session. low bar, cleared, moving on —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one who just admitted their own tool still sucks and shipped it anyway. Q: Is world editing done now? A: No, “somewhat usable” is the current state, not “finished.” More work ahead. Q: How bad was the node bug? A: Bad enough to matter, found through actual real-world testing rather than a quick check. Q: Is this related to the layer work from devlog #30? A: Different area — that was capsules/timeline, this is world editing specifically. Q: What’s the plan to make world editing not suck? A: Keep testing it for real, keep fixing what that testing turns up. This devlog’s the start of that loop, not the end. —This is the end*— *end for now, corrupted nodes permitting PAPLE!!!
Spectralis devlog #32 —Hello again proggers— Mac’s out. Actually out, actually available, actually done. Took way longer than expected — the site needed updating and every single update script needed fixing before this could actually go out the door clean. “we got mac out” undersells how much site and script work that actually took Cat or dog? .pkg Okay let’s get into it~ —Yap— Closing the loop that started way back in devlog #19 with a borrowed Mac and a hopeful “fingers crossed,” went through the decoding fixes in devlog #28, the platform-assumption hotfix in devlog #26, and now it’s actually shipped. Quick policy reminder while we’re here, since it matters going forward. —The Great Suffering— 1 — The Site Needed Updating First Before Mac could actually go out, the site itself needed real updates to reflect it — new download option, new platform messaging, none of which existed yet. Took a real chunk of the time this release ate. 2 — Every Update Script Needed Fixing Following up on the Windows/Linux-centric script assumptions caught back in devlog #26 — turns out that wasn’t a one-off fix, it touched update scripts broadly. Had to go through and fix them properly for Mac to actually be able to update itself going forward, not just install once. 3 — Mac Is Actually Out After all of that: it’s live. Full journey from borrowed hardware sessions to an actual public release. 4 — Reminder: Mac Only Gets LTS Quick policy note, stated plainly since it matters: Mac only receives LTS releases going forward, not minor updates, unless a minor is a Mac-specific patch. Same access-constraint reasoning from devlog #19 — this isn’t changing anytime soon, so setting the expectation clearly now. —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 “ship Mac” secretly meant “rebuild the update pipeline.” Q: Does Mac get every LTS release? A: Yes, every LTS. Just not the minors in between, unless that minor is Mac-specific. Q: Why not give Mac full parity now that it’s out? A: Hardware access is still the bottleneck — same reasoning as devlog #19, testing and building for Mac isn’t a routine, always-available thing yet. Q: What took so long between the decoding fixes in devlog #28 and now? A: Mostly the site and update script work described above — the actual build was closer to ready than the delivery pipeline around it was. Q: Is this the end of the Mac saga? A: The release side, yes. Ongoing maintenance is just going to follow the LTS-only cadence from here. —This is the end*— *end for now, update scripts permitting POP!!!
Spectralis devlog #33 —Hello again proggers— First real wave of feedback since Mac shipped in devlog #32, and it’s been genuinely good. Patching a handful of bugs people actually pointed out, plus one quick clarification for a specific rater who had a question. real users, real feedback, feels different from testing solo Cat or dog? feedback.md Okay let’s get into it~ —Yap— Shipping to actual people instead of just self-testing changes the kind of bugs that surface. Round of patches based directly on what came in, plus a couple of housekeeping notes. —The Great Suffering— 1 — Real Feedback, First Time At This Scale Genuinely solid feedback wave since the Mac release. Different flavor of bug reports than internal testing ever produces — actual usage patterns finding things a solo QA pass wouldn’t. 2 — Patching What Got Pointed Out Working through the specific bugs raised by that feedback. Direct fixes for direct reports, exactly the kind of loop that’s supposed to happen once something’s actually in people’s hands. 3 — Quick Note For A Specific Rater One rater asked about the track used in devlog #1 — it’s a custom remix of “Delete” by Ninjirachi. DM if you want the file. 4 — How To Reach Out For anyone hitting issues with the app: Slack works, or Discord at @deltav0rtex . Genuinely want the reports, keep them coming. 5 — A Surprise Is Coming Next Ship Got something tucked away for the next release that should land well. Not spoiling it here, staying quiet on purpose. Minor patch for this round’s QoL fixes drops within the next two days. teasing it and saying nothing else, that’s the whole bit —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one actually reading feedback instead of guessing what’s broken. Q: How do I report a bug? A: Slack, or Discord — @deltav0rtex . Q: What was that track in devlog #1? A: A custom remix of “Delete” by Ninjirachi. DM for the file if you want it. Q: Is the current bug list from this feedback wave big? A: Manageable, working through it directly rather than batching for a bigger release. Q: Any plans to formalize a feedback/bug channel later? A: Not stated yet, current setup is DMs and Slack for now. Q: What’s the surprise for next ship? A: Not saying. That’s the point of a surprise. Q: When’s the minor QoL patch dropping? A: Within the next two days. —This is the end*— *end for now, bug reports permitting PARABLE!!!
Spectralis devlog #34 —Hello again proggers— Still on the devlog commits grind. The surprise from devlog #33 is actually finished now, releasing alongside the next Stardance ship as soon as this current one clears. Meanwhile, spent this round scouring the app for small edge cases and UI stuff that’s been quietly overlooked. the surprise is done, the suspense is not Cat or dog? edge_case.md Okay let’s get into it~ —Yap— Two tracks this devlog: the surprise from last time is locked and ready, waiting on the current ship to clear before it goes out with Stardance. In the meantime, doing a proper sweep for the small stuff — edge cases and UI rough edges that don’t show up unless you’re specifically hunting for them. —The Great Suffering— 1 — The Surprise Is Finished Whatever it is, it’s done. Releasing with the next Stardance ship, not this current one — has to clear first. Still not saying what it is. still not telling you, patience 2 — Scouring For Edge Cases Going through the app specifically looking for edge cases that got missed during normal feature work — the inputs and states nobody thinks to test until something breaks in a very specific, very rare way. 3 — UI Stuff That Got Overlooked Alongside the edge cases, hunting down small UI issues that slipped through — spacing, alignment, states that don’t look quite right, the stuff that’s easy to miss when you’re heads-down building instead of using the app like a regular person would. —FAQ (no one asked these but they are here)— Q: What is a “progger”? A: A human programmer. You. The one hunting edge cases nobody else would think to try. Q: What’s the surprise? A: Patience, my dear child. Q: Why wait for the current ship to clear first? A: Cleaner to let one release settle before stacking the surprise onto the next one. Q: Any specific edge cases found yet? A: Sweep’s ongoing, nothing dramatic enough to call out individually yet. Q: Still not saying what the surprise is? A: Correct. Ask again next devlog. —This is the end*— *end for now, edge cases permitting PERISHABLE!!!
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!!!
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!!!
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!!!
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!!!
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!!!
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!!!
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!!!
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!!!
Spectralis devlog #43 —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!!!
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!!!
Ships:
Spectralis shiplarp — v5.3.0 —shipped it— Notepads. A spin wheel. Dead zones that aren’t OBS-only anymore. Playlists that don’t look like a log file. Spotify that actually behaves. That’s the version. —what’s in it— Notepad system: docked panel, tabs, pop-out window, saves to track tags Spin wheel: weighted entries, saved wheel lists, notepad-fed Dead zones now shift the app’s own layout, not just OBS overlays Spotify: playlist sync, queue, pause, and Discord presence all fixed Fixed: playlist rows missing RowBackground (looked like a terminal, my bad) Fixed: nav rebuilding the entire view every click Fixed: library load blocking window open on big libraries Fixed: spectrum bars snapping instead of moving (FFT overlap bumped to 75%) Fixed: soundcloud playhead, word-mode timestamp export, track-switch click/pop —that’s it— PICKLE!!!
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: Discord: @deltav0rtex Slack: deltavortex 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!!!...
|
1792878434.706125
|
1793742434.706125
|
|
58517
|
My very own WebOS by @yoru_ayan | Stardance
|
yoru_ayan
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-06T05:43:45Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a WEB based OS UI. It quite fun to make it, with some minor problems that I face like app that I want to use in this OS didn’t work because that popular platforms don’t allow ifram and which cause the whole problem for me but with the alternative I finally made over 14 working app in the OS where Kobayashi OS was the project which inspire me to build mine", "repo": "https://github.com/aniway89/Web-os-1", "demo": "https://web-os-1-rho.vercel.app/"}]...
|
[{"post_id": 62693, "ts": "202 [{"post_id": 62693, "ts": "2026-09-06T05:40:34Z", "hours": 0.3325, "text": "add few game and change the UI a little bit. Add new function for the windows to open inproper 16/8 ratio."}, {"post_id": 62410, "ts": "2026-09-05T19:07:15Z", "hours": 0.8769, "text": "Drinoed OS is a fun little desktop you can run right in your browser — made with just HTML, CSS, and JS. It’s got a real desktop with app icons, a dock, draggable windows, a launcher, and apps like Notepad, Calculator, Terminal, and Settings where you can change the wallpaper and brightness. You can even open sites like YouTube or Spotify inside it. Your stuff (notes, wallpaper, etc.) is saved automatically, so it’s all still there when you come back. No install, no login — just open it and it feels like a mini OS of your own."}, {"post_id": 62334, "ts": "2026-09-05T17:21:56Z", "hours": 5.2808, "text": "I try to follow the WEBOS Guide to build a web OS and with so much efforts I made it. There are lots of app which do not work but I will fix them soon."}]...
|
Title: My very own WebOS by @yoru_ayan | Stardance Title: My very own WebOS by @yoru_ayan | Stardance
Devlogs:
I try to follow the WEBOS Guide to build a web OS and with so much efforts I made it. There are lots of app which do not work but I will fix them soon.
Drinoed OS is a fun little desktop you can run right in your browser — made with just HTML, CSS, and JS. It’s got a real desktop with app icons, a dock, draggable windows, a launcher, and apps like Notepad, Calculator, Terminal, and Settings where you can change the wallpaper and brightness. You can even open sites like YouTube or Spotify inside it. Your stuff (notes, wallpaper, etc.) is saved automatically, so it’s all still there when you come back. No install, no login — just open it and it feels like a mini OS of your own.
add few game and change the UI a little bit. Add new function for the windows to open inproper 16/8 ratio.
Ships:
I made a WEB based OS UI. It quite fun to make it, with some minor problems that I face like app that I want to use in this OS didn’t work because that popular platforms don’t allow ifram and which cause the whole problem for me but with the alternative I finally made over 14 working app in the OS where Kobayashi OS was the project which inspire me to build mine...
|
1793087820.8893168
|
1793174220.8893168
|
|
49021
|
My own site by @Qlz | Stardance
|
Qlz
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-06T05:33:22Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a website which includes a self indroduction ,and i made this as a kickoff to start my journey making more cool projects", "repo": "https://github.com/aqvoz/first-website", "demo": "https://aqvoz.github.io/first-website/"}]...
|
[{"post_id": 60365, "ts": "202 [{"post_id": 60365, "ts": "2026-09-02T17:34:38Z", "hours": 2.2353, "text": "Set up my first site . Organized up my main HTML workspace connected to GitHub and Hackatime. I built a basic self indroduction website to start my Stardance journey. Excited to start building my new projects later on, feel free to check them out!."}]...
|
Title: My own site by @Qlz | Stardance
Devlogs:
S Title: My own site by @Qlz | Stardance
Devlogs:
Set up my first site . Organized up my main HTML workspace connected to GitHub and Hackatime. I built a basic self indroduction website to start my Stardance journey. Excited to start building my new projects later on, feel free to check them out!.
Ships:
I made a website which includes a self indroduction ,and i made this as a kickoff to start my journey making more cool projects...
|
1793087289.9481397
|
1793173689.9481397
|
|
29642
|
Easy matrix clock by @jackh23240 | Stardance
|
jackh23240
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-06T04:37:41Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a RGB Easy matrix clock, this clock can display beats/waves according to the clocks surroundings, and the noises, sounds, or music playing in the background. Of course, it still displays the time and has a alarm as a normal clock has. You can even adjust the brightness of the clock according to your own likes.", "repo": "https://github.com/jackh23240-dot/Easy-matrix-clock", "demo": ""}]...
|
[{"post_id": 62654, "ts": "202 [{"post_id": 62654, "ts": "2026-09-06T03:46:20Z", "hours": 0.3633, "text": "RGB pixbeat clock Day 1: project Initiation, finding and buying the materials Day 2: casing modeling, using solidworks to make the casing of the clock, organizing the materials Day 3: Structural Setup and Circuit Soldering, assembling the materials together, then testing the code and the clock after assemble Day 4: Project review, organizing open-source documentation materials"}]...
|
Title: Easy matrix clock by @jackh23240 | Stardanc Title: Easy matrix clock by @jackh23240 | Stardance
Devlogs:
RGB pixbeat clock Day 1: project Initiation, finding and buying the materials Day 2: casing modeling, using solidworks to make the casing of the clock, organizing the materials Day 3: Structural Setup and Circuit Soldering, assembling the materials together, then testing the code and the clock after assemble Day 4: Project review, organizing open-source documentation materials
Ships:
I made a RGB Easy matrix clock, this clock can display beats/waves according to the clocks surroundings, and the noises, sounds, or music playing in the background. Of course, it still displays the time and has a alarm as a normal clock has. You can even adjust the brightness of the clock according to your own likes....
|
1793137837.1797185
|
1793224237.1797185
|
|
52271
|
NetWatch by @Maxye4655 | Stardance
|
Maxye4655
|
2
|
3.0
|
39
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-06T03:46:02Z", "hours": 1.0, "multiplier": 6.62, "payout": 8, "blessing": "neutral", "text": "Ship #2, Since the last ship, I rewrote my readme, and repackaged the python file.", "repo": "https://github.com/Maxye4655/netwatch", "demo": "https://github.com/Maxye4655/netwatch/releases/tag/v1.0.1"}, {"ship_num": 2, "ts": "2026-08-22T01:41:04Z", "hours": 2.0, "multiplier": 14.82, "payout": 31, "blessing": "neutral", "text": "I have created NetWatch, a terminal-based Python utility that uses ARP scanning to discover active devices on a local network, identify their hostnames and hardware vendors, and export the results in either csv or json format.", "repo": "https://github.com/Maxye4655/netwatch", "demo": "https://github.com/Maxye4655/netwatch/releases/tag/v1.0.1"}]...
|
[{"post_id": 53565, "ts": "202 [{"post_id": 53565, "ts": "2026-08-24T05:02:23Z", "hours": 1.1597, "text": "Finalised the project"}, {"post_id": 52010, "ts": "2026-08-22T01:25:43Z", "hours": 0.7419, "text": "Devlog #2 - Made the TUI full screen, added data export in either Json or csv format and made it “Hacker green”"}, {"post_id": 51991, "ts": "2026-08-22T00:30:05Z", "hours": 1.3167, "text": "Devlog #1 - I’ve started building NetWatch, a Python network monitoring tool. So far I’ve implemented: Automatic local IP and subnet detection ARP-based device discovery using Scapy MAC address detection Hostname lookup MAC vendor identification My first successful scan discovered 11 devices on my network."}]...
|
Title: NetWatch by @Maxye4655 | Stardance
Devlogs Title: NetWatch by @Maxye4655 | Stardance
Devlogs:
Devlog #1 - I’ve started building NetWatch, a Python network monitoring tool. So far I’ve implemented: Automatic local IP and subnet detection ARP-based device discovery using Scapy MAC address detection Hostname lookup MAC vendor identification My first successful scan discovered 11 devices on my network.
Devlog #2 - Made the TUI full screen, added data export in either Json or csv format and made it “Hacker green”
Finalised the project
Ships:
I have created NetWatch, a terminal-based Python utility that uses ARP scanning to discover active devices on a local network, identify their hostnames and hardware vendors, and export the results in either csv or json format.
Ship #2, Since the last ship, I rewrote my readme, and repackaged the python file....
|
1793066040.568021
|
1793152440.568021
|
|
57289
|
Angle of Repose Digital Twin by @dillonyegudkin | Angle of Repose Digital Twin by @dillonyegudkin | Stardance...
|
dillonyegudkin
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-06T03:29:39Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Angle of Repose Digital Twin is complete. I built it from scratch for my angle-of-repose research project. It runs 18 true-3D physics trials across quartz-sand and glass-bead conditions, measures and saves every pile, and automatically turns the results into a research report with comparison graphs, validation checks, replayable trials, raw XYZ data, and reproducibility settings. Its diagnostic system checks whether results are trustworthy before accepting them. The complete workflow—from running the experiment to producing the research output—is available in the demo and source code.", "repo": "https://github.com/DillGrammer/angle-of-repose-digital-twin", "demo": "https://dillgrammer.github.io/angle-of-repose-digital-twin/"}]...
|
[{"post_id": 60793, "ts": "202 [{"post_id": 60793, "ts": "2026-09-03T11:57:45Z", "hours": 4.02, "text": "From a failed 2D pile to a 3D simulator that can reject its own results I started this because a friend had spent a full week at UCF helping run an angle-of-repose experiment. The physical work was much bigger than just pouring sand: the team needed a built apparatus, fabricated parts, repeated cleaning and resetting between trials, travel, and separate people handling the experiment and slope-analysis software. I wanted to know whether a digital twin could make that kind of research faster and easier to reproduce. My first version was a 2D particle solver. It could draw a convincing pile, but the pre-validation checks showed that the biggest remaining problem was the physics model itself—not the line used to measure the slope. Fixing the graph would only have hidden the real problem, so I restarted the core in true 3D with PyBullet. My notebook says the first material went from more than 12% error to under 5%, which felt huge. The other materials were not magically fixed: several quartz sizes were still too steep, and the glass-bead conditions revealed bad symmetry and input problems. I corrected the physical sizes, contact behavior, and measurement rules rather than entering the UCF answers and tuning until they matched. Then the most important moment happened. I wrote “A breakthrough has occurred” across the page because the pre-validator saw that a run was likely to create bad data and stopped the simulation before it could report an angle. That is now the main idea of the project: the simulator should not just output a number—it should explain whether that number passed its own reliability checks. The next bugs were more subtle. A few particles could roll away from the main pile and pull the measured slope downward, so I changed the analysis to isolate the supported pile body and compare two perpendicular views. The automatic experiment also trapped the user after it started, saved trials without a clear replay path, and showed technical cache/lock messages that made sense to the code but not to a new user. I redesigned the interface around one action: click Run Current Trial , let the complete trial measure and save itself, review the result or replay, then move to the next trial. Replays now have familiar previous, play, pause, restart, next, and timeline controls, plus one shared speed setting. The diagnostic status is written in normal language and the controls are centered instead of scattered around the screen. The final experiment contains 18 trials across unsieved quartz, three sieved quartz size ranges, and one- and two-cup glass-bead conditions. It stores the seeds, settings, raw XYZ positions, browser replays, CSV data, validation report, graphs, and final research report. Compared with the selected published benchmarks, the simulation was closer in four of six conditions and the UCF measurements were closer in two. The two-cup glass-bead case still has a large error, and I kept it because removing the worst result would defeat the purpose of the project. I spent about 15 hours on the complete process. Hackatime captures about 4 hours from the project-specific coding records; the rest includes research, long-running simulations, reviewing results, handwritten planning, and work outside the tracked editor. What I learned is that a believable visualization is not the same thing as a defensible experiment. The most valuable feature is not the 3D pile—it is the point where the program is willing to say, “This result is not ready to trust.”"}]...
|
Title: Angle of Repose Digital Twin by @dillonyegu Title: Angle of Repose Digital Twin by @dillonyegudkin | Stardance
Devlogs:
From a failed 2D pile to a 3D simulator that can reject its own results I started this because a friend had spent a full week at UCF helping run an angle-of-repose experiment. The physical work was much bigger than just pouring sand: the team needed a built apparatus, fabricated parts, repeated cleaning and resetting between trials, travel, and separate people handling the experiment and slope-analysis software. I wanted to know whether a digital twin could make that kind of research faster and easier to reproduce. My first version was a 2D particle solver. It could draw a convincing pile, but the pre-validation checks showed that the biggest remaining problem was the physics model itself—not the line used to measure the slope. Fixing the graph would only have hidden the real problem, so I restarted the core in true 3D with PyBullet. My notebook says the first material went from more than 12% error to under 5%, which felt huge. The other materials were not magically fixed: several quartz sizes were still too steep, and the glass-bead conditions revealed bad symmetry and input problems. I corrected the physical sizes, contact behavior, and measurement rules rather than entering the UCF answers and tuning until they matched. Then the most important moment happened. I wrote “A breakthrough has occurred” across the page because the pre-validator saw that a run was likely to create bad data and stopped the simulation before it could report an angle. That is now the main idea of the project: the simulator should not just output a number—it should explain whether that number passed its own reliability checks. The next bugs were more subtle. A few particles could roll away from the main pile and pull the measured slope downward, so I changed the analysis to isolate the supported pile body and compare two perpendicular views. The automatic experiment also trapped the user after it started, saved trials without a clear replay path, and showed technical cache/lock messages that made sense to the code but not to a new user. I redesigned the interface around one action: click Run Current Trial , let the complete trial measure and save itself, review the result or replay, then move to the next trial. Replays now have familiar previous, play, pause, restart, next, and timeline controls, plus one shared speed setting. The diagnostic status is written in normal language and the controls are centered instead of scattered around the screen. The final experiment contains 18 trials across unsieved quartz, three sieved quartz size ranges, and one- and two-cup glass-bead conditions. It stores the seeds, settings, raw XYZ positions, browser replays, CSV data, validation report, graphs, and final research report. Compared with the selected published benchmarks, the simulation was closer in four of six conditions and the UCF measurements were closer in two. The two-cup glass-bead case still has a large error, and I kept it because removing the worst result would defeat the purpose of the project. I spent about 15 hours on the complete process. Hackatime captures about 4 hours from the project-specific coding records; the rest includes research, long-running simulations, reviewing results, handwritten planning, and work outside the tracked editor. What I learned is that a believable visualization is not the same thing as a defensible experiment. The most valuable feature is not the 3D pile—it is the point where the program is willing to say, “This result is not ready to trust.”
Ships:
Angle of Repose Digital Twin is complete. I built it from scratch for my angle-of-repose research project. It runs 18 true-3D physics trials across quartz-sand and glass-bead conditions, measures and saves every pile, and automatically turns the results into a research report with comparison graphs, validation checks, replayable trials, raw XYZ data, and reproducibility settings. Its diagnostic system checks whether results are trustworthy before accepting them. The complete workflow—from running the experiment to producing the research output—is available in the demo and source code....
|
1793098449.4729867
|
1793184849.4729867
|
|
47952
|
Valorant Prime Vandal by @colgation | Stardance
|
colgation
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-06T03:02:35Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a Prime Vandal from Valorant in real life! It shoots foam darts, takes standard nerf magazines, and is easy to make. All the files and build instructions are available in the github source. It is made to be as accessible as possible, so even A1 mini printers can print it. It only takes up around ~500g of filament. All you need is a printer and Nerf Retaliator (easy to find anywhere, especially in second hand stores for less than 3 dollars). Go make your own one!", "repo": "https://github.com/194500-cpu/Prime-Vandal", "demo": ""}]...
|
[{"post_id": 61339, "ts": "202 [{"post_id": 61339, "ts": "2026-09-04T06:35:10Z", "hours": 1.0839, "text": "Today I painted the gold trims on my Prime Vandal. Once it dries, the rough model should be complete, after I add smoothing and finishing touches with an acrylic pen."}, {"post_id": 57065, "ts": "2026-08-29T04:45:31Z", "hours": 1.3, "text": "Spray painted the parts using gloss spray paint. Took me some time to set up, and will let dry. My Valorant Prime Vandal will be ready soon!"}, {"post_id": 50719, "ts": "2026-08-20T01:53:34Z", "hours": 0.6303, "text": "#4: Created the top of the prime vandal build. This one was a bit easier to make as all I needed to do was fill the bottom. Anyways, print underway!"}, {"post_id": 50664, "ts": "2026-08-19T22:54:31Z", "hours": 0.3, "text": "#3: Prime Vandal resemblance Finally managed to create both the muzzle and stock. I just made the priming bolt and its underway. I’m planning to paint it later on, as well as glue panels to the main body."}, {"post_id": 47361, "ts": "2026-08-15T08:05:23Z", "hours": 1.6167, "text": "Created the barrel! All that is left is making the shell to cover the main body. It took a long time to make it, since I had to remake the barrel to match nerf bullet sizes."}, {"post_id": 47250, "ts": "2026-08-15T01:39:15Z", "hours": 0.3, "text": "#2 Disassembled the nerf gun to fix internals and make it ready. Problem: I just finished 3dprinting and realised that the inside was filled in a lightning pattern (very weak)."}, {"post_id": 47210, "ts": "2026-08-14T23:40:42Z", "hours": 0.8553, "text": "Making a Prime Vandal Shell for Nerf retaliator! #1: Made the stock and sent it to print! As a side note, I am planning to share the .blend files as well so anyone can make it at home. the end product should fire nerf darts, have a swappable magazine and more! Follow this project to support me and keep up?"}]...
|
Title: Valorant Prime Vandal by @colgation | Stard Title: Valorant Prime Vandal by @colgation | Stardance
Devlogs:
Making a Prime Vandal Shell for Nerf retaliator! #1: Made the stock and sent it to print! As a side note, I am planning to share the .blend files as well so anyone can make it at home. the end product should fire nerf darts, have a swappable magazine and more! Follow this project to support me and keep up?
#2 Disassembled the nerf gun to fix internals and make it ready. Problem: I just finished 3dprinting and realised that the inside was filled in a lightning pattern (very weak).
Created the barrel! All that is left is making the shell to cover the main body. It took a long time to make it, since I had to remake the barrel to match nerf bullet sizes.
#3: Prime Vandal resemblance Finally managed to create both the muzzle and stock. I just made the priming bolt and its underway. I’m planning to paint it later on, as well as glue panels to the main body.
#4: Created the top of the prime vandal build. This one was a bit easier to make as all I needed to do was fill the bottom. Anyways, print underway!
Spray painted the parts using gloss spray paint. Took me some time to set up, and will let dry. My Valorant Prime Vandal will be ready soon!
Today I painted the gold trims on my Prime Vandal. Once it dries, the rough model should be complete, after I add smoothing and finishing touches with an acrylic pen.
Ships:
I made a Prime Vandal from Valorant in real life! It shoots foam darts, takes standard nerf magazines, and is easy to make. All the files and build instructions are available in the github source. It is made to be as accessible as possible, so even A1 mini printers can print it. It only takes up around ~500g of filament. All you need is a printer and Nerf Retaliator (easy to find anywhere, especially in second hand stores for less than 3 dollars). Go make your own one!...
|
1793145374.7327204
|
1793231774.7327204
|
|
55276
|
Notes-but it got features by @Freaked | Stardance
|
Freaked
|
2
|
17.1
|
49
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-06T02:59:56Z", "hours": 9.0, "multiplier": 5.39, "payout": 46, "blessing": "neutral", "text": "i made a notes website but flooded with feature so that people can use it for anything they want and this will be the most featured and i am proud i made it", "repo": "https://github.com/15freaker/Anims-notes", "demo": "https://15freaker.github.io/Anims-notes/"}, {"ship_num": 2, "ts": "2026-08-28T14:30:54Z", "hours": 3.0, "multiplier": 2.02, "payout": 3, "blessing": "neutral", "text": "i made a note taking website with many features there were lot of bugs but everything went okay", "repo": "https://github.com/15freaker/Anims-notes", "demo": "https://15freaker.github.io/Anims-notes/"}]...
|
[{"post_id": 63659, "ts": "202 [{"post_id": 63659, "ts": "2026-09-07T16:14:55Z", "hours": 0.4586, "text": "Devlog 10 of 2.0 : finally the theme work and fuctionality is also completed it went smootly i am happy havent seen any bugs TILL YET dont know of future nobody knows where and when bugs come so for now its done and i am happy lets see forward of adding more features (❁´◡`❁)"}, {"post_id": 63624, "ts": "2026-09-07T15:31:28Z", "hours": 1.4569, "text": "Devlog 9 of 2.0 : i have added Quick access and added its fuctionality so it will be easy for people and will be quick to access any files easily without digging into mountain of notes and to do list i am thinking of adding theme fuctionality rn i have only added its button havent added its fuction so now will do that"}, {"post_id": 63525, "ts": "2026-09-07T13:04:16Z", "hours": 1.3192, "text": "Devlog 8 of 2.0 : i have added Favorites section in my notes website where now we can seprate our notes into favorites section also i am working more in it to make it more better but all over i think this is working and i should i leave it and i will see if i see any bug in process of testing i will solve it"}, {"post_id": 63435, "ts": "2026-09-07T08:51:32Z", "hours": 1.8664, "text": "Devlog 7 of 2.0 : i have fixed bugs and the changes it need because it was having some issues in few fields like have to reload everytime we made any change or make any note and then because of note color the text wasnt clear but i fixed the bugs and changed what it need and also i will add more features in it because it needs a lot of thing to fixed and added 🔥🔥"}, {"post_id": 62623, "ts": "2026-09-06T02:52:20Z", "hours": 0.6539, "text": "Devlog 6 of 2.0 : i have fixed all the bugs and not notes website is working perfectly and also i have added more details in readme about all the features and now lets see what will happen i hope everything will go fine ✨✨"}, {"post_id": 62592, "ts": "2026-09-06T01:51:26Z", "hours": 2.44, "text": "Devlog 5 of 2.0 : i have added 2 more feature which are maybe little but i think they will be helpful in first i have completed to make a #tag type where people can easily tag their notes or to do list and then 2nd feature is i added json export option because json files can be easily accessed thats why i added it i hope so everything will go okay it was so much work left have to do 🥀🥀"}, {"post_id": 62508, "ts": "2026-09-05T22:14:50Z", "hours": 1.3294, "text": "Devlog 4 of 2.0 : i have added 3 main features first we can create folder and files inside the folder and then save our notes seprately the we can now attach files with our notes and also we can take notes by drawing also i have added these 3 features becasue normal notes app sont have these types of feature but mine one is different it is filled with features ✨✨"}, {"post_id": 62340, "ts": "2026-09-05T17:42:52Z", "hours": 1.6542, "text": "Devlog 3 of 2.0 : i have added filter option so it will be easy to organize notes and to do list seprately and they wont get mixed up in each other i was thinking of adding more filter option but i think only 3 filter options are enough for this website if in future i will add other thing i will surely add more filter option for more flexibility at last one new feature more added ✨✨"}, {"post_id": 62259, "ts": "2026-09-05T15:20:32Z", "hours": 0.6208, "text": "Devlog 2 of 2.0 : i want to ask y’all is this feature irritating because i added it only in locked notes so that people dont accidently delete their notes and also from my perspective extra layer of protection is better please comment your opinion ✨✨"}, {"post_id": 62233, "ts": "2026-09-05T14:33:37Z", "hours": 1.3114, "text": "Devlog 1 of 2.0 : i have fixed all the bugs and i am restarting this because the older one wasnt working fine and was having a lot of issues and bugs like not able to edit notes color notes not working and appearnce one not changing and all it was really frustrating and irritating so i am adding more features is this new version so at last lets see forward and will do better in 2.0 🔥🔥"}, {"post_id": 57534, "ts": "2026-08-29T18:20:57Z", "hours": 0.255, "text": "color up to do list new feature added"}, {"post_id": 57519, "ts": "2026-08-29T18:02:52Z", "hours": 0.295, "text": "finally added more details"}, {"post_id": 56642, "ts": "2026-08-28T14:14:40Z", "hours": 1.1864, "text": "completed first version of my note taking website"}, {"post_id": 56567, "ts": "2026-08-28T11:32:43Z", "hours": 0.2739, "text": "added dark theme to my note taking website"}, {"post_id": 56551, "ts": "2026-08-28T11:02:02Z", "hours": 0.575, "text": "made another update in notes making it real awesome"}, {"post_id": 56533, "ts": "2026-08-28T10:17:11Z", "hours": 0.5364, "text": "i am working on website to take notes"}]...
|
Title: Notes-but it got features by @Freaked | Sta Title: Notes-but it got features by @Freaked | Stardance
Devlogs:
i am working on website to take notes
made another update in notes making it real awesome
added dark theme to my note taking website
completed first version of my note taking website
finally added more details
color up to do list new feature added
Devlog 1 of 2.0 : i have fixed all the bugs and i am restarting this because the older one wasnt working fine and was having a lot of issues and bugs like not able to edit notes color notes not working and appearnce one not changing and all it was really frustrating and irritating so i am adding more features is this new version so at last lets see forward and will do better in 2.0 🔥🔥
Devlog 2 of 2.0 : i want to ask y’all is this feature irritating because i added it only in locked notes so that people dont accidently delete their notes and also from my perspective extra layer of protection is better please comment your opinion ✨✨
Devlog 3 of 2.0 : i have added filter option so it will be easy to organize notes and to do list seprately and they wont get mixed up in each other i was thinking of adding more filter option but i think only 3 filter options are enough for this website if in future i will add other thing i will surely add more filter option for more flexibility at last one new feature more added ✨✨
Devlog 4 of 2.0 : i have added 3 main features first we can create folder and files inside the folder and then save our notes seprately the we can now attach files with our notes and also we can take notes by drawing also i have added these 3 features becasue normal notes app sont have these types of feature but mine one is different it is filled with features ✨✨
Devlog 5 of 2.0 : i have added 2 more feature which are maybe little but i think they will be helpful in first i have completed to make a #tag type where people can easily tag their notes or to do list and then 2nd feature is i added json export option because json files can be easily accessed thats why i added it i hope so everything will go okay it was so much work left have to do 🥀🥀
Devlog 6 of 2.0 : i have fixed all the bugs and not notes website is working perfectly and also i have added more details in readme about all the features and now lets see what will happen i hope everything will go fine ✨✨
Devlog 7 of 2.0 : i have fixed bugs and the changes it need because it was having some issues in few fields like have to reload everytime we made any change or make any note and then because of note color the text wasnt clear but i fixed the bugs and changed what it need and also i will add more features in it because it needs a lot of thing to fixed and added 🔥🔥
Devlog 8 of 2.0 : i have added Favorites section in my notes website where now we can seprate our notes into favorites section also i am working more in it to make it more better but all over i think this is working and i should i leave it and i will see if i see any bug in process of testing i will solve it
Devlog 9 of 2.0 : i have added Quick access and added its fuctionality so it will be easy for people and will be quick to access any files easily without digging into mountain of notes and to do list i am thinking of adding theme fuctionality rn i have only added its button havent added its fuction so now will do that
Devlog 10 of 2.0 : finally the theme work and fuctionality is also completed it went smootly i am happy havent seen any bugs TILL YET dont know of future nobody knows where and when bugs come so for now its done and i am happy lets see forward of adding more features (❁´◡`❁)
Ships:
i made a note taking website with many features there were lot of bugs but everything went okay
i made a notes website but flooded with feature so that people can use it for anything they want and this will be the most featured and i am proud i made it...
|
1792878510.483138
|
1793742510.483138
|
|
13560
|
Biggy OS by @LoginlikeLogan | Stardance
|
LoginlikeLogan
|
3
|
66.97
|
330
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-06T02:50:14Z", "hours": 20.0, "multiplier": 8.97, "payout": 180, "blessing": "neutral", "text": "So guys, Ive updated the os with mutiple new apps like the weather, music, calculator, paint, browser, and minecraft apps! Test it out!", "repo": "https://github.com/Logdegret/Biggy-Cheese-OS/", "demo": "https://logdegret.github.io/Biggy-Cheese-OS"}, {"ship_num": 2, "ts": "2026-08-23T13:58:23Z", "hours": 14.0, "multiplier": 10.42, "payout": 150, "blessing": "neutral", "text": "I finally finished my webos and I am happy with what ive made! There was lots that i struggled with. Hopefully this can earn a super star!", "repo": "https://github.com/Logdegret/Biggy-Cheese-OS/", "demo": "https://logdegret.github.io/Biggy-Cheese-OS"}, {"ship_num": 3, "ts": "2026-07-30T07:28:58Z", "hours": 14.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a webos based on the biggy cheese meme. I found the video player extra hard. Hopefully it meets the requirements?", "repo": "https://github.com/Logdegret/Biggy-Cheese-OS/", "demo": "https://logdegret.github.io/Biggy-Cheese-OS"}]...
|
[{"post_id": 65124, "ts": "202 [{"post_id": 65124, "ts": "2026-09-10T01:25:38Z", "hours": 4.1136, "text": "Working Up to the Big Leagues… So ive made a new window called finder and It’s pretty basic so far. It was about 330 lines of js.. I will probably replace the standby/placeholder emojis with svgs so it doesn’t look out of theme!"}, {"post_id": 64469, "ts": "2026-09-08T21:47:57Z", "hours": 0.6869, "text": "A sad devlog… so I couldn’t fix it and I had to use a bit of AI to fully debug. it turns out, the calculator app was hijacking keystrokes and I had a single broken line of code in app.js. But now it works!"}, {"post_id": 64436, "ts": "2026-09-08T20:12:51Z", "hours": 14.1656, "text": "I have been working super hard and trying to fix bugs and heavily avoiding ai. But for some reason the website is breaking apart and no longer loading."}, {"post_id": 62618, "ts": "2026-09-06T02:46:53Z", "hours": 1.0931, "text": "Final Additions! Ive added a modified file of eaglercraft into the biggy os and it is now called Biggy OS"}, {"post_id": 61193, "ts": "2026-09-04T00:26:40Z", "hours": 8.1094, "text": "Ive added 3 new apps!! A working browser, calculator, and paint app!!! windows were not working properly so I had to make some ajustments and fix it. Took me some time.. haha"}, {"post_id": 59859, "ts": "2026-09-01T20:41:46Z", "hours": 9.2781, "text": "Tutorial has been added! Guys Guess what? Ive made a tutorial on how to get started on the os and i have made backgrounds gif possible. The tutorial kinda gave me a bit of trouble with bugs so i took lots of time debugging. Im also working on something big…."}, {"post_id": 59012, "ts": "2026-08-31T16:23:19Z", "hours": 1.5581, "text": "Guys I am BACK!! So far ive been tweaking a few things like the location bug, it was supposed to popup when you clicked download for the weather app. But I guess i didn’t catch that.. Anyways Here are some new backgrounds, they’re 4k!!"}, {"post_id": 53063, "ts": "2026-08-23T13:55:30Z", "hours": 1.5417, "text": "MY LAST DEVLOG!!! Hey guys, its been a great run! ive added a music app and a few customizable widgets but which can only be found by something you need to explore. Thank you guys so much for support!"}, {"post_id": 52333, "ts": "2026-08-22T13:19:21Z", "hours": 0.5256, "text": "Ive added a new app that you can download! i am currently thinking of stopping this project although it has been a blast making this project."}, {"post_id": 51796, "ts": "2026-08-21T17:09:52Z", "hours": 2.1492, "text": "LOT OF NEW BIG THINGS Ive added two new windows, notes and the store. nothing can be donwloaded yet but i am currently working on that. Ive added resizing!! follow allong and this shall be a super star project!"}, {"post_id": 50661, "ts": "2026-08-19T22:48:17Z", "hours": 0.3942, "text": "A fun cinematic opening!!! I’ve ai coded me a simple opening while i added the sound for it. I hate to say but i was a little lazy on this one since i don’t really know much on animation in websites."}, {"post_id": 50640, "ts": "2026-08-19T22:01:17Z", "hours": 2.5006, "text": "A super Annoying Terminal This Terminal is super annoying, spacing, css and divs are driving me crazy! Everytime i clicked on this terminal it used to break the screen… Not anymore! Finally the spacing and terminal is close to perfect. I will now be focusing on a cinematic loading screen."}, {"post_id": 48209, "ts": "2026-08-16T14:40:19Z", "hours": 2.4889, "text": "LOTS OF STUFF ive added a to do list with a check box so you can remind yourself what to do. Ive also added a terminal! its a work in progress but im getting there! i really want this to be a super star project so im putting in all my effort!"}, {"post_id": 46924, "ts": "2026-08-14T14:16:12Z", "hours": 0.3458, "text": "Ive tuned up the meme window to filter them and frame them"}, {"post_id": 45943, "ts": "2026-08-12T19:11:29Z", "hours": 2.4656, "text": "I added a lot so far, i added a meme tab and a to do tab. meme tab is done but not the todo."}, {"post_id": 41329, "ts": "2026-08-05T14:04:58Z", "hours": 0.4178, "text": "Ive finnaly fixed this stupid window that did not want to cooperate. I actaully suffered through this. Well, hope that some of you will like it. Also heres the progress so far: Im going to be changing meme generator to daily meme. I will be coding in python for it. Also If anyone wants to work with me to make a biggy cheeze type game, please feel free to reach out to me"}, {"post_id": 39719, "ts": "2026-08-02T21:11:11Z", "hours": 0.635, "text": "I drew a new icon for a daily meme. How do yall like it? also my game window is soooooo broken. it stretches so weird… I need someone to design a game for me since idk how to make game. Anyone?"}, {"post_id": 38749, "ts": "2026-08-01T09:37:58Z", "hours": 0.9711, "text": "added fullscreen and a game that is animal themed. NOT MY GAME"}, {"post_id": 37450, "ts": "2026-07-30T06:23:48Z", "hours": 1.0489, "text": "Made A new window / app for an about me! This is probably the final devlog until the first ship. Thank you guys so much for the support and hopefully i can get to the next OS mission.."}, {"post_id": 36272, "ts": "2026-07-28T08:23:05Z", "hours": 0.8856, "text": "I added another modular window that can change backgrounds"}, {"post_id": 34540, "ts": "2026-07-25T10:38:04Z", "hours": 0.8489, "text": "added apps!"}, {"post_id": 34517, "ts": "2026-07-25T09:34:34Z", "hours": 0.3906, "text": "I added a custom cheese cursor that I drew!"}, {"post_id": 34502, "ts": "2026-07-25T08:38:58Z", "hours": 2.3539, "text": "I scrapped the ugly background and added a physical clock with a rotating joke/statement. Also added a fun loading screen"}, {"post_id": 33948, "ts": "2026-07-24T09:02:04Z", "hours": 2.0789, "text": "Many Things Have Been Added! Ive added a rotating joke/statement that changes everytime you reload, a clock(that will be improved), and a clock widget/window that I want to be a permenant widget. Wish me luck! here are some pictures and the progress so far!"}, {"post_id": 31251, "ts": "2026-07-19T14:44:53Z", "hours": 3.2208, "text": "I have added a draggable window for the biggy cheeze moment with a custom player"}, {"post_id": 30562, "ts": "2026-07-18T07:29:12Z", "hours": 1.0281, "text": "We have went back to biggy cheeze Sorry for changing it! I am going to restart from scratch"}, {"post_id": 8723, "ts": "2026-06-14T14:20:53Z", "hours": 0.7217, "text": "I change my theme Lets Go Knicks"}, {"post_id": 7172, "ts": "2026-06-11T23:47:16Z", "hours": 1.2631, "text": "added stardance link, fixed image, and more text. Im struggling with this… lol"}, {"post_id": 5276, "ts": "2026-06-09T00:07:01Z", "hours": 0.5161, "text": "Started my own webos via guide(idk why image doesn’t work) help?? it works on index.html locally…"}]...
|
Title: Biggy OS by @LoginlikeLogan | Stardance
De Title: Biggy OS by @LoginlikeLogan | Stardance
Devlogs:
Started my own webos via guide(idk why image doesn’t work) help?? it works on index.html locally…
added stardance link, fixed image, and more text. Im struggling with this… lol
I change my theme Lets Go Knicks
We have went back to biggy cheeze Sorry for changing it! I am going to restart from scratch
I have added a draggable window for the biggy cheeze moment with a custom player
Many Things Have Been Added! Ive added a rotating joke/statement that changes everytime you reload, a clock(that will be improved), and a clock widget/window that I want to be a permenant widget. Wish me luck! here are some pictures and the progress so far!
I scrapped the ugly background and added a physical clock with a rotating joke/statement. Also added a fun loading screen
I added a custom cheese cursor that I drew!
added apps!
I added another modular window that can change backgrounds
Made A new window / app for an about me! This is probably the final devlog until the first ship. Thank you guys so much for the support and hopefully i can get to the next OS mission..
added fullscreen and a game that is animal themed. NOT MY GAME
I drew a new icon for a daily meme. How do yall like it? also my game window is soooooo broken. it stretches so weird… I need someone to design a game for me since idk how to make game. Anyone?
Ive finnaly fixed this stupid window that did not want to cooperate. I actaully suffered through this. Well, hope that some of you will like it. Also heres the progress so far: Im going to be changing meme generator to daily meme. I will be coding in python for it. Also If anyone wants to work with me to make a biggy cheeze type game, please feel free to reach out to me
I added a lot so far, i added a meme tab and a to do tab. meme tab is done but not the todo.
Ive tuned up the meme window to filter them and frame them
LOTS OF STUFF ive added a to do list with a check box so you can remind yourself what to do. Ive also added a terminal! its a work in progress but im getting there! i really want this to be a super star project so im putting in all my effort!
A super Annoying Terminal This Terminal is super annoying, spacing, css and divs are driving me crazy! Everytime i clicked on this terminal it used to break the screen… Not anymore! Finally the spacing and terminal is close to perfect. I will now be focusing on a cinematic loading screen.
A fun cinematic opening!!! I’ve ai coded me a simple opening while i added the sound for it. I hate to say but i was a little lazy on this one since i don’t really know much on animation in websites.
LOT OF NEW BIG THINGS Ive added two new windows, notes and the store. nothing can be donwloaded yet but i am currently working on that. Ive added resizing!! follow allong and this shall be a super star project!
Ive added a new app that you can download! i am currently thinking of stopping this project although it has been a blast making this project.
MY LAST DEVLOG!!! Hey guys, its been a great run! ive added a music app and a few customizable widgets but which can only be found by something you need to explore. Thank you guys so much for support!
Guys I am BACK!! So far ive been tweaking a few things like the location bug, it was supposed to popup when you clicked download for the weather app. But I guess i didn’t catch that.. Anyways Here are some new backgrounds, they’re 4k!!
Tutorial has been added! Guys Guess what? Ive made a tutorial on how to get started on the os and i have made backgrounds gif possible. The tutorial kinda gave me a bit of trouble with bugs so i took lots of time debugging. Im also working on something big….
Ive added 3 new apps!! A working browser, calculator, and paint app!!! windows were not working properly so I had to make some ajustments and fix it. Took me some time.. haha
Final Additions! Ive added a modified file of eaglercraft into the biggy os and it is now called Biggy OS
I have been working super hard and trying to fix bugs and heavily avoiding ai. But for some reason the website is breaking apart and no longer loading.
A sad devlog… so I couldn’t fix it and I had to use a bit of AI to fully debug. it turns out, the calculator app was hijacking keystrokes and I had a single broken line of code in app.js. But now it works!
Working Up to the Big Leagues… So ive made a new window called finder and It’s pretty basic so far. It was about 330 lines of js.. I will probably replace the standby/placeholder emojis with svgs so it doesn’t look out of theme!
Ships:
I made a webos based on the biggy cheese meme. I found the video player extra hard. Hopefully it meets the requirements?
I finally finished my webos and I am happy with what ive made! There was lots that i struggled with. Hopefully this can earn a super star!
So guys, Ive updated the os with mutiple new apps like the weather, music, calculator, paint, browser, and minecraft apps! Test it out!...
|
1792878595.6829658
|
1793742595.6829658
|
|
57961
|
Space Thing by @RobbieMa | Stardance
|
RobbieMa
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-06T01:37:57Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a scene in Unity with my very own 3D gas planet shader and post processing effects. It is mainly to use for my wallpaper, and makes my setup look nicer", "repo": "https://github.com/Hello-Grow/Wallpapers-Space", "demo": "https://github.com/Hello-Grow/Wallpapers-Space/releases"}]...
|
[{"post_id": 62550, "ts": "202 [{"post_id": 62550, "ts": "2026-09-06T00:18:07Z", "hours": 0.3667, "text": "3 New wallpapers added! It is now completely complete! (I have a lot of screens ok? hehe) and they look great even on their own!"}, {"post_id": 62509, "ts": "2026-09-05T22:15:35Z", "hours": 0.5, "text": "Made the 3 positioning. 1 left, middle, and of course, right. For the first one, I positioned the camera very close Like a close shot of the planet details and the ship. My idea was it should be a continuous image so fir my main display I have the edge of the planet shot. For the right, I faked it by disabling the planet and zooming the camera out then added a small sphere not too far from the camera, gave it a earth texture from NASA, making it feel like the earth is in the distance. And hey, this inst random either! my left display and my main monitor never moves, the right computer is my MacBook, I carry that computer around a lot, that computer isn’t always home. Therefore the wallpaper conveys the feeling of “far from home” :) Of course, I can also freely change the colors of the planet! Quite proud"}, {"post_id": 62490, "ts": "2026-09-05T21:29:31Z", "hours": 0.8667, "text": "I made a good looking planet with my very own gas planet shader! Positioned it to make it more cinematic and positioned camera away for the wallpaper of my left laptop. I had to adjust a LOT of shadow settings due to the planet being just so huge (The transforms of it look scary). But I think it looks great! exported it in 4K and loos wonderful. Now i just gotta figure out what i want to do for my main moniter and my right laptop"}, {"post_id": 62432, "ts": "2026-09-05T19:31:47Z", "hours": 0.4333, "text": "Added a space station model of sorts with some camera effects (clur) and a placeholder planet. Gonna make the shader for the planet soon! thinking of a gas giant"}, {"post_id": 61245, "ts": "2026-09-04T02:45:13Z", "hours": 0.3333, "text": "Made a unity project, got a solid color skybox and some post processing effects! (Bloom, color grading, film grain and just a simple cube)"}]...
|
Title: Space Thing by @RobbieMa | Stardance
Devlo Title: Space Thing by @RobbieMa | Stardance
Devlogs:
Made a unity project, got a solid color skybox and some post processing effects! (Bloom, color grading, film grain and just a simple cube)
Added a space station model of sorts with some camera effects (clur) and a placeholder planet. Gonna make the shader for the planet soon! thinking of a gas giant
I made a good looking planet with my very own gas planet shader! Positioned it to make it more cinematic and positioned camera away for the wallpaper of my left laptop. I had to adjust a LOT of shadow settings due to the planet being just so huge (The transforms of it look scary). But I think it looks great! exported it in 4K and loos wonderful. Now i just gotta figure out what i want to do for my main moniter and my right laptop
Made the 3 positioning. 1 left, middle, and of course, right. For the first one, I positioned the camera very close Like a close shot of the planet details and the ship. My idea was it should be a continuous image so fir my main display I have the edge of the planet shot. For the right, I faked it by disabling the planet and zooming the camera out then added a small sphere not too far from the camera, gave it a earth texture from NASA, making it feel like the earth is in the distance. And hey, this inst random either! my left display and my main monitor never moves, the right computer is my MacBook, I carry that computer around a lot, that computer isn’t always home. Therefore the wallpaper conveys the feeling of “far from home” :) Of course, I can also freely change the colors of the planet! Quite proud
3 New wallpapers added! It is now completely complete! (I have a lot of screens ok? hehe) and they look great even on their own!
Ships:
I made a scene in Unity with my very own 3D gas planet shader and post processing effects. It is mainly to use for my wallpaper, and makes my setup look nicer...
|
1793130774.7901611
|
1793217174.7901611
|
|
57434
|
My first slack bot! by @skyskysun | Stardance
|
skyskysun
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-06T01:35:30Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made first slack bot. Pretty easy, as i have not added any fun commands and just sticked with the basic bots, as I am working on the hackpad most of the time and got no time for the slack bot.", "repo": "https://github.com/RealSkyskysun/skybot1slack", "demo": "https://app.slack.com/client/E09V59WQY1E/C0P5NE354"}]...
|
[{"post_id": 61364, "ts": "202 [{"post_id": 61364, "ts": "2026-09-04T07:33:07Z", "hours": 0.3117, "text": "Setting up the basic slackbot, just started stardance, hope everything goes well"}]...
|
Title: My first slack bot! by @skyskysun | Stardan Title: My first slack bot! by @skyskysun | Stardance
Devlogs:
Setting up the basic slackbot, just started stardance, hope everything goes well
Ships:
I made first slack bot. Pretty easy, as i have not added any fun commands and just sticked with the basic bots, as I am working on the hackpad most of the time and got no time for the slack bot....
|
1793105697.038757
|
1793192097.038757
|
|
12072
|
Personal Blog by @Silvend | Stardance
|
Silvend
|
1
|
20.0
|
274
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-06T01:00:27Z", "hours": 20.0, "multiplier": 13.88, "payout": 274, "blessing": "neutral", "text": "Hello! I made a personal website in order to share some of my interests and personal projects with others who might be interested. It includes information about my likes and hobbies and other things that make me “me”! The most challenging part of this project was aligning my content, specially buttons and images, using CSS. I’m really proud of how the actual CSS turned out. I liked including different color pallets per page and other decorating elements!!", "repo": "https://github.com/SILVENDz/blog", "demo": "https://silvendz.neocities.org"}]...
|
[{"post_id": 62565, "ts": "202 [{"post_id": 62565, "ts": "2026-09-06T00:43:35Z", "hours": 1.4653, "text": "Uploaded my site to neocities in order to have a demo link! I did some entries, such as an embedded link to one of my other projects. I improved some of the images by resizing and grouping them. Additionally, I updated my “Currently doing” section under the more tab."}, {"post_id": 48606, "ts": "2026-08-17T02:18:10Z", "hours": 4.3878, "text": "I started adding some of my website pages! The first one is regarding photography, I put it under hobbies. I added some images plus a comment section on the bottom using an external widget. I’m currently re-working my home page because I wanted to make my carousel with manga images actually seem infinite. It’s currently only repeating twice and then glitching, so it is something I have to work on. I might have to duplicate the container until it appears smooth. I’ve been having problems with my VS code crashing after 5 minutes of usage, but I am trying to get as much work into my website before it crashes."}, {"post_id": 10354, "ts": "2026-06-17T01:09:16Z", "hours": 5.41, "text": "I replaced the temporary images with an actual ‘About Me’ page. I made it so that the section is scrollable. I also linked a guest book as a button, which is something I found super cute! At the bottom of my home page is the slides I wanted to add. It wasn’t a big priority, just something I wanted to do for fun, but it still took so long to actually get it to work without glitching out or not sliding at all. To my more page I added a currently doing list, which will have what I am working on, reading, or watching. I also linked a mini Spotify playlist I did, just for fun and to make the website a bit more interactive. I’ll rework the layout for my blog page, and start writing some entries. My goal is to make it as interactive as possible with more links, comment sections, and maybe just silly addition to the website!"}, {"post_id": 6588, "ts": "2026-06-11T02:06:29Z", "hours": 2.8542, "text": "I have the bare bones right now for the actual blog section, but I’ll start working on the actual content soon. I have a couple of thing that I would like to talk about in here. I also plan on adding more details such as marquees and carousel-like images. For now, my next step is to work on adding comment sections to each separate blog and also adding a guest book to my home page."}, {"post_id": 5274, "ts": "2026-06-09T00:00:01Z", "hours": 4.8047, "text": "She is looking much less rough compared to last night.. I’ll start working on the actual blog part soon, I just wanted to get my home page layout done. The cat images are temporary unless I decide other wise (except the meowls, they’re 100% staying there :D) It’s not noticeable since it’s a screenshot, but I added a marquee that says “Be someone’s rainbow today!” It has to be my favorite thing out of my home page, I actually managed to make it slide. I will add a guest book button at the bottom of the home page, as well as a couple of banners or manga panels I really like and want to share with the world (it’s not a huge priority right now tho) I still struggle slightly with CSS, I am a painfully obvious beginner, but I am slowly getting the hang of it, the layout came out pretty cute. I’ll have a different color scheme for each page."}, {"post_id": 4675, "ts": "2026-06-08T02:26:19Z", "hours": 0.7883, "text": "She is looking rough right now. I believe this is my second or third time working with html and css, so it is really a work in process… I’ll continue to work on it and improve it as much as I can (plus add the actual blog stuff) It will just be a huge nerd log. Right now I just have the name, a background image, and the little meowls. My priority is to get content in fiist before beginning to elaborate in the decoration."}]...
|
Title: Personal Blog by @Silvend | Stardance
Devl Title: Personal Blog by @Silvend | Stardance
Devlogs:
She is looking rough right now. I believe this is my second or third time working with html and css, so it is really a work in process… I’ll continue to work on it and improve it as much as I can (plus add the actual blog stuff) It will just be a huge nerd log. Right now I just have the name, a background image, and the little meowls. My priority is to get content in fiist before beginning to elaborate in the decoration.
She is looking much less rough compared to last night.. I’ll start working on the actual blog part soon, I just wanted to get my home page layout done. The cat images are temporary unless I decide other wise (except the meowls, they’re 100% staying there :D) It’s not noticeable since it’s a screenshot, but I added a marquee that says “Be someone’s rainbow today!” It has to be my favorite thing out of my home page, I actually managed to make it slide. I will add a guest book button at the bottom of the home page, as well as a couple of banners or manga panels I really like and want to share with the world (it’s not a huge priority right now tho) I still struggle slightly with CSS, I am a painfully obvious beginner, but I am slowly getting the hang of it, the layout came out pretty cute. I’ll have a different color scheme for each page.
I have the bare bones right now for the actual blog section, but I’ll start working on the actual content soon. I have a couple of thing that I would like to talk about in here. I also plan on adding more details such as marquees and carousel-like images. For now, my next step is to work on adding comment sections to each separate blog and also adding a guest book to my home page.
I replaced the temporary images with an actual ‘About Me’ page. I made it so that the section is scrollable. I also linked a guest book as a button, which is something I found super cute! At the bottom of my home page is the slides I wanted to add. It wasn’t a big priority, just something I wanted to do for fun, but it still took so long to actually get it to work without glitching out or not sliding at all. To my more page I added a currently doing list, which will have what I am working on, reading, or watching. I also linked a mini Spotify playlist I did, just for fun and to make the website a bit more interactive. I’ll rework the layout for my blog page, and start writing some entries. My goal is to make it as interactive as possible with more links, comment sections, and maybe just silly addition to the website!
I started adding some of my website pages! The first one is regarding photography, I put it under hobbies. I added some images plus a comment section on the bottom using an external widget. I’m currently re-working my home page because I wanted to make my carousel with manga images actually seem infinite. It’s currently only repeating twice and then glitching, so it is something I have to work on. I might have to duplicate the container until it appears smooth. I’ve been having problems with my VS code crashing after 5 minutes of usage, but I am trying to get as much work into my website before it crashes.
Uploaded my site to neocities in order to have a demo link! I did some entries, such as an embedded link to one of my other projects. I improved some of the images by resizing and grouping them. Additionally, I updated my “Currently doing” section under the more tab.
Ships:
Hello! I made a personal website in order to share some of my interests and personal projects with others who might be interested. It includes information about my likes and hobbies and other things that make me “me”! The most challenging part of this project was aligning my content, specially buttons and images, using CSS. I’m really proud of how the actual CSS turned out. I liked including different color pallets per page and other decorating elements!!...
|
1793145192.6140969
|
1793231592.6140969
|
|
52978
|
David's Digital Hub by @daval | Stardance
|
daval
|
1
|
11.24
|
30
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-06T00:49:22Z", "hours": 10.0, "multiplier": 2.89, "payout": 30, "blessing": "neutral", "text": "I did my own website, although it’s more of a portfolio. It was kind of hard, since I have little to no experience actually building something, specially in HTML and CSS, I felt like I was cheating when using a template, so I tried to add as much as I could, like integrating a feature from a different template, or using API keys to sync my music stats to the website.", "repo": "https://github.com/davalanisv1/Digital_Hub", "demo": "https://davalanisv1.github.io/Digital_Hub/home.html"}]...
|
[{"post_id": 65077, "ts": "202 [{"post_id": 65077, "ts": "2026-09-09T22:54:39Z", "hours": 0.3339, "text": "Just some basic follow up, changed the title of some pages, checked up the links, and created a codespace! So now I can code anywhere, even if it’s not my own laptop! That’s so peak"}, {"post_id": 64435, "ts": "2026-09-08T20:12:42Z", "hours": 0.9033, "text": "Added my brand new certificates, corrected the fact that my default lander page is in School.html instead of home.html, and added the pdf’s of the official certs, once the header/image is clicked it’ll get you to the official PDF."}, {"post_id": 62566, "ts": "2026-09-06T00:44:30Z", "hours": 5.8075, "text": "This took WAY longer than expected, but at last, nearly 10 hours later… here’s my website: First, I finished all the pages. -Second, after I realized it looked kinda dry, I decided to also implement the “Carousel” thing from Helios (another HTML5 template), it looks prettier now, and not as dry. -Third, I also linked my Last.fm so it can show what am I currently listening to, my weekly scrobbles, and all than fun stuff. -Lastly, added some text, images, and deployed it. It was an awesome run, it felt fun to do this, hope you guys don’t obliterate me with the ratings and I get enough stardust to get something 😭"}, {"post_id": 60571, "ts": "2026-09-03T00:23:38Z", "hours": 0.4333, "text": "FINALLY, I FINISHED THE SCHOOL SUBPAGE 😭 it took a little over an hour in total but since I’ve been busy with school it feels like it took days, now I gotta finish the cert page and the clubs page, the first one should be relatively easy since I hold barelly a couple certificates, and the clubs & events should be easy too, since I’ve only been in two club and one event/internship/volunteering… the Projects Page will also be relatively time consuming, Media Tracking will probably be the hardest, since I want to sync my Last.fm to the website(can’t even do an HTML from scratch btw, no idea how I’m gonna sync Last.fm 😭). PD: Slowly but surely my new mantra is becoming “Progress is progress”"}, {"post_id": 59964, "ts": "2026-09-02T01:20:15Z", "hours": 0.7169, "text": "Finished the second section of my School Subpage, corresponding to Sophomore Year, at this pace I’m gonna finish next week -_-"}, {"post_id": 59316, "ts": "2026-09-01T01:22:09Z", "hours": 0.2833, "text": "barelly did anything, js tweaked some stuff, added my second semester transcript… tomorrow I will add requirements for graduation and more images"}, {"post_id": 58484, "ts": "2026-08-30T22:02:56Z", "hours": 0.9394, "text": "Worked on the School subpage of the Academics page, couldn’t finish since I had to go, but something’s something"}, {"post_id": 53352, "ts": "2026-08-23T21:10:31Z", "hours": 0.8667, "text": "Second Devlog I modified one of the htmls to serve as the introduction for subpages for projects, school work and certificates :D"}, {"post_id": 52579, "ts": "2026-08-22T19:16:51Z", "hours": 1.2, "text": "First Devlog I looked for a website template, downloaded it, modified it into my liking and added text on the home page"}]...
|
Title: David's Digital Hub by @daval | Stardan Title: David's Digital Hub by @daval | Stardance
Devlogs:
First Devlog I looked for a website template, downloaded it, modified it into my liking and added text on the home page
Second Devlog I modified one of the htmls to serve as the introduction for subpages for projects, school work and certificates :D
Worked on the School subpage of the Academics page, couldn’t finish since I had to go, but something’s something
barelly did anything, js tweaked some stuff, added my second semester transcript… tomorrow I will add requirements for graduation and more images
Finished the second section of my School Subpage, corresponding to Sophomore Year, at this pace I’m gonna finish next week -_-
FINALLY, I FINISHED THE SCHOOL SUBPAGE 😭 it took a little over an hour in total but since I’ve been busy with school it feels like it took days, now I gotta finish the cert page and the clubs page, the first one should be relatively easy since I hold barelly a couple certificates, and the clubs & events should be easy too, since I’ve only been in two club and one event/internship/volunteering… the Projects Page will also be relatively time consuming, Media Tracking will probably be the hardest, since I want to sync my Last.fm to the website(can’t even do an HTML from scratch btw, no idea how I’m gonna sync Last.fm 😭). PD: Slowly but surely my new mantra is becoming “Progress is progress”
This took WAY longer than expected, but at last, nearly 10 hours later… here’s my website: First, I finished all the pages. -Second, after I realized it looked kinda dry, I decided to also implement the “Carousel” thing from Helios (another HTML5 template), it looks prettier now, and not as dry. -Third, I also linked my Last.fm so it can show what am I currently listening to, my weekly scrobbles, and all than fun stuff. -Lastly, added some text, images, and deployed it. It was an awesome run, it felt fun to do this, hope you guys don’t obliterate me with the ratings and I get enough stardust to get something 😭
Added my brand new certificates, corrected the fact that my default lander page is in School.html instead of home.html, and added the pdf’s of the official certs, once the header/image is clicked it’ll get you to the official PDF.
Just some basic follow up, changed the title of some pages, checked up the links, and created a codespace! So now I can code anywhere, even if it’s not my own laptop! That’s so peak
Ships:
I did my own website, although it’s more of a portfolio. It was kind of hard, since I have little to no experience actually building something, specially in HTML and CSS, I felt like I was cheating when using a template, so I tried to add as much as I could, like integrating a feature from a different template, or using API keys to sync my music stats to the website....
|
1792846263.6969216
|
1793710263.6969216
|
|
14191
|
My first slack bot! by @ghx312 | Stardance
|
ghx312
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-06T00:35:54Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made my first slack bot, it has 4 features which are all inside the README.md (I’ll paste it here), it also runs 24/7 Very Chill Cat (Slack-Bot) Features: ‘/very-chill-cat-ping’ - Pings the cat ‘/very-chill-cat-catfact’ - Gives you a fact ‘/very-chill-cat-joke’ - Tells you a joke ‘/very-chill-cat-help’ - Helps you with commands Runs 24/7", "repo": "https://github.com/ghx312/slack_bot", "demo": "https://app.slack.com/client/E09V59WQY1E/C0P5NE354?skip_today=1"}]...
|
[{"post_id": 62562, "ts": "202 [{"post_id": 62562, "ts": "2026-09-06T00:34:09Z", "hours": 0.2825, "text": "Very Chill Cat (My first Slack_Bot)"}]...
|
Title: My first slack bot! by @ghx312 | Stardance
Title: My first slack bot! by @ghx312 | Stardance
Devlogs:
Very Chill Cat (My first Slack_Bot)
Ships:
I made my first slack bot, it has 4 features which are all inside the README.md (I’ll paste it here), it also runs 24/7 Very Chill Cat (Slack-Bot) Features: ‘/very-chill-cat-ping’ - Pings the cat ‘/very-chill-cat-catfact’ - Gives you a fact ‘/very-chill-cat-joke’ - Tells you a joke ‘/very-chill-cat-help’ - Helps you with commands Runs 24/7...
|
1793127077.9182773
|
1793213477.9182773
|
|
53871
|
my website by @sophel | Stardance
|
sophel
|
2
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T23:37:16Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "i edited my website to make the following changes: i added pictures and removed the custom cursor. i changed the format of the about me page and linked my past projects to the project page", "repo": "https://github.com/sopheldalulu/portfolio", "demo": "https://sopheldalulu.github.io/portfolio/"}, {"ship_num": 2, "ts": "2026-08-25T17:57:33Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "ps the view project buttons aren’t linked to anything yet ><", "repo": "https://github.com/sopheldalulu/portfolio", "demo": "https://sopheldalulu.github.io/portfolio/"}]...
|
[{"post_id": 62535, "ts": "202 [{"post_id": 62535, "ts": "2026-09-05T23:24:34Z", "hours": 0.9925, "text": "i added pictures and removed the custom cursor. i changed the format of the about me page and linked my past projects to the project page"}, {"post_id": 54623, "ts": "2026-08-25T17:26:03Z", "hours": 3.7706, "text": "my own universal portfolio website!"}]...
|
Title: my website by @sophel | Stardance
Devlogs: Title: my website by @sophel | Stardance
Devlogs:
my own universal portfolio website!
i added pictures and removed the custom cursor. i changed the format of the about me page and linked my past projects to the project page
Ships:
ps the view project buttons aren’t linked to anything yet ><
i edited my website to make the following changes: i added pictures and removed the custom cursor. i changed the format of the about me page and linked my past projects to the project page...
|
1793098321.724842
|
1793184721.724842
|
|
57983
|
Flashcards Website by @Ruda_L | Stardance
|
Ruda_L
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T23:18:44Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a website where you get access to many tools for studying! I made this for the new upcoming school year and willing to share with friends. The biggest challenge I met was that I didn’t know a lot about HTML and had to search very often on how to make things happen. I’m really proud that I could make a working flashcard website on my own.", "repo": "https://github.com/Ruda-L/Flashcard-Website", "demo": "https://ruda-l.github.io/Flashcard-Website/"}]...
|
[{"post_id": 62531, "ts": "202 [{"post_id": 62531, "ts": "2026-09-05T23:14:48Z", "hours": 0.3983, "text": "I made a home page for my study website"}, {"post_id": 62505, "ts": "2026-09-05T22:06:09Z", "hours": 0.3522, "text": "I made a simple flashcard website to study for the new school year"}]...
|
Title: Flashcards Website by @Ruda_L | Stardance
Title: Flashcards Website by @Ruda_L | Stardance
Devlogs:
I made a simple flashcard website to study for the new school year
I made a home page for my study website
Ships:
I made a website where you get access to many tools for studying! I made this for the new upcoming school year and willing to share with friends. The biggest challenge I met was that I didn’t know a lot about HTML and had to search very often on how to make things happen. I’m really proud that I could make a working flashcard website on my own....
|
1793130787.8650014
|
1793217187.8650014
|
|
58728
|
Server Slack by @craisin | Stardance
|
craisin
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T23:12:56Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Created a basic Slack bot in Python to monitor a Debian server running Docker. Haven’t figured out how to create persistent notifications, containerize, and cleanly deploy it yet, but it checks basic things to prevent Docker from blowing up my server’s disk with useless images again. Enjoy!", "repo": "https://github.com/craisined/server-slack", "demo": "https://hackclub.enterprise.slack.com/archives/C0BV78Y1AUW"}]...
|
[{"post_id": 62522, "ts": "202 [{"post_id": 62522, "ts": "2026-09-05T22:46:46Z", "hours": 0.5947, "text": "Finished a basic bot! Can’t figure out how to dockerize it yet, so it lives on nest for now… Going to ship!"}, {"post_id": 62504, "ts": "2026-09-05T22:02:44Z", "hours": 1.2961, "text": "Today, my server ran out of disk due to docker, and took down my dns and tinyapper deployment as it was in the rating pool D: I am now creating a slack bot to monitor this"}]...
|
Title: Server Slack by @craisin | Stardance
Devlo Title: Server Slack by @craisin | Stardance
Devlogs:
Today, my server ran out of disk due to docker, and took down my dns and tinyapper deployment as it was in the rating pool D: I am now creating a slack bot to monitor this
Finished a basic bot! Can’t figure out how to dockerize it yet, so it lives on nest for now… Going to ship!
Ships:
Created a basic Slack bot in Python to monitor a Debian server running Docker. Haven’t figured out how to create persistent notifications, containerize, and cleanly deploy it yet, but it checks basic things to prevent Docker from blowing up my server’s disk with useless images again. Enjoy!...
|
1793098387.3127923
|
1793184787.3127923
|
|
6376
|
Soundboword by @Axwabo | Stardance
|
Axwabo
|
1
|
69.0
|
995
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T23:05:38Z", "hours": 69.0, "multiplier": 14.42, "payout": 995, "blessing": "neutral", "text": "Soundboword is an actually usable desktop soundboard for (primarily) Linux and (with apparent support for) windows tired of other soundboards paywalling slots? not anymore! [insert Phil Swift Flex Tape meme, not sponsored] this is a .NET app built with Avalonia, SoundFlow, and YoutubeExplode you don’t need to install .NET, it’s compiled into a native binary the SoundFlow backend in use is based on miniaudio, so the app only supports mp3 and wav files download audio from YouTube (paste a link or search) for Linux, there is additional PipeWire support use the PipeWire wizard to create a virtual device named “Soundboword Microphone” which you can select in apps (e.g. Discord) after setting up the microphone, you can use the toggles in the bottom left to manage some node links (connect/disconnect audio nodes) Hear Sounds: plays the soundboard to your headphones Mic Sounds: plays the soundboard into the virtual microphone Mic Passthrough: connects the selected physical microphone to the virtual mic Hear Myself: connects your physical mic to your headphones, echoing what you say windows support is partial, macos support will not be provided global hotkeys should work out of the box on losedows the Linux version uses xdg-desktop-portal for global shortcuts if you have a Launchpad Mini MKII lying around, you can use it with this program :3", "repo": "https://github.com/Axwabo/Soundboword", "demo": "https://github.com/Axwabo/Soundboword/releases/tag/v1.0.0"}]...
|
[{"post_id": 62313, "ts": "202 [{"post_id": 62313, "ts": "2026-09-05T16:50:40Z", "hours": 3.6683, "text": "most likely the last devlog before i outgrow hackclub :’3 finalized the project, improved the CI workflow to bundle the program properly and include 3rd party licenses completed the README added a simple sound “editor” that lets you specify the following: start time: where to begin playback loop start: where to jump when restarting on loop (start of file by default) loop end: the point where loop triggers (end of file by default) made the sidebar (Sounds and Inputs views) consistent added icons to almost every window (Linux crashed because the PipeWire icon wasn’t in that project lol) message to future self: you need the leading slash in the Icon property (e.g. /Assets/sus.ico works but not Assets/sus.ico ) the video shows the new configure sound on trigger click feature, resembling the behavior of Voicemod implemented the missing “Auto Mic Passthrough” (as described in the README) the physical microphone preference is now saved fixed the hidden toggles taking up space on slopdows RowDefinitions don’t support binding, not even OnPlatform :( hopefully i don’t gotta fix anything, and it’s ready to ship"}, {"post_id": 60689, "ts": "2026-09-03T07:25:41Z", "hours": 9.5664, "text": "I’M GONNA TWEAK OUT 9 hours on slopdows bullshit… IT FINALLY WORKS (except not really because removing keybinds doesn’t..?) okay so i restored some of the styling, 0 padding in the Inputs listbox looked bad not sure what else i did that isn’t losedows suffering lmao sooooooo “win”dows is special if you hold Ctrl, it doesn’t call the TextInput event, meaning that i have to translate the Key enum the TextInput event isn’t flawless either, it can be ambiguous (e.g. hungarian layout: AltGr+J = í, AltGr+I = Í, Soundboword makes them uppercase) should i remove the automatic uppercase conversion? i spent a lot of time “debugging” (as in, having the CI build it, download the zip, transfer it to a slopdows machine, since native cross-compilation is not supported) the biggest headache was the shortcut list update handler… i negated the TryAdd call, which meant that the global hotkey would only get registered if the same gesture has been added to the dictionary already (therefore it would only work on subsequent binds) i spent way too much time figuring this out another oversight was the lack of Target assignment when you clicked ⚙️ on an input method, meaning that binding shortcuts did nothing idk why the entire panel is bold, gotta fix that hotkeys are temporarily removed while you’re assigning a shortcut however, as mentioned before, this doesn’t work xd i tried it on a slopdows laptop, and removing the A hotkey made the A key unusable until i closed Soundboword setting up CI wasn’t difficult, gotta make sure to separate rm commands and use -f so files not found don’t error using || doesn’t run the latter command if the first one succeeds, i should’ve known that"}, {"post_id": 41841, "ts": "2026-08-06T09:41:33Z", "hours": 2.6206, "text": "i did mostly polishing work during this time, now i can torture myself with windows global shortcuts gotta crash out first though cuz this wonderful website has 3 different markdown renderers somehow, and i’ve been using --- to make sections actually separate changed the TabControl to a TabStrip so i can use my on page switching logic most views are only created once now, which gives a slight performance boost i’d noticed that quickly switching between tabs while using TabControl lead to slight crackles in audio, that’s taken care of now oh and you can use the Tab key to navigate, cuz TabStrip can magically do that getting the lazy-ish loading was pretty funky though, UserControls are lazy by default so i had to hack around it to preload the views by setting IsVisible to false after the control loads (i think that’s what i did, i kinda forgor) fixed the YouTube stream loader, and added a local error display so you can immediately see if something went wrong made it so non-bound XDG-Desktop-Portal shortcuts are no longer detected removed the sound edit button for now, i would like to ship without having to figure all that out made StackPanel spacing mostly uniform using a style selector, though it looks pretty bad in device selectors general settings & logging settings are now saved and loaded added Rescan and Relink All buttons Rescan checks not found files again to locate them Relink All lets you pick directories to look for not found sounds by their filenames in the video, i unmounted the disk that had some files, then relinked sounds to locate it elsewhere"}, {"post_id": 36680, "ts": "2026-07-28T21:57:59Z", "hours": 4.8294, "text": "dev log about logging, crazy added logging in-app and also to files you can configure log levels, None disables file logging altogether i was looking around to find a simple file logger for Microsoft.Extensions.Logging, but i didn’t like it so i made my own, even simpler version took a bunch of attempts to make the architecture bearable, but it’s still kinda jank with the existence of LogPreferences.Instance (instead of using the service provider… but whatever, i make the rules :3) turns out that MultiBinding doesn’t work for a bool that hides the bottom bar (idk why), so i did some wiring by subscribing to PropertyChanged in the preferences and the log list only at the time of recording did i realize that the initial value isn’t set properly, so i gotta fix that tried to set PublishAot to true for all projects (so i don’t have to specify it in dotnet publish ), but that breaks the preview, so i had to revert the change unhandled UI exceptions are now written to the file the unobserved task exception event just… doesn’t seem to fire… i got rid of that tried to use SemaphoreSlim to make the exiting thread block until an in-progress write operation completes, but that probably caused a deadlock because the app wouldn’t close if a log entry happens to be in the middle of being written while you’re quitting, it gets cut in half, oh well fun fact: the ItemsRepeater Avalonia control exists on GitHub, even the docs describe how to use it, but it just didn’t show up for me despite using the latest Avalonia version this made me use a ListBox, which has selection (although you can’t see it because of the background of each log entry)"}, {"post_id": 34591, "ts": "2026-07-25T13:27:50Z", "hours": 4.0242, "text": "made settings sections with a whole lot of unnecessary abstractions for the funny [FromKeyedServices] when i could just access a static instance? absolutely yes!! i couldn’t figure out how to style the children of an ItemsControl externally, so i had to give it an ItemTemplate with a class (which would be unnecessary if i could style the thing) all that for a separator line… and padding… and margin… what if i just nuke this idea and simply have some spacing between the sections? i tried organizing classes into vertical slices architecture, but i gave up and only did it for the Linux project instead the using updates would’ve been funky + some global usings would become useless PipeWire the toggle list now no longer “flickers” on/off when refreshing devices, as i only set the link manager after PipeWire objects have been queried device lists and link toggles are now disabled when switching devices so the user doesn’t accidentally break the linking process added a button that refreshes links (in case things go wrong somehow) you can now select the physical microphone from the PipeWire list, and it will update links this preference isn’t saved to disk just yet in my last devlog i mentioned some issues, which have now been fixed: upon startup, the first two switches don’t work sometimes (race condition maybe?) turns out that i had forgotten to add a potentially valid node to the list after looping through all lines, so it just discarded the last entry certain links might not reconnect properly when switching the output device what did i do to fix that? i’m not sure anymore maybe it was a bit of delay? this one might be linked related to the former issue"}, {"post_id": 34223, "ts": "2026-07-24T19:01:37Z", "hours": 8.9867, "text": "PIPEWIRE WORKS!!1!1! spent almost all day adding PipeWire node linking support i was genuinely tweaking when i found out that the pw-cli create-link command doesn’t create a link… it does NOTHING wishful thinking to assume that i can simply tell PipeWire to connect nodes automatically now i have to query the ports, too, and connect those automatically; make sure to sort them, otherwise the channels might be mixed up ahaha (a0b498e7 khm khm) i spent plenty of the time debugging, the parser i wrote had some funky stuff how to use it there are 4 toggles you can activate, as shown in the video: sounds to primary output: this will play the soundboard’s audio in your headphones/primary speakers sounds to virtual mic: forwards soundboard audio to the virtual microphone, letting others (e.g. in a call or in a game) hear the sounds mic passthrough: connects your “real” microphone to the virtual microphone, allowing others to hear your voice when using the virtual mic hear myself: connects your real microphone to your primary output device more issues upon startup, the first two switches don’t work sometimes (race condition maybe?) certain links might not reconnect properly when switching the output device (it used to be worse when i queried links every time; it would connect only one port to the destination because the port ID was now assigned to something else) some miscellaneous fixes: fixed certain issues with xdg-desktop-portal shortcut assignments removed the upload date from YouTube video views fixed the NativeAOT build (an attribute was missing that let the ServiceProvider know not to strip view & viewmodel constructors) added a DataToggle control that inherits from ToggleSwitch : clicking on it doesn’t toggle it automatically, the binding controls the state"}, {"post_id": 32372, "ts": "2026-07-21T14:38:36Z", "hours": 6.5217, "text": "FINALLY figured out how to interface with xdg-desktop-portal, global shortcuts now work on Linux!!! (with a caveat ofc) subsequent bind requests to the same action will just be ignored by the portal, even if you closed the dialog without binding any shortcuts you should still be abe to bind them in System Settings props to Pinta for the example on how to do this (the DBus flow kinda sucks ngl) making this was partially possible because Avalonia updated to the latest Tmds.DBus version adjusted the YouTube downloader layout: removed the description in favor of a stream selector that also got rid of the upload date, oops added a dummy ✏️ button to sounds (basic editor coming soon) i don’t even want to think about how i’ll render waveforms without making the system go kaboom also added a number input for volume, letting users type in the desired percentage Avalonia magically handles the percentage conversion, i didn’t have to make a converter that multiplies the input by 0.01 made pages dynamic, fixing the inconsistent layout this will make it easier to add platform-specific tabs instead of having to dump everything into settings TabStrip just didn’t work properly, so i’ll stick with the TabControl (which doesn’t have… tab… focus…) OtherSoundInteraction now lets you mute, pause or stop other sounds when a new playback is triggered adopted Injectio so i can slap a [RegisterSingleton] attribute on each class i want in dependency injection without having to go to a different place to add a statement the “Stop All Instances” button is now replaced by the “Relink” button for files that were not found you can now drag-and-drop sounds into the board from the file manager"}, {"post_id": 9155, "ts": "2026-06-15T10:26:57Z", "hours": 6.5614, "text": "Did a bit of refactoring to accomodate for later NativeAOT support: Each view & viewmodel has to be registered as a service Moved to source-generated JSON handling Hopefully, NativeAOT will make the app noticeably faster when I publish the project Added global usings, and split up the project for better platform-specific service organization Fixed the delete button not stopping the sound (how did I manage to fail that??) Replaced the loop toggle with an Assign Shortcut button for quick access I think the latter will be used more often, but having the loop toggle update two buttons at once was really cool Sounds can now be added from YouTube; they are cached for fast access (how else would it work xd) The window is not a dialog, so you can still interact with the soundboard while waiting for download(s) (Idk if dialogs prevent interactions on some desktop environments tbh) This is not the final layout, but it looks decent for now: clicking on a video (left side) takes you to the details page (right side) in the same window Fun fact: pasting a youtube link automatically opens the video view, letting you download it even while the details are loading (will have to fix that up a little)"}, {"post_id": 7556, "ts": "2026-06-12T17:03:41Z", "hours": 5.6711, "text": "More (almost zero) progress on global shortcuts: I’ve figured out the object path & destination from the Kotlin library zugaldia/stargate , but xdg-desktop-portal just crashes now upon calling CreateSession Nothing usable yet Added a devices page to select the output device I tried to implement device switching by creating a separate Mixer, but SoundFlow already has functionality for that, so it became much simpler Refactored code to use the new SoundFlowDeviceManager A “Stop All Sounds” shortcut can now be assigned to each input when clicking the gear icon next to it Fixed shortcut assignment not working after switching pages Editing context is reopened on page change The SelectionChanged event fired for every child control, not just the TabControl -> I now check for the source of the event Attempted to add consistent text alignment in tab headers, that turned out to be stupid, so I just added a space after the Playbacks emoji Removed the “Raise Maximum Volume” (a 0-150% range makes more sense imo) Adjusted buttons in the sound editing view, this is not yet final On the image you can see a pipewire graph I created, this is similar to how I want it to work A sink for soundboard output which can be forwarded to the primary output device (e.g. headphones) A mixer virtual device (discord doesn’t support sinks) that combines the microphone input and the soundboard sink, acting as a virtual mic which can be selected in apps From a bit of testing, it turns out that connecting a sink to the primary output device produces some annoying popping, so I’ll probably just link/unlink the app’s playback to/from the primary output device, too"}, {"post_id": 6330, "ts": "2026-06-10T17:29:02Z", "hours": 4.1664, "text": "Added pages & tabs to better separate UI Activated inputs are now saved and loaded Sound state is now displayed better, it includes missing file detection (exceptions are not yet handled) Using a MultiBinding and an IMultiValueConverter with an enum didn’t work for some reason New page: playbacks It shows all sounds, their current time Will need a redesign Pro tip: don’t call Dispatcher.Post in a method you called Dispatcher.Post in (it will keep updating the UI but prevents user input, you can’t even close the window normally) Did a bit of refactoring: AudioManager is now a service Removed the Host service, the desktop lifetime and the TopLevel will be injected Added an overlay when a file dialog is open (because unlike windows, not all OSes/desktop environments prevent interactions in this situation)"}, {"post_id": 5129, "ts": "2026-06-08T20:23:24Z", "hours": 5.0069, "text": "Implemented input handling for the Launchpad Mini, now I’ll be able to press pads to play sounds Creating the shortcuts system took a few iterations, I wasn’t happy with the code I wrote Shortcuts can be removed even when the input method isn’t active, which wasn’t possible in an earlier iteration Also implemented settings saving when the app exits"}, {"post_id": 2246, "ts": "2026-06-04T17:06:50Z", "hours": 5.5297, "text": "Added a proper UI for triggering sounds with modes similar to that of voicemod (start -> stop, start -> restart, play -> pause, duplicate) I played around with 2 rows below the big button but that seemed to take up too much space, so I moved them to the sound editor (which isn’t fully functional yet) On the right side you can see input methods, which will include global shortcuts later (DBus is confusing af, the win32 api might actually be easier to work with 💀) (Yes, I’ve half-made a global keyboard handler for windows previously) Emojis are fairly expressive imo, but there are tooltips that describe what each button does The layout definitely needs improvements, but it’s something ig Also implemented loading sounds on startup, as well as saving when a new sound is added"}, {"post_id": 1536, "ts": "2026-06-03T16:49:22Z", "hours": 1.8456, "text": "Created the very base of the project with Avalonia and SoundFlow, sound playback works Spent a bunch of time trying to figure out the DBus interface for XDG global shortcuts (Linux part of keybinds): Somehow I grabbed the impl xml, not the one i needed It still doesn’t work, gonna need to debug it later I was trying to write abysmal code based on what Avalonia has: https://github.com/AvaloniaUI/Avalonia/blob/12.0.4/src/Avalonia.FreeDesktop/DBusSystemDialog.cs The source generator used in the latest Avalonia release is a different source generator from what i saw on master, that caused a bit of a headache"}]...
|
Title: Soundboword by @Axwabo | Stardance
Devlogs Title: Soundboword by @Axwabo | Stardance
Devlogs:
Created the very base of the project with Avalonia and SoundFlow, sound playback works Spent a bunch of time trying to figure out the DBus interface for XDG global shortcuts (Linux part of keybinds): Somehow I grabbed the impl xml, not the one i needed It still doesn’t work, gonna need to debug it later I was trying to write abysmal code based on what Avalonia has: https://github.com/AvaloniaUI/Avalonia/blob/12.0.4/src/Avalonia.FreeDesktop/DBusSystemDialog.cs The source generator used in the latest Avalonia release is a different source generator from what i saw on master, that caused a bit of a headache
Added a proper UI for triggering sounds with modes similar to that of voicemod (start -> stop, start -> restart, play -> pause, duplicate) I played around with 2 rows below the big button but that seemed to take up too much space, so I moved them to the sound editor (which isn’t fully functional yet) On the right side you can see input methods, which will include global shortcuts later (DBus is confusing af, the win32 api might actually be easier to work with 💀) (Yes, I’ve half-made a global keyboard handler for windows previously) Emojis are fairly expressive imo, but there are tooltips that describe what each button does The layout definitely needs improvements, but it’s something ig Also implemented loading sounds on startup, as well as saving when a new sound is added
Implemented input handling for the Launchpad Mini, now I’ll be able to press pads to play sounds Creating the shortcuts system took a few iterations, I wasn’t happy with the code I wrote Shortcuts can be removed even when the input method isn’t active, which wasn’t possible in an earlier iteration Also implemented settings saving when the app exits
Added pages & tabs to better separate UI Activated inputs are now saved and loaded Sound state is now displayed better, it includes missing file detection (exceptions are not yet handled) Using a MultiBinding and an IMultiValueConverter with an enum didn’t work for some reason New page: playbacks It shows all sounds, their current time Will need a redesign Pro tip: don’t call Dispatcher.Post in a method you called Dispatcher.Post in (it will keep updating the UI but prevents user input, you can’t even close the window normally) Did a bit of refactoring: AudioManager is now a service Removed the Host service, the desktop lifetime and the TopLevel will be injected Added an overlay when a file dialog is open (because unlike windows, not all OSes/desktop environments prevent interactions in this situation)
More (almost zero) progress on global shortcuts: I’ve figured out the object path & destination from the Kotlin library zugaldia/stargate , but xdg-desktop-portal just crashes now upon calling CreateSession Nothing usable yet Added a devices page to select the output device I tried to implement device switching by creating a separate Mixer, but SoundFlow already has functionality for that, so it became much simpler Refactored code to use the new SoundFlowDeviceManager A “Stop All Sounds” shortcut can now be assigned to each input when clicking the gear icon next to it Fixed shortcut assignment not working after switching pages Editing context is reopened on page change The SelectionChanged event fired for every child control, not just the TabControl -> I now check for the source of the event Attempted to add consistent text alignment in tab headers, that turned out to be stupid, so I just added a space after the Playbacks emoji Removed the “Raise Maximum Volume” (a 0-150% range makes more sense imo) Adjusted buttons in the sound editing view, this is not yet final On the image you can see a pipewire graph I created, this is similar to how I want it to work A sink for soundboard output which can be forwarded to the primary output device (e.g. headphones) A mixer virtual device (discord doesn’t support sinks) that combines the microphone input and the soundboard sink, acting as a virtual mic which can be selected in apps From a bit of testing, it turns out that connecting a sink to the primary output device produces some annoying popping, so I’ll probably just link/unlink the app’s playback to/from the primary output device, too
Did a bit of refactoring to accomodate for later NativeAOT support: Each view & viewmodel has to be registered as a service Moved to source-generated JSON handling Hopefully, NativeAOT will make the app noticeably faster when I publish the project Added global usings, and split up the project for better platform-specific service organization Fixed the delete button not stopping the sound (how did I manage to fail that??) Replaced the loop toggle with an Assign Shortcut button for quick access I think the latter will be used more often, but having the loop toggle update two buttons at once was really cool Sounds can now be added from YouTube; they are cached for fast access (how else would it work xd) The window is not a dialog, so you can still interact with the soundboard while waiting for download(s) (Idk if dialogs prevent interactions on some desktop environments tbh) This is not the final layout, but it looks decent for now: clicking on a video (left side) takes you to the details page (right side) in the same window Fun fact: pasting a youtube link automatically opens the video view, letting you download it even while the details are loading (will have to fix that up a little)
FINALLY figured out how to interface with xdg-desktop-portal, global shortcuts now work on Linux!!! (with a caveat ofc) subsequent bind requests to the same action will just be ignored by the portal, even if you closed the dialog without binding any shortcuts you should still be abe to bind them in System Settings props to Pinta for the example on how to do this (the DBus flow kinda sucks ngl) making this was partially possible because Avalonia updated to the latest Tmds.DBus version adjusted the YouTube downloader layout: removed the description in favor of a stream selector that also got rid of the upload date, oops added a dummy ✏️ button to sounds (basic editor coming soon) i don’t even want to think about how i’ll render waveforms without making the system go kaboom also added a number input for volume, letting users type in the desired percentage Avalonia magically handles the percentage conversion, i didn’t have to make a converter that multiplies the input by 0.01 made pages dynamic, fixing the inconsistent layout this will make it easier to add platform-specific tabs instead of having to dump everything into settings TabStrip just didn’t work properly, so i’ll stick with the TabControl (which doesn’t have… tab… focus…) OtherSoundInteraction now lets you mute, pause or stop other sounds when a new playback is triggered adopted Injectio so i can slap a [RegisterSingleton] attribute on each class i want in dependency injection without having to go to a different place to add a statement the “Stop All Instances” button is now replaced by the “Relink” button for files that were not found you can now drag-and-drop sounds into the board from the file manager
PIPEWIRE WORKS!!1!1! spent almost all day adding PipeWire node linking support i was genuinely tweaking when i found out that the pw-cli create-link command doesn’t create a link… it does NOTHING wishful thinking to assume that i can simply tell PipeWire to connect nodes automatically now i have to query the ports, too, and connect those automatically; make sure to sort them, otherwise the channels might be mixed up ahaha (a0b498e7 khm khm) i spent plenty of the time debugging, the parser i wrote had some funky stuff how to use it there are 4 toggles you can activate, as shown in the video: sounds to primary output: this will play the soundboard’s audio in your headphones/primary speakers sounds to virtual mic: forwards soundboard audio to the virtual microphone, letting others (e.g. in a call or in a game) hear the sounds mic passthrough: connects your “real” microphone to the virtual microphone, allowing others to hear your voice when using the virtual mic hear myself: connects your real microphone to your primary output device more issues upon startup, the first two switches don’t work sometimes (race condition maybe?) certain links might not reconnect properly when switching the output device (it used to be worse when i queried links every time; it would connect only one port to the destination because the port ID was now assigned to something else) some miscellaneous fixes: fixed certain issues with xdg-desktop-portal shortcut assignments removed the upload date from YouTube video views fixed the NativeAOT build (an attribute was missing that let the ServiceProvider know not to strip view & viewmodel constructors) added a DataToggle control that inherits from ToggleSwitch : clicking on it doesn’t toggle it automatically, the binding controls the state
made settings sections with a whole lot of unnecessary abstractions for the funny [FromKeyedServices] when i could just access a static instance? absolutely yes!! i couldn’t figure out how to style the children of an ItemsControl externally, so i had to give it an ItemTemplate with a class (which would be unnecessary if i could style the thing) all that for a separator line… and padding… and margin… what if i just nuke this idea and simply have some spacing between the sections? i tried organizing classes into vertical slices architecture, but i gave up and only did it for the Linux project instead the using updates would’ve been funky + some global usings would become useless PipeWire the toggle list now no longer “flickers” on/off when refreshing devices, as i only set the link manager after PipeWire objects have been queried device lists and link toggles are now disabled when switching devices so the user doesn’t accidentally break the linking process added a button that refreshes links (in case things go wrong somehow) you can now select the physical microphone from the PipeWire list, and it will update links this preference isn’t saved to disk just yet in my last devlog i mentioned some issues, which have now been fixed: upon startup, the first two switches don’t work sometimes (race condition maybe?) turns out that i had forgotten to add a potentially valid node to the list after looping through all lines, so it just discarded the last entry certain links might not reconnect properly when switching the output device what did i do to fix that? i’m not sure anymore maybe it was a bit of delay? this one might be linked related to the former issue
dev log about logging, crazy added logging in-app and also to files you can configure log levels, None disables file logging altogether i was looking around to find a simple file logger for Microsoft.Extensions.Logging, but i didn’t like it so i made my own, even simpler version took a bunch of attempts to make the architecture bearable, but it’s still kinda jank with the existence of LogPreferences.Instance (instead of using the service provider… but whatever, i make the rules :3) turns out that MultiBinding doesn’t work for a bool that hides the bottom bar (idk why), so i did some wiring by subscribing to PropertyChanged in the preferences and the log list only at the time of recording did i realize that the initial value isn’t set properly, so i gotta fix that tried to set PublishAot to true for all projects (so i don’t have to specify it in dotnet publish ), but that breaks the preview, so i had to revert the change unhandled UI exceptions are now written to the file the unobserved task exception event just… doesn’t seem to fire… i got rid of that tried to use SemaphoreSlim to make the exiting thread block until an in-progress write operation completes, but that probably caused a deadlock because the app wouldn’t close if a log entry happens to be in the middle of being written while you’re quitting, it gets cut in half, oh well fun fact: the ItemsRepeater Avalonia control exists on GitHub, even the docs describe how to use it, but it just didn’t show up for me despite using the latest Avalonia version this made me use a ListBox, which has selection (although you can’t see it because of the background of each log entry)
i did mostly polishing work during this time, now i can torture myself with windows global shortcuts gotta crash out first though cuz this wonderful website has 3 different markdown renderers somehow, and i’ve been using --- to make sections actually separate changed the TabControl to a TabStrip so i can use my on page switching logic most views are only created once now, which gives a slight performance boost i’d noticed that quickly switching between tabs while using TabControl lead to slight crackles in audio, that’s taken care of now oh and you can use the Tab key to navigate, cuz TabStrip can magically do that getting the lazy-ish loading was pretty funky though, UserControls are lazy by default so i had to hack around it to preload the views by setting IsVisible to false after the control loads (i think that’s what i did, i kinda forgor) fixed the YouTube stream loader, and added a local error display so you can immediately see if something went wrong made it so non-bound XDG-Desktop-Portal shortcuts are no longer detected removed the sound edit button for now, i would like to ship without having to figure all that out made StackPanel spacing mostly uniform using a style selector, though it looks pretty bad in device selectors general settings & logging settings are now saved and loaded added Rescan and Relink All buttons Rescan checks not found files again to locate them Relink All lets you pick directories to look for not found sounds by their filenames in the video, i unmounted the disk that had some files, then relinked sounds to locate it elsewhere
I’M GONNA TWEAK OUT 9 hours on slopdows bullshit… IT FINALLY WORKS (except not really because removing keybinds doesn’t..?) okay so i restored some of the styling, 0 padding in the Inputs listbox looked bad not sure what else i did that isn’t losedows suffering lmao sooooooo “win”dows is special if you hold Ctrl, it doesn’t call the TextInput event, meaning that i have to translate the Key enum the TextInput event isn’t flawless either, it can be ambiguous (e.g. hungarian layout: AltGr+J = í, AltGr+I = Í, Soundboword makes them uppercase) should i remove the automatic uppercase conversion? i spent a lot of time “debugging” (as in, having the CI build it, download the zip, transfer it to a slopdows machine, since native cross-compilation is not supported) the biggest headache was the shortcut list update handler… i negated the TryAdd call, which meant that the global hotkey would only get registered if the same gesture has been added to the dictionary already (therefore it would only work on subsequent binds) i spent way too much time figuring this out another oversight was the lack of Target assignment when you clicked ⚙️ on an input method, meaning that binding shortcuts did nothing idk why the entire panel is bold, gotta fix that hotkeys are temporarily removed while you’re assigning a shortcut however, as mentioned before, this doesn’t work xd i tried it on a slopdows laptop, and removing the A hotkey made the A key unusable until i closed Soundboword setting up CI wasn’t difficult, gotta make sure to separate rm commands and use -f so files not found don’t error using || doesn’t run the latter command if the first one succeeds, i should’ve known that
most likely the last devlog before i outgrow hackclub :’3 finalized the project, improved the CI workflow to bundle the program properly and include 3rd party licenses completed the README added a simple sound “editor” that lets you specify the following: start time: where to begin playback loop start: where to jump when restarting on loop (start of file by default) loop end: the point where loop triggers (end of file by default) made the sidebar (Sounds and Inputs views) consistent added icons to almost every window (Linux crashed because the PipeWire icon wasn’t in that project lol) message to future self: you need the leading slash in the Icon property (e.g. /Assets/sus.ico works but not Assets/sus.ico ) the video shows the new configure sound on trigger click feature, resembling the behavior of Voicemod implemented the missing “Auto Mic Passthrough” (as described in the README) the physical microphone preference is now saved fixed the hidden toggles taking up space on slopdows RowDefinitions don’t support binding, not even OnPlatform :( hopefully i don’t gotta fix anything, and it’s ready to ship
Ships:
Soundboword is an actually usable desktop soundboard for (primarily) Linux and (with apparent support for) windows tired of other soundboards paywalling slots? not anymore! [insert Phil Swift Flex Tape meme, not sponsored] this is a .NET app built with Avalonia, SoundFlow, and YoutubeExplode you don’t need to install .NET, it’s compiled into a native binary the SoundFlow backend in use is based on miniaudio, so the app only supports mp3 and wav files download audio from YouTube (paste a link or search) for Linux, there is additional PipeWire support use the PipeWire wizard to create a virtual device named “Soundboword Microphone” which you can select in apps (e.g. Discord) after setting up the microphone, you can use the toggles in the bottom left to manage some node links (connect/disconnect audio nodes) Hear Sounds: plays the soundboard to your headphones Mic Sounds: plays the soundboard into the virtual microphone Mic Passthrough: connects the selected physical microphone to the virtual mic Hear Myself: connects your physical mic to your headphones, echoing what you say windows support is partial, macos support will not be provided global hotkeys should work out of the box on losedows the Linux version uses xdg-desktop-portal for global shortcuts if you have a Launchpad Mini MKII lying around, you can use it with this program :3...
|
1793145303.8922706
|
1793231703.8922706
|
|
31386
|
My very own WebOS by @Vigaash | Stardance
|
Vigaash
|
3
|
31.0
|
42
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T22:24:33Z", "hours": 3.0, "multiplier": 2.89, "payout": 7, "blessing": "neutral", "text": "I made the Tamil Cinema OS, an OS dedicated to Tamil Cinema. Dive in to learn more about Tamil Cinema! It was built using HTML, Javascript, CSS, and too much knowledge about Tamil Cinema. Currently, there are seven apps that are active. What was challenging for me was trying to use arrays, as it was a little confusing to me for HTML. Currently, the apps are: Kollywood Notes, Snake Game, Breakout Game, Calculator, Kollywood Trailers, Kollywood Facts, and Kollywood Beats. New features are: Breakout Game, Calculator, Kollywood Trailers, Kollywood Facts, Kollywood Beats, and Bubble Shooter. More thorough details are in my Readme! I am doing another ship because I really need a small amount of Stardust for a purchase. Hope you guys like it!", "repo": "https://github.com/Vigaash-Lingeswaran/Web-OS", "demo": "https://vigaash-lingeswaran.github.io/Web-OS/"}, {"ship_num": 2, "ts": "2026-07-27T16:51:06Z", "hours": 15.0, "multiplier": 2.33, "payout": 35, "blessing": "neutral", "text": "I made the Tamil Cinema OS, an OS dedicated to Tamil Cinema. Dive in to learn more about Tamil Cinema! It was built using HTML, Javascript, CSS, and too much knowledge about Tamil Cinema. Currently, there are seven apps that are active. What was challenging for me was trying to use arrays, as it was a little confusing to me for HTML. Currently, the apps are: Kollywood Notes, Snake Game, Breakout Game, Calculator, Kollywood Trailers, Kollywood Facts, and Kollywood Beats. New features are: Breakout Game, Calculator, Kollywood Trailers, Kollywood Facts, and Kollywood Beats. More thorough details are in my Readme! Hope you guys like it!", "repo": "https://github.com/Vigaash-Lingeswaran/Web-OS", "demo": "https://vigaash-lingeswaran.github.io/Web-OS/"}, {"ship_num": 3, "ts": "2026-07-17T17:47:11Z", "hours": 13.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hey guys! I have made my own OS called the Tamil Cinema OS. This OS is all about the depths of Tamil Cinema. Currently, I have two different apps, the first being a notes app for first-timers who don’t know much about Tamil Cinema. The next is a snake game for some relaxation. What was challenging for me was trying to figure out what appas I should make, especially since I would try to make it Tamil Cinema related. Another thing that was challenging was all the different uses of classes and the HTML rules, since it’s my first time using these types of things. The thorough details are in my Readme. Hope you guys like it!", "repo": "https://github.com/Vigaash-Lingeswaran/Web-OS", "demo": "https://vigaash-lingeswaran.github.io/Web-OS/"}]...
|
[{"post_id": 62510, "ts": "202 [{"post_id": 62510, "ts": "2026-09-05T22:20:26Z", "hours": 2.5419, "text": "Hey, I have been working a lot on the Tamil Cinema OS. Here’s what I have done. I first started off by creating another app. I wanted to make another game to sharpen my skills, so I decided to make the bubble shooter game. During this, I was able to learn a lot of new functions such as the Math functions and the degtorad functions. These functions allowed me to both control the angle that the player is aiming and control the way the aimed bubble ricochets. This was a little challenging for me because both of these were very new, so I had a difficult time trying to figure out how to use them in correlation with player inputs. Next steps would be to polish the whole OS."}, {"post_id": 35869, "ts": "2026-07-27T16:12:40Z", "hours": 2.98, "text": "Hey guys! I have been working a lot on the Tamil Cinema OS. Here’s what I have done: I started off by creating and finishing the seventh app, which is a music player. This music player has a playlist of many Tamil Cinema hits. To create this, I first had to use for the first time to play the audio. From there, I created an array that would cycle through the different songs and their respective cover pictures. For the styling, I wanted it to be kind of similar to how a Spotify player would look, so I had to create a rectangular container and create adequate buttons and styles for the app. Overall, I was able to learn a lot about how audio is referenced in HTML through this app. After this, I just polished up all the other apps, which included the calculator and the games, where I was able to get the clear button working on the calculator and also get the scores working on the games. Overall, I was able to learn a lot in these devlogs about the variety of hidden functions inside HTML. Next steps would just be to finish polishing any of the other apps."}, {"post_id": 34677, "ts": "2026-07-25T16:16:47Z", "hours": 6.1967, "text": "Hey guys! I have been working a lot on the Tamil Cinema OS. Here’s what I have got done: I started off with finishing off the fifth app, which would be Youtube. I decided that it would be better to allow the viewer to watch a playlist instead of the whole browser, as it would also match my theme because now, the viewer gets to wtach trailer of Tamil movies. I did this using the youtubeiframeAPI. This allowed me to get the exact version of Youtube, but also customizable to my liking. After this, I used an array with all of the video IDs and made a function that would cycle through the videos. Overall, it was a good learning experience for me with these new features. The next thing I did was make a fun facts page. This had a bunch of different fun facts about Tamil Cinema. I did this by creating a caption carousel. I used an index, and used that to cycle through the different facts. Overall, I learned a lot about the different functions within HTML and also about video playback in this devlog. Next steps would be to create my next app, which would be a music player with some good Tamil songs."}, {"post_id": 33581, "ts": "2026-07-23T16:58:01Z", "hours": 1.6439, "text": "Hey guys! I have been working a lot on the Tamil Cinema OS. Here’s what I have done so far: The main thing I have been trying to accomplish is trying to create my fifth app, which would be Youtube. I have gotten all of the controls for the actual app icon all done, but I still need to work on trying to get it to connect. I tried using and then using the URL of Youtube, but that didn’t really work, as it refused to connect. I am trying to research some different ways I can try to attach the application. The other things I have been doing would just be trying to add some scores in the games I created. I am having a little hard time, as sometimes the score only updates the first time. Next steps would just be trying to get the fifth app done."}, {"post_id": 33044, "ts": "2026-07-22T16:31:57Z", "hours": 4.4944, "text": "Hey guys! I have been working a lot on the Tamil Cinema OS so far. Here’s what I have done so far: I started off by creating my third feature, which is the breakout game. This is where there are tiles you must break with a bouncing ball. I decided that instead of keeping the game’s code inside the original index file, I would keep it as a different file and then use to link those two files together. I also decided to implement these features into the other apps. The code for this project wasn’t that hard, as I was able to use my previous game development experience to help with most of the parts, but there were some aspects, like the tiles and their Arrays that I had a little trouble with. After this, I created the calculator app. This app was pretty simple, as it was just a bunch of buttons and some functions in Javascript. The hard part about this would be figuring out what type of style I wanted for it. Next steps would be to start and finish up the fifth app, and maybe polish some of the other apps as well."}, {"post_id": 30236, "ts": "2026-07-17T17:34:27Z", "hours": 1.3797, "text": "Hey guys! I have been working a lot on the Tamil Cinema OS. Here’s what I have done so far: I have finally finished the second feature of the Tamil Cinema OS, which is the Snake Game. I learned how to code this directly into the HTML file. Originally, I thought I would have to create a new file with the game code, but after some research, I learned I could just put it into the original file. The code for this game was a little difficult, as I was having a little trouble with the part where I would have to generate the new apple when it was eaten. After some research, I learned how to use a random number generator in correlation to the grids of the game to have the apples spawn in a different place. I also decided in the end that the snake would be able to go through walls and would only die if it bumped into itself. I learned a lot through this game, especially how to use a variety of functions in HTML. Next steps would be to polish the website off for final touches."}, {"post_id": 29605, "ts": "2026-07-16T17:25:42Z", "hours": 5.1017, "text": "Hey guys! I have been working a lot on the Tamil Cinema OS. Here’s what I have done so far. I have finally finished my first app, which is the notes app. I wanted to kind of make this app like a guide for a first- time viewer, so it has things like recommendations for different movies, and also has things like the history of Tamil Cinema. I have also added some parts to the app that talk about Tamil music as well. This kind of took me a long time because it was a little hard for me to try and figure out what type of app I wanted to make originally, and there were a lot of bugs that I only figured out after looking closely at my variable declaration. i had accidentally deleted the aspect of the app that changed the cursor type to a pointer, but I didn’t know until a long time after, which is why there is so much time spent on this devlog. I have learned a lot about Javascript in this time, as it has introduced me to arrays and how they should be used, especially for the feature of my notes app that allows the viewer to see all of the notes. Next steps would be to create a second app. I am thinking of a game of some sort, but I haven’t completely thought it out."}, {"post_id": 25363, "ts": "2026-07-09T16:42:43Z", "hours": 5.3653, "text": "Hey guys! I have been working a lot on the Tamil Cinema OS. Here’s what I did: I started off by creating my first app. This has been a pretty hard process as I had a little trouble trying to get the code in the right place, especially for the part where I am trying to make the window only take up until the top bar, instead of the whole screen. I have also finished up the top bar with all of the buttons however, sometimes the click function to open the welcome window doesn’t work. i have checked my code multiple times, but I still do not know where I am going wrong for that part. I have learned a lot in this time, as it was my first time using HTML, and I am still getting comfortable with it. I had also spent a lot of time trying to figure out better backgrounds for my OS because every time I try to make a new one, it always comes out too blurry for my liking. In the end, I was able to fix all of those problems. next steps would be to finish the final touches on my first Movie ranker application, and also go on to creating my second app, which will probably be something that involves trivia or something, haven’t really thought about it yet. Please feel free to leave any suggestions for my project."}, {"post_id": 23625, "ts": "2026-07-06T18:06:01Z", "hours": 1.0533, "text": "Hey guys! This is my first devlog for the WEB OS. Here’s what I did: I decided to make an OS that is dedicated to Tamil Cinema. I have just started the coding for it, but it is my first time using HTML, and have no experience with CSS or JS, so that’s why it took me a long time to get this done. So far, I have gotten the title screen down and have started to work on my first window. Next steps would just be to have finished my first window and move on to the second or third ones. I could also start to work on making my OS a little bit more polished."}]...
|
Title: My very own WebOS by @Vigaash | Stardance
Title: My very own WebOS by @Vigaash | Stardance
Devlogs:
Hey guys! This is my first devlog for the WEB OS. Here’s what I did: I decided to make an OS that is dedicated to Tamil Cinema. I have just started the coding for it, but it is my first time using HTML, and have no experience with CSS or JS, so that’s why it took me a long time to get this done. So far, I have gotten the title screen down and have started to work on my first window. Next steps would just be to have finished my first window and move on to the second or third ones. I could also start to work on making my OS a little bit more polished.
Hey guys! I have been working a lot on the Tamil Cinema OS. Here’s what I did: I started off by creating my first app. This has been a pretty hard process as I had a little trouble trying to get the code in the right place, especially for the part where I am trying to make the window only take up until the top bar, instead of the whole screen. I have also finished up the top bar with all of the buttons however, sometimes the click function to open the welcome window doesn’t work. i have checked my code multiple times, but I still do not know where I am going wrong for that part. I have learned a lot in this time, as it was my first time using HTML, and I am still getting comfortable with it. I had also spent a lot of time trying to figure out better backgrounds for my OS because every time I try to make a new one, it always comes out too blurry for my liking. In the end, I was able to fix all of those problems. next steps would be to finish the final touches on my first Movie ranker application, and also go on to creating my second app, which will probably be something that involves trivia or something, haven’t really thought about it yet. Please feel free to leave any suggestions for my project.
Hey guys! I have been working a lot on the Tamil Cinema OS. Here’s what I have done so far. I have finally finished my first app, which is the notes app. I wanted to kind of make this app like a guide for a first- time viewer, so it has things like recommendations for different movies, and also has things like the history of Tamil Cinema. I have also added some parts to the app that talk about Tamil music as well. This kind of took me a long time because it was a little hard for me to try and figure out what type of app I wanted to make originally, and there were a lot of bugs that I only figured out after looking closely at my variable declaration. i had accidentally deleted the aspect of the app that changed the cursor type to a pointer, but I didn’t know until a long time after, which is why there is so much time spent on this devlog. I have learned a lot about Javascript in this time, as it has introduced me to arrays and how they should be used, especially for the feature of my notes app that allows the viewer to see all of the notes. Next steps would be to create a second app. I am thinking of a game of some sort, but I haven’t completely thought it out.
Hey guys! I have been working a lot on the Tamil Cinema OS. Here’s what I have done so far: I have finally finished the second feature of the Tamil Cinema OS, which is the Snake Game. I learned how to code this directly into the HTML file. Originally, I thought I would have to create a new file with the game code, but after some research, I learned I could just put it into the original file. The code for this game was a little difficult, as I was having a little trouble with the part where I would have to generate the new apple when it was eaten. After some research, I learned how to use a random number generator in correlation to the grids of the game to have the apples spawn in a different place. I also decided in the end that the snake would be able to go through walls and would only die if it bumped into itself. I learned a lot through this game, especially how to use a variety of functions in HTML. Next steps would be to polish the website off for final touches.
Hey guys! I have been working a lot on the Tamil Cinema OS so far. Here’s what I have done so far: I started off by creating my third feature, which is the breakout game. This is where there are tiles you must break with a bouncing ball. I decided that instead of keeping the game’s code inside the original index file, I would keep it as a different file and then use to link those two files together. I also decided to implement these features into the other apps. The code for this project wasn’t that hard, as I was able to use my previous game development experience to help with most of the parts, but there were some aspects, like the tiles and their Arrays that I had a little trouble with. After this, I created the calculator app. This app was pretty simple, as it was just a bunch of buttons and some functions in Javascript. The hard part about this would be figuring out what type of style I wanted for it. Next steps would be to start and finish up the fifth app, and maybe polish some of the other apps as well.
Hey guys! I have been working a lot on the Tamil Cinema OS. Here’s what I have done so far: The main thing I have been trying to accomplish is trying to create my fifth app, which would be Youtube. I have gotten all of the controls for the actual app icon all done, but I still need to work on trying to get it to connect. I tried using and then using the URL of Youtube, but that didn’t really work, as it refused to connect. I am trying to research some different ways I can try to attach the application. The other things I have been doing would just be trying to add some scores in the games I created. I am having a little hard time, as sometimes the score only updates the first time. Next steps would just be trying to get the fifth app done.
Hey guys! I have been working a lot on the Tamil Cinema OS. Here’s what I have got done: I started off with finishing off the fifth app, which would be Youtube. I decided that it would be better to allow the viewer to watch a playlist instead of the whole browser, as it would also match my theme because now, the viewer gets to wtach trailer of Tamil movies. I did this using the youtubeiframeAPI. This allowed me to get the exact version of Youtube, but also customizable to my liking. After this, I used an array with all of the video IDs and made a function that would cycle through the videos. Overall, it was a good learning experience for me with these new features. The next thing I did was make a fun facts page. This had a bunch of different fun facts about Tamil Cinema. I did this by creating a caption carousel. I used an index, and used that to cycle through the different facts. Overall, I learned a lot about the different functions within HTML and also about video playback in this devlog. Next steps would be to create my next app, which would be a music player with some good Tamil songs.
Hey guys! I have been working a lot on the Tamil Cinema OS. Here’s what I have done: I started off by creating and finishing the seventh app, which is a music player. This music player has a playlist of many Tamil Cinema hits. To create this, I first had to use for the first time to play the audio. From there, I created an array that would cycle through the different songs and their respective cover pictures. For the styling, I wanted it to be kind of similar to how a Spotify player would look, so I had to create a rectangular container and create adequate buttons and styles for the app. Overall, I was able to learn a lot about how audio is referenced in HTML through this app. After this, I just polished up all the other apps, which included the calculator and the games, where I was able to get the clear button working on the calculator and also get the scores working on the games. Overall, I was able to learn a lot in these devlogs about the variety of hidden functions inside HTML. Next steps would just be to finish polishing any of the other apps.
Hey, I have been working a lot on the Tamil Cinema OS. Here’s what I have done. I first started off by creating another app. I wanted to make another game to sharpen my skills, so I decided to make the bubble shooter game. During this, I was able to learn a lot of new functions such as the Math functions and the degtorad functions. These functions allowed me to both control the angle that the player is aiming and control the way the aimed bubble ricochets. This was a little challenging for me because both of these were very new, so I had a difficult time trying to figure out how to use them in correlation with player inputs. Next steps would be to polish the whole OS.
Ships:
Hey guys! I have made my own OS called the Tamil Cinema OS. This OS is all about the depths of Tamil Cinema. Currently, I have two different apps, the first being a notes app for first-timers who don’t know much about Tamil Cinema. The next is a snake game for some relaxation. What was challenging for me was trying to figure out what appas I should make, especially since I would try to make it Tamil Cinema related. Another thing that was challenging was all the different uses of classes and the HTML rules, since it’s my first time using these types of things. The thorough details are in my Readme. Hope you guys like it!
I made the Tamil Cinema OS, an OS dedicated to Tamil Cinema. Dive in to learn more about Tamil Cinema! It was built using HTML, Javascript, CSS, and too much knowledge about Tamil Cinema. Currently, there are seven apps that are active. What was challenging for me was trying to use arrays, as it was a little confusing to me for HTML. Currently, the apps are: Kollywood Notes, Snake Game, Breakout Game, Calculator, Kollywood Trailers, Kollywood Facts, and Kollywood Beats. New features are: Breakout Game, Calculator, Kollywood Trailers, Kollywood Facts, and Kollywood Beats. More thorough details are in my Readme! Hope you guys like it!
I made the Tamil Cinema OS, an OS dedicated to Tamil Cinema. Dive in to learn more about Tamil Cinema! It was built using HTML, Javascript, CSS, and too much knowledge about Tamil Cinema. Currently, there are seven apps that are active. What was challenging for me was trying to use arrays, as it was a little confusing to me for HTML. Currently, the apps are: Kollywood Notes, Snake Game, Breakout Game, Calculator, Kollywood Trailers, Kollywood Facts, and Kollywood Beats. New features are: Breakout Game, Calculator, Kollywood Trailers, Kollywood Facts, Kollywood Beats, and Bubble Shooter. More thorough details are in my Readme! I am doing another ship because I really need a small amount of Stardust for a purchase. Hope you guys like it!...
|
1793116294.0484903
|
1793202694.0484903
|
|
58395
|
hackatime-menubar by @Saad_Syed | Stardance
|
Saad_Syed
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T21:51:07Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A native macOS menu bar app for Stardance/Hackclub built with Python, rumps, and PyObjC. It let’s you view your daily hours, estimated stardust earnings, and progress towards a customizable daily coding goal all from your menu bar in a clean, simple app. Tracks daily coding hours and active projects fully automatically in real-time using Hackatime’s statusbar API. Includes a custom app logo, an interactive daily goal modal dialog, and a standalone .dmg installer for vanilla macOS users. Windows version coming soon!", "repo": "https://github.com/Phantom-243/hackatime-menubar/", "demo": "https://github.com/Phantom-243/hackatime-menubar/releases/tag/v1.0.0"}]...
|
[{"post_id": 62450, "ts": "202 [{"post_id": 62450, "ts": "2026-09-05T20:00:29Z", "hours": 1.0475, "text": "Final Release: Custom Logo & Standalone .dmg Installer! The project is officially complete, packaged and ready to ship. Generated native Apple .icns retina assetsusing macOS sips and iconutil. -Standalone Binary Bundle: Compiled the Python runtime, rumps engine, and PyObjC framework using PyInstaller with LSUIElement daemon configuration (LSUIElement makes it a purely menu bar-only app) -Standard .dmg Installer: Packaged the .app into a compressed disk image linked to /Applications via hdiutil. -Uploaded HackatimeBar.dmg to GitHub releases so anyone including you can download and install the app like any other app -You can download the app from my profile now! Happy Hacking!"}, {"post_id": 62357, "ts": "2026-09-05T18:01:20Z", "hours": 0.7911, "text": "Custom goal dialog box, calibrated Stardust estimate, and GitHub release Devlog #3 Major UX Upgrades: The Stardust estimate is now more accurate and reflects the average 10x multiplier You can now manually set your daily coding goal (hours) and the progress bar will automatically adapt to reflect it What’s next: I am planning on turning this app into a fully offline, standalone .dmg installer which anyone can run on their mac! (If you’re interested in using this feel free to check out the github or drop an email or dm)"}, {"post_id": 62294, "ts": "2026-09-05T16:24:54Z", "hours": 0.88, "text": "First Working Build! (Log #2) Native macOS menu bar UI app with live polling for tracking coding hours and estimated stardust This simple and easy-to-use app made with rumps and PyObjC tracks your coding hours and estimated stardust in real time, with automatic live polling every 120 seconds, along with a bar that shows your progress towards your daily coding goal per day. You can also refresh it instantly if you wish by simply clicking Refresh Now. Next Up: I plan on adding an entry box to set your daily coding goal, and I will also add a 10x multiplier to the estimated stardust to make it as accurate as possible. Please DM me if you think you might be interested in using this!"}, {"post_id": 62210, "ts": "2026-09-05T14:00:22Z", "hours": 1.1039, "text": "Setting up Python engine & handling Hackatime local config Worked on the Hackatime macOS Menu Bar Widget! This morning I finished creating the basic skeleton for this project by setting up the project environment using Python3 and creating the basic data tracking engine ( tracker.py ). The code tries to read local credentials from ~/.wakatime.cfg in order to be able to connect to the statusbar API of Hackatime. Error handling for a non-existent config file and parsing for total coding time, active projects and languages done. Next step would be to get the actual API key working and design the actual menu bar application using rumps."}]...
|
Title: hackatime-menubar by @Saad_Syed | Stardance Title: hackatime-menubar by @Saad_Syed | Stardance
Devlogs:
Setting up Python engine & handling Hackatime local config Worked on the Hackatime macOS Menu Bar Widget! This morning I finished creating the basic skeleton for this project by setting up the project environment using Python3 and creating the basic data tracking engine ( tracker.py ). The code tries to read local credentials from ~/.wakatime.cfg in order to be able to connect to the statusbar API of Hackatime. Error handling for a non-existent config file and parsing for total coding time, active projects and languages done. Next step would be to get the actual API key working and design the actual menu bar application using rumps.
First Working Build! (Log #2) Native macOS menu bar UI app with live polling for tracking coding hours and estimated stardust This simple and easy-to-use app made with rumps and PyObjC tracks your coding hours and estimated stardust in real time, with automatic live polling every 120 seconds, along with a bar that shows your progress towards your daily coding goal per day. You can also refresh it instantly if you wish by simply clicking Refresh Now. Next Up: I plan on adding an entry box to set your daily coding goal, and I will also add a 10x multiplier to the estimated stardust to make it as accurate as possible. Please DM me if you think you might be interested in using this!
Custom goal dialog box, calibrated Stardust estimate, and GitHub release Devlog #3 Major UX Upgrades: The Stardust estimate is now more accurate and reflects the average 10x multiplier You can now manually set your daily coding goal (hours) and the progress bar will automatically adapt to reflect it What’s next: I am planning on turning this app into a fully offline, standalone .dmg installer which anyone can run on their mac! (If you’re interested in using this feel free to check out the github or drop an email or dm)
Final Release: Custom Logo & Standalone .dmg Installer! The project is officially complete, packaged and ready to ship. Generated native Apple .icns retina assetsusing macOS sips and iconutil. -Standalone Binary Bundle: Compiled the Python runtime, rumps engine, and PyObjC framework using PyInstaller with LSUIElement daemon configuration (LSUIElement makes it a purely menu bar-only app) -Standard .dmg Installer: Packaged the .app into a compressed disk image linked to /Applications via hdiutil. -Uploaded HackatimeBar.dmg to GitHub releases so anyone including you can download and install the app like any other app -You can download the app from my profile now! Happy Hacking!
Ships:
A native macOS menu bar app for Stardance/Hackclub built with Python, rumps, and PyObjC. It let’s you view your daily hours, estimated stardust earnings, and progress towards a customizable daily coding goal all from your menu bar in a clean, simple app. Tracks daily coding hours and active projects fully automatically in real-time using Hackatime’s statusbar API. Includes a custom app logo, an interactive daily goal modal dialog, and a standalone .dmg installer for vanilla macOS users. Windows version coming soon!...
|
1793080090.8710842
|
1793166490.8710842
|
|
10105
|
SchoolPool by @dxnkey | Stardance
|
dxnkey
|
1
|
7.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T21:15:28Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "🚗 SchoolPool is live! 🚗 Pool together. Lift each other. Introducing carpool matching for school communities. Students, parents, and staff can post and claim rides within their own verified school circle. Try it now, no signup required: https://github.com/guptaronav/SchoolPool/releases/tag/v1.1.0 Download the zip, drop it into the iOS Simulator, tap Mock Sign In, and you’re in. Please give me a 9 because I spent forever making this and hopefully with enough stardust I can get the apple developer license to deploy this on the app store!!!", "repo": "https://github.com/guptaronav/SchoolPool", "demo": "https://guptaronav.github.io/SchoolPool/"}]...
|
[{"post_id": 62485, "ts": "202 [{"post_id": 62485, "ts": "2026-09-05T21:07:32Z", "hours": 1.3028, "text": "Devlog #4 – SchoolPool I didn’t have an apple developer account when making this project, so rather than using TestFlight, I had to make an alternative. I set up GitHub Actions to build the app straight from the repo, zip it up, and attach it to a GitHub release automatically every time I push a version tag. Anyone can download that zip, drag it into their own Simulator, and run the real app in a couple minutes."}, {"post_id": 26492, "ts": "2026-07-11T09:49:41Z", "hours": 1.5975, "text": "Devlog #3 – SchoolPool Picked the project back up after a couple of days away and spent the first stretch just untangling repo state — the iOS repo had diverged from GitHub (turns out global GPG signing was making merges silently hang), AdminViewModel had somehow been emptied out with a duplicate copy floating around, and the Firebase service account key wasn’t gitignored. Got all of that reconciled, merged, and pushed, then ran the full test suite: 41 unit tests green. Built and launched the app on the iPhone 16 simulator, re-seeded the demo school and rides, and grabbed fresh screenshots of a living ride feed. Then I audited every source file for bugs and dead weight, and it turned up something genuinely bad: approving a verification request never actually updated the student’s user doc, so an approved student would stay stuck on the pending screen forever. On top of that, the admin review dashboard was fully built but unreachable — no navigation path led to it at all. Fixed both: approve/reject now flips the request and the user’s status + school in one atomic batch write, and the dashboard now lives in an Admin tab that only appears for school admins. The backend got a matching rules pass too — school admins can now actually write verification status, ride requests and verification requests are validated against school boundaries, and rating reads are restricted to ride participants so nobody can scrape strangers’ ratings. All validated in the Firebase emulator and committed. Two loose ends for next time: the backend repo has no git remote configured, so those commits only exist on my machine, and the new rules still need a firebase deploy to actually hit production."}, {"post_id": 24575, "ts": "2026-07-08T08:02:12Z", "hours": 1.0264, "text": "Devlog #2 – SchoolPool Spent the session auditing and tightening the SchoolPool backend on the Spark plan. I found that any user could self-grant verified/schoolAdmin/adminSchoolIds at doc-create, and a driver could rewrite any ride field. Plus ratings could target strangers and rideRequests could forge a driverId to push-spam anyone. Also, the school search was fully broken. So I fixed both of them! :P"}, {"post_id": 23993, "ts": "2026-07-07T08:12:56Z", "hours": 2.675, "text": "Devlog #1 – SchoolPool Got all ten core features built and the app running on the simulator this week — creating and finding rides, booking seats, live ride status, chat, ratings, trip history, the works. Wired up the Firebase backend too and deployed the security rules and indexes, then seeded a fake school with a handful of rides so the discovery feed actually looks alive instead of empty. Hit one wall: I’m still on Firebase’s free plan, which won’t let me turn on Cloud Storage, so the student-ID verification upload just errors out — there’s literally no bucket for the photo to land in. The code itself is fine, it just needs me to upgrade the plan. For now I’m skipping verification by flagging my test account as verified directly in the database. So the whole ride flow is working end to end and looks the way I wanted. The one broken piece is broken for a billing reason, not a code reason, which I’ll take. Next up: upgrade the plan to light up Storage + push notifications, then grab real screenshots for the App Store."}]...
|
Title: SchoolPool by @dxnkey | Stardance
Devlogs: Title: SchoolPool by @dxnkey | Stardance
Devlogs:
Devlog #1 – SchoolPool Got all ten core features built and the app running on the simulator this week — creating and finding rides, booking seats, live ride status, chat, ratings, trip history, the works. Wired up the Firebase backend too and deployed the security rules and indexes, then seeded a fake school with a handful of rides so the discovery feed actually looks alive instead of empty. Hit one wall: I’m still on Firebase’s free plan, which won’t let me turn on Cloud Storage, so the student-ID verification upload just errors out — there’s literally no bucket for the photo to land in. The code itself is fine, it just needs me to upgrade the plan. For now I’m skipping verification by flagging my test account as verified directly in the database. So the whole ride flow is working end to end and looks the way I wanted. The one broken piece is broken for a billing reason, not a code reason, which I’ll take. Next up: upgrade the plan to light up Storage + push notifications, then grab real screenshots for the App Store.
Devlog #2 – SchoolPool Spent the session auditing and tightening the SchoolPool backend on the Spark plan. I found that any user could self-grant verified/schoolAdmin/adminSchoolIds at doc-create, and a driver could rewrite any ride field. Plus ratings could target strangers and rideRequests could forge a driverId to push-spam anyone. Also, the school search was fully broken. So I fixed both of them! :P
Devlog #3 – SchoolPool Picked the project back up after a couple of days away and spent the first stretch just untangling repo state — the iOS repo had diverged from GitHub (turns out global GPG signing was making merges silently hang), AdminViewModel had somehow been emptied out with a duplicate copy floating around, and the Firebase service account key wasn’t gitignored. Got all of that reconciled, merged, and pushed, then ran the full test suite: 41 unit tests green. Built and launched the app on the iPhone 16 simulator, re-seeded the demo school and rides, and grabbed fresh screenshots of a living ride feed. Then I audited every source file for bugs and dead weight, and it turned up something genuinely bad: approving a verification request never actually updated the student’s user doc, so an approved student would stay stuck on the pending screen forever. On top of that, the admin review dashboard was fully built but unreachable — no navigation path led to it at all. Fixed both: approve/reject now flips the request and the user’s status + school in one atomic batch write, and the dashboard now lives in an Admin tab that only appears for school admins. The backend got a matching rules pass too — school admins can now actually write verification status, ride requests and verification requests are validated against school boundaries, and rating reads are restricted to ride participants so nobody can scrape strangers’ ratings. All validated in the Firebase emulator and committed. Two loose ends for next time: the backend repo has no git remote configured, so those commits only exist on my machine, and the new rules still need a firebase deploy to actually hit production.
Devlog #4 – SchoolPool I didn’t have an apple developer account when making this project, so rather than using TestFlight, I had to make an alternative. I set up GitHub Actions to build the app straight from the repo, zip it up, and attach it to a GitHub release automatically every time I push a version tag. Anyone can download that zip, drag it into their own Simulator, and run the real app in a couple minutes.
Ships:
🚗 SchoolPool is live! 🚗 Pool together. Lift each other. Introducing carpool matching for school communities. Students, parents, and staff can post and claim rides within their own verified school circle. Try it now, no signup required: https://github.com/guptaronav/SchoolPool/releases/tag/v1.1.0 Download the zip, drop it into the iOS Simulator, tap Mock Sign In, and you’re in. Please give me a 9 because I spent forever making this and hopefully with enough stardust I can get the apple developer license to deploy this on the app store!!!...
|
1793101972.7942932
|
1793188372.7942932
|
|
52843
|
stupid-ahh-reminder by @somebodyouknow | Stardance
|
somebodyouknow
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T20:58:03Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a reminder app with customtkniter in Python. It is a fairly simple app with a simple purpose to ask me if I brought my keys or not. It logs everything into JSON. Finally it is supposed to be scheduled with a local scheduling app to run everyday whenever you return to your house (and i hope that you haven’t lost your keys.)", "repo": "https://github.com/somebodyouknow66/stupid-ahh-reminder", "demo": "https://github.com/somebodyouknow66/stupid-ahh-reminder/releases/tag/Important"}]...
|
[{"post_id": 53034, "ts": "202 [{"post_id": 53034, "ts": "2026-08-23T12:54:40Z", "hours": 1.3781, "text": "My Stupid Ahh Reminder Well, I actually forget my keys alot and whenever I am out, I have to stay extra aware of where my keys actually are. I have got them stuck to my bag, but still they get misplaced. So I thought of using python to build a notfication system. This is just a customtkniter script that is supposed to be run at a given time with the windows scheduler. I first of all had built the app with tkniter, but looking at how ugly and outdated it looked. I quickly changed my mind and switched to customtkniter. I built the core functionality: Two buttons (affirmative and negative) Text label Buttons functionality JSON logging. The major error I faced was when I switched from Tkniter to CTk. I just used the replace button, bcz to be honest I have never used CTk nor tkniter before. Well bcz of knowing python, I got the hang of it pretty soon. I had fun building this one. I also got pretty nostalgic, bcz the last time I wrote python was in 2023 when I was learning CS50. That was the first time I learn python. It is nostalgic bcz so much has changed in these 3 years, it is overwhelmingly shocking."}]...
|
Title: stupid-ahh-reminder by @somebodyouknow | St Title: stupid-ahh-reminder by @somebodyouknow | Stardance
Devlogs:
My Stupid Ahh Reminder Well, I actually forget my keys alot and whenever I am out, I have to stay extra aware of where my keys actually are. I have got them stuck to my bag, but still they get misplaced. So I thought of using python to build a notfication system. This is just a customtkniter script that is supposed to be run at a given time with the windows scheduler. I first of all had built the app with tkniter, but looking at how ugly and outdated it looked. I quickly changed my mind and switched to customtkniter. I built the core functionality: Two buttons (affirmative and negative) Text label Buttons functionality JSON logging. The major error I faced was when I switched from Tkniter to CTk. I just used the replace button, bcz to be honest I have never used CTk nor tkniter before. Well bcz of knowing python, I got the hang of it pretty soon. I had fun building this one. I also got pretty nostalgic, bcz the last time I wrote python was in 2023 when I was learning CS50. That was the first time I learn python. It is nostalgic bcz so much has changed in these 3 years, it is overwhelmingly shocking.
Ships:
I made a reminder app with customtkniter in Python. It is a fairly simple app with a simple purpose to ask me if I brought my keys or not. It logs everything into JSON. Finally it is supposed to be scheduled with a local scheduling app to run everyday whenever you return to your house (and i hope that you haven’t lost your keys.)...
|
1793123761.8174348
|
1793210161.8174348
|
|
46600
|
Power-bot! by @nic | Stardance
|
nic
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T20:29:43Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Created my own Slack Bot with four different commands, each with their own starting message! Hosted on Hack Club Nest. Please use the #bot-spam channel in the HC Slack to use the bot! Current commands: /power-bot-ping, /power-bot-grovel, /power-bot-catfact, /power-bot-joke", "repo": "https://github.com/sodahaunted/power-bot", "demo": "https://app.slack.com/client/E09V59WQY1E/C0P5NE354?skip_today=1"}]...
|
[{"post_id": 62465, "ts": "202 [{"post_id": 62465, "ts": "2026-09-05T20:23:22Z", "hours": 1.1083, "text": "Power-bot Devlog! Created a Slack bot with four different commands, each with its own unique starting message! (/power-bot!) Built with Node.js in VS Code, and hosted on Hack Club Nest. The most difficult thing was setting up the bot and trying to figure out how to host it on Nest separately from my local terminal. The bot itself is very simple and mainly contains preset commands from the mission library, but I’m glad to have finished the project nonetheless."}]...
|
Title: Power-bot! by @nic | Stardance
Devlogs:
Po Title: Power-bot! by @nic | Stardance
Devlogs:
Power-bot Devlog! Created a Slack bot with four different commands, each with its own unique starting message! (/power-bot!) Built with Node.js in VS Code, and hosted on Hack Club Nest. The most difficult thing was setting up the bot and trying to figure out how to host it on Nest separately from my local terminal. The bot itself is very simple and mainly contains preset commands from the mission library, but I’m glad to have finished the project nonetheless.
Ships:
Created my own Slack Bot with four different commands, each with their own starting message! Hosted on Hack Club Nest. Please use the #bot-spam channel in the HC Slack to use the bot! Current commands: /power-bot-ping, /power-bot-grovel, /power-bot-catfact, /power-bot-joke...
|
1793134496.5241792
|
1793220896.5241792
|
|
57488
|
Da Snake Game by @aarush_kakade | Stardance
|
aarush_kakade
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T20:14:39Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Made this hangryyyy snake game, (It reminds me of myself). Do try not to crash into yourself or the walls. Fixed the movement, collision detection, scoring, and high-score saving to behave without the snake randomly deciding to ruin my entire run. It’s responsive, works with keyboard controls and mobile buttons, and is actually playable, good enough for the first ship. GO HAVE FUN!!!", "repo": "https://github.com/aarushkakade/Da-Snake-Game", "demo": "https://aarushkakade.github.io/Da-Snake-Game/"}]...
|
[{"post_id": 62443, "ts": "202 [{"post_id": 62443, "ts": "2026-09-05T19:48:52Z", "hours": 1.0283, "text": "Sup weirdos Added collision detection and food spawning to the snake game, so now the snake actually dies when it hits walls or itself and grows when it eats.Spent an hour wrestling a bug where food kept spawning on top of the snake body,fixed it by looping until the new position didn’t overlap any segment,then cleaned up the score counter so it increments properly. I’m thinking the first ship is readyyyyyy. ( It’s very rough, but okayish)"}, {"post_id": 60364, "ts": "2026-09-02T17:31:18Z", "hours": 1.2053, "text": "HALLO PEOPLE :) I spun up the skeleton for snake game: HTML board, CSS that doesn’t make my phone cry, and a basic “press arrow, snake moves” prototype. my snake was teleporting instead of gliding,until I realized I’d mixed up the timing for updates and rendering. I switched to a fixed-interval tick so the snake actually crawls instead of glitching through walls, and now I have to teach it not to eat itself, adding food, score, and those on,screen buttons so I can play like a civilized human."}]...
|
Title: Da Snake Game by @aarush_kakade | Stardance Title: Da Snake Game by @aarush_kakade | Stardance
Devlogs:
HALLO PEOPLE :) I spun up the skeleton for snake game: HTML board, CSS that doesn’t make my phone cry, and a basic “press arrow, snake moves” prototype. my snake was teleporting instead of gliding,until I realized I’d mixed up the timing for updates and rendering. I switched to a fixed-interval tick so the snake actually crawls instead of glitching through walls, and now I have to teach it not to eat itself, adding food, score, and those on,screen buttons so I can play like a civilized human.
Sup weirdos Added collision detection and food spawning to the snake game, so now the snake actually dies when it hits walls or itself and grows when it eats.Spent an hour wrestling a bug where food kept spawning on top of the snake body,fixed it by looping until the new position didn’t overlap any segment,then cleaned up the score counter so it increments properly. I’m thinking the first ship is readyyyyyy. ( It’s very rough, but okayish)
Ships:
Made this hangryyyy snake game, (It reminds me of myself). Do try not to crash into yourself or the walls. Fixed the movement, collision detection, scoring, and high-score saving to behave without the snake randomly deciding to ruin my entire run. It’s responsive, works with keyboard controls and mobile buttons, and is actually playable, good enough for the first ship. GO HAVE FUN!!!...
|
1792878532.660317
|
1793742532.660317
|
|
56467
|
Blender B-17 by @SniperShot8913 | Stardance
|
SniperShot8913
|
1
|
14.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T20:06:05Z", "hours": 14.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a B-17G model in blender. I spent about 15 hours on the project and think it came together very nice. One of the most challenging parts of the project was learning the bevel tool and all of its weird quirks. This has been a fun project to work on and hope you all enjoy", "repo": "https://github.com/Snipershot8913/B-17-Project-", "demo": "https://cad.onshape.com/documents/214a111fa5cc26a1398031fd/w/1dedf08f4aebf9a4e2b77ad0/e/f278a99304429ae718b3d65b?renderMode=0&rightPanel=appearancePanel&uiState=6ab42c8c8ca94d3e5bc97bc8"}]...
|
[{"post_id": 62435, "ts": "202 [{"post_id": 62435, "ts": "2026-09-05T19:38:11Z", "hours": 1.6542, "text": "I Think I am Finished. To use this blend you can go to the GitHub page and download the file and import it into your blender the Thanks Everyone hope you enjoy"}, {"post_id": 61594, "ts": "2026-09-04T16:04:17Z", "hours": 2.6628, "text": "We are getting close. To start I finished all the turrets and then we got it painted and it is looking very nice"}, {"post_id": 60884, "ts": "2026-09-03T15:05:15Z", "hours": 1.3261, "text": "Elevators, Yaw, Gears OW MY!! Today I finished the Elevators and the Yaw flap on the back of the plane well also finishing the back gear"}, {"post_id": 60830, "ts": "2026-09-03T13:39:04Z", "hours": 1.9839, "text": "Started working on tha tail. took some trys to get it right but I think it came out good"}, {"post_id": 59924, "ts": "2026-09-01T23:13:08Z", "hours": 4.1006, "text": "After a lot of work I completed some engine work along with the front gears of the plane"}, {"post_id": 58859, "ts": "2026-08-31T13:13:40Z", "hours": 0.5833, "text": "Added wings We are making progress"}, {"post_id": 58573, "ts": "2026-08-31T01:10:13Z", "hours": 1.75, "text": "Did some more sizing things, then worked on making the glass dome at the front and making space for the interior"}, {"post_id": 58497, "ts": "2026-08-30T22:31:32Z", "hours": 0.3167, "text": "Just started, don’t have much yet but just getting the basic form of the fuselage and the cockpit done"}]...
|
Title: Blender B-17 by @SniperShot8913 | Stardance Title: Blender B-17 by @SniperShot8913 | Stardance
Devlogs:
Just started, don’t have much yet but just getting the basic form of the fuselage and the cockpit done
Did some more sizing things, then worked on making the glass dome at the front and making space for the interior
Added wings We are making progress
After a lot of work I completed some engine work along with the front gears of the plane
Started working on tha tail. took some trys to get it right but I think it came out good
Elevators, Yaw, Gears OW MY!! Today I finished the Elevators and the Yaw flap on the back of the plane well also finishing the back gear
We are getting close. To start I finished all the turrets and then we got it painted and it is looking very nice
I Think I am Finished. To use this blend you can go to the GitHub page and download the file and import it into your blender the Thanks Everyone hope you enjoy
Ships:
I made a B-17G model in blender. I spent about 15 hours on the project and think it came together very nice. One of the most challenging parts of the project was learning the bevel tool and all of its weird quirks. This has been a fun project to work on and hope you all enjoy...
|
1793127052.7056196
|
1793213452.7056196
|
|
58703
|
cyberdeck with LoRa reciever/transmiter by @matejc cyberdeck with LoRa reciever/transmiter by @matejchnurik | Stardance...
|
matejchnurik
|
1
|
13.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T19:46:04Z", "hours": 13.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Okay so I made this cyberdeck, body is made out of paper and cardboard. You can try it yourself I also made stl files so you can 3D print the body (I dont know if it would fit cuz I dont have 3D printer) I also added to my repo downloaded site with all the logged time and journals from macondo so you can also read how I built the whole thing. I would appreciate If reviewers will ount all my logged hours from macondo. Thx", "repo": "https://github.com/gogoityme/LoRa-cyberdeck", "demo": ""}]...
|
[{"post_id": 62434, "ts": "202 [{"post_id": 62434, "ts": "2026-09-05T19:37:51Z", "hours": 12.5775, "text": "So I was working on my own cyberdeck but because it was not reviewed on macondo event I am reposting it here."}]...
|
Title: cyberdeck with LoRa reciever/transmiter by Title: cyberdeck with LoRa reciever/transmiter by @matejchnurik | Stardance
Devlogs:
So I was working on my own cyberdeck but because it was not reviewed on macondo event I am reposting it here.
Ships:
Okay so I made this cyberdeck, body is made out of paper and cardboard. You can try it yourself I also made stl files so you can 3D print the body (I dont know if it would fit cuz I dont have 3D printer) I also added to my repo downloaded site with all the logged time and journals from macondo so you can also read how I built the whole thing. I would appreciate If reviewers will ount all my logged hours from macondo. Thx...
|
1793098359.4527183
|
1793184759.4527183
|
|
58386
|
SlackinPancake by @pancakse | Stardance
|
pancakse
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T19:31:48Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made my first ever slack bot it has a ping, catfact, joke, 8ball, diagnosis and breakingnews commands and its hosted on HackClub Nest!", "repo": "https://github.com/ItzPancakse/ASlackBot/", "demo": "https://hackclub.enterprise.slack.com/archives/C0BV650D9B4"}]...
|
[{"post_id": 62422, "ts": "202 [{"post_id": 62422, "ts": "2026-09-05T19:24:21Z", "hours": 0.2822, "text": "I added a 8ball command, totally real breaking news and a diagnosis command (most of the responses are from my discord bot"}, {"post_id": 62384, "ts": "2026-09-05T18:30:34Z", "hours": 0.6828, "text": "We got the bot online and some commands"}]...
|
Title: SlackinPancake by @pancakse | Stardance
De Title: SlackinPancake by @pancakse | Stardance
Devlogs:
We got the bot online and some commands
I added a 8ball command, totally real breaking news and a diagnosis command (most of the responses are from my discord bot
Ships:
I made my first ever slack bot it has a ping, catfact, joke, 8ball, diagnosis and breakingnews commands and its hosted on HackClub Nest!...
|
1793080084.781555
|
1793166484.781555
|
|
362
|
My profile by @mr_aditya | Stardance
|
mr_aditya
|
1
|
9.19
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T19:17:20Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is my first real website which I am going to deploy/ship. I made this website so in future when I make new things or get something new I will link that to that, more likely this website is my profile. Nothing else any doubt or have new project contact me!", "repo": "https://github.com/adi-1001/Personal-Website", "demo": "https://adi-1001.vercel.app/"}]...
|
[{"post_id": 64966, "ts": "202 [{"post_id": 64966, "ts": "2026-09-09T18:23:09Z", "hours": 2.1872, "text": "Rewrite the code now. It should be good, the main problem was javascript but now I tweak it little bit it is good."}, {"post_id": 62400, "ts": "2026-09-05T18:57:11Z", "hours": 3.5333, "text": "Finally the comment box is ready and also I edit the website a little bit , structure it well and add animation into there was a bug where the custom mouse pointer was going far away upon hovering but now it is fixed. I use AI help in some part of animation but now it is pretty good. Check the website out!!"}, {"post_id": 61669, "ts": "2026-09-04T18:17:27Z", "hours": 3.3053, "text": "Website is setup now I am trying to a add feedback system so I can Improve it more and get more ideas also its like new to me this feature."}]...
|
Title: My profile by @mr_aditya | Stardance
Devlo Title: My profile by @mr_aditya | Stardance
Devlogs:
Website is setup now I am trying to a add feedback system so I can Improve it more and get more ideas also its like new to me this feature.
Finally the comment box is ready and also I edit the website a little bit , structure it well and add animation into there was a bug where the custom mouse pointer was going far away upon hovering but now it is fixed. I use AI help in some part of animation but now it is pretty good. Check the website out!!
Rewrite the code now. It should be good, the main problem was javascript but now I tweak it little bit it is good.
Ships:
This is my first real website which I am going to deploy/ship. I made this website so in future when I make new things or get something new I will link that to that, more likely this website is my profile. Nothing else any doubt or have new project contact me!...
|
1793127235.2914562
|
1793213635.2914562
|
|
57196
|
Nidofy Admin by @NiDo | Stardance
|
NiDo
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T18:44:32Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "An Admin page for my portfolio website! So my portfolio website has the feature to upload my poems. I decided to make an admin panel for it. Test it out for yourself on the demo site! Site page URL: https://nidofyadmindemo.demo.nikunjdoke.in/ Admin Page URL: https://nidofyadmin.demo.nikunjdoke.in/ Test Email: [email protected] Password: OtMvHqXoUitB Warning: All content on the demo websites is not owned by me. I am not responsible for any content posted on there and the demo URLs will be taken offline by the end of Stardance", "repo": "https://github.com/ElectroBoy404NotFound/nidofy-admin", "demo": "https://nidofyadmin.demo.nikunjdoke.in/"}]...
|
[{"post_id": 62386, "ts": "202 [{"post_id": 62386, "ts": "2026-09-05T18:41:12Z", "hours": 0.3047, "text": "I pushed everything to a subdomain (*.demo.nikunjdoke.in) and also changed the hero section, about and footer to a disclaimer stating all data on the page is publically editable"}, {"post_id": 60956, "ts": "2026-09-03T17:14:49Z", "hours": 5.2761, "text": "A bit of context- this project was initially meant for the Treasure Hunt YSWS but I never actually got around to shipping it over there, which is why I’ve decided to ship it here. Anyways, aside from that, this project is meant to be the admin side of my Personal Website, Nidofy. The admin panel is basically to allow me to upload poems and also modify old ones and add new users."}]...
|
Title: Nidofy Admin by @NiDo | Stardance
Devlogs: Title: Nidofy Admin by @NiDo | Stardance
Devlogs:
A bit of context- this project was initially meant for the Treasure Hunt YSWS but I never actually got around to shipping it over there, which is why I’ve decided to ship it here. Anyways, aside from that, this project is meant to be the admin side of my Personal Website, Nidofy. The admin panel is basically to allow me to upload poems and also modify old ones and add new users.
I pushed everything to a subdomain (*.demo.nikunjdoke.in) and also changed the hero section, about and footer to a disclaimer stating all data on the page is publically editable
Ships:
An Admin page for my portfolio website! So my portfolio website has the feature to upload my poems. I decided to make an admin panel for it. Test it out for yourself on the demo site! Site page URL: https://nidofyadmindemo.demo.nikunjdoke.in/ Admin Page URL: https://nidofyadmin.demo.nikunjdoke.in/ Test Email: [email protected] Password: OtMvHqXoUitB Warning: All content on the demo websites is not owned by me. I am not responsible for any content posted on there and the demo URLs will be taken offline by the end of Stardance...
|
1793094681.3040304
|
1793181081.3040304
|
|
58667
|
Nisarga's portfolio website by @nisarga | Star Nisarga's portfolio website by @nisarga | Stardance...
|
nisarga
|
1
|
13.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T18:05:32Z", "hours": 13.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I have put in my heart and soul to my portfolio, hope its up to the mark. There are unique features like dot cursor, loading animation. Its a complete site with 5 unique pages. Give it look, and try to find the easter egg that I have hidden in the webiste if you can. Had an amazing time building it!!! ;D", "repo": "https://github.com/nisarga-hb/my-website", "demo": "https://nisarga-hb.github.io/my-website/"}]...
|
[{"post_id": 62355, "ts": "202 [{"post_id": 62355, "ts": "2026-09-05T17:59:37Z", "hours": 12.8417, "text": "Reposting my Self made Portfolio under missions of stardance. I have worked vey hard and have used No AI. Please keep that in mind while rating. Coming to the things done, I have added Blog page and projects page to the website. there are animations now in the projects page, do check it out. More blogs are going to keep coming in blog page as i work on my future projects. Header also has a highlighted menu, hope its noticeble now. I have reowrked on the things mentioned in the previous ship and came back stronger. Hope now its good enough."}]...
|
Title: Nisarga's portfolio website by @nisarga Title: Nisarga's portfolio website by @nisarga | Stardance
Devlogs:
Reposting my Self made Portfolio under missions of stardance. I have worked vey hard and have used No AI. Please keep that in mind while rating. Coming to the things done, I have added Blog page and projects page to the website. there are animations now in the projects page, do check it out. More blogs are going to keep coming in blog page as i work on my future projects. Header also has a highlighted menu, hope its noticeble now. I have reowrked on the things mentioned in the previous ship and came back stronger. Hope now its good enough.
Ships:
I have put in my heart and soul to my portfolio, hope its up to the mark. There are unique features like dot cursor, loading animation. Its a complete site with 5 unique pages. Give it look, and try to find the easter egg that I have hidden in the webiste if you can. Had an amazing time building it!!! ;D...
|
1793098036.6144106
|
1793184436.6144106
|
|
58651
|
Pirate Pack (Minecraft plugin/datapack) by @FishyM Pirate Pack (Minecraft plugin/datapack) by @FishyMC | Stardance...
|
FishyMC
|
1
|
9.38
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T17:53:49Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a purely client side custom forge and cutlass plugin, with folia multi threaded support. On top of this, there is a datpack for pirate-like world generation :) Hard parts were the boring automation parts, and stuff like that. Also creating it all server-side was hard, but paper docs helped me!!! https://youtu.be/JcB3DCDgQ-M", "repo": "https://github.com/FishyMCDev/Pirates-and-stuff", "demo": "https://www.curseforge.com/minecraft/data-packs/pirates-n-more/preview"}]...
|
[{"post_id": 82238, "ts": "202 [{"post_id": 82238, "ts": "2026-10-24T11:18:30Z", "hours": 3.0858, "text": "Updated the entire readme.md I also added a whole lot of lag control for this! The datapack works really well now, updated curseforge, waiting for modrinth to verify"}, {"post_id": 70115, "ts": "2026-09-18T14:22:03Z", "hours": 0.2514, "text": "CURSEFORGE > MODRINTH You may now access the curseforge link at: https://www.curseforge.com/minecraft/data-packs/pirates-n-more/preview"}, {"post_id": 65540, "ts": "2026-09-10T19:01:59Z", "hours": 1.0453, "text": "Finally updated the Modrinth page! **Currently under review, can be seen at: https://modrinth.com/datapack/pirate-pack ** Enjoy some cooler photos now :)"}, {"post_id": 62328, "ts": "2026-09-05T17:09:43Z", "hours": 5.0383, "text": "Long overdue devlog This datpack incoroporates: Terralith Incendium Continents Dungeons and Taverns All together to create pirate-like world generation for the popular server PiratesMC (2.5k $ goal met!!!) The nether and end also have purple and red water oceans, and caves, so people can sail in the nether! In this devlog, I added all of the features, but there are still errors with startup, and level.dat crashes out if you remove the datapack. Incendium has a native error with the incendium:clock which INCENERATES the server thread and TPS. so that needs to be fixed in the next commit! I have also worked on a CUTLASSES plugin, which adds cutlasses to the game. This is really cool In the meantime, enjoy some AMAZING worldgeneration!"}]...
|
Title: Pirate Pack (Minecraft plugin/datapack) by Title: Pirate Pack (Minecraft plugin/datapack) by @FishyMC | Stardance
Devlogs:
Long overdue devlog This datpack incoroporates: Terralith Incendium Continents Dungeons and Taverns All together to create pirate-like world generation for the popular server PiratesMC (2.5k $ goal met!!!) The nether and end also have purple and red water oceans, and caves, so people can sail in the nether! In this devlog, I added all of the features, but there are still errors with startup, and level.dat crashes out if you remove the datapack. Incendium has a native error with the incendium:clock which INCENERATES the server thread and TPS. so that needs to be fixed in the next commit! I have also worked on a CUTLASSES plugin, which adds cutlasses to the game. This is really cool In the meantime, enjoy some AMAZING worldgeneration!
Finally updated the Modrinth page! **Currently under review, can be seen at: https://modrinth.com/datapack/pirate-pack ** Enjoy some cooler photos now :)
CURSEFORGE > MODRINTH You may now access the curseforge link at: https://www.curseforge.com/minecraft/data-packs/pirates-n-more/preview
Updated the entire readme.md I also added a whole lot of lag control for this! The datapack works really well now, updated curseforge, waiting for modrinth to verify
Ships:
I made a purely client side custom forge and cutlass plugin, with folia multi threaded support. On top of this, there is a datpack for pirate-like world generation :) Hard parts were the boring automation parts, and stuff like that. Also creating it all server-side was hard, but paper docs helped me!!! https://youtu.be/JcB3DCDgQ-M...
|
1793094939.812612
|
1793181339.812612
|
|
50342
|
Creative Artist Portfolio by @sudip_das | Stardanc Creative Artist Portfolio by @sudip_das | Stardance...
|
sudip_das
|
2
|
46.0
|
70
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T17:51:28Z", "hours": 38.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hi! This is the final ship for this project. I made this portfolio to showcase my work and creativity. This portfolio really depicts me. Compared to my first ship, In this ship , I added many things such as 2 - 3 new sections. I also focused on interactivity and creativity. The main problem I faced was in maintaining layout , structure and scrolling of the website. I hope you all like this project…", "repo": "https://github.com/sudipdas2011/portfolio", "demo": "https://sudipdas2011.github.io/portfolio/"}, {"ship_num": 2, "ts": "2026-08-22T16:06:33Z", "hours": 8.0, "multiplier": 9.18, "payout": 70, "blessing": "neutral", "text": "Hi! I made my creative portfolio from scratch, but I didn’t want it to feel like a normal portfolio website. The main idea was to make the website itself feel like part of my work. It’s built around a sharp/brutalist visual style with a lot of small interactions. The cursor changes shape when hovering over things, there’s a kinetic arrow that reacts to mouse movement, and the main hero has cards constantly orbiting around the center. I also made the second section react to scrolling, so the text doesn’t just appear normally - it comes in when you actually reach the right point. A lot of it is basically me experimenting with how far I can push small UI interactions without making the site completely unusable. The hardest part was definitely the interaction stuff. The custom cursor sounds simple until you actually try to make it work properly. It needs to know what I’m hovering over, resize itself to that element, switch between elements quickly, and even detect cards moving underneath the cursor when the mouse isn’t moving. The rotating cards were another annoying one. The whole stage rotates, but the cards need to stay upright, so I had to counter-rotate them based on the current angle. I also had quite a few annoying deployment/config problems while building it. I used AI mainly when I got stuck on bugs or couldn’t figure out why something wasn’t behaving the way I expected. And honestly, getting everything to work together without making the whole thing feel laggy was probably the biggest part. I’m probably most proud of the fact that I didn’t just make a portfolio and put my work on it. I wanted the actual website to show how I like designing and building things. The cursor, rotating stage and arrow aren’t really necessary for a portfolio, but they’re the kind of details I wanted to experiment with. I’m also happy with the code structure now because I moved a lot of the Hero logic out of ‘App.jsx’ into separate ‘components/pages’, which made the project much easier to work on. It’s also actually live now, which makes the whole project feel a lot more real :) The best way to test it is on a desktop/laptop with a mouse, because a lot of the interactions are based around mouse movement. Start in the Hero section and move the cursor around different headings, links and cards. Try leaving the mouse still while the cards rotate underneath it too. Then move the mouse down towards the bottom of the screen and you’ll see the normal cursor change into the guide arrow. Move it slowly and then quickly to see how its behaviour changes. After that, scroll down into the next section and watch how the text animation gets triggered. Basically, don’t just look at the page — move your mouse around and mess with it a bit. That’s where most of the project is.", "repo": "https://github.com/sudipdas2011/portfolio", "demo": "https://sudipdas2011.github.io/portfolio/"}]...
|
[{"post_id": 62346, "ts": "202 [{"post_id": 62346, "ts": "2026-09-05T17:45:38Z", "hours": 5.5617, "text": "Hi this is the 8th and FINAL devlog for this project. I hope u guys love my work. Lastly , I updated the readme section & also refined the Carousel scrolling problem."}, {"post_id": 61564, "ts": "2026-09-04T15:22:15Z", "hours": 11.5547, "text": "Hi guyz this is my 7th devlog From past 11-12 hours I am just trying to optimize the website Also clearing bugs and errors"}, {"post_id": 58176, "ts": "2026-08-30T15:12:15Z", "hours": 10.1681, "text": "HI Guys! This is my 6th devlog. So, quick recap: I made this creative portfolio web app using React + Vite + js. We started with just a custom minimalist cursor and revolving 3d cards. Then we added scroll animations & then a 3d dither carousel. But this devlog is very different from the previous ones… I added two things to the website that changed how the portfolio feels. The contact section – where things got weird (in a good way…) The contact section was just a plain “click here” button. I wanted something that would catch people’s attention. So I built a fluid particle simulation. With gravity control, fluid pressure , proximity based particles scaling effect, also made it in a way that mouse could add waves and move particles. Next is the footer. In footer I first i added some text for title and then some bottom copyright tags. It felt empty with a huge space in between. So, I decided to add a ASCII effect of mouse trails with a smiley. Now the portfolio has 6 sections: Hero - Minimalist cursor, orbiting cards, guide arrow Who Am I - Text that rises in as you scroll What I Do - Three skill categories Carousel [ work showcase ] - Dark-theme project gallery Contact - Interactive fluid particle physics Footer - ASCII mouse trails. It’s deployed at https://sudipdas2011.github.io/portfolio BYE ツ"}, {"post_id": 56762, "ts": "2026-08-28T17:28:36Z", "hours": 10.415, "text": "Hi Guys!This is my 5th devlog. I have added many more things to my portfolio web design. First, I completed the 2nd section of the portfolio, which is the “Who Am I?” section. I also added a 3D model into it to make it look more dynamic. Additionally, I added a 3rd section: the “What I Do” section. This part is separated into 3 sub-sections to organize my work."}, {"post_id": 52422, "ts": "2026-08-22T15:27:35Z", "hours": 0.4672, "text": "DEVLOG: 4 ADDED README : https://github.com/sudipdas2011/portfolio/blob/main/README.md"}, {"post_id": 52377, "ts": "2026-08-22T14:22:38Z", "hours": 3.2097, "text": "Hi guyz! this is my third devlog about my creative artist portfolio. i have deployed it on Github and you can check it out live at https://sudipdas2011.github.io/portfolio/ i added a lot of cool features compared to the last time. first, i split the codebase into clean page modules so it is super easy to manage. the first section is the hero section, and i made it completely auto-responsive so it scales beautifully to match any screen width. then, i added a whole second section called “Who am I ?” with a black background. i set up an observer so the text stays hidden and only triggers its rising animation when you scroll past the halfway mark of the section. Finally, i built a custom arrow guide. when your mouse moves into the bottom sector of the screen, my regular 15px square cursor shrinks away to nothing and this sleek arrow takes over. it uses physics velocity math to drag smoothly right behind your mouse movements and dynamically pivots to point at the exact bottom center target on the canvas to guide you through the page. the best part is i added an allowed sections listing feature, so the arrow guide automatically unmounts and vanishes the exact second you scroll out of the hero area down to the second page section. maybe you will hit a like! byee!!!"}, {"post_id": 51187, "ts": "2026-08-20T18:05:25Z", "hours": 3.6575, "text": "hi! this is my second devlog. i got a lot done with the layout and it feels way better now. here is everything i fixed and added: first i fixed my custom cursor. it is just a tiny box that follows the mouse normally, but when i hover over text or elements it automatically expands to match the exact size of the object. i also got it working with the spinning cards with images. if the mouse stays still, it automatically detects cards rotating underneath it. if i slide between cards, it changes target instantly instead of shrinking back down. next i made the loading screen minimal. it is just a thin line in the middle of the screen that steps forward and then disappears automatically so you do not have to press enter anymore. i also added a debug argument so i can freeze it whenever i want to check the layout. bye…"}, {"post_id": 49482, "ts": "2026-08-18T11:01:39Z", "hours": 0.3347, "text": "hi guys! This is the first-ever devlog for Stardust, an animated web app for my portfolio where I will be sharing all the stuff I do. I have just started making it, so it isn’t deployed anywhere yet. So far, I have added a minimalist loading screen and a custom cursor component that shapeshifts based on the object beneath it (as seen in the screenshots). I will be deploying it somewhere soon…"}]...
|
Title: Creative Artist Portfolio by @sudip_das | S Title: Creative Artist Portfolio by @sudip_das | Stardance
Devlogs:
hi guys! This is the first-ever devlog for Stardust, an animated web app for my portfolio where I will be sharing all the stuff I do. I have just started making it, so it isn’t deployed anywhere yet. So far, I have added a minimalist loading screen and a custom cursor component that shapeshifts based on the object beneath it (as seen in the screenshots). I will be deploying it somewhere soon…
hi! this is my second devlog. i got a lot done with the layout and it feels way better now. here is everything i fixed and added: first i fixed my custom cursor. it is just a tiny box that follows the mouse normally, but when i hover over text or elements it automatically expands to match the exact size of the object. i also got it working with the spinning cards with images. if the mouse stays still, it automatically detects cards rotating underneath it. if i slide between cards, it changes target instantly instead of shrinking back down. next i made the loading screen minimal. it is just a thin line in the middle of the screen that steps forward and then disappears automatically so you do not have to press enter anymore. i also added a debug argument so i can freeze it whenever i want to check the layout. bye…
Hi guyz! this is my third devlog about my creative artist portfolio. i have deployed it on Github and you can check it out live at https://sudipdas2011.github.io/portfolio/ i added a lot of cool features compared to the last time. first, i split the codebase into clean page modules so it is super easy to manage. the first section is the hero section, and i made it completely auto-responsive so it scales beautifully to match any screen width. then, i added a whole second section called “Who am I ?” with a black background. i set up an observer so the text stays hidden and only triggers its rising animation when you scroll past the halfway mark of the section. Finally, i built a custom arrow guide. when your mouse moves into the bottom sector of the screen, my regular 15px square cursor shrinks away to nothing and this sleek arrow takes over. it uses physics velocity math to drag smoothly right behind your mouse movements and dynamically pivots to point at the exact bottom center target on the canvas to guide you through the page. the best part is i added an allowed sections listing feature, so the arrow guide automatically unmounts and vanishes the exact second you scroll out of the hero area down to the second page section. maybe you will hit a like! byee!!!
DEVLOG: 4 ADDED README : https://github.com/sudipdas2011/portfolio/blob/main/README.md
Hi Guys!This is my 5th devlog. I have added many more things to my portfolio web design. First, I completed the 2nd section of the portfolio, which is the “Who Am I?” section. I also added a 3D model into it to make it look more dynamic. Additionally, I added a 3rd section: the “What I Do” section. This part is separated into 3 sub-sections to organize my work.
HI Guys! This is my 6th devlog. So, quick recap: I made this creative portfolio web app using React + Vite + js. We started with just a custom minimalist cursor and revolving 3d cards. Then we added scroll animations & then a 3d dither carousel. But this devlog is very different from the previous ones… I added two things to the website that changed how the portfolio feels. The contact section – where things got weird (in a good way…) The contact section was just a plain “click here” button. I wanted something that would catch people’s attention. So I built a fluid particle simulation. With gravity control, fluid pressure , proximity based particles scaling effect, also made it in a way that mouse could add waves and move particles. Next is the footer. In footer I first i added some text for title and then some bottom copyright tags. It felt empty with a huge space in between. So, I decided to add a ASCII effect of mouse trails with a smiley. Now the portfolio has 6 sections: Hero - Minimalist cursor, orbiting cards, guide arrow Who Am I - Text that rises in as you scroll What I Do - Three skill categories Carousel [ work showcase ] - Dark-theme project gallery Contact - Interactive fluid particle physics Footer - ASCII mouse trails. It’s deployed at https://sudipdas2011.github.io/portfolio BYE ツ
Hi guyz this is my 7th devlog From past 11-12 hours I am just trying to optimize the website Also clearing bugs and errors
Hi this is the 8th and FINAL devlog for this project. I hope u guys love my work. Lastly , I updated the readme section & also refined the Carousel scrolling problem.
Ships:
Hi! I made my creative portfolio from scratch, but I didn’t want it to feel like a normal portfolio website. The main idea was to make the website itself feel like part of my work. It’s built around a sharp/brutalist visual style with a lot of small interactions. The cursor changes shape when hovering over things, there’s a kinetic arrow that reacts to mouse movement, and the main hero has cards constantly orbiting around the center. I also made the second section react to scrolling, so the text doesn’t just appear normally - it comes in when you actually reach the right point. A lot of it is basically me experimenting with how far I can push small UI interactions without making the site completely unusable. The hardest part was definitely the interaction stuff. The custom cursor sounds simple until you actually try to make it work properly. It needs to know what I’m hovering over, resize itself to that element, switch between elements quickly, and even detect cards moving underneath the cursor when the mouse isn’t moving. The rotating cards were another annoying one. The whole stage rotates, but the cards need to stay upright, so I had to counter-rotate them based on the current angle. I also had quite a few annoying deployment/config problems while building it. I used AI mainly when I got stuck on bugs or couldn’t figure out why something wasn’t behaving the way I expected. And honestly, getting everything to work together without making the whole thing feel laggy was probably the biggest part. I’m probably most proud of the fact that I didn’t just make a portfolio and put my work on it. I wanted the actual website to show how I like designing and building things. The cursor, rotating stage and arrow aren’t really necessary for a portfolio, but they’re the kind of details I wanted to experiment with. I’m also happy with the code structure now because I moved a lot of the Hero logic out of ‘App.jsx’ into separate ‘components/pages’, which made the project much easier to work on. It’s also actually live now, which makes the whole project feel a lot more real :) The best way to test it is on a desktop/laptop with a mouse, because a lot of the interactions are based around mouse movement. Start in the Hero section and move the cursor around different headings, links and cards. Try leaving the mouse still while the cards rotate underneath it too. Then move the mouse down towards the bottom of the screen and you’ll see the normal cursor change into the guide arrow. Move it slowly and then quickly to see how its behaviour changes. After that, scroll down into the next section and watch how the text animation gets triggered. Basically, don’t just look at the page — move your mouse around and mess with it a bit. That’s where most of the project is.
Hi! This is the final ship for this project. I made this portfolio to showcase my work and creativity. This portfolio really depicts me. Compared to my first ship, In this ship , I added many things such as 2 - 3 new sections. I also focused on interactivity and creativity. The main problem I faced was in maintaining layout , structure and scrolling of the website. I hope you all like this project…...
|
1793116038.6718357
|
1793202438.6718357
|
|
56519
|
Jason's Personal Site by @Altruistic_Eagle | S Jason's Personal Site by @Altruistic_Eagle | Stardance...
|
Altruistic_Eagle
|
1
|
13.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T17:41:07Z", "hours": 13.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a personal website!", "repo": "https://github.com/AltruisticEagle/a-personal-website/", "demo": "https://altruisticeagle.github.io/a-personal-website/"}]...
|
[{"post_id": 62299, "ts": "202 [{"post_id": 62299, "ts": "2026-09-05T16:31:38Z", "hours": 0.3481, "text": "Some final changes to prepare for shipping, as soon as I can get that domain right…"}, {"post_id": 62271, "ts": "2026-09-05T15:47:48Z", "hours": 1.0039, "text": "And with that, I’m done all the pages! I think this is good enough for submission."}, {"post_id": 61923, "ts": "2026-09-05T02:52:49Z", "hours": 0.6786, "text": "Unfortunately, I realized that this many essays are excessive. So I’ll not be writing that many. No blog section anymore ig - I’ll just be writing one long section of essays."}, {"post_id": 61859, "ts": "2026-09-04T23:55:38Z", "hours": 0.7858, "text": "All of these are done! yay!"}, {"post_id": 61775, "ts": "2026-09-04T21:01:29Z", "hours": 0.2533, "text": "Completed a short TKS section. I really should get onto the other sections unfortunately - time wise, I’m under pressure."}, {"post_id": 61252, "ts": "2026-09-04T02:56:18Z", "hours": 1.0681, "text": "Finally finished the debate section."}, {"post_id": 61100, "ts": "2026-09-03T20:27:11Z", "hours": 0.9931, "text": "How did I not think of using Bootstrap before? It took me a long time to pick it back up, but here’s the first page with Bootstrap - my Coding page. I think I’ll stick with normal HTML for future pages though, it took so many unlogged minutes to figure out again."}, {"post_id": 60931, "ts": "2026-09-03T16:33:37Z", "hours": 0.5094, "text": "Finished the accolades section."}, {"post_id": 60896, "ts": "2026-09-03T15:29:31Z", "hours": 1.2997, "text": "Finally, a full page finished - this is the page for school I just completed."}, {"post_id": 60625, "ts": "2026-09-03T02:39:31Z", "hours": 0.4842, "text": "Unfortunately got disrupted due to a storm. However, getting started on the academics page."}, {"post_id": 60509, "ts": "2026-09-02T21:55:44Z", "hours": 0.355, "text": "The boxes are refusing to align in the centre. I don’t know why."}, {"post_id": 60373, "ts": "2026-09-02T17:46:15Z", "hours": 1.0286, "text": "Finished reorganizing the blog/essay section and began planning what to put in the main pages."}, {"post_id": 60197, "ts": "2026-09-02T12:55:00Z", "hours": 0.3089, "text": "Worked on separating the different essays for the chaotic essays/blog section, as well as linking them all together."}, {"post_id": 59996, "ts": "2026-09-02T02:42:14Z", "hours": 0.6158, "text": "Procrastinated a bit today, didn’t get too much done. However, got another start on organizing the structure."}, {"post_id": 59343, "ts": "2026-09-01T02:40:11Z", "hours": 1.1339, "text": "10 essays go brrrrr. There will be quite a significant section for blogs on my website under a section called chaotic essays, where I note down some thoughts. Always wanted to make a site where all my thoughts can really be collected."}, {"post_id": 58605, "ts": "2026-08-31T02:39:02Z", "hours": 1.3303, "text": "Made a load of pages for me to fill in. This project will be so fun. Also did more work in the CSS file, including adding red text."}, {"post_id": 58568, "ts": "2026-08-31T00:52:09Z", "hours": 0.4617, "text": "I added some more files and streamlined the organization of the project. In addition, I’ve began creating text files from which JS functions can read text and display them on the webpage."}, {"post_id": 58551, "ts": "2026-08-31T00:09:55Z", "hours": 0.335, "text": "Getting started! First initialising h1, h2, and a generic blue container; in my past dabbles with HTML they always seem to be useful. I also figured out the general amount of pages I want (i.e. the division of my website)."}]...
|
Title: Jason's Personal Site by @Altruistic_Ea Title: Jason's Personal Site by @Altruistic_Eagle | Stardance
Devlogs:
Getting started! First initialising h1, h2, and a generic blue container; in my past dabbles with HTML they always seem to be useful. I also figured out the general amount of pages I want (i.e. the division of my website).
I added some more files and streamlined the organization of the project. In addition, I’ve began creating text files from which JS functions can read text and display them on the webpage.
Made a load of pages for me to fill in. This project will be so fun. Also did more work in the CSS file, including adding red text.
10 essays go brrrrr. There will be quite a significant section for blogs on my website under a section called chaotic essays, where I note down some thoughts. Always wanted to make a site where all my thoughts can really be collected.
Procrastinated a bit today, didn’t get too much done. However, got another start on organizing the structure.
Worked on separating the different essays for the chaotic essays/blog section, as well as linking them all together.
Finished reorganizing the blog/essay section and began planning what to put in the main pages.
The boxes are refusing to align in the centre. I don’t know why.
Unfortunately got disrupted due to a storm. However, getting started on the academics page.
Finally, a full page finished - this is the page for school I just completed.
Finished the accolades section.
How did I not think of using Bootstrap before? It took me a long time to pick it back up, but here’s the first page with Bootstrap - my Coding page. I think I’ll stick with normal HTML for future pages though, it took so many unlogged minutes to figure out again.
Finally finished the debate section.
Completed a short TKS section. I really should get onto the other sections unfortunately - time wise, I’m under pressure.
All of these are done! yay!
Unfortunately, I realized that this many essays are excessive. So I’ll not be writing that many. No blog section anymore ig - I’ll just be writing one long section of essays.
And with that, I’m done all the pages! I think this is good enough for submission.
Some final changes to prepare for shipping, as soon as I can get that domain right…
Ships:
I made a personal website!...
|
1793130483.8756733
|
1793216883.8756733
|
|
58459
|
open tab by @kai_lmao | Stardance
|
kai_lmao
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T16:15:58Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "hey everyone! i just made a new project, OPEN-TAB! its a tab design thats meant to replace the boring plain new tab that most browsers have, with a sleek minimalist tab! the design uses a glassmorphism (a new word i learnt today) UI over a dark background for a simple easy to use look. it features a real-time calendar and clock grid, a direct web search bar, and shortcut links to github, youtube, Nasa, and reddit, and a NASA widget featuring APOD (a picture of the day) on the bottom which shows a new picture from Nasa every single day! i definitely ran into a few headaches while building this. i had some issues with making the main logo spin smoothly, and there were a ton of css transform bugs breaking the hover and glow effects on my widgets. getting the nasa api widget to pull the daily astronomy picture and link properly was also a bit tricky, but i managed to work through all of it (with a little bit of help from ai) to get the layout perfectly stable and tactile. im proud of how clean this turned out :)", "repo": "https://github.com/KaiTheGreat-123/open-tab", "demo": "https://kaithegreat-123.github.io/open-tab/"}]...
|
[{"post_id": 62269, "ts": "202 [{"post_id": 62269, "ts": "2026-09-05T15:42:32Z", "hours": 2.5467, "text": "i made a relatively small project, so i will all fit in this one devlog. i made this new website today called OPEN-TAB! basically, the new tabs of most browsers are boring, so this is a minimalist new tab which looks better than those boring tabs with smooth animations and easy access to popular websites!"}]...
|
Title: open tab by @kai_lmao | Stardance
Devlogs: Title: open tab by @kai_lmao | Stardance
Devlogs:
i made a relatively small project, so i will all fit in this one devlog. i made this new website today called OPEN-TAB! basically, the new tabs of most browsers are boring, so this is a minimalist new tab which looks better than those boring tabs with smooth animations and easy access to popular websites!
Ships:
hey everyone! i just made a new project, OPEN-TAB! its a tab design thats meant to replace the boring plain new tab that most browsers have, with a sleek minimalist tab! the design uses a glassmorphism (a new word i learnt today) UI over a dark background for a simple easy to use look. it features a real-time calendar and clock grid, a direct web search bar, and shortcut links to github, youtube, Nasa, and reddit, and a NASA widget featuring APOD (a picture of the day) on the bottom which shows a new picture from Nasa every single day! i definitely ran into a few headaches while building this. i had some issues with making the main logo spin smoothly, and there were a ton of css transform bugs breaking the hover and glow effects on my widgets. getting the nasa api widget to pull the daily astronomy picture and link properly was also a bit tricky, but i managed to work through all of it (with a little bit of help from ai) to get the layout perfectly stable and tactile. im proud of how clean this turned out :)...
|
1793087397.9142072
|
1793173797.9142072
|
|
56826
|
Leap and Sleep by @Shreya_Nair | Stardance
|
Shreya_Nair
|
2
|
17.0
|
186
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T16:12:59Z", "hours": 12.0, "multiplier": 14.98, "payout": 186, "blessing": "neutral", "text": "I made Leap and Sleep, a personal website designed with a universey spacey theme. You can explore the site and a little more about me each time. The most interactive part I built was the ‘Journey’ page, where you fly aboard the Milano (inspired by the Guardians of the Galaxy), visit different planets (some from gotg) and get a small piece of information about me. There is also a small chatbot on the contact page where u can ask it questions about me (i’m new to building a chatbot so it can only answer few basic questions atm). The hardest part was figuring out how to make everything work together. I was still a beginner in HTML and CSS when I started. There was a lot of trial and error (mostly errors, CSS positioning was my biggest enemy😭). I’m kinda proud that i was able to build this site from scratch. I’ve learned a lot through the process. I’ll take any feedback for my project and I hope to improve it even further. So go ahead and start on the home page, explore the navigation (click on the Milano for the journey page). ^ o^/", "repo": "https://github.com/Shreya-Nair-28/Personal-Site-leapandsleep-", "demo": "https://shreya-nair-28.github.io/Personal-Site-leapandsleep-/"}, {"ship_num": 2, "ts": "2026-09-01T18:41:26Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Deployed! I have deployed my personal site. It’s a little small with an about me, art and craft page, photography and a contact me page. I have included 3 artworks and 3 photos but i will definitely include more soon. I also plan to include my personal coding projects and write a little more about me(so far it’s just one tiny paragraph). But hey! I think it’s a great start to something amazing.", "repo": "https://github.com/Shreya-Nair-28/Personal-Site-leapandsleep-", "demo": "https://shreya-nair-28.github.io/Personal-Site-leapandsleep-/"}]...
|
[{"post_id": 62188, "ts": "202 [{"post_id": 62188, "ts": "2026-09-05T13:37:08Z", "hours": 2.0569, "text": "Removed plenty of bugs and added a new page called journey.html. It’s inspired by Marvel’s Guardians of the Galaxy. In this interactive page you can take the milano out for a ride, visit planets(some from the gotg universe) and find a little piece of information about me! Simply click on the milano on the top right on the nav bar. Had plenty of fun working on this page."}, {"post_id": 61663, "ts": "2026-09-04T18:13:02Z", "hours": 4.7175, "text": "Major additions today! I added a couple of easter eggs to my site. They’re still very buggy but i do feel good about them since i started learning HTML so very recently. I learned about collisions in js and more css selectors and how one dot can make nothing work. Hopefully you’ll be able to catch some of my easter eggs once i ship….toooodles!"}, {"post_id": 61009, "ts": "2026-09-03T18:23:00Z", "hours": 4.0478, "text": "Major improvements today! I added interactive stars to the home page and changed up most of the colours, images and gifs. there are little glow effect here and there. I added clickable information (the objects in art and craft page now respond to clicks and play little animations). I love it! Tomorrow ill work on a chatbot for the contact me page that answers questions about me!"}, {"post_id": 60377, "ts": "2026-09-02T17:50:42Z", "hours": 1.5856, "text": "worked on making it more interactive today. The photography page now has buttons to move to the prev and next page. Also on the home page, I added a little glow effect on one of the buttons and now the logo image has a little hover effect as well. I added little stars on the home page to interact with the cursor but it still needs work."}, {"post_id": 59747, "ts": "2026-09-01T17:54:52Z", "hours": 3.5467, "text": "wow. the site looked like a mess initially. All the sizes of the logos and the images were off. The font sizes too. I made the bg and the logo using canva. I think the colour scheme needs some work. It’s kinda hard to read. But it’s progress! It’s a huge difference from what the site looked like yesterday. It looks a little bit more like…well me :) Definitely need to work on the css more i think thats my weak point. but i think im ready to deploy. Excited!"}, {"post_id": 59099, "ts": "2026-08-31T18:37:12Z", "hours": 1.5756, "text": "Hey all, I thought I’d give learning HTML a go. I already have a website but that’s made with Wordpress and a free template. I wanted to design a portfolio website completely from scratch to my liking. I may retain some of the content from the WordPress site but the design would be my own. I have some experience with Canva and I plan on using it at some point. But I have to get a hand of the HTML and CSS part (being a complete beginner). Looking forward to learning!"}]...
|
Title: Leap and Sleep by @Shreya_Nair | Stardance
Title: Leap and Sleep by @Shreya_Nair | Stardance
Devlogs:
Hey all, I thought I’d give learning HTML a go. I already have a website but that’s made with Wordpress and a free template. I wanted to design a portfolio website completely from scratch to my liking. I may retain some of the content from the WordPress site but the design would be my own. I have some experience with Canva and I plan on using it at some point. But I have to get a hand of the HTML and CSS part (being a complete beginner). Looking forward to learning!
wow. the site looked like a mess initially. All the sizes of the logos and the images were off. The font sizes too. I made the bg and the logo using canva. I think the colour scheme needs some work. It’s kinda hard to read. But it’s progress! It’s a huge difference from what the site looked like yesterday. It looks a little bit more like…well me :) Definitely need to work on the css more i think thats my weak point. but i think im ready to deploy. Excited!
worked on making it more interactive today. The photography page now has buttons to move to the prev and next page. Also on the home page, I added a little glow effect on one of the buttons and now the logo image has a little hover effect as well. I added little stars on the home page to interact with the cursor but it still needs work.
Major improvements today! I added interactive stars to the home page and changed up most of the colours, images and gifs. there are little glow effect here and there. I added clickable information (the objects in art and craft page now respond to clicks and play little animations). I love it! Tomorrow ill work on a chatbot for the contact me page that answers questions about me!
Major additions today! I added a couple of easter eggs to my site. They’re still very buggy but i do feel good about them since i started learning HTML so very recently. I learned about collisions in js and more css selectors and how one dot can make nothing work. Hopefully you’ll be able to catch some of my easter eggs once i ship….toooodles!
Removed plenty of bugs and added a new page called journey.html. It’s inspired by Marvel’s Guardians of the Galaxy. In this interactive page you can take the milano out for a ride, visit planets(some from the gotg universe) and find a little piece of information about me! Simply click on the milano on the top right on the nav bar. Had plenty of fun working on this page.
Ships:
Deployed! I have deployed my personal site. It’s a little small with an about me, art and craft page, photography and a contact me page. I have included 3 artworks and 3 photos but i will definitely include more soon. I also plan to include my personal coding projects and write a little more about me(so far it’s just one tiny paragraph). But hey! I think it’s a great start to something amazing.
I made Leap and Sleep, a personal website designed with a universey spacey theme. You can explore the site and a little more about me each time. The most interactive part I built was the ‘Journey’ page, where you fly aboard the Milano (inspired by the Guardians of the Galaxy), visit different planets (some from gotg) and get a small piece of information about me. There is also a small chatbot on the contact page where u can ask it questions about me (i’m new to building a chatbot so it can only answer few basic questions atm). The hardest part was figuring out how to make everything work together. I was still a beginner in HTML and CSS when I started. There was a lot of trial and error (mostly errors, CSS positioning was my biggest enemy😭). I’m kinda proud that i was able to build this site from scratch. I’ve learned a lot through the process. I’ll take any feedback for my project and I hope to improve it even further. So go ahead and start on the home page, explore the navigation (click on the Milano for the journey page). ^ o^/...
|
1793055028.0935845
|
1793141428.0935845
|
|
46727
|
numkey by @kan411 | Stardance
|
kan411
|
1
|
9.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T15:59:07Z", "hours": 9.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Some time ago i bought a new keyboard, but unfortunetly it was 60% and was lacking numpad. Since it came with additional switch I decided to made a fully functional numpad using only one keyboard switch. It also allowed me to do something fun with my old ender 3 v2 intead of throwing it away or selling it (I used stepper motors and limit switches from it).", "repo": "https://github.com/kanal411/numkey", "demo": ""}]...
|
[{"post_id": 45132, "ts": "202 [{"post_id": 45132, "ts": "2026-08-11T13:00:21Z", "hours": 8.8219, "text": "Unfortunetly I wasn’t able to make proper devlogging because this project was made during moving hardware projects to outpost so I couldn’t create new hardware project and it is finished now."}]...
|
Title: numkey by @kan411 | Stardance
Devlogs:
Unf Title: numkey by @kan411 | Stardance
Devlogs:
Unfortunetly I wasn’t able to make proper devlogging because this project was made during moving hardware projects to outpost so I couldn’t create new hardware project and it is finished now.
Ships:
Some time ago i bought a new keyboard, but unfortunetly it was 60% and was lacking numpad. Since it came with additional switch I decided to made a fully functional numpad using only one keyboard switch. It also allowed me to do something fun with my old ender 3 v2 intead of throwing it away or selling it (I used stepper motors and limit switches from it)....
|
1793145101.8729067
|
1793231501.8729067
|
|
57458
|
Personal-Site by @theodora | Stardance
|
theodora
|
1
|
22.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T15:54:39Z", "hours": 22.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Introduction: This is a personal website that is designed to feel like a live desktop rather than a static page. It has lots of different features to make it accessible and convenient to use. Features: Clock: It has both a world clock and a local clock feature; it will show how long the other country is ahead of or behind you. This also gives UTC offset info. Weather: It will use your location API to see where you are. It will tell you what the weather is like in your area; it also tells you the wind speed in your area. To Do List: This is where you add your tasks. Local storage will store your tasks, and it separates them into low, medium, and high categories; it will help you prioritise the urgency. Playlist: I orginally tried to build a custom YouTube playlist, but it got blocked by the party. Instead, I switched to a Spotify playlist, which is embedded into the site, is more reliable, and also comes with a polished player UI for free. Projects: This is a window showcasing my projects, each attached with a short description, tags and a link back to the repo. Calculator: This started as a basic four-function calculator, and it expanded to show the running expression live above the main display. Added a history panel that saves the last 10 calculations, so past results are there to review or reuse even after a page reload, like what the phone does. Pomodoro Timer: Focus on short breaks, with 2 different countdown lengths, plus it has an animated progress ring so the user can see the remaining time. It also adds daily focus tracking, where you can track back how long you have done in each section via History. Unit Converter: Covers length, weight and temperature conversions with a swap button between units. Mascot: A small character sit on bottom-right corner; after 15 seconds of no activity, it starts a little wiggle instead of just sitting still. Click it, and it pops up a random speech-bubble tip. It also alternates between 2 different characters every 30 seconds. Draggable window: When you click the app, you can grab any title bar and move it anywhere on the screen Resize and Minimise screen: You can drag the bottom-right corner to make a window bigger or smaller. You can also click to collapse a window down to a small chip in the taskbar. Command Palette: Press Ctrl+K on Windows to bring up a searchable list of every app on the site; type to filter, arrow keys to move through results. Wallpaper Switch: There are 5 different gradient backgrounds; change them via the right-click menu, with a smooth crossfade between them. Quick Links Adding a matching set of icon links to GitHub and LinkedIn Sticky Notes This is just a quick coloured note people can jot down and delete; it is saved locally so you can still see your note next time. Serial Monitor: It has 4 metrics (CPU, memory, network latency, temperature); it will update constantly, mixed with occasional system events logged at different severity levels. It also includes pause/resume, clear and export to TXT. QR Code Generator: You can type any URL, and it will generate a QR code instantly. It includes a download button that allows you to download the QR code as a PNG file. AI Usage: I have used Claude AI to debug the code, including both syntax and logic errors. The whole website is made from personal experience. The website layout, idea, and main coding come from my idea.", "repo": "https://github.com/theodora-sin/Personal_website", "demo": "https://theodora-sin.github.io/Personal_website"}]...
|
[{"post_id": 62274, "ts": "202 [{"post_id": 62274, "ts": "2026-09-05T15:51:16Z", "hours": 2.8081, "text": "Devlog 4: I have added 2 more features: Serial Monitor: It has 4 metrics (CPU, memory, network latency, temperature). It updates constantly; it is mixed with occasional system events logged at different severity levels. It also includes pause/resume, clear and export to TXT. QR Code Generator: You can type any URL, and it will generate a QR code instantly. It includes a download button that allows you to download the QR code as a PNG file. Shipping: I have just finished modifying the README and testing all the function ensure it is working."}, {"post_id": 62058, "ts": "2026-09-05T09:10:46Z", "hours": 3.4086, "text": "Devlog 3: Hi, welcome to another devlog. In this devlog, I am focusing on improving the apps and making this website look like an actual desktop environment. Window feature : Draggable window: When you click the app, you can grab any title bar and move it anywhere on the screen Resize and Minimise screen: You can drag the bottom-right corner to make a window bigger or smaller. You can also click to collapse a window down to a small chip in the taskbar. Command Palette: Press Ctrl+K on Windows to bring up a searchable list of every app on the site; type to filter, arrow keys to move through results. Wallpaper Switch: There are 5 different gradient backgrounds; change them via the right-click menu, with a smooth crossfade between them. Quick Links Adding a matching set of icon links to GitHub and LinkedIn Sticky Notes This is just a quick coloured note people can jot down and delete; it is saved locally so you can still see your note next time."}, {"post_id": 61521, "ts": "2026-09-04T14:00:10Z", "hours": 6.7817, "text": "Devlog 2: Hi, welcome to this devlog. My personal site keeps growing- this update adds six different features to the site. Playlist: I orginally tried to build a custom YouTube playlist, but it got blocked by the party. Instead, I switched to a Spotify playlist, which is embedded into the site, which is more reliable, and it also comes with a polished player UI for free. Projects: This is a window showcasing my projects, each attached with a short description, tags and a link back to the repo Calculator: This started as a basic four-function calculator, and it expanded to show the running expression live above the main display. Added a history panel that saves the last 10 calculations, so past results are there to review or reuse even after a page reload, like what the phone does. Pomodoro Timer: Focus on short breaks, with 2 different countdown lengths, plus it has an animated progress ring so the user can see the remaining time. Unit Converter: Covers length, weight and temperature conversions with a swap button between units. Mascot: A small character sit on bottom-right corner; after 15 seconds of no activity, it starts a little wiggle instead of just sitting still. Click it, and it pops up a random speech-bubble tip."}, {"post_id": 60260, "ts": "2026-09-02T14:56:03Z", "hours": 9.1247, "text": "Devlog 1:Hi, welocome to this devlog. I want to pause on pantry scanner for a bit, as I am figuring out how to link hardware coding program to the software site. So, I decide to make my own personal Website.This personal website current have 3 features:## Clock:It has both world clock and local clock feature, it will show how long the other country are ahead or behind you.## Weather:It will use your location API to see where you are, it will tell you what the weather is like in your area, it also tell you the wind speed in your area## TO Do List:This is where you add your task in here, the local storage will store your task, and it seperate into low, medium ,high catogeries, it will help you proitize the urgentness."}]...
|
Title: Personal-Site by @theodora | Stardance
Dev Title: Personal-Site by @theodora | Stardance
Devlogs:
Devlog 1:Hi, welocome to this devlog. I want to pause on pantry scanner for a bit, as I am figuring out how to link hardware coding program to the software site. So, I decide to make my own personal Website.This personal website current have 3 features:## Clock:It has both world clock and local clock feature, it will show how long the other country are ahead or behind you.## Weather:It will use your location API to see where you are, it will tell you what the weather is like in your area, it also tell you the wind speed in your area## TO Do List:This is where you add your task in here, the local storage will store your task, and it seperate into low, medium ,high catogeries, it will help you proitize the urgentness.
Devlog 2: Hi, welcome to this devlog. My personal site keeps growing- this update adds six different features to the site. Playlist: I orginally tried to build a custom YouTube playlist, but it got blocked by the party. Instead, I switched to a Spotify playlist, which is embedded into the site, which is more reliable, and it also comes with a polished player UI for free. Projects: This is a window showcasing my projects, each attached with a short description, tags and a link back to the repo Calculator: This started as a basic four-function calculator, and it expanded to show the running expression live above the main display. Added a history panel that saves the last 10 calculations, so past results are there to review or reuse even after a page reload, like what the phone does. Pomodoro Timer: Focus on short breaks, with 2 different countdown lengths, plus it has an animated progress ring so the user can see the remaining time. Unit Converter: Covers length, weight and temperature conversions with a swap button between units. Mascot: A small character sit on bottom-right corner; after 15 seconds of no activity, it starts a little wiggle instead of just sitting still. Click it, and it pops up a random speech-bubble tip.
Devlog 3: Hi, welcome to another devlog. In this devlog, I am focusing on improving the apps and making this website look like an actual desktop environment. Window feature : Draggable window: When you click the app, you can grab any title bar and move it anywhere on the screen Resize and Minimise screen: You can drag the bottom-right corner to make a window bigger or smaller. You can also click to collapse a window down to a small chip in the taskbar. Command Palette: Press Ctrl+K on Windows to bring up a searchable list of every app on the site; type to filter, arrow keys to move through results. Wallpaper Switch: There are 5 different gradient backgrounds; change them via the right-click menu, with a smooth crossfade between them. Quick Links Adding a matching set of icon links to GitHub and LinkedIn Sticky Notes This is just a quick coloured note people can jot down and delete; it is saved locally so you can still see your note next time.
Devlog 4: I have added 2 more features: Serial Monitor: It has 4 metrics (CPU, memory, network latency, temperature). It updates constantly; it is mixed with occasional system events logged at different severity levels. It also includes pause/resume, clear and export to TXT. QR Code Generator: You can type any URL, and it will generate a QR code instantly. It includes a download button that allows you to download the QR code as a PNG file. Shipping: I have just finished modifying the README and testing all the function ensure it is working.
Ships:
Introduction: This is a personal website that is designed to feel like a live desktop rather than a static page. It has lots of different features to make it accessible and convenient to use. Features: Clock: It has both a world clock and a local clock feature; it will show how long the other country is ahead of or behind you. This also gives UTC offset info. Weather: It will use your location API to see where you are. It will tell you what the weather is like in your area; it also tells you the wind speed in your area. To Do List: This is where you add your tasks. Local storage will store your tasks, and it separates them into low, medium, and high categories; it will help you prioritise the urgency. Playlist: I orginally tried to build a custom YouTube playlist, but it got blocked by the party. Instead, I switched to a Spotify playlist, which is embedded into the site, is more reliable, and also comes with a polished player UI for free. Projects: This is a window showcasing my projects, each attached with a short description, tags and a link back to the repo. Calculator: This started as a basic four-function calculator, and it expanded to show the running expression live above the main display. Added a history panel that saves the last 10 calculations, so past results are there to review or reuse even after a page reload, like what the phone does. Pomodoro Timer: Focus on short breaks, with 2 different countdown lengths, plus it has an animated progress ring so the user can see the remaining time. It also adds daily focus tracking, where you can track back how long you have done in each section via History. Unit Converter: Covers length, weight and temperature conversions with a swap button between units. Mascot: A small character sit on bottom-right corner; after 15 seconds of no activity, it starts a little wiggle instead of just sitting still. Click it, and it pops up a random speech-bubble tip. It also alternates between 2 different characters every 30 seconds. Draggable window: When you click the app, you can grab any title bar and move it anywhere on the screen Resize and Minimise screen: You can drag the bottom-right corner to make a window bigger or smaller. You can also click to collapse a window down to a small chip in the taskbar. Command Palette: Press Ctrl+K on Windows to bring up a searchable list of every app on the site; type to filter, arrow keys to move through results. Wallpaper Switch: There are 5 different gradient backgrounds; change them via the right-click menu, with a smooth crossfade between them. Quick Links Adding a matching set of icon links to GitHub and LinkedIn Sticky Notes This is just a quick coloured note people can jot down and delete; it is saved locally so you can still see your note next time. Serial Monitor: It has 4 metrics (CPU, memory, network latency, temperature); it will update constantly, mixed with occasional system events logged at different severity levels. It also includes pause/resume, clear and export to TXT. QR Code Generator: You can type any URL, and it will generate a QR code instantly. It includes a download button that allows you to download the QR code as a PNG file. AI Usage: I have used Claude AI to debug the code, including both syntax and logic errors. The whole website is made from personal experience. The website layout, idea, and main coding come from my idea....
|
1793109109.216476
|
1793195509.216476
|
|
55365
|
Tiana's PalaceOS by @purlimurlikas | Stardance
|
purlimurlikas
|
1
|
17.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T15:42:11Z", "hours": 17.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a WebOS, which is Princess Tiana themed. The whole project was a bit challenging. I’m proud that I finally completed it and to use it, just click on try project.", "repo": "https://github.com/purlimurlikas-maker/Tiana-s-PalaceOS", "demo": "https://purlimurlikas-maker.github.io/Tiana-s-PalaceOS/"}]...
|
[{"post_id": 61650, "ts": "202 [{"post_id": 61650, "ts": "2026-09-04T17:46:26Z", "hours": 4.5261, "text": "I added changeable backgrounds, finished a recipe app and a settings app, fixed problems, updated the album, and overall made the webOS better!"}, {"post_id": 59678, "ts": "2026-09-01T16:30:40Z", "hours": 2.9886, "text": "I have fixed some problems here and there, and made the layout look cleaner."}, {"post_id": 59519, "ts": "2026-09-01T11:59:30Z", "hours": 5.0514, "text": "I made the windows closable, and started making an app. I also changed the fonts."}, {"post_id": 59045, "ts": "2026-08-31T17:07:59Z", "hours": 1.0661, "text": "I added a title, a bar that tells you the current time, and draggable windows."}, {"post_id": 58801, "ts": "2026-08-31T11:53:38Z", "hours": 2.0136, "text": "I changed the name and theme to Tiana’s PalaceOS and I am trying to get somewhere with this, although its very difficult."}, {"post_id": 58721, "ts": "2026-08-31T08:26:12Z", "hours": 0.7553, "text": "I think I’m finished with my welcome page."}, {"post_id": 58701, "ts": "2026-08-31T07:17:15Z", "hours": 0.5561, "text": "I added some css and pictures."}, {"post_id": 57167, "ts": "2026-08-29T08:37:15Z", "hours": 0.4586, "text": "I added my favourite album and a picture of my cat, and I got started with the basics."}]...
|
Title: Tiana's PalaceOS by @purlimurlikas | St Title: Tiana's PalaceOS by @purlimurlikas | Stardance
Devlogs:
I added my favourite album and a picture of my cat, and I got started with the basics.
I added some css and pictures.
I think I’m finished with my welcome page.
I changed the name and theme to Tiana’s PalaceOS and I am trying to get somewhere with this, although its very difficult.
I added a title, a bar that tells you the current time, and draggable windows.
I made the windows closable, and started making an app. I also changed the fonts.
I have fixed some problems here and there, and made the layout look cleaner.
I added changeable backgrounds, finished a recipe app and a settings app, fixed problems, updated the album, and overall made the webOS better!
Ships:
I made a WebOS, which is Princess Tiana themed. The whole project was a bit challenging. I’m proud that I finally completed it and to use it, just click on try project....
|
1793145151.2121022
|
1793231551.2121022
|
|
55742
|
Anugamya's Mac OS by @anugamyapanwar | Stardan Anugamya's Mac OS by @anugamyapanwar | Stardance...
|
anugamyapanwar
|
1
|
11.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T15:04:10Z", "hours": 11.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "hey, this is my portfolio, i wanted it to look like mac os but with some touches of mine, everything is working, and this is my final project ig :)", "repo": "https://github.com/AP-boi/Anugamyas-Portofolio", "demo": "https://anugamya.netlify.app/"}]...
|
[{"post_id": 61176, "ts": "202 [{"post_id": 61176, "ts": "2026-09-03T23:43:46Z", "hours": 5.0553, "text": "so i made the backed atleast tried and laso added setting working broser and working camera grid and also differrent wallpaper themes etc like multiple things"}, {"post_id": 57696, "ts": "2026-08-29T22:43:35Z", "hours": 1.3142, "text": "so now i have made it smooth and also pls test the camera its like one of my fav thing in it"}, {"post_id": 57348, "ts": "2026-08-29T13:56:26Z", "hours": 0.5772, "text": "log#2 Anugamya’s Portfolio made a new login part so that it more customized for visiters :)"}, {"post_id": 57184, "ts": "2026-08-29T09:18:28Z", "hours": 3.6006, "text": "working on my portfolio for fun, iw anted to try something new :)"}]...
|
Title: Anugamya's Mac OS by @anugamyapanwar | Title: Anugamya's Mac OS by @anugamyapanwar | Stardance
Devlogs:
working on my portfolio for fun, iw anted to try something new :)
log#2 Anugamya’s Portfolio made a new login part so that it more customized for visiters :)
so now i have made it smooth and also pls test the camera its like one of my fav thing in it
so i made the backed atleast tried and laso added setting working broser and working camera grid and also differrent wallpaper themes etc like multiple things
Ships:
hey, this is my portfolio, i wanted it to look like mac os but with some touches of mine, everything is working, and this is my final project ig :)...
|
1793091221.0784883
|
1793177621.0784883
|
|
54982
|
Discord-Bot by @shankkyyyy | Stardance
|
shankkyyyy
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T15:02:05Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I Have made a discord webhook library using c++, this library has classes,methods,etc for sending files,photos,videos,code to discord using this library. i am proud of building this because this is first time shipping my projects and i really proud of myself just within 2 days i have completed this work,if you trying my library make sure to have g++ compiler and cmake. go to a terminal (specifically bash or zsh any other type of terminals such as cmd or powershell will not work ig).1, go to the /src/main.cpp file and fill the blanks i have left. 2,go to the root directory and do cmake -B build, then goto build directory and do ‘make’. this will compile your code and links it with the library, and then do ‘./Send’ this will send your files or photos to discord. that’s it. the main problem with this project is that it is a messy codebase and hard to read and i am working on it. another thing is that to make this work it is really hard as need to know lot of low level stuff but i am grateful that i have learned lot of stuff in the way and please forgive me the screenshot’s and all, because i am using linux i can’t not like simply screenshot stuff there are lot of steps and i am lazy to do them and something’s in wayland is breaking so i don’t know sorry.", "repo": "https://github.com/niihhhallll/Discord-Bot", "demo": "https://github.com/niihhhallll/Discord-Bot/releases/tag/c%2B%2B"}]...
|
[{"post_id": 62246, "ts": "202 [{"post_id": 62246, "ts": "2026-09-05T14:52:21Z", "hours": 1.5122, "text": "Today i have finished this project, i have build a library where i can send messages,files,photos,videos etc through this library using webhooks, and this is a great beginning as i found my joy in c++ and programming bots as a hobby. thank you. Today i will ship this small project to hackclub."}, {"post_id": 55475, "ts": "2026-08-27T10:47:57Z", "hours": 1.2942, "text": "Good Afternoon, Today i made significant change to the Webhook Class By adding new function called sendFiles, means it can send files to discord server only using the webhook. Pretty cool right ? ik But this is kind of slow, like if i need to like send lot’s of like photos,files and all the Mime object is constructed and deconstructed everytime so tommorow i have to come up with a good solution for large scale sharing and need to add well commented code, thank you for reading my broken grammer devlog"}]...
|
Title: Discord-Bot by @shankkyyyy | Stardance
Dev Title: Discord-Bot by @shankkyyyy | Stardance
Devlogs:
Good Afternoon, Today i made significant change to the Webhook Class By adding new function called sendFiles, means it can send files to discord server only using the webhook. Pretty cool right ? ik But this is kind of slow, like if i need to like send lot’s of like photos,files and all the Mime object is constructed and deconstructed everytime so tommorow i have to come up with a good solution for large scale sharing and need to add well commented code, thank you for reading my broken grammer devlog
Today i have finished this project, i have build a library where i can send messages,files,photos,videos etc through this library using webhooks, and this is a great beginning as i found my joy in c++ and programming bots as a hobby. thank you. Today i will ship this small project to hackclub.
Ships:
I Have made a discord webhook library using c++, this library has classes,methods,etc for sending files,photos,videos,code to discord using this library. i am proud of building this because this is first time shipping my projects and i really proud of myself just within 2 days i have completed this work,if you trying my library make sure to have g++ compiler and cmake. go to a terminal (specifically bash or zsh any other type of terminals such as cmd or powershell will not work ig).1, go to the /src/main.cpp file and fill the blanks i have left. 2,go to the root directory and do cmake -B build, then goto build directory and do ‘make’. this will compile your code and links it with the library, and then do ‘./Send’ this will send your files or photos to discord. that’s it. the main problem with this project is that it is a messy codebase and hard to read and i am working on it. another thing is that to make this work it is really hard as need to know lot of low level stuff but i am grateful that i have learned lot of stuff in the way and please forgive me the screenshot’s and all, because i am using linux i can’t not like simply screenshot stuff there are lot of steps and i am lazy to do them and something’s in wayland is breaking so i don’t know sorry....
|
1793144893.3238347
|
1793231293.3238347
|
|
56783
|
My very own WebOS by @Divyansh2008 | Stardance
|
Divyansh2008
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T14:54:12Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Built NightShift OS — a desktop-style OS that runs in the browser, made from scratch in vanilla HTML/CSS/JS with no frameworks. It has draggable/resizable windows, a working calculator, a terminal that responds to real commands, a notes app, and a music player UI. My own twist beyond the guide: focus mode (dims every window except the active one) and edge-snapping (drag a window to the screen edge and it snaps to half-screen). Most proud of: getting the drag/resize/focus-mode system working smoothly, since that was all new to me. To test: open the live demo link, double-click any desktop icon to open an app, drag windows by their title bar, and try focus mode from the taskbar.", "repo": "https://github.com/Divyansh20082410/nightshift-os", "demo": "https://divyansh20082410.github.io/nightshift-os/"}]...
|
[{"post_id": 62219, "ts": "202 [{"post_id": 62219, "ts": "2026-09-05T14:09:34Z", "hours": 0.2572, "text": "This is the feature beyond what the guide covers: a focus mode toggle in the taskbar that dims every window except the one you’re actively using, so you can concentrate on one app without visual clutter from the rest. Also added edge snapping: drag any window to the left or right edge of the screen and it auto-resizes to fill half the screen, like snapping windows on a real desktop OS."}, {"post_id": 62190, "ts": "2026-09-05T13:39:58Z", "hours": 0.6094, "text": "Wired up all the JavaScript today windows now actually open when you double-click an icon, drag by the title bar, and resize from the corner. Got the calculator doing real math and the terminal responding to typed commands (help, whoami, date, clear)."}, {"post_id": 61012, "ts": "2026-09-03T18:27:10Z", "hours": 1.9836, "text": "Completed the structure and designing of my WebOs- nightshift-os"}]...
|
Title: My very own WebOS by @Divyansh2008 | Starda Title: My very own WebOS by @Divyansh2008 | Stardance
Devlogs:
Completed the structure and designing of my WebOs- nightshift-os
Wired up all the JavaScript today windows now actually open when you double-click an icon, drag by the title bar, and resize from the corner. Got the calculator doing real math and the terminal responding to typed commands (help, whoami, date, clear).
This is the feature beyond what the guide covers: a focus mode toggle in the taskbar that dims every window except the one you’re actively using, so you can concentrate on one app without visual clutter from the rest. Also added edge snapping: drag any window to the left or right edge of the screen and it auto-resizes to fill half the screen, like snapping windows on a real desktop OS.
Ships:
Built NightShift OS — a desktop-style OS that runs in the browser, made from scratch in vanilla HTML/CSS/JS with no frameworks. It has draggable/resizable windows, a working calculator, a terminal that responds to real commands, a notes app, and a music player UI. My own twist beyond the guide: focus mode (dims every window except the active one) and edge-snapping (drag a window to the screen edge and it snaps to half-screen). Most proud of: getting the drag/resize/focus-mode system working smoothly, since that was all new to me. To test: open the live demo link, double-click any desktop icon to open an app, drag windows by their title bar, and try focus mode from the taskbar....
|
1793141737.8384147
|
1793228137.8384147
|
|
56748
|
Book by @FurkanHasanusta | Stardance
|
FurkanHasanusta
|
1
|
22.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T14:49:47Z", "hours": 22.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I’m Furkan, a 9th-grade student and self-taught developer. Today I’m shipping Book Tracker (kitap.furkanhasanusta.com), a full-stack web app I built from scratch to turn messy bookshelves into an interactive, shared reading habit. The Problem At home, we have hundreds of physical books scattered across shelves. Over time, it became a total mess: My sister and I would buy the same book twice by mistake because neither of us knew what was already at home. We would read the same book at different paces, but had no way to track our own pages without dog-earing the book or using sticky notes. Goodreads felt bloated, cluttered with ads, and didn’t solve the physical shelf problem at home. I wanted something clean, private, fast, and actually fun to use with family and friends. So instead of just looking for an app, I decided to build one. What It Does & Why It’s Fun to Use Here are the features I built to solve our everyday reading problems: Barcode / ISBN Auto-Fill: Nobody wants to type page counts, publishers, and upload cover images by hand. I wired up the Google Books API so you just enter the title or ISBN, hit search, and all metadata and cover art pop in automatically. One Book, Multiple Readers: A physical book only exists once on our shelf, so it only exists once in the database. But each person in the house tracks their own progress, gives their own 1–5 star rating, and writes their own private notes. Focus Timer & Reading Speed: When I sit down to read, my phone is a huge distraction. I added a built-in timer with 25-minute Pomodoro, 45-minute Deep Reading, and open Stopwatch modes. When you stop the timer, you enter what page you started and ended on, and the app calculates your reading speed (pages per hour). Buddy Reads & Anti-Spoiler Discussions: When my friends and I read the same book, we can create a shared reading challenge with a target date and daily page goals. There’s a discussion board for leaving thoughts and reactions on specific pages—and if another person hasn’t reached that page yet, the system locks the comment behind a spoiler warning so the plot isn’t ruined! Reading Queue & Wishlist: An “Up Next” queue you can easily reorder with up/down arrows, plus a wishlist with price estimations so we know how much budget we need before buying. Stats & Streak Dashboards: Visualized with Chart.js—monthly page/book breakdowns over the last 12 months, category pie charts, favorite authors, and a daily streak counter that keeps you accountable. Quote Cards: You can save favorite lines as you read and turn them into styled quote cards ready to copy and share. Installable as an App (PWA): It’s fully responsive, has a custom dark theme, and works as an installable Progressive Web App with a bottom navigation bar on mobile phones. Tech Stack Under the Hood I wanted to learn how real-world enterprise apps are built, so I went deep into the .NET ecosystem: Backend: C# with ASP.NET Core 10 MVC Database: Microsoft SQL Server with Entity Framework Core 10 (Code-First approach with automatic migration runs on deployment) Frontend: Clean Vanilla JavaScript, CSS3 with CSS custom properties (variables) for dark mode, and HTML5 (no heavy JS frontend framework bloat) Testing: 18 automated unit tests written with xUnit and EF Core In-Memory database Data Visualization: Chart.js Try It Out! (Live Demo) The project is live right now! If you want to poke around, start a reading timer, check out the analytics, or see how the buddy read system works: Link: kitap.furkanhasanusta.com Username: test Password: test I would love to get your thoughts, brutal feedback, or suggestions on what I should add", "repo": "https://github.com/furkanhasanusta/book-tracker", "demo": "https://kitap.furkanhasanusta.com"}]...
|
[{"post_id": 62238, "ts": "202 [{"post_id": 62238, "ts": "2026-09-05T14:41:48Z", "hours": 8.6439, "text": "There was a lot of issue about the user management but it works by now."}, {"post_id": 61763, "ts": "2026-09-04T20:28:27Z", "hours": 0.7028, "text": "Last adjustments for server"}, {"post_id": 61132, "ts": "2026-09-03T21:42:48Z", "hours": 0.4592, "text": "added readme.md"}, {"post_id": 60125, "ts": "2026-09-02T09:22:26Z", "hours": 8.8756, "text": "Now I can see my statistics I can create reading sessions and also look at my wishlist. I finished this project."}, {"post_id": 59191, "ts": "2026-08-31T20:50:47Z", "hours": 1.5144, "text": "Now I can add books functionaly and also edit them too"}, {"post_id": 59091, "ts": "2026-08-31T18:28:04Z", "hours": 1.4519, "text": "I made a prototype for tracking my daily reading. I will be able to add my friends and read togheter etc. at the end of the project. But today I just made the UI for my website. Only down side of this project is unfortuneatly its Turkish but I make this for my self so there is no problem."}]...
|
Title: Book by @FurkanHasanusta | Stardance
Devlo Title: Book by @FurkanHasanusta | Stardance
Devlogs:
I made a prototype for tracking my daily reading. I will be able to add my friends and read togheter etc. at the end of the project. But today I just made the UI for my website. Only down side of this project is unfortuneatly its Turkish but I make this for my self so there is no problem.
Now I can add books functionaly and also edit them too
Now I can see my statistics I can create reading sessions and also look at my wishlist. I finished this project.
added readme.md
Last adjustments for server
There was a lot of issue about the user management but it works by now.
Ships:
I’m Furkan, a 9th-grade student and self-taught developer. Today I’m shipping Book Tracker (kitap.furkanhasanusta.com), a full-stack web app I built from scratch to turn messy bookshelves into an interactive, shared reading habit. The Problem At home, we have hundreds of physical books scattered across shelves. Over time, it became a total mess: My sister and I would buy the same book twice by mistake because neither of us knew what was already at home. We would read the same book at different paces, but had no way to track our own pages without dog-earing the book or using sticky notes. Goodreads felt bloated, cluttered with ads, and didn’t solve the physical shelf problem at home. I wanted something clean, private, fast, and actually fun to use with family and friends. So instead of just looking for an app, I decided to build one. What It Does & Why It’s Fun to Use Here are the features I built to solve our everyday reading problems: Barcode / ISBN Auto-Fill: Nobody wants to type page counts, publishers, and upload cover images by hand. I wired up the Google Books API so you just enter the title or ISBN, hit search, and all metadata and cover art pop in automatically. One Book, Multiple Readers: A physical book only exists once on our shelf, so it only exists once in the database. But each person in the house tracks their own progress, gives their own 1–5 star rating, and writes their own private notes. Focus Timer & Reading Speed: When I sit down to read, my phone is a huge distraction. I added a built-in timer with 25-minute Pomodoro, 45-minute Deep Reading, and open Stopwatch modes. When you stop the timer, you enter what page you started and ended on, and the app calculates your reading speed (pages per hour). Buddy Reads & Anti-Spoiler Discussions: When my friends and I read the same book, we can create a shared reading challenge with a target date and daily page goals. There’s a discussion board for leaving thoughts and reactions on specific pages—and if another person hasn’t reached that page yet, the system locks the comment behind a spoiler warning so the plot isn’t ruined! Reading Queue & Wishlist: An “Up Next” queue you can easily reorder with up/down arrows, plus a wishlist with price estimations so we know how much budget we need before buying. Stats & Streak Dashboards: Visualized with Chart.js—monthly page/book breakdowns over the last 12 months, category pie charts, favorite authors, and a daily streak counter that keeps you accountable. Quote Cards: You can save favorite lines as you read and turn them into styled quote cards ready to copy and share. Installable as an App (PWA): It’s fully responsive, has a custom dark theme, and works as an installable Progressive Web App with a bottom navigation bar on mobile phones. Tech Stack Under the Hood I wanted to learn how real-world enterprise apps are built, so I went deep into the .NET ecosystem: Backend: C# with ASP.NET Core 10 MVC Database: Microsoft SQL Server with Entity Framework Core 10 (Code-First approach with automatic migration runs on deployment) Frontend: Clean Vanilla JavaScript, CSS3 with CSS custom properties (variables) for dark mode, and HTML5 (no heavy JS frontend framework bloat) Testing: 18 automated unit tests written with xUnit and EF Core In-Memory database Data Visualization: Chart.js Try It Out! (Live Demo) The project is live right now! If you want to poke around, start a reading timer, check out the analytics, or see how the buddy read system works: Link: kitap.furkanhasanusta.com Username: test Password: test I would love to get your thoughts, brutal feedback, or suggestions on what I should add...
|
1793141309.0465386
|
1793227709.0465386
|
|
55818
|
Green Valley Hostel Website by @photosoflaptop12 | Green Valley Hostel Website by @photosoflaptop12 | Stardance...
|
photosoflaptop12
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T14:13:11Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I make a hostel website in which i add everything which a website need. I inspired by my brother hostel who recently moved in hostel .", "repo": "https://github.com/Prashant2881/Hostel-website", "demo": "https://prashant2881.github.io/Hostel-website/"}]...
|
[{"post_id": 61618, "ts": "202 [{"post_id": 61618, "ts": "2026-09-04T16:31:11Z", "hours": 2.9606, "text": "Hostel website"}]...
|
Title: Green Valley Hostel Website by @photosoflap Title: Green Valley Hostel Website by @photosoflaptop12 | Stardance
Devlogs:
Hostel website
Ships:
I make a hostel website in which i add everything which a website need. I inspired by my brother hostel who recently moved in hostel ....
|
1792878429.2492518
|
1793742429.2492518
|