|
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
|
|
16683
|
Blur Stuff by @AbdurRehman | Stardance
|
AbdurRehman
|
1
|
126.53
|
826
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-15T15:46:55Z", "hours": 118.0, "multiplier": 14.02, "payout": 826, "blessing": "neutral", "text": "I made Blur Stuff, a privacy focused tool for safely sharing images, videos, GIFs, and documents. It automatically detects sensitive information such as faces, license plates, text, and PII, then lets you anonymize the detected areas with different anonymization effects. It also removes EXIF metadata so other sensitive information isn’t left hidden inside the file. The goal of this project is to make sharing media safely as easy as uploading it. Instead of manually searching through a file like a document or photo and manually covering stuff you don’t want others to see, Blur Stuff does this work for you. The hardest part of making this project was making anonymization work reliably across different types of media. Images were relatively simple, but videos and GIFs require frame by frame processing while keeping detections consistent over time. And to make things efficient and fast I also had to deal with things like tracking which were really tricky. Connecting the frontend and backend was also another challenge and then hosting everything also brought it’s problems with dependency conflicts which took quite a while to solve. The thing I am most proud of is that this became a real working and professional looking application rather than just a prototype type thing. It supports most of the commonly used media formats, has multiple customization options among other neat functionalities. Also I like how this project is privacy focused. Like it doesn’t store the user’s files ever. It just processes them, removing EXIF, and gives the result. Blur Stuff can be tested by uploading an image containing faces, text, or a license plate and let it detect the sensitive regions and then select what you want anonymized, and run the anonymization. The current deployment has limited memory and resources since I’m on a free plan, so larger videos and documents can take a while to process, and very large files may run into resource limitations. The app is also deployed using Railway’s serverless option, so the server may need a few seconds to start up if it hasn’t received a request recently. Also the selected region anonymization for videos is still a bit buggy but mostly it works. These are areas I will improve in the future.", "repo": "https://github.com/RealAbdurRehman/blur-stuff", "demo": "https://blurstuff.up.railway.app"}]...
|
[{"post_id": 50269, "ts": "202 [{"post_id": 50269, "ts": "2026-08-19T13:00:35Z", "hours": 8.5269, "text": "Since shipping Blur Stuff, I got feedback that the frontend felt too generic so I completely revamped the UI to give it a more intentional and fun style. I redesigned everything from colors to typography and everything else. Now the app has a more personal feel. I also cleaned up some small things here and there."}, {"post_id": 47548, "ts": "2026-08-15T14:59:59Z", "hours": 6.7497, "text": "Since the previous dev log, I have been focused on getting Blur Stuff ready for deployment. This ended up being much more painful than I expected. The biggest part was dealing with dependency issues. The project worked locally, but moving everything to a production environment exposed a bunch of problems with Python versions, PaddlePaddle, PaddleOCR, PaddleX, PyYAML, spaCy, OpenCV and other dependencies. I spent a lot of time testing different configurations, fixing dependency conflicts, debugging the production container, and figuring out why things that seemed to work okay locally were breaking during deployment. The biggest headache was PaddleOCR. I had to deal with missing system libraries, model downloading, Paddle initialization issues and eventually a oneDNN runtime error that was causing OCR requests to return 503s. After a lot of debugging and testing different configurations, I eventually got the OCR pipeline working properly in production. That was probably the one of the most frustrating parts of the entire project, but it is finally done. I also switched the spaCy model from en_core_web_lg to en_core_web_sm. The larger model was unnecessarily heavy for what Blur Stuff needs and was making deployments take way longer. Switching to the smaller model made deployment faster and also improved performance without having a noticeable impact on the PII detection quality. After successful deployment I finished the README and added the final assets, screenshots, logo and documentation. I added the MIT license, favicon, deployment related changes and generally cleaned up the entire repository. At this point, I think Blur Stuff is ready to ship. There are definitely still improvements I could make, especially improving performance, making video anonymization more reliable and efficient, and polishing various parts of the application but I don’t want to spend more time trying to make everything perfect. The current deployment is also running on Railway’s free plan, so there are some resource and memory limitations since Blur Stuff runs several machine learning models in the same process. For now, I’m okay with that rather than spending more time optimizing around the limitations of a free deployment. For now, I’m calling it finished and shipping it since the core functionality is working and the project is deployed. I’ll definitely come back to Blur Stuff later to improve it, but I think it’s time to move on to something new."}, {"post_id": 46326, "ts": "2026-08-13T13:59:24Z", "hours": 10.0189, "text": "Since the previous dev log, I worked on fixing the remaining issues in the anonymization workflow and finishing the frontend around the application. The biggest thing I worked on was selected video anonymization. There were still some problems where selected areas could stop being anonymized correctly or the anonymization could move away from the actual object as it moved through the video or retracking when something like a face was lost. I spent quite a lot of time testing different things, tracking down where the problems were coming from, and making the selected anonymization much more reliable across video frames. This ended up taking a lot more work than I initially expected, but the selected video workflow is now working much better. It still isn’t perfect and there are still some bugs and I think I probably need a lot more time to find and fix them but right now it is in a decent working state so I don’t plan to spend more time on achieving perfection because debugging and stuff is boring as hell. I also made some improvements to the overall frontend and added the remaining main pages. I added the about, arivacy, documentation pages and also did some other improvents around the frontend. The documentation now explains the available endpoints, detection targets, anonymization modes and other features. At this point, I feel like the main application is in a really good place. The core functionality is implemented, the main frontend workflow is complete, and the remaining work is mostly getting this thing hosted and stuff. Next, I plan to write the README file, host the application, and do a final round of testing and cleanup. After that, I think I’ll consider this project finished for a while (I will work on improving it further later) and move on to building something new."}, {"post_id": 45041, "ts": "2026-08-11T08:51:50Z", "hours": 10.0544, "text": "Since the previous dev log, I continued building the application workflow and have almost completed the anonymization process. I first worked on the anonymization routes and updated the backend so that the frontend can send detected regions back to the API and have them anonymized. This allows the user to choose which detections they want to anonymize instead of always having to process everything. I also added support for passing dynamic padding (and also made it so that other dynamic stuff is easy to add later) through the request so that the effects can be customized based on what the user wants. I also added client side file handling required for the results page. The original and processed files are kept available in the browser so they can be previewed and downloaded without needing to be stored on the server. Everything also handles missing files and stuff without breaking and I also added error handling with notifications which are displayed to the user. I also made a bunch of smaller UI improvements while connecting everything together. At this point, the main frontend workflow is coming together. Next I will fix small remaining issues and improve reliability rather than adding any major change. The next things I plan to work on are to mainly fix bugs in the code. Like GIFs still need some additional handling to make sure detections are applied across the animation rather than being treated like a normal image and the existing video tracking system is able to follow detections across frames, but during testing I noticed that the anonymization can drift away from the actual detected regions in videos. This is the major thing I need to fix. And I also plan to do some small changes to the UI and stuff and fix some bugs there before adding the remaining pages like the API and documentation pages."}, {"post_id": 44018, "ts": "2026-08-09T14:49:05Z", "hours": 8.77, "text": "Since the previous dev log, I continued building the application workflow and moved beyond the initial upload interface into review/customization functionality. I first worked on the file preview system so that uploaded files can be displayed correctly even when the browser cannot natively display them. Now a preview is generated for unsupported images and documents while keeping browser previews for files that are already supported. After that, I built the results page, which is where the user can review the detections found in their uploaded file and also customise stuff for anonymisation. The biggest addition was the detection review panel. Instead of simply processing everything automatically, the interface now shows the detected content which will allow users to review individual detections and choose which ones they want to work with. A lot of the work also went into the smaller UI/UX improvements. I also fixed a ton of issues that came up while connecting the different pieces together and handling the detection data and working with different file formats. At this point, the frontend is starting to really come together and look like a real app. The next step is to connect stuff to my anonymization API. The user will be able to to select specific detections, choose how they want them anonymized, and add other customizations."}, {"post_id": 43070, "ts": "2026-08-08T04:16:11Z", "hours": 7.8842, "text": "Since the previous dev log, I continued working on the frontend and have now finished the main landing page as well as the initial anonymize/file upload page. I first started by completing the remaining parts of the landing page by adding the footer, API description section, and some final component layout and CSS improvements. After that, I started building the anonymize page, which is where the actual application workflow begins. I implemented the complete upload interface with both file selection and drag and drop feature. I also added client side file handling so uploaded files can be passed from the landing page to the anonymize page without having to upload them to the server first. To do this, I implemented a small IndexedDB based file storage system in the browser. Uploaded files are temporarily stored locally with a timestamp allowing the anonymize page to retrieve the file when the user arrives there. The stored file automatically expires after a short period and is also removed once it has been retrieved. This keeps the upload flow client side and also avoids putting the file data into the URL or sending it to the backend before processing when not needed. The anonymize page now also handles different file types correctly and displays a preview based on their type. I also added different anonymization options making it straightforward to pass the processing preferences to the backend. I too spent time fixing bugs and adding small UX improvements across the new frontend functionality. Next I am going to connect the interface to the backend API and build the actual processing experience. Rather than anonymizing everything automatically, I will create a processing page where the user will be able to decide what to anonymize and I will probably add more customization."}, {"post_id": 41878, "ts": "2026-08-06T11:22:26Z", "hours": 9.1442, "text": "Since the previous dev log I’ve been completely focused on the frontend. I first set up the frontend stack by integrating Tailwind CSS for styles and Alpine.js for lightweight interactivity. I also created a reusable layout with shared components such as the header that future pages can be built consistently and easily. With that foundation in place, I began implementing the landing page. I designed and built the hero section, which consists of a cool drag and drop upload area, and an interactive before/after comparison slider that allows users to visually compare original and anonymized images, which makes the landing page looks awesome. Besides frontend work, I made a few backend improvements as well, including cleaning up temporary video files after processing to avoid leaving unnecessary files behind as originally they weren’t properly disposed of. Next I plan to continue working on the landing page for a bit by adding a footer and maybe some other useful section before connecting everything to the existing API and implementing the upload and processing workflow and building the remaining pages needed."}, {"post_id": 40707, "ts": "2026-08-04T12:12:59Z", "hours": 5.1222, "text": "I focused on preparing everything for the frontend rather than adding new features. I reorganized the API by moving all routes into a dedicated package and grouping every endpoint under /api/v1. This gives everything a much cleaner structure and makes everything look professional. I also added detection endpoints for all supported files. Before the project was primarily focused on anonymization, and even though I had a detection endpoint, it only supported images and was buggy. These new endpoints allows receiving detection results directly without applying any effects and serve as a foundation for selective anonymization that I will implement later. While implementing these endpoints, I refactored how detection IDs are handled across the application. Before they too were buggy but I got them to work. I not only worked on the backend but also worked on the frontend by laying out it’s initial structure that I will build upon. I also spent some time cleaning up the codebase by removing unused imports and simplifying parts of the project. Now I plan to really start working on building the frontend. Now that the API structure is in place, I want to focus on creating a professional looking interface that allows users to interact with all of the functionality that has been implemented so far plus more."}, {"post_id": 40104, "ts": "2026-08-03T14:28:55Z", "hours": 7.8764, "text": "I expanded the range of file types that the application supports. Image support now includes TIFF/TIF, HEIC/HEIF, and GIF files. HEIC/HEIF images are automatically converted to PNG after processing since they are not widely supported for encoding. I also added support for documents which include PDF, DOCX, PPTX, and XLSX files. Rather than building separate anonymization logic for every Office file format, they are first converted to PDF and then are annonymized the same way as PDFs which keeps the implementation much simpler. While working on adding support for these files, I noticed that I had a bunch of duplicated code. So I spent some time refactoring stuff and removing duplicated stuff. I also found that GIF processing was slow so I worked on making it faster by treating it the same as a video and using trackers on it rather than running detection on every frame. I also made few smaller improvements, including adjusting the confidence thresholds for some of the detectors since I was noticing a bunch of false positives and fixing several bugs that came along the way. The next thing I plan to work on are cleaning up the code by finding and removing unused stuff, and then building the frontend for the application."}, {"post_id": 39358, "ts": "2026-08-02T09:02:20Z", "hours": 4.3503, "text": "I focused on improving the performance and maintainability of the anonymization system rather than adding new features. The biggest change was a refactor of the video anonymization system. Instead of repeatedly creating new anonymization masks for every frame, the tracker now caches and reuses them wherever possible. This reduces unnecessary work during video processing and also makes it easier in the future to add further performance improvements. I also improved the applications behavior by preventing both full text anonymization and PII anonymization to be selected at the same time since these targets overlap and would produce redundant processing. I also cleaned up several parts of the codebase by removing unused code and making the everything a bit easier to maintain. I also spent a lot of time experimenting with more aggressive optimization techniques but after testing, I decided to postpone those changes because they added complexity without providing the improvement I was looking for (and they were kind of buggy and it would take a lot more time to fix them). Instead, I decided to focus on optimizations that are simpler. Right now I don’t plan to work on improving the performance (even though there probably are tons of improvements to be made) because that stuff is boring and difficult as hell. Instead I’m going to add support for more file types like PDF."}, {"post_id": 38921, "ts": "2026-08-01T14:49:34Z", "hours": 4.2206, "text": "I expanded the anonymization system by adding multiple anonymization modes instead of having only the pixelization effect. The application can now switch between anonymizing regions using blur, solid fill, noise, emoji overlay, and inpainting. The emoji overlay right now is pretty basic but I plan on improving it later. I also improved the quality of face anonymization by replacing rectangular masks with elliptical masks (for some of the effects), producing better looking results. I also refactored the anonymization pipeline to separate anonymization effects from overlay rendering making future additions even easier and also cleaned up and reorganized the existing image effect implementations to improve readability and consistency across the project. Next, I plan to improve the performance of the anonymization system by trying to reuse detection targets and effect masks wherever possible."}, {"post_id": 38713, "ts": "2026-08-01T08:01:59Z", "hours": 2.0572, "text": "I improved the overall quality and efficiency of the video anonymization system. I updated detection intervals to use the video’s frame rate instead of relying on a hard coded number of frames. This allows the system to adapt well to videos with different frame rates. I also evaluated several object tracking algorithms, including DaSiamRPN, to find a good one that balances accuracy and speed. After comparing the performance of a bunch of them, I switched to Nano Tracker which was faster than my original KCF and CSRT trackers while being more accurate. I made additional improvements to privacy by removing metadata from exported videos. I am now also applying EXIF orientation before processing ensuring that images taken from different devices are processed in their correct orientation. Next, I plan to introduce different anonymization modes like blur and solid black boxes."}, {"post_id": 38633, "ts": "2026-08-01T04:05:36Z", "hours": 6.9461, "text": "I focused on adding support for videos. I first implemented a basic video anonymization system so uploaded videos could be processed the same way as images. I also made sure that the audio for the video is preserved so that it carries over to the anonymized video being unchanged. After getting the basic system working, I improved how videos are processed by adding object tracking and scene change detection. Instead of running detections on every frame, the system can now follow previously detected objects across frames and automatically run detections again when needed (when a tracker is lost, or the scene changes drastically, or periodically after a set amount of frames). This provides a great performance boost while the result stays reliable. Next, I want to continue improving video processing by optimizing it further and making it more accurate."}, {"post_id": 37518, "ts": "2026-07-30T10:23:19Z", "hours": 3.8147, "text": "I focused on improving the entire OCR system, as the previous approach with EasyOCR was missing too much text and reducing the accuracy of the entire system. After spending quite a bit of time trying to improve it, I decided to replace it with PaddleOCR. Now more accurate text detections are being produced making the entire program more robust. After, I expanded the regex based detectors to also account for URLs in addition to emails, etc. I also improved the phone number detection logic to reduce false positives and improve overall accuracy. Then, I adjusted padding around blurred regions so that stuff is covered more consistently and without blurring unnecessary content. The last thing I did was optimizing PaddleOCR as it was much slower than EasyOCR. After a lot of tinkering I was able to significantly reduce its processing time. For some files it now performs at roughly the same speed as EasyOCR while being way more accurate. Next, I probably want to add support for more file types and ultimately videos. And later also support for multiple languages."}, {"post_id": 36966, "ts": "2026-07-29T12:14:19Z", "hours": 3.4994, "text": "I added a new way for the app to detect personal information by using named entity recognition. Previously, the app could only find structured information like emails and phone numbers, but it could not detect things like names. So I integrated Presidio to identify such information from the text extracted from images. These extractions are then combined with the existing PII detections done using regex for the structured stuff. This improves the accuracy of the entire system by combining multiple detection methods instead of relying on one single approach. Next, I will improve the detection process further as right now it isn’t too accurate, mostly because I think the OCR is missing some stuff from the text. So I might try replacing it or find some other way."}, {"post_id": 36365, "ts": "2026-07-28T13:10:24Z", "hours": 6.6581, "text": "I implemented PII detection, allowing the app to identify and blur sensitive information within the text extracted from images instead of blurring everything blindly. First I used regular expressions to detect structured data such as email addresses, phone numbers, etc. But OCR frequently omitted punctuation, causing many valid emails to be missed. To fix this, I redesigned the everything around an OCR token graph. Each token stores its bounding box, neighboring tokens, and line information, allowing the detections to be more accurate. I might switch to PaddleOCR again or someother ocr so that I get more accurate detections. I also spent time improving the overall design of the PII detection system. These changes make it easier to extend in the future while improving the accuracy of the detected regions that are blurred. Next, I will implement NER based detection to identify unstructured personal information such as names."}, {"post_id": 21527, "ts": "2026-07-03T15:19:19Z", "hours": 5.6331, "text": "I implemented OCR-based text detection, allowing the application to detect text within uploaded images. I initially used PaddleOCR, but found that it took over 30 seconds to process a single image. After spending a lot of time trying to optimize its performance, I decided to switch to EasyOCR, which reduced the processing time to around one second while maintaining the same detection quality. Switching the OCR engines was well worth it. I also tried to keep the OCR implementation consistent with the face and license plate detectors and also optimized them too. Next, I will implement detection of sensitive information within the extracted text using regular expressions and NER. This will allow the application to distinguish ordinary text from personal information such as names, emails, phone numbers, etc, and allow me to blur only the relevant regions (right now the the entirety of the detected text is blurred)."}, {"post_id": 20974, "ts": "2026-07-02T18:27:02Z", "hours": 3.4869, "text": "I expanded the application by adding support for license plate detection and blurring. The app can now detect both faces and license plates in an image and blur them. I also made the API more flexible by allowing users to choose what they want to anonymize. Instead of always processing everything, they can now select whether to detect faces, license plates, or both. This makes the application more efficient and easier to extend with new features in the future. I also improved the structure of the project so that adding new types of detections will require much less work. I also added unique ids to each detection, which will be useful for future features that let users blur individual detections. Next, I will implement detection of sensitive text within images. This will allow the app to identify information such as email addresses, phone numbers, and other personal details, then blur them."}, {"post_id": 20600, "ts": "2026-07-02T07:10:58Z", "hours": 1.7692, "text": "I focused on improving the backend rather than adding new features. I reorganized the API by splitting it into smaller, more focused endpoints. For example, there’s now a dedicated endpoint that only detects faces and returns their locations, while separate endpoints handle image anonymization and API health checks. This makes the API easier to use and gives me more flexibility as I add new features. I also reorganized the detection system so that all object detection goes through a single service. At the moment it only detects faces, but it’s now much easier to add support for other types, such as license plates, without having to redesign the rest of the application. Health check endpoints let the application report whether it’s running correctly and whether the AI models have loaded successfully. Next I’m going to add detection beyond faces by adding license plate detection. These changes are gonna make it much easier for me to do so."}, {"post_id": 20144, "ts": "2026-07-01T18:06:28Z", "hours": 2.2011, "text": "I spent some time refining the face anonymization system. The pixelation effect was completely reworked to produce smoother, better looking results while blurring the faces more accurately (using the previous blur you could sometimes make out the features of the people). I also cleaned up the implementation, making the blur functionality much simpler and easier to maintain and most importantly I made it more reusable for ease of use in the future for more features. Behind the scenes, I also reorganized the project’s Python environment by removing unused libraries and recreating the virtual environment. Next I am planning to either add support for videos or make the API better by creating more focused routes such as one that only detects faces and other that returns the blur image. I also want to add functionality where the user can select which people to anonymize instead of blurring everybody detected. After that, I’ll expand beyond simple face anonymization by adding support for automatically detecting and anonymizing other sensitive information, such as license plates, documents, and other personally identifiable content."}, {"post_id": 19929, "ts": "2026-07-01T11:30:11Z", "hours": 4.4158, "text": "Replaced the temporary grayscale filter with automatic face anonymization. Uploaded images are now scanned for faces, and every detected face is pixelated. I also improved detection accuracy to reduce missed faces by tweaking a bunch of stuff for a while and adding more functionality to my face detection like running the image at multiple sizes. A lot of my time was also spent making the pixelated effect look good. I first went for only blurring the faces but now the face is pixelated along with a smooth transition into the surrounding image making the effect look pretty good. Right now images with large crowds are correctly blurred, including people who are far away or appear very small in the image."}, {"post_id": 19370, "ts": "2026-06-30T17:34:05Z", "hours": 1.9744, "text": "Integrated OpenCV so uploaded images are now decoded, processed, and returned to the client. I also introduced modularity into the code by creating separate modules for each step. The grayscale filter is only a temporary placeholder before I implement functionality such as blurring faces."}, {"post_id": 19094, "ts": "2026-06-30T09:42:15Z", "hours": 0.4869, "text": "Added image upload functionality with validation for missing files and non image uploads. The API right now only returns basic metadata about the upload. Next I’ll integrate OpenCV to begin the image processing stage."}, {"post_id": 19079, "ts": "2026-06-30T08:42:18Z", "hours": 0.6667, "text": "Set up the project’s foundation by creating Flask application structure, initializing Git, creating a virtual environment, and organizing the codebase for future features. I also got the development server running to verify everything is wired up correctly. Next, I’ll implement image uploads."}]...
|
Title: Blur Stuff by @AbdurRehman | Stardance
Dev Title: Blur Stuff by @AbdurRehman | Stardance
Devlogs:
Set up the project’s foundation by creating Flask application structure, initializing Git, creating a virtual environment, and organizing the codebase for future features. I also got the development server running to verify everything is wired up correctly. Next, I’ll implement image uploads.
Added image upload functionality with validation for missing files and non image uploads. The API right now only returns basic metadata about the upload. Next I’ll integrate OpenCV to begin the image processing stage.
Integrated OpenCV so uploaded images are now decoded, processed, and returned to the client. I also introduced modularity into the code by creating separate modules for each step. The grayscale filter is only a temporary placeholder before I implement functionality such as blurring faces.
Replaced the temporary grayscale filter with automatic face anonymization. Uploaded images are now scanned for faces, and every detected face is pixelated. I also improved detection accuracy to reduce missed faces by tweaking a bunch of stuff for a while and adding more functionality to my face detection like running the image at multiple sizes. A lot of my time was also spent making the pixelated effect look good. I first went for only blurring the faces but now the face is pixelated along with a smooth transition into the surrounding image making the effect look pretty good. Right now images with large crowds are correctly blurred, including people who are far away or appear very small in the image.
I spent some time refining the face anonymization system. The pixelation effect was completely reworked to produce smoother, better looking results while blurring the faces more accurately (using the previous blur you could sometimes make out the features of the people). I also cleaned up the implementation, making the blur functionality much simpler and easier to maintain and most importantly I made it more reusable for ease of use in the future for more features. Behind the scenes, I also reorganized the project’s Python environment by removing unused libraries and recreating the virtual environment. Next I am planning to either add support for videos or make the API better by creating more focused routes such as one that only detects faces and other that returns the blur image. I also want to add functionality where the user can select which people to anonymize instead of blurring everybody detected. After that, I’ll expand beyond simple face anonymization by adding support for automatically detecting and anonymizing other sensitive information, such as license plates, documents, and other personally identifiable content.
I focused on improving the backend rather than adding new features. I reorganized the API by splitting it into smaller, more focused endpoints. For example, there’s now a dedicated endpoint that only detects faces and returns their locations, while separate endpoints handle image anonymization and API health checks. This makes the API easier to use and gives me more flexibility as I add new features. I also reorganized the detection system so that all object detection goes through a single service. At the moment it only detects faces, but it’s now much easier to add support for other types, such as license plates, without having to redesign the rest of the application. Health check endpoints let the application report whether it’s running correctly and whether the AI models have loaded successfully. Next I’m going to add detection beyond faces by adding license plate detection. These changes are gonna make it much easier for me to do so.
I expanded the application by adding support for license plate detection and blurring. The app can now detect both faces and license plates in an image and blur them. I also made the API more flexible by allowing users to choose what they want to anonymize. Instead of always processing everything, they can now select whether to detect faces, license plates, or both. This makes the application more efficient and easier to extend with new features in the future. I also improved the structure of the project so that adding new types of detections will require much less work. I also added unique ids to each detection, which will be useful for future features that let users blur individual detections. Next, I will implement detection of sensitive text within images. This will allow the app to identify information such as email addresses, phone numbers, and other personal details, then blur them.
I implemented OCR-based text detection, allowing the application to detect text within uploaded images. I initially used PaddleOCR, but found that it took over 30 seconds to process a single image. After spending a lot of time trying to optimize its performance, I decided to switch to EasyOCR, which reduced the processing time to around one second while maintaining the same detection quality. Switching the OCR engines was well worth it. I also tried to keep the OCR implementation consistent with the face and license plate detectors and also optimized them too. Next, I will implement detection of sensitive information within the extracted text using regular expressions and NER. This will allow the application to distinguish ordinary text from personal information such as names, emails, phone numbers, etc, and allow me to blur only the relevant regions (right now the the entirety of the detected text is blurred).
I implemented PII detection, allowing the app to identify and blur sensitive information within the text extracted from images instead of blurring everything blindly. First I used regular expressions to detect structured data such as email addresses, phone numbers, etc. But OCR frequently omitted punctuation, causing many valid emails to be missed. To fix this, I redesigned the everything around an OCR token graph. Each token stores its bounding box, neighboring tokens, and line information, allowing the detections to be more accurate. I might switch to PaddleOCR again or someother ocr so that I get more accurate detections. I also spent time improving the overall design of the PII detection system. These changes make it easier to extend in the future while improving the accuracy of the detected regions that are blurred. Next, I will implement NER based detection to identify unstructured personal information such as names.
I added a new way for the app to detect personal information by using named entity recognition. Previously, the app could only find structured information like emails and phone numbers, but it could not detect things like names. So I integrated Presidio to identify such information from the text extracted from images. These extractions are then combined with the existing PII detections done using regex for the structured stuff. This improves the accuracy of the entire system by combining multiple detection methods instead of relying on one single approach. Next, I will improve the detection process further as right now it isn’t too accurate, mostly because I think the OCR is missing some stuff from the text. So I might try replacing it or find some other way.
I focused on improving the entire OCR system, as the previous approach with EasyOCR was missing too much text and reducing the accuracy of the entire system. After spending quite a bit of time trying to improve it, I decided to replace it with PaddleOCR. Now more accurate text detections are being produced making the entire program more robust. After, I expanded the regex based detectors to also account for URLs in addition to emails, etc. I also improved the phone number detection logic to reduce false positives and improve overall accuracy. Then, I adjusted padding around blurred regions so that stuff is covered more consistently and without blurring unnecessary content. The last thing I did was optimizing PaddleOCR as it was much slower than EasyOCR. After a lot of tinkering I was able to significantly reduce its processing time. For some files it now performs at roughly the same speed as EasyOCR while being way more accurate. Next, I probably want to add support for more file types and ultimately videos. And later also support for multiple languages.
I focused on adding support for videos. I first implemented a basic video anonymization system so uploaded videos could be processed the same way as images. I also made sure that the audio for the video is preserved so that it carries over to the anonymized video being unchanged. After getting the basic system working, I improved how videos are processed by adding object tracking and scene change detection. Instead of running detections on every frame, the system can now follow previously detected objects across frames and automatically run detections again when needed (when a tracker is lost, or the scene changes drastically, or periodically after a set amount of frames). This provides a great performance boost while the result stays reliable. Next, I want to continue improving video processing by optimizing it further and making it more accurate.
I improved the overall quality and efficiency of the video anonymization system. I updated detection intervals to use the video’s frame rate instead of relying on a hard coded number of frames. This allows the system to adapt well to videos with different frame rates. I also evaluated several object tracking algorithms, including DaSiamRPN, to find a good one that balances accuracy and speed. After comparing the performance of a bunch of them, I switched to Nano Tracker which was faster than my original KCF and CSRT trackers while being more accurate. I made additional improvements to privacy by removing metadata from exported videos. I am now also applying EXIF orientation before processing ensuring that images taken from different devices are processed in their correct orientation. Next, I plan to introduce different anonymization modes like blur and solid black boxes.
I expanded the anonymization system by adding multiple anonymization modes instead of having only the pixelization effect. The application can now switch between anonymizing regions using blur, solid fill, noise, emoji overlay, and inpainting. The emoji overlay right now is pretty basic but I plan on improving it later. I also improved the quality of face anonymization by replacing rectangular masks with elliptical masks (for some of the effects), producing better looking results. I also refactored the anonymization pipeline to separate anonymization effects from overlay rendering making future additions even easier and also cleaned up and reorganized the existing image effect implementations to improve readability and consistency across the project. Next, I plan to improve the performance of the anonymization system by trying to reuse detection targets and effect masks wherever possible.
I focused on improving the performance and maintainability of the anonymization system rather than adding new features. The biggest change was a refactor of the video anonymization system. Instead of repeatedly creating new anonymization masks for every frame, the tracker now caches and reuses them wherever possible. This reduces unnecessary work during video processing and also makes it easier in the future to add further performance improvements. I also improved the applications behavior by preventing both full text anonymization and PII anonymization to be selected at the same time since these targets overlap and would produce redundant processing. I also cleaned up several parts of the codebase by removing unused code and making the everything a bit easier to maintain. I also spent a lot of time experimenting with more aggressive optimization techniques but after testing, I decided to postpone those changes because they added complexity without providing the improvement I was looking for (and they were kind of buggy and it would take a lot more time to fix them). Instead, I decided to focus on optimizations that are simpler. Right now I don’t plan to work on improving the performance (even though there probably are tons of improvements to be made) because that stuff is boring and difficult as hell. Instead I’m going to add support for more file types like PDF.
I expanded the range of file types that the application supports. Image support now includes TIFF/TIF, HEIC/HEIF, and GIF files. HEIC/HEIF images are automatically converted to PNG after processing since they are not widely supported for encoding. I also added support for documents which include PDF, DOCX, PPTX, and XLSX files. Rather than building separate anonymization logic for every Office file format, they are first converted to PDF and then are annonymized the same way as PDFs which keeps the implementation much simpler. While working on adding support for these files, I noticed that I had a bunch of duplicated code. So I spent some time refactoring stuff and removing duplicated stuff. I also found that GIF processing was slow so I worked on making it faster by treating it the same as a video and using trackers on it rather than running detection on every frame. I also made few smaller improvements, including adjusting the confidence thresholds for some of the detectors since I was noticing a bunch of false positives and fixing several bugs that came along the way. The next thing I plan to work on are cleaning up the code by finding and removing unused stuff, and then building the frontend for the application.
I focused on preparing everything for the frontend rather than adding new features. I reorganized the API by moving all routes into a dedicated package and grouping every endpoint under /api/v1. This gives everything a much cleaner structure and makes everything look professional. I also added detection endpoints for all supported files. Before the project was primarily focused on anonymization, and even though I had a detection endpoint, it only supported images and was buggy. These new endpoints allows receiving detection results directly without applying any effects and serve as a foundation for selective anonymization that I will implement later. While implementing these endpoints, I refactored how detection IDs are handled across the application. Before they too were buggy but I got them to work. I not only worked on the backend but also worked on the frontend by laying out it’s initial structure that I will build upon. I also spent some time cleaning up the codebase by removing unused imports and simplifying parts of the project. Now I plan to really start working on building the frontend. Now that the API structure is in place, I want to focus on creating a professional looking interface that allows users to interact with all of the functionality that has been implemented so far plus more.
Since the previous dev log I’ve been completely focused on the frontend. I first set up the frontend stack by integrating Tailwind CSS for styles and Alpine.js for lightweight interactivity. I also created a reusable layout with shared components such as the header that future pages can be built consistently and easily. With that foundation in place, I began implementing the landing page. I designed and built the hero section, which consists of a cool drag and drop upload area, and an interactive before/after comparison slider that allows users to visually compare original and anonymized images, which makes the landing page looks awesome. Besides frontend work, I made a few backend improvements as well, including cleaning up temporary video files after processing to avoid leaving unnecessary files behind as originally they weren’t properly disposed of. Next I plan to continue working on the landing page for a bit by adding a footer and maybe some other useful section before connecting everything to the existing API and implementing the upload and processing workflow and building the remaining pages needed.
Since the previous dev log, I continued working on the frontend and have now finished the main landing page as well as the initial anonymize/file upload page. I first started by completing the remaining parts of the landing page by adding the footer, API description section, and some final component layout and CSS improvements. After that, I started building the anonymize page, which is where the actual application workflow begins. I implemented the complete upload interface with both file selection and drag and drop feature. I also added client side file handling so uploaded files can be passed from the landing page to the anonymize page without having to upload them to the server first. To do this, I implemented a small IndexedDB based file storage system in the browser. Uploaded files are temporarily stored locally with a timestamp allowing the anonymize page to retrieve the file when the user arrives there. The stored file automatically expires after a short period and is also removed once it has been retrieved. This keeps the upload flow client side and also avoids putting the file data into the URL or sending it to the backend before processing when not needed. The anonymize page now also handles different file types correctly and displays a preview based on their type. I also added different anonymization options making it straightforward to pass the processing preferences to the backend. I too spent time fixing bugs and adding small UX improvements across the new frontend functionality. Next I am going to connect the interface to the backend API and build the actual processing experience. Rather than anonymizing everything automatically, I will create a processing page where the user will be able to decide what to anonymize and I will probably add more customization.
Since the previous dev log, I continued building the application workflow and moved beyond the initial upload interface into review/customization functionality. I first worked on the file preview system so that uploaded files can be displayed correctly even when the browser cannot natively display them. Now a preview is generated for unsupported images and documents while keeping browser previews for files that are already supported. After that, I built the results page, which is where the user can review the detections found in their uploaded file and also customise stuff for anonymisation. The biggest addition was the detection review panel. Instead of simply processing everything automatically, the interface now shows the detected content which will allow users to review individual detections and choose which ones they want to work with. A lot of the work also went into the smaller UI/UX improvements. I also fixed a ton of issues that came up while connecting the different pieces together and handling the detection data and working with different file formats. At this point, the frontend is starting to really come together and look like a real app. The next step is to connect stuff to my anonymization API. The user will be able to to select specific detections, choose how they want them anonymized, and add other customizations.
Since the previous dev log, I continued building the application workflow and have almost completed the anonymization process. I first worked on the anonymization routes and updated the backend so that the frontend can send detected regions back to the API and have them anonymized. This allows the user to choose which detections they want to anonymize instead of always having to process everything. I also added support for passing dynamic padding (and also made it so that other dynamic stuff is easy to add later) through the request so that the effects can be customized based on what the user wants. I also added client side file handling required for the results page. The original and processed files are kept available in the browser so they can be previewed and downloaded without needing to be stored on the server. Everything also handles missing files and stuff without breaking and I also added error handling with notifications which are displayed to the user. I also made a bunch of smaller UI improvements while connecting everything together. At this point, the main frontend workflow is coming together. Next I will fix small remaining issues and improve reliability rather than adding any major change. The next things I plan to work on are to mainly fix bugs in the code. Like GIFs still need some additional handling to make sure detections are applied across the animation rather than being treated like a normal image and the existing video tracking system is able to follow detections across frames, but during testing I noticed that the anonymization can drift away from the actual detected regions in videos. This is the major thing I need to fix. And I also plan to do some small changes to the UI and stuff and fix some bugs there before adding the remaining pages like the API and documentation pages.
Since the previous dev log, I worked on fixing the remaining issues in the anonymization workflow and finishing the frontend around the application. The biggest thing I worked on was selected video anonymization. There were still some problems where selected areas could stop being anonymized correctly or the anonymization could move away from the actual object as it moved through the video or retracking when something like a face was lost. I spent quite a lot of time testing different things, tracking down where the problems were coming from, and making the selected anonymization much more reliable across video frames. This ended up taking a lot more work than I initially expected, but the selected video workflow is now working much better. It still isn’t perfect and there are still some bugs and I think I probably need a lot more time to find and fix them but right now it is in a decent working state so I don’t plan to spend more time on achieving perfection because debugging and stuff is boring as hell. I also made some improvements to the overall frontend and added the remaining main pages. I added the about, arivacy, documentation pages and also did some other improvents around the frontend. The documentation now explains the available endpoints, detection targets, anonymization modes and other features. At this point, I feel like the main application is in a really good place. The core functionality is implemented, the main frontend workflow is complete, and the remaining work is mostly getting this thing hosted and stuff. Next, I plan to write the README file, host the application, and do a final round of testing and cleanup. After that, I think I’ll consider this project finished for a while (I will work on improving it further later) and move on to building something new.
Since the previous dev log, I have been focused on getting Blur Stuff ready for deployment. This ended up being much more painful than I expected. The biggest part was dealing with dependency issues. The project worked locally, but moving everything to a production environment exposed a bunch of problems with Python versions, PaddlePaddle, PaddleOCR, PaddleX, PyYAML, spaCy, OpenCV and other dependencies. I spent a lot of time testing different configurations, fixing dependency conflicts, debugging the production container, and figuring out why things that seemed to work okay locally were breaking during deployment. The biggest headache was PaddleOCR. I had to deal with missing system libraries, model downloading, Paddle initialization issues and eventually a oneDNN runtime error that was causing OCR requests to return 503s. After a lot of debugging and testing different configurations, I eventually got the OCR pipeline working properly in production. That was probably the one of the most frustrating parts of the entire project, but it is finally done. I also switched the spaCy model from en_core_web_lg to en_core_web_sm. The larger model was unnecessarily heavy for what Blur Stuff needs and was making deployments take way longer. Switching to the smaller model made deployment faster and also improved performance without having a noticeable impact on the PII detection quality. After successful deployment I finished the README and added the final assets, screenshots, logo and documentation. I added the MIT license, favicon, deployment related changes and generally cleaned up the entire repository. At this point, I think Blur Stuff is ready to ship. There are definitely still improvements I could make, especially improving performance, making video anonymization more reliable and efficient, and polishing various parts of the application but I don’t want to spend more time trying to make everything perfect. The current deployment is also running on Railway’s free plan, so there are some resource and memory limitations since Blur Stuff runs several machine learning models in the same process. For now, I’m okay with that rather than spending more time optimizing around the limitations of a free deployment. For now, I’m calling it finished and shipping it since the core functionality is working and the project is deployed. I’ll definitely come back to Blur Stuff later to improve it, but I think it’s time to move on to something new.
Since shipping Blur Stuff, I got feedback that the frontend felt too generic so I completely revamped the UI to give it a more intentional and fun style. I redesigned everything from colors to typography and everything else. Now the app has a more personal feel. I also cleaned up some small things here and there.
Ships:
I made Blur Stuff, a privacy focused tool for safely sharing images, videos, GIFs, and documents. It automatically detects sensitive information such as faces, license plates, text, and PII, then lets you anonymize the detected areas with different anonymization effects. It also removes EXIF metadata so other sensitive information isn’t left hidden inside the file. The goal of this project is to make sharing media safely as easy as uploading it. Instead of manually searching through a file like a document or photo and manually covering stuff you don’t want others to see, Blur Stuff does this work for you. The hardest part of making this project was making anonymization work reliably across different types of media. Images were relatively simple, but videos and GIFs require frame by frame processing while keeping detections consistent over time. And to make things efficient and fast I also had to deal with things like tracking which were really tricky. Connecting the frontend and backend was also another challenge and then hosting everything also brought it’s problems with dependency conflicts which took quite a while to solve. The thing I am most proud of is that this became a real working and professional looking application rather than just a prototype type thing. It supports most of the commonly used media formats, has multiple customization options among other neat functionalities. Also I like how this project is privacy focused. Like it doesn’t store the user’s files ever. It just processes them, removing EXIF, and gives the result. Blur Stuff can be tested by uploading an image containing faces, text, or a license plate and let it detect the sensitive regions and then select what you want anonymized, and run the anonymization. The current deployment has limited memory and resources since I’m on a free plan, so larger videos and documents can take a while to process, and very large files may run into resource limitations. The app is also deployed using Railway’s serverless option, so the server may need a few seconds to start up if it hasn’t received a request recently. Also the selected region anonymization for videos is still a bit buggy but mostly it works. These are areas I will improve in the future....
|
1793000835.739663
|
1793087235.739663
|
|
41770
|
MacIdeas by @tonymac129 | Stardance
|
tonymac129
|
1
|
53.0
|
825
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T05:11:51Z", "hours": 53.0, "multiplier": 15.61, "payout": 825, "blessing": "neutral", "text": "MacIdeas is a fullstack online platform for managing, organizing, and keeping track of your work, including tasks, notes, and projects! Now, before you think this is just another generic boring todo list app and give me a 1 star in originality…, well, it kind of is a todo app, but with a ton of many different features, customization, and settings, as well as notes with a complete, functional rich text editor, folders for convenient organization, and projects for organizing your different tasks, notes, folders, and everything else into manageable groups that you can easily browse through. You can edit and assign tasks priorities, due/start dates, tags, subtasks, projects, folders, links, completion, star them, and view all the info from the details panel. There are also features like search, sort, filter, tags, views, star, emojis, and other options that make browsing, navigating, and finding items a lot easier and more efficient. To make the website accessible to everyone, MacIdeas has smooth transitions and animations, fully supports both dark and light modes (and your own background images or colors), as well as responsive design for (nearly) all screen sizes, and complete SEO metadata for each page. All you need to do is to sign in with MacWeb, the central platform for my projects’ auth and account info (since MacIdeas is one of its many apps), and you’ll be redirected back and have access to try out all those features! It has everything you would expect from a real task manager and text editor, so hopefully you’ll like my project :)", "repo": "https://github.com/Mac-Web/macideas-next", "demo": "https://macideas.macweb.app"}]...
|
[{"post_id": 71609, "ts": "202 [{"post_id": 71609, "ts": "2026-09-21T04:58:39Z", "hours": 4.6342, "text": "Last devlog: note features and final touches! MacIdeas is finally finished and ready to ship! In this last massive devlog, I added a few new quality of life features, did a ton of general/styling/auth bug fixes, and polished the entire project ! Added note content persistence, meaning you can actually save each note’s content to your account data, including its text, formatting, and everything. Autosave automatically does this every 30 seconds, but you can also manually save with ctrl+s or by pressing the save button Added a few new editor features from Tiptap for typography and general formatting to make note taking more powerful and complete You can now select custom background colors (along with custom backdrop images) to customize the appearance of each task list and note page ! The nav search had been there doing nothing ever since the first devlog , so I finally added a powerful search bar to the nav bar that uses a new API endpoint to search through all the information in all your task lists, tasks, notes, projects, and folders and displays the results as a list of links for convenient browsing and navigation! Added section descriptions and icons for the major features on the homepage Updated styling, content, code, and layout Updated the README with a demo screenshot and updated info about features Fixed a lot of bugs related to general usage, empty user data, styling issues with modals, auth redirect, and many other things I don’t want to remember to improve the overall user experience I took a one week break in this last stretch, so there was probably other stuff I did that I forgot, so hopefully my storytelling isn’t that bad"}, {"post_id": 66657, "ts": "2026-09-12T14:50:05Z", "hours": 3.7656, "text": "Rich text editing for notes! Added a complete, feature-rich, and easy to use rich text editor for creating and editing your notes! This means you can now actually take notes with features like text formatting, links, headings, lists, inline components, and a lot of other features you would expect from tools like Google Docs There is a top tool bar with a ton of options, buttons, and dropdowns organized into different functional sections (I definitely did not just copy GDocs ) to format/edit/modify your current content selection easily Most of the features support keyboard shortcuts (because of Tiptap), which you can see by hovering over the option and reading its tooltip I tried making my own web based rich text editor from scratch before, and it turned out to be a nightmare of dom manipulation and other headaches, so this time I decided to just use the library Tiptap, which itself is based on the library ProseMirror, to handle this pain in the butt Since Tiptap is completely headless, I still spent a lot of time going through its docs, installing useful extensions, learning their commands, and building, testing, and tweaking all the features to make everything work smoothly I don’t know why I’ve been neglecting actually adding notes for so long (before each note was just a blank page saying “Untitled note” that you couldn’t even edit ), but this actually turned out to be super fun to implement and the result was very rewarding Note saving doesn’t actually work yet (despite the fake “Note saved” autosave message ) since there are still some things about the editor to fix, but hopefully that’ll be implemented soon and MacIdeas will be almost ready to ship! The text editor also works with light mode, and I also updated some styling to improve the UI"}, {"post_id": 65705, "ts": "2026-09-11T01:12:55Z", "hours": 2.3211, "text": "Light mode toggle The mode option in the nav user menu now toggles the site’s entire appearance between dark and light mode to improve its customizability and accessibility Because every component has a default color transition, switching between the 2 modes has a smooth UI transition instead of flashing to the other color instantly I had to set up the theme provider and manually add the light mode Tailwind classes and the dark mode prefix for all the colors in every page and component, as well as accounting for all most of the display color edge cases, so this took quite a long time but the result was worth it, both modes look pretty consistent and visually appealing I am finally back to developing MacIdeas after taking a one month break, so I spent some time familiarizing myself with the codebase again. Hopefully this time I’ll be able to finish and ship it soon! Updated styling and layout Added and updated some dependencies"}, {"post_id": 45249, "ts": "2026-08-11T16:25:12Z", "hours": 5.2492, "text": "Project page and contents Added a dedicated page for each project that is its own file browser where you can open/interact with the contents, view their information and metadata, and search, filter, and sort through them so you can better manage and view your projects Added an option on the project page that opens a modal displaying all your folders, task lists, tasks, and notes grouped into 4 different tabs. Each item is a checkbox so you can select exactly which items to add to or remove from the project You can also search through each tab’s results and see their names and icons to make finding the right item quick and easy This seemed like a simple feature to implement but getting to cooperate was a nightmare since each item has its own data type, so organizing the data structure for both the frontend and backend required a lot of annoying unions and conditionals There is now a top bar in the project browser with the name, type, modified, and created labels which you can click on to sort the contents accordingly Each item also shows its type and modified & created times, as well as an icon where you can change the item’s emoji directly, making browsing and managing your stuff more convenient You can also edit the project’s name and description directly by clicking on the page title and text Updated styling and layout I procrastinated on this devlog for 2 days and got no work done, so I think this might be a sign for me to take a break from Stardance for a few days since I also need to work on hosting 8-Bit Jam (awesome game jam, if you live near nova plz go register ) and other stuff, so there won’t be new devlogs in a while"}, {"post_id": 43395, "ts": "2026-08-08T16:42:33Z", "hours": 1.8381, "text": "Project browser Added a project browser/file explorer to the project dashboard where you can search, view, and open projects and folders to browse their content ! I decided to build this file explorer instead of just a simple dashboard because I got bored and wanted to make something different, and it would make more sense to do this for projects since they are essentially just folders This file explorer is pretty similar to Google Drive and other cloud storage services, you can double click a project or folder to change directory and view its content (tasks, task lists, notes, other folders), and go back/navigate to other levels with navigation breadcrumbs I thought this would be difficult to implement and would need some kind of breadcrumb library and it turned out to be pretty simple Only projects are styled and can be opened right now, but folders and other stuff will be added in the next update! Added a menu option for adding task/note folders to projects. It opens a modal where you can view and select all the projects you’re adding the folder to, and it’ll show up in the project explorer Updated styling and content"}, {"post_id": 43017, "ts": "2026-08-08T01:36:42Z", "hours": 3.7031, "text": "Note and project management Added more note management features for editing, deleting, starring, and moving notes, as well as a dashboard for the notes page (similar to the one for tasks) You can now move notes in/out of different folders by selecting the move option and choosing the folder in the modal popup menu. You can also edit which notes are in a folder by clicking on its edit option, where you can check all the notes you want in a folder Added a top tool bar to each note page (similar to the tool bar for task lists) with the note’s emoji (clicking it opens the emoji menu where you can choose or clear the icon), name (clicking on it renamed the note), description (clicking on it also makes it editable), and current folder information displayed The tool bar also has options to upload a custom background image with an upload modal (similar to task lists), choose a custom theme (not implemented yet), star/unstar, or delete after confirming Added a sidebar for the projects page where you can create, manage, view, add icon, rename, star/unstar, and delete your projects (basically the same as the notes and tasks sidebar) Since many of the features are basically identical or very similar to tasks/task lists, I just used the existing components and copied and modified some stuff, so all these features were pretty easy and quick to implement Added recent, starred, and organized by tag sections to the notes dashboard so you can view and manage your notes more easily. You can also customize the dashboard by selecting the sections in the settings panel Updated schema and types Updated styling and layout Fixed background shadow overlay and a few other display/styling issues"}, {"post_id": 42076, "ts": "2026-08-06T17:10:52Z", "hours": 5.1608, "text": "Notes and custom backgrounds I coded for 5 hours yesterday and made a lot of progress but completely forgot to devlog , so this devlog will be a bit longer (as if my usual devlogs aren’t already long enough) to hopefully keep my storytelling good 🥺 Added the notes tab, which is the second major part of MacIdeas (the other being tasks and projects) that shares a basically identical layout with tasks, so I only had to copy a few components, modify some variables, imports, and database operations, and add new schema models and server actions to make note management work properly, though it still took quite a bit of time Currently only the sidebar is implemented for notes (instead of the actual note taking/editing part), but you can create new notes, rename them, choose their custom emojis, delete them, create and manage folders, and create notes inside folders from there You can also navigate to each note by clicking on it, but the page is blank for now. Notes share folders with tasks, so folders you make in notes also show up in tasks, and vice versa, although the specific tasks/notes in the folder aren’t displayed on the notes/tasks tab to keep organization simple (hopefully I didn’t phrase this too confusingly , maybe I’ll add an option to show both in settings) Also added projects (the third major part of MacIdeas), which are basically labels/folders that you can put tasks, task lists, folders, and notes in to conveniently keep everything related to a big project in one place Right now you can only create projects through the create project button on the sidebar and can’t do anything else with them, since I’ll only start working on projects after I finish notes Added buttons where you can upload a custom background image or select a color theme (not implemented yet) for each individual task list to make customization even better and personalized! When you click on the custom background option, an upload modal appears where you can upload a png/jpg/webp <4MB to be the background! I originally tried using uploadthing since it was the only object storage service I worked with, but I just couldn’t get the event hooks to load or work at all despite copying stuff from my old project and wasting an hour researching , so I decided to settle with Vercel Blobs (because it’s already hosted on Vercel) and it’s actually so much faster and easier to set up/integrate Some of the components are opaque, so they look kind of weird with a custom background, so I’ll be fixing that soon, but for the most part custom backgrounds actually look decent somehow Task lists without a custom background have a black overlay shadow that’s out of place, so that has to fixed too Also added a bunch of random small quality of life features and adjustments that I don’t remember without looking at my commits Updated schema and types Updated styling"}, {"post_id": 41429, "ts": "2026-08-05T17:05:00Z", "hours": 3.1761, "text": "Dashboard customization and My Day Added settings for customizing your personal tasks page dashboard, where you can select which tasks to show and which task filter sections to display on your main tasks page to make it completely customized You can access the settings modal by clicking on the gear icon on the top right of the tasks page, where you can select the checkboxes that you want to show on the page. You can reset the settings defaults as well by clicking on the reset option and confirming Dashboard tasks now also show their priority and tags All your homepage settings and customization are automatically saved to the account backend so the settings are synced across all your devices Added the “My Day” page that shows all your tasks that either start or due today (in your local timezone, refreshes daily automatically), or you can add custom tasks for the day here without putting it in any task list to help plan out your day better My Day is essentially a special task list and you can do all the stuff you can do with normal tasks and task lists (browsing, sorting, managing, etc.), and it shows up as its own tab on the left sidebar. I thought this would be hard to implement architecturally, but I just had to add a few fields and conditionals to make it work properly Added the tags dashboard section where you can view all the tasks with a certain tag Updated the data fetching logic for the dashboard to be more efficient, optimized, and customized according to the settings Updated schema and constants Updated styling Updated README Fixed a few visual bugs"}, {"post_id": 40963, "ts": "2026-08-04T20:46:14Z", "hours": 2.8342, "text": "Dashboard and Subtasks Added a few interactive widgets to the task dashboard showing tasks grouped in different categories so you can browse all your tasks quickly and easily The different task widgets, each with a different icon, are starred, priority, upcoming, starting soon, recent, and tag tasks. The widgets basically act like filters for all your tasks across all task lists so you don’t need to manually dig through them to find what you’re looking for You can now add subtasks to your tasks! Subtasks are basically just very simple tasks without any of the fancy features (since that would be annoying to implement and it’s just pretty impractical) that are just smaller steps broken down from the main task You can add, view, and manage (completing, renaming, or deleting) each task’s subtasks sorted by completion status in the task details panel, and you can see each task’s subtasks directly displayed below the main task You can also mark subtasks as completed by clicking on the circle on the task item, and the text will be striked through and grayed out Added a home/task dashboard link to the left sidebar Updated schema and types Updated styling and layout Updated README with more detailed info and specific features"}, {"post_id": 40514, "ts": "2026-08-04T03:06:03Z", "hours": 3.7111, "text": "Priority and folders! You can now assign an importance priority flag for each task to better keep track of your most important todos and manage/view them more easily with this feature ! You can change the priority of a task by clicking on one of the 4 options in the priority dropdown that appears when you hover over the task. Each priority has a different color (none-transparent, low-green, medium-yellow, high-red) to help distinct them visually. If a task has a priority, the status is permanently stickied on the task so it’s always visible You can sort and filter tasks by priority as well to automatically group and view your most important tasks You can customize the new task’s priority by changing the new task input field’s priority dropdown menu. You can also edit a task’s priority in the task details panel You can now create custom folders to group and organize your task lists by clicking on the create folder option on the task sidebar ! Clicking on the folder toggles the visibility of its task list content, and hovering over it shows an options icon that opens a menu where you can edit, rename, change the folder icon color, or delete the folder The edit option opens a modal where you can search and select the task lists to add or remove from the folder The rename option turns the folder name into an input that saves on blur, the color option shows a color picker for the icon color, and the delete option deletes the folder and its task lists after confirmation You can also directly create new task lists inside a folder by clicking on the add option on the folder. You can move task lists in/out of folders as well by clicking on the move option, which opens a similar modal where you can search and select which folder to move the task to Drag and drop for moving task lists in/out of folders isn’t implemented yet, because it’s actually quite a challenging thing to do (for me) , but hopefully I’ll have time to try to implement it Updated schema and types Updated UI components and styling Fixed display overflow height styling issues"}, {"post_id": 40161, "ts": "2026-08-03T15:52:29Z", "hours": 2.6514, "text": "Due dates and more random features You can now add due dates and start dates to tasks to better keep track of them and remind yourself when to stop procrastinating and actually get to work ! When you click on the calendar icon on a task, a modal shows up with 2 fields where you can pick the precise date and time for when the task starts/dues. I used the kind of outdated library Flatpickr for this since I was too lazy to build my own calendar time picker thing You can also clear/remove the selected time by clicking on the x icon next to the date field. Save the changes by clicking on the save button You can edit/select the times by clicking on the date fields in the task details panel as well. Start and due dates show up as a small text below the main task on the page so you can easily see when each task is due Added options to sort tasks by due and start dates so you can see which tasks are coming up soon! Also added a separate section in the filter dropdown for filtering by your own tags to better organize and view your different tasks The pen edit/rename option on the task list is now finally implemented! Clicking on it turns the task text into an input field that you can edit, and the new name is saved when you click away from it The tag, calendar, and star icons on the task input field now do something for the new task! Similar to task items, the tag and calendar options both open a modal for you to select the options for the new task, and the star icon marks it as starred. This makes it a lot easier to customize the task before actually adding it to the list Updated schema and types Updated styling and UI components Fixed a legacy dependency (Emoji Mart is unmaintained ) compatibility issue that caused a few previous commits to fail in production build Not gonna lie I’m pretty proud of the UI and layout all the different options and components actually sort of make MacIdeas look like a legit app There seems to be an issue with Firefox screenshots that fails to capture the modal’s background blur for the screenshot so it’s kinda weird"}, {"post_id": 39667, "ts": "2026-08-02T19:52:59Z", "hours": 3.9036, "text": "Tags and emojis Added task tags that you can customize and assign to different task items to better categorize and organize them! You’ll be able to group/sort by tags in the future as well, making browsing and managing tasks even more convenient When you click on the tag icon while hovering over a task item, the tag modal appears listing all the tags you created, a search bar for the tasks, as well as options to create new tags and save your selection Each tag on the modal is a checkbox, meaning you can simply check/uncheck the tags to assign them to the task Clicking on the create option displays an input where you can add a new tag that gets added to the revalidated menu Each tag also has an icon that opens a menu of options to rename, select an emoji, pick a color, and delete the tag. The rename option turns the tag into an input that you can edit, the emoji option opens the emoji picker (you can clear an existing emoji as well) so you can choose a custom icon for the tag, the color option opens a color picker where you can edit the tag’s background, and the delete option deletes the tag after confirmation There’s an option on the modal to clear all the currently assigned tags from the task item as well Up to 3 tags are displayed for each task on the task list page, and you can view all the tags a task has in the details panel (where you can open the tag modal and edit the tags too) You can now also choose an emoji for each task list by either clicking on the sidebar icon or the top bar icon! It opens an emoji picker with an option to clear the existing emoji as well Updated schema and types Updated styling and layout Fixed display height issue Fixed legacy dependency deployment issue"}, {"post_id": 38980, "ts": "2026-08-01T16:28:02Z", "hours": 1.9678, "text": "Browse & complete tasks You can now browse and filter through tasks to view and manage them more easily with the new sorting and filtering options! You can also finally mark tasks as completed once you finish them On the task list page tool bar, there’s a search bar that searched through tasks by their name and description, dropdown menus for sorting (by name, created, updated, due date, etc., some aren’t implemented yet), filtering (by starred, completion status, etc.), and ascending/descending display order to help you find and browse tasks more easily ! There’s also a checkbox that toggles the visibility of completed tasks, since they are hidden by default to avoid cluttering the page You can mark a task as completed by either clicking/checking the circle icon on each task item or selecting the completed checkbox on the task details page Incomplete and completed tasks are each grouped together regardless of sorting order to avoid confusion Completed tasks are striked through and grayed out to help with distinction. You can remark them as incomplete again any time by clicking on the icon again Fixed an annoying container height overflow display layout issue (implementing responsive design on this will be a pain in the butt ) Updated styling and layout I accidentally closed the window while recording the video so I had to rewrite this entire devlog again from memory , Stardance team please make a save devlog button like with Flavortown 🥺"}, {"post_id": 38563, "ts": "2026-08-01T01:19:19Z", "hours": 2.6092, "text": "Task creation & management You can now actually add, view, and manage your tasks in MacIdeas! You can add tasks, view details, edit, star, and delete them by clicking on the task item icons When you add a task, a task item gets added to the task list page, which when hovered shows icons/buttons to edit, manage tags, change due date, star, or delete the task. There’s also a circle on the left where you can mark the task as completed (none of these buttons work yet other than star and delete ) Clicking on the task item itself opens an animated panel on the side (similar to a lot of todo apps and the Slack profile panel) with input and textarea fields for editing the task and its description, as well as checkboxes to mark/unmark the task as completed or starred The task item details panel also shows the task’s precise created and updated timestamps, as well as its ID in the backend database (for debugging purposes) You can save the changes in the details panel by clicking on the save button, which updates and revalidates the task automatically. You can also delete the task item by clicking on the delete button and confirming the warning modal You can close the details panel by clicking on the same task item again or by clicking on the close button If a task item is starred, the star icon shows even when you’re not hovering over the task item. You’ll be able to filter and group task items by stars in the future as well Updated the task list page layout to give more space to the main section and make sure everything’s aligned and positioned nicely without any display/styling issues Added new UI components Updated styling Fixed a few styling and UX issues Updated database schema"}, {"post_id": 38314, "ts": "2026-07-31T17:10:40Z", "hours": 2.0458, "text": "Task list management Added more task list management features so you can organize and view your tasks more efficiently! Added a top tool bar on task list pages where you can rename the task list by clicking on the name, add a description, mark/unmark it as starred, and delete it When you click on delete, a confirmation warning modal shows up asking you to confirm You can also star/unstar a task list by clicking on the star icon on the left sidebar or in the options menu Starred task lists show up in a different section at the top of the sidebar to make accessing them easier and quicker Added a dropdown button that shows an additional menu for creating folders and projects (not implemented yet) next to the create task list button Added a pick emoji button for each task list on the sidebar that, of course, still doesn’t work yet Added the new task input field on the task page with a few placeholder buttons and a submit button. This where you’ll be able to add tasks, but nothing works so far Added a message screen that shows up when all the tasks are completed/there are no tasks Added dynamically generated SEO metadata for task list pages to make the site more accessible and responsive Updated schema and types Updated styling and layout"}, {"post_id": 37735, "ts": "2026-07-30T17:25:43Z", "hours": 3.29, "text": "MacIdeas: productivity & work management tool I’m starting a new project in the MacWeb collection of online apps and platforms called MacIdeas, which is basically Notion (task, note, and project management) but significantly more inferior Hopefully this project will turn out to be pretty complex so I can milk invest more hours on making and polishing this app In this pretty big initial update, I set up the Next.js project, installed its required dependencies, added a few basic pages and layouts, added a lot of UI components, and added task list management Spent quite some time configuring auth and the account system backend again since MacIdeas is hosted on a subdomain of the main macweb.app root domain which handles auth and accounts, so it was annoying setting up CORS, subdomain cookies, and user schemas (I’m not even sure if it works in production yet ) Added a nav bar and footer that were just copied from other MacWeb apps so they look consistent and updated a few links Added placeholder homepage layout and sections with images and text that don’t mean anything yet Added the main tasks page layout with a left sidebar listing all your task lists (folders and other organization stuff coming soon) and the main page displaying your actual tasks and information You can create new task lists by clicking on the create task list button on the sidebar, which creates and redirects you to the new task list that’s automatically titled “Untitled List” When you hover over a task list on the sidebar, an options icon appears that shows a menu of list management options, including rename, star (not implemented), and delete When you click on rename, the task list becomes an input where you can input the new name, and clicking out of it saves and revalidates the data When you click on delete, a confirmation warning modal appears, and the app will be redirected and revalidated after you confirm and delete the task list Once you’re signed in, your profile icon will be displayed on the nav bar and clicking on it lets you view your profile on the main domain, toggle light/dark modes (coming soon), and sign out (does this even work ?) Added static SEO for a few pages to improve accessibility and the site’s metadata Added the MacIdeas logo as the favicon and site icon Added Prisma schema and types Configured DNS and deployment stuff Fixed deployment issue"}]...
|
Title: MacIdeas by @tonymac129 | Stardance
Devlog Title: MacIdeas by @tonymac129 | Stardance
Devlogs:
MacIdeas: productivity & work management tool I’m starting a new project in the MacWeb collection of online apps and platforms called MacIdeas, which is basically Notion (task, note, and project management) but significantly more inferior Hopefully this project will turn out to be pretty complex so I can milk invest more hours on making and polishing this app In this pretty big initial update, I set up the Next.js project, installed its required dependencies, added a few basic pages and layouts, added a lot of UI components, and added task list management Spent quite some time configuring auth and the account system backend again since MacIdeas is hosted on a subdomain of the main macweb.app root domain which handles auth and accounts, so it was annoying setting up CORS, subdomain cookies, and user schemas (I’m not even sure if it works in production yet ) Added a nav bar and footer that were just copied from other MacWeb apps so they look consistent and updated a few links Added placeholder homepage layout and sections with images and text that don’t mean anything yet Added the main tasks page layout with a left sidebar listing all your task lists (folders and other organization stuff coming soon) and the main page displaying your actual tasks and information You can create new task lists by clicking on the create task list button on the sidebar, which creates and redirects you to the new task list that’s automatically titled “Untitled List” When you hover over a task list on the sidebar, an options icon appears that shows a menu of list management options, including rename, star (not implemented), and delete When you click on rename, the task list becomes an input where you can input the new name, and clicking out of it saves and revalidates the data When you click on delete, a confirmation warning modal appears, and the app will be redirected and revalidated after you confirm and delete the task list Once you’re signed in, your profile icon will be displayed on the nav bar and clicking on it lets you view your profile on the main domain, toggle light/dark modes (coming soon), and sign out (does this even work ?) Added static SEO for a few pages to improve accessibility and the site’s metadata Added the MacIdeas logo as the favicon and site icon Added Prisma schema and types Configured DNS and deployment stuff Fixed deployment issue
Task list management Added more task list management features so you can organize and view your tasks more efficiently! Added a top tool bar on task list pages where you can rename the task list by clicking on the name, add a description, mark/unmark it as starred, and delete it When you click on delete, a confirmation warning modal shows up asking you to confirm You can also star/unstar a task list by clicking on the star icon on the left sidebar or in the options menu Starred task lists show up in a different section at the top of the sidebar to make accessing them easier and quicker Added a dropdown button that shows an additional menu for creating folders and projects (not implemented yet) next to the create task list button Added a pick emoji button for each task list on the sidebar that, of course, still doesn’t work yet Added the new task input field on the task page with a few placeholder buttons and a submit button. This where you’ll be able to add tasks, but nothing works so far Added a message screen that shows up when all the tasks are completed/there are no tasks Added dynamically generated SEO metadata for task list pages to make the site more accessible and responsive Updated schema and types Updated styling and layout
Task creation & management You can now actually add, view, and manage your tasks in MacIdeas! You can add tasks, view details, edit, star, and delete them by clicking on the task item icons When you add a task, a task item gets added to the task list page, which when hovered shows icons/buttons to edit, manage tags, change due date, star, or delete the task. There’s also a circle on the left where you can mark the task as completed (none of these buttons work yet other than star and delete ) Clicking on the task item itself opens an animated panel on the side (similar to a lot of todo apps and the Slack profile panel) with input and textarea fields for editing the task and its description, as well as checkboxes to mark/unmark the task as completed or starred The task item details panel also shows the task’s precise created and updated timestamps, as well as its ID in the backend database (for debugging purposes) You can save the changes in the details panel by clicking on the save button, which updates and revalidates the task automatically. You can also delete the task item by clicking on the delete button and confirming the warning modal You can close the details panel by clicking on the same task item again or by clicking on the close button If a task item is starred, the star icon shows even when you’re not hovering over the task item. You’ll be able to filter and group task items by stars in the future as well Updated the task list page layout to give more space to the main section and make sure everything’s aligned and positioned nicely without any display/styling issues Added new UI components Updated styling Fixed a few styling and UX issues Updated database schema
Browse & complete tasks You can now browse and filter through tasks to view and manage them more easily with the new sorting and filtering options! You can also finally mark tasks as completed once you finish them On the task list page tool bar, there’s a search bar that searched through tasks by their name and description, dropdown menus for sorting (by name, created, updated, due date, etc., some aren’t implemented yet), filtering (by starred, completion status, etc.), and ascending/descending display order to help you find and browse tasks more easily ! There’s also a checkbox that toggles the visibility of completed tasks, since they are hidden by default to avoid cluttering the page You can mark a task as completed by either clicking/checking the circle icon on each task item or selecting the completed checkbox on the task details page Incomplete and completed tasks are each grouped together regardless of sorting order to avoid confusion Completed tasks are striked through and grayed out to help with distinction. You can remark them as incomplete again any time by clicking on the icon again Fixed an annoying container height overflow display layout issue (implementing responsive design on this will be a pain in the butt ) Updated styling and layout I accidentally closed the window while recording the video so I had to rewrite this entire devlog again from memory , Stardance team please make a save devlog button like with Flavortown 🥺
Tags and emojis Added task tags that you can customize and assign to different task items to better categorize and organize them! You’ll be able to group/sort by tags in the future as well, making browsing and managing tasks even more convenient When you click on the tag icon while hovering over a task item, the tag modal appears listing all the tags you created, a search bar for the tasks, as well as options to create new tags and save your selection Each tag on the modal is a checkbox, meaning you can simply check/uncheck the tags to assign them to the task Clicking on the create option displays an input where you can add a new tag that gets added to the revalidated menu Each tag also has an icon that opens a menu of options to rename, select an emoji, pick a color, and delete the tag. The rename option turns the tag into an input that you can edit, the emoji option opens the emoji picker (you can clear an existing emoji as well) so you can choose a custom icon for the tag, the color option opens a color picker where you can edit the tag’s background, and the delete option deletes the tag after confirmation There’s an option on the modal to clear all the currently assigned tags from the task item as well Up to 3 tags are displayed for each task on the task list page, and you can view all the tags a task has in the details panel (where you can open the tag modal and edit the tags too) You can now also choose an emoji for each task list by either clicking on the sidebar icon or the top bar icon! It opens an emoji picker with an option to clear the existing emoji as well Updated schema and types Updated styling and layout Fixed display height issue Fixed legacy dependency deployment issue
Due dates and more random features You can now add due dates and start dates to tasks to better keep track of them and remind yourself when to stop procrastinating and actually get to work ! When you click on the calendar icon on a task, a modal shows up with 2 fields where you can pick the precise date and time for when the task starts/dues. I used the kind of outdated library Flatpickr for this since I was too lazy to build my own calendar time picker thing You can also clear/remove the selected time by clicking on the x icon next to the date field. Save the changes by clicking on the save button You can edit/select the times by clicking on the date fields in the task details panel as well. Start and due dates show up as a small text below the main task on the page so you can easily see when each task is due Added options to sort tasks by due and start dates so you can see which tasks are coming up soon! Also added a separate section in the filter dropdown for filtering by your own tags to better organize and view your different tasks The pen edit/rename option on the task list is now finally implemented! Clicking on it turns the task text into an input field that you can edit, and the new name is saved when you click away from it The tag, calendar, and star icons on the task input field now do something for the new task! Similar to task items, the tag and calendar options both open a modal for you to select the options for the new task, and the star icon marks it as starred. This makes it a lot easier to customize the task before actually adding it to the list Updated schema and types Updated styling and UI components Fixed a legacy dependency (Emoji Mart is unmaintained ) compatibility issue that caused a few previous commits to fail in production build Not gonna lie I’m pretty proud of the UI and layout all the different options and components actually sort of make MacIdeas look like a legit app There seems to be an issue with Firefox screenshots that fails to capture the modal’s background blur for the screenshot so it’s kinda weird
Priority and folders! You can now assign an importance priority flag for each task to better keep track of your most important todos and manage/view them more easily with this feature ! You can change the priority of a task by clicking on one of the 4 options in the priority dropdown that appears when you hover over the task. Each priority has a different color (none-transparent, low-green, medium-yellow, high-red) to help distinct them visually. If a task has a priority, the status is permanently stickied on the task so it’s always visible You can sort and filter tasks by priority as well to automatically group and view your most important tasks You can customize the new task’s priority by changing the new task input field’s priority dropdown menu. You can also edit a task’s priority in the task details panel You can now create custom folders to group and organize your task lists by clicking on the create folder option on the task sidebar ! Clicking on the folder toggles the visibility of its task list content, and hovering over it shows an options icon that opens a menu where you can edit, rename, change the folder icon color, or delete the folder The edit option opens a modal where you can search and select the task lists to add or remove from the folder The rename option turns the folder name into an input that saves on blur, the color option shows a color picker for the icon color, and the delete option deletes the folder and its task lists after confirmation You can also directly create new task lists inside a folder by clicking on the add option on the folder. You can move task lists in/out of folders as well by clicking on the move option, which opens a similar modal where you can search and select which folder to move the task to Drag and drop for moving task lists in/out of folders isn’t implemented yet, because it’s actually quite a challenging thing to do (for me) , but hopefully I’ll have time to try to implement it Updated schema and types Updated UI components and styling Fixed display overflow height styling issues
Dashboard and Subtasks Added a few interactive widgets to the task dashboard showing tasks grouped in different categories so you can browse all your tasks quickly and easily The different task widgets, each with a different icon, are starred, priority, upcoming, starting soon, recent, and tag tasks. The widgets basically act like filters for all your tasks across all task lists so you don’t need to manually dig through them to find what you’re looking for You can now add subtasks to your tasks! Subtasks are basically just very simple tasks without any of the fancy features (since that would be annoying to implement and it’s just pretty impractical) that are just smaller steps broken down from the main task You can add, view, and manage (completing, renaming, or deleting) each task’s subtasks sorted by completion status in the task details panel, and you can see each task’s subtasks directly displayed below the main task You can also mark subtasks as completed by clicking on the circle on the task item, and the text will be striked through and grayed out Added a home/task dashboard link to the left sidebar Updated schema and types Updated styling and layout Updated README with more detailed info and specific features
Dashboard customization and My Day Added settings for customizing your personal tasks page dashboard, where you can select which tasks to show and which task filter sections to display on your main tasks page to make it completely customized You can access the settings modal by clicking on the gear icon on the top right of the tasks page, where you can select the checkboxes that you want to show on the page. You can reset the settings defaults as well by clicking on the reset option and confirming Dashboard tasks now also show their priority and tags All your homepage settings and customization are automatically saved to the account backend so the settings are synced across all your devices Added the “My Day” page that shows all your tasks that either start or due today (in your local timezone, refreshes daily automatically), or you can add custom tasks for the day here without putting it in any task list to help plan out your day better My Day is essentially a special task list and you can do all the stuff you can do with normal tasks and task lists (browsing, sorting, managing, etc.), and it shows up as its own tab on the left sidebar. I thought this would be hard to implement architecturally, but I just had to add a few fields and conditionals to make it work properly Added the tags dashboard section where you can view all the tasks with a certain tag Updated the data fetching logic for the dashboard to be more efficient, optimized, and customized according to the settings Updated schema and constants Updated styling Updated README Fixed a few visual bugs
Notes and custom backgrounds I coded for 5 hours yesterday and made a lot of progress but completely forgot to devlog , so this devlog will be a bit longer (as if my usual devlogs aren’t already long enough) to hopefully keep my storytelling good 🥺 Added the notes tab, which is the second major part of MacIdeas (the other being tasks and projects) that shares a basically identical layout with tasks, so I only had to copy a few components, modify some variables, imports, and database operations, and add new schema models and server actions to make note management work properly, though it still took quite a bit of time Currently only the sidebar is implemented for notes (instead of the actual note taking/editing part), but you can create new notes, rename them, choose their custom emojis, delete them, create and manage folders, and create notes inside folders from there You can also navigate to each note by clicking on it, but the page is blank for now. Notes share folders with tasks, so folders you make in notes also show up in tasks, and vice versa, although the specific tasks/notes in the folder aren’t displayed on the notes/tasks tab to keep organization simple (hopefully I didn’t phrase this too confusingly , maybe I’ll add an option to show both in settings) Also added projects (the third major part of MacIdeas), which are basically labels/folders that you can put tasks, task lists, folders, and notes in to conveniently keep everything related to a big project in one place Right now you can only create projects through the create project button on the sidebar and can’t do anything else with them, since I’ll only start working on projects after I finish notes Added buttons where you can upload a custom background image or select a color theme (not implemented yet) for each individual task list to make customization even better and personalized! When you click on the custom background option, an upload modal appears where you can upload a png/jpg/webp <4MB to be the background! I originally tried using uploadthing since it was the only object storage service I worked with, but I just couldn’t get the event hooks to load or work at all despite copying stuff from my old project and wasting an hour researching , so I decided to settle with Vercel Blobs (because it’s already hosted on Vercel) and it’s actually so much faster and easier to set up/integrate Some of the components are opaque, so they look kind of weird with a custom background, so I’ll be fixing that soon, but for the most part custom backgrounds actually look decent somehow Task lists without a custom background have a black overlay shadow that’s out of place, so that has to fixed too Also added a bunch of random small quality of life features and adjustments that I don’t remember without looking at my commits Updated schema and types Updated styling
Note and project management Added more note management features for editing, deleting, starring, and moving notes, as well as a dashboard for the notes page (similar to the one for tasks) You can now move notes in/out of different folders by selecting the move option and choosing the folder in the modal popup menu. You can also edit which notes are in a folder by clicking on its edit option, where you can check all the notes you want in a folder Added a top tool bar to each note page (similar to the tool bar for task lists) with the note’s emoji (clicking it opens the emoji menu where you can choose or clear the icon), name (clicking on it renamed the note), description (clicking on it also makes it editable), and current folder information displayed The tool bar also has options to upload a custom background image with an upload modal (similar to task lists), choose a custom theme (not implemented yet), star/unstar, or delete after confirming Added a sidebar for the projects page where you can create, manage, view, add icon, rename, star/unstar, and delete your projects (basically the same as the notes and tasks sidebar) Since many of the features are basically identical or very similar to tasks/task lists, I just used the existing components and copied and modified some stuff, so all these features were pretty easy and quick to implement Added recent, starred, and organized by tag sections to the notes dashboard so you can view and manage your notes more easily. You can also customize the dashboard by selecting the sections in the settings panel Updated schema and types Updated styling and layout Fixed background shadow overlay and a few other display/styling issues
Project browser Added a project browser/file explorer to the project dashboard where you can search, view, and open projects and folders to browse their content ! I decided to build this file explorer instead of just a simple dashboard because I got bored and wanted to make something different, and it would make more sense to do this for projects since they are essentially just folders This file explorer is pretty similar to Google Drive and other cloud storage services, you can double click a project or folder to change directory and view its content (tasks, task lists, notes, other folders), and go back/navigate to other levels with navigation breadcrumbs I thought this would be difficult to implement and would need some kind of breadcrumb library and it turned out to be pretty simple Only projects are styled and can be opened right now, but folders and other stuff will be added in the next update! Added a menu option for adding task/note folders to projects. It opens a modal where you can view and select all the projects you’re adding the folder to, and it’ll show up in the project explorer Updated styling and content
Project page and contents Added a dedicated page for each project that is its own file browser where you can open/interact with the contents, view their information and metadata, and search, filter, and sort through them so you can better manage and view your projects Added an option on the project page that opens a modal displaying all your folders, task lists, tasks, and notes grouped into 4 different tabs. Each item is a checkbox so you can select exactly which items to add to or remove from the project You can also search through each tab’s results and see their names and icons to make finding the right item quick and easy This seemed like a simple feature to implement but getting to cooperate was a nightmare since each item has its own data type, so organizing the data structure for both the frontend and backend required a lot of annoying unions and conditionals There is now a top bar in the project browser with the name, type, modified, and created labels which you can click on to sort the contents accordingly Each item also shows its type and modified & created times, as well as an icon where you can change the item’s emoji directly, making browsing and managing your stuff more convenient You can also edit the project’s name and description directly by clicking on the page title and text Updated styling and layout I procrastinated on this devlog for 2 days and got no work done, so I think this might be a sign for me to take a break from Stardance for a few days since I also need to work on hosting 8-Bit Jam (awesome game jam, if you live near nova plz go register ) and other stuff, so there won’t be new devlogs in a while
Light mode toggle The mode option in the nav user menu now toggles the site’s entire appearance between dark and light mode to improve its customizability and accessibility Because every component has a default color transition, switching between the 2 modes has a smooth UI transition instead of flashing to the other color instantly I had to set up the theme provider and manually add the light mode Tailwind classes and the dark mode prefix for all the colors in every page and component, as well as accounting for all most of the display color edge cases, so this took quite a long time but the result was worth it, both modes look pretty consistent and visually appealing I am finally back to developing MacIdeas after taking a one month break, so I spent some time familiarizing myself with the codebase again. Hopefully this time I’ll be able to finish and ship it soon! Updated styling and layout Added and updated some dependencies
Rich text editing for notes! Added a complete, feature-rich, and easy to use rich text editor for creating and editing your notes! This means you can now actually take notes with features like text formatting, links, headings, lists, inline components, and a lot of other features you would expect from tools like Google Docs There is a top tool bar with a ton of options, buttons, and dropdowns organized into different functional sections (I definitely did not just copy GDocs ) to format/edit/modify your current content selection easily Most of the features support keyboard shortcuts (because of Tiptap), which you can see by hovering over the option and reading its tooltip I tried making my own web based rich text editor from scratch before, and it turned out to be a nightmare of dom manipulation and other headaches, so this time I decided to just use the library Tiptap, which itself is based on the library ProseMirror, to handle this pain in the butt Since Tiptap is completely headless, I still spent a lot of time going through its docs, installing useful extensions, learning their commands, and building, testing, and tweaking all the features to make everything work smoothly I don’t know why I’ve been neglecting actually adding notes for so long (before each note was just a blank page saying “Untitled note” that you couldn’t even edit ), but this actually turned out to be super fun to implement and the result was very rewarding Note saving doesn’t actually work yet (despite the fake “Note saved” autosave message ) since there are still some things about the editor to fix, but hopefully that’ll be implemented soon and MacIdeas will be almost ready to ship! The text editor also works with light mode, and I also updated some styling to improve the UI
Last devlog: note features and final touches! MacIdeas is finally finished and ready to ship! In this last massive devlog, I added a few new quality of life features, did a ton of general/styling/auth bug fixes, and polished the entire project ! Added note content persistence, meaning you can actually save each note’s content to your account data, including its text, formatting, and everything. Autosave automatically does this every 30 seconds, but you can also manually save with ctrl+s or by pressing the save button Added a few new editor features from Tiptap for typography and general formatting to make note taking more powerful and complete You can now select custom background colors (along with custom backdrop images) to customize the appearance of each task list and note page ! The nav search had been there doing nothing ever since the first devlog , so I finally added a powerful search bar to the nav bar that uses a new API endpoint to search through all the information in all your task lists, tasks, notes, projects, and folders and displays the results as a list of links for convenient browsing and navigation! Added section descriptions and icons for the major features on the homepage Updated styling, content, code, and layout Updated the README with a demo screenshot and updated info about features Fixed a lot of bugs related to general usage, empty user data, styling issues with modals, auth redirect, and many other things I don’t want to remember to improve the overall user experience I took a one week break in this last stretch, so there was probably other stuff I did that I forgot, so hopefully my storytelling isn’t that bad
Ships:
MacIdeas is a fullstack online platform for managing, organizing, and keeping track of your work, including tasks, notes, and projects! Now, before you think this is just another generic boring todo list app and give me a 1 star in originality…, well, it kind of is a todo app, but with a ton of many different features, customization, and settings, as well as notes with a complete, functional rich text editor, folders for convenient organization, and projects for organizing your different tasks, notes, folders, and everything else into manageable groups that you can easily browse through. You can edit and assign tasks priorities, due/start dates, tags, subtasks, projects, folders, links, completion, star them, and view all the info from the details panel. There are also features like search, sort, filter, tags, views, star, emojis, and other options that make browsing, navigating, and finding items a lot easier and more efficient. To make the website accessible to everyone, MacIdeas has smooth transitions and animations, fully supports both dark and light modes (and your own background images or colors), as well as responsive design for (nearly) all screen sizes, and complete SEO metadata for each page. All you need to do is to sign in with MacWeb, the central platform for my projects’ auth and account info (since MacIdeas is one of its many apps), and you’ll be redirected back and have access to try out all those features! It has everything you would expect from a real task manager and text editor, so hopefully you’ll like my project :)...
|
1793001173.647689
|
1793087573.647689
|
|
31853
|
KuuppaOS by @suklaasukkulayt | Stardance
|
suklaasukkulayt
|
2
|
69.0
|
823
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-10T10:31:12Z", "hours": 59.0, "multiplier": 14.44, "payout": 823, "blessing": "neutral", "text": "KuuppaOS A WebOS with many different apps and features . This has 17 apps , desktop icons, a taskbar with a start menu (for settings), weather and a calendar/clock . You can have a custom wallpaper , change app background color , blur and transparency or even turn on RGB mode . This even has a rubber-band selector . You can open, close, minimize, maximize and resize the apps. KuuppaOS also has many animations and a dog gallery that has photos of my dogs! More info on GitHub: https://github.com/suklaasukkulayt/kuuppaos GitHub has screenshots and link to a showcase video. (if you have already used this for some reason, go to Start Menu -> Open Settings -> Reset to defaults -> Save to local storage)", "repo": "https://github.com/suklaasukkulayt/kuuppaos", "demo": "https://kuuppaos.suklaasukkula.dev"}, {"ship_num": 2, "ts": "2026-07-14T14:56:01Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a webos for the webos 1 mission. It has draggable, resizable and closable windows, desktop icons, a bottom bar with a working clock and an open all windows button. There is six apps: Welcome which is just the welcome screen, TeXtpad which is a notepad, but it only supports one note at a time and it saves it locally to your browser, Weather which shows your local temperature, location and weather condition as an emoji and as text, Clock which is just an analog clock, KuuppaMusic (spotify) which plays the “lofi beats” spotify playlist from the spotify embed (it only plays the first 30s of every song) and KuuppaVid (YouTube) which plays Never Gonna Give You Up by Rick Astley from the YouTube embed. Github copilot is used for fixing some problems and for help and instructions for features like the weather app and autoplay when you open KuuppaVid.", "repo": "https://github.com/suklaasukkulayt/kuuppaos", "demo": "https://kuuppaos.suklaasukkula.dev"}]...
|
[{"post_id": 78296, "ts": "202 [{"post_id": 78296, "ts": "2026-10-10T10:21:32Z", "hours": 0.5611, "text": "Devlog 20 This devlog wasn’t supposed to happen, because of that I lost 2 hours. I have now fixed more bugs and finished the README. Link to GitHub I’m gonna ship now. (please read my other devlogs they are better than this)"}, {"post_id": 77325, "ts": "2026-10-06T15:23:33Z", "hours": 12.0486, "text": "Devlog 19 The final devlog I have made many improvements. Also this is the final devlog of KuuppaOS before my second ship, it’s been a long journey. Last devlog I promised Now playing support to KuuppaBrowser but unfortunately, detecting if iframes are making sound isn’t possible with javascript. 2. I added an AI chatbot, KuuppaAI . It’s very kuuppa . It can detect some keywords and have different answers, it can for example code. 3. I removed the Weather desktop app and turned it into a taskbar app . Now if you have allowed location permission, it shows up next to clock . You can still click it and it opens the old weather app, but in a taskbar app style. 4. I changed the default app color , to a more transparent and blueish one. I think it looks a bit better . 5. I added more animations for a smoother experience. For example animations for the apps in the taskbar . 6. I added more dog photos . To be more specific, I added over a hundred dog photos more . When you open it for the first time, it takes a really long time to load them. That’s why I added a service worker (with help from AI) to keep the photos cached . 7. I added fonts to everything so it looks more professional and hopefully made the background higher resolution . 8. Now the cursor changes from grab to grabbing when dragging the windows around. 9. I added a hamburger menu icon so the start menu button looks more like a start menu button . 10. I also added an animation for closing the photos for the different dogs. 11. I added a maximise (/fullscreen) button for apps ! It also has an animation. 12. I added an RGB mode button to settings menu. It makes the apps constantly change their background color (I used a bit of help from AI to make it change through all colors) 13. I added a file type selector to TeXtpad , so now you can choose from .txt, .md, .html and .csv when exporting your TeXtpad text. Also this new functionality now shows in app store and about. I also made the textarea look a bit better . 14. I updated the project README . It still lacks a new screenshot though. 15. I fixed many bugs . Here is some of them: KuuppaMusic wouldn’t show up in the taskbar because of the animation I added for taskbar apps Terminal not showing about command defaults properly Bugs with fullscreen Fixes with dog photos Ghost game iframe having fixed with so it didn’t resize Shutdown and Reboot icons (for start menu) not loading on page load Reset to defaults button not working properly Dog gallery icon not showing in App store And some others! It has been a fun journey, thanks for supporting!"}, {"post_id": 73166, "ts": "2026-09-24T14:55:23Z", "hours": 8.5747, "text": "Devlog 18 Another big update I fixed the app store issue by adding a save button in the app store so make sure to click it after installing or removing many apps at a time . I added reboot and shutdown commands to Terminal. I also made it so you can’t type new commands during longer processes like installing apps with Terminal. I added a start menu ! It isn’t the craziest, but it has reboot, shutdown, open welcome screen and open settings buttons . (yes I removed the settings button from the taskbar!) There is also a now playing thing in the start menu . It supports both KuuppaVid and KuuppaMusic , and it shows the currently playing song. You can even stop the playback. I might update it to support KuuppaBrowser in the next (final) devlog. I also updated the opening/closing animations for the taskbar menus. I also added a export as .txt button to TeXtpad so now you can actually use it for something! I made it so the dog gallery images are only loaded when you want to see the images to speed up the loading process for the website . This is also because i’m adding more dog images in the next devlog! There is also a small loading animation now. I also fixed some stuff and added a simple how-to-use to the welcome screen . That’s all for now, but in the next and hopefully final devlog i’m adding: Now playing support to KuuppaBrowser, Weather to the taskbar, More dog images, Update about to admire TeXtpad’s new functionality, and maybe something else! who knows"}, {"post_id": 65473, "ts": "2026-09-10T17:03:52Z", "hours": 6.6594, "text": "Devlog 17 Big update I added a camera selector to Camera and a microphone selector to Recorder. I added a Dog gallery app where you can view photos of my dogs! (I might add more photos) I finally added the app store . Now you have to install all the apps and they save to your browser’s local storage. (If you install them too quickly the saving can fail, I will fix it) You can also install apps using the install command in Terminal . I updated some terminal commands. Now you can use the rubber band selector next to the app icons. I also made the login screen fade smoother. Idk that’s probably all (or maybe not). (I used help from AI to implement a proper local storage saving thing) I will ship soon! (hopefully)"}, {"post_id": 57373, "ts": "2026-08-29T14:35:39Z", "hours": 2.7381, "text": "Devlog 16 I added an audio recorder app . It’s pretty simple, you just hit record. (I used a tutorial for help) I added a loading/login screen that shows for a few seconds. (I used a tutorial for help) I added funny filters to Camera (like saturation, blur, greyscale, hue rotation etc.) I also added a color command to Terminal . I also updated some terminal commands like ‘about’ (I used a bit of AI for help) Current resolution now shows in Camera."}, {"post_id": 57241, "ts": "2026-08-29T10:49:19Z", "hours": 3.4614, "text": "Devlog 15 I added the About app (that I started last devlog). You can click the buttons that show info about that app . I added app background color changing to settings and also changed the Reset wallpaper button to instead a Reset to defaults button. I made the radio animation in KuuppaMusic smaller and it now scales better. I also fixed bugs with the taskbar music playing thing. Clock and HackCMD are now properly centered . Camera now records in 4K or the closest resolution instead of 720p. I also added a custom scrollbar so it fits the green theme. I also updated some terminal commands and fixed some bugs ."}, {"post_id": 54419, "ts": "2026-08-25T12:53:25Z", "hours": 6.2053, "text": "Devlog 14 I updated KuuppaVid , so now you can actually search YouTube videos ! (I used some help from AI) I also updated KuuppaMusic ! Now you can listen to Estonia’s radio station XFM ! (idk why I picked it) And when you minimize it, the song title shows up in the taskbar ! Also it has a cool radio animation . (I used a tutorial for the base of the custom player) I fixed many window bugs (like when resizing the window could go out of bounds). I updated terminal so now (some of) the commands are better and more up to date. I also added an info app, but it currently has no content. KuuppaOS is now almost completed!"}, {"post_id": 48730, "ts": "2026-08-17T08:01:40Z", "hours": 3.3106, "text": "Devlog 13 I added a camera app . You can take photos and they save to your device. (I used a tutorial for help) I added a new game . It’s a game I made in a coding class a while back. It’s a pacman like game where you run from ghosts. Your objective is to shoot the ghosts from WASD and you move from arrow keys. I also fixed some bugs."}, {"post_id": 46136, "ts": "2026-08-13T04:40:52Z", "hours": 3.3364, "text": "Devlog 12 This is a smaller update. I added tooltips to desktop app icons (text that shows up when you hover over the icons). I updated the header on apps so you can now drag the apps around easier . I fixed some bugs and changed some styling , like changing Hacking terminal’s name to HackCMD (I also changed the icon ). I added a normal terminal (inspired by @Makkonen ‘s LuckyOS terminal, go check his projects out!). It’s not finished, but you can type “help” to see all currently available commands!"}, {"post_id": 45024, "ts": "2026-08-11T05:27:08Z", "hours": 5.6133, "text": "Devlog 11 This is a bigger update than usual. I added pong so now you can play pong in KuuppaOS! Calendar now scales better on smaller screens. Settings and calendar buttons now have a hover effect . I added a minimize button!! Open and minimized apps are now in taskbar . I added closing and opening animations . Calculator now looks better . I added a rubber band selector (the funny blue box that comes up when you hold and drag your mouse on the desktop)! I also fixed some bugs . (AI used for debugging) Soon I will add an app store!"}, {"post_id": 43152, "ts": "2026-08-08T08:19:25Z", "hours": 2.6486, "text": "Devlog 10 I added a calculator app so now you can calculate :D Settings app is now connected to the taskbar and it looks better . It also saves locally to your browser I also added a calendar to the taskbar that opens when clicking the clock in the taskbar Icons are now properly visible also on smaller screens! Next devlog I will add a game and animations or a minimize button!"}, {"post_id": 41789, "ts": "2026-08-06T06:09:05Z", "hours": 1.3828, "text": "Devlog 9 I added a customization menu/settings . You can add a custom wallpaper and change app blur and transparency (i used help from github copilot for javascript). The settings app “icon” is currently in the taskbar, I might change it later. I added a working browser (with a little help from AI for javascript). It uses iframe so it can’t load all sites, but now you can have KuuppaOS in KuuppaOS in KuuppaOS :D Lastly I added google fonts to the site. Currently it’s only in the settings app and one button so I will add more. I will also make the desktop icons scale better for different sizes of screens."}, {"post_id": 40704, "ts": "2026-08-04T12:10:30Z", "hours": 2.5092, "text": "Devlog 8 I’m starting webos 2 and after it this webos will be pretty good. I added a hacking terminal (inspired by @Makkonen ‘s hacking terminal project. I used the same tutorial as him, but I removed all the useless code. I used github copilot to make it so you don’t type the full code snippet with every key press. I updated KuuppaVid . You can now watch any YT video with it if you enter the video ID. Javascript for it was made with github copilot. I added a painting app (inspired by @Makkonen ) using a tutorial I found. You can change the size and color of the pen and use the eraser. I found another tutorial I used for the download function (yes you can download your painting!) and then I used github copilot for the date in the file name. I also used github copilot to fix the bug where the drawing would not appear at your cursor. I also updated the OS with a new font and I removed the “open all windows” button from the taskbar! Also clicking the desktop icon again no longer closes the app. Next devlog i’m gonna add a customization menu!"}, {"post_id": 28243, "ts": "2026-07-14T11:57:03Z", "hours": 0.7064, "text": "Okay this is actually the final devlog. I added spotify(kuuppamusic) and youtube(kuuppavid) apps. They don’t really have any purpose but I still added them. From the spotify app you can listen to lofi beats, but because it’s an embed it doesn’t even play the full song. From the youtube app you can watch Never gonna give you up by Rick Astley (i didn’t know what else to put). For the youtube app i used github copilot to make the function to start autoplay only when the app is opened. I also updated readme. Now the project is ready to ship."}, {"post_id": 27750, "ts": "2026-07-13T16:07:23Z", "hours": 0.9994, "text": "Final devlog before first ship. Updated readme and added weather forecast emoji and location show with the help of github copilot. The location may or may not work depending on your device, it worked on my phone but i couldn’t get it working with my steam deck. I also fixed the problem where the clock app icon was bigger than the others. The weather now also updates every 10 mins."}, {"post_id": 27107, "ts": "2026-07-12T11:31:18Z", "hours": 1.4472, "text": "Finished the last part of the WebOS mission guide. I added a weather app (I got instructions from copilot in vs code), a clock app (I found a tutorial online), made all windows resizable, fixed some bugs (hopefully) like taskbar being too long and the website being too tall so the scroll bar would always show. I also fixed the bug where you could drag windows and then you couldn’t reach them (with a little help from copilot in vscode). The resize thing is kinda hidden in the window border but you can see it a little."}, {"post_id": 26749, "ts": "2026-07-11T18:36:58Z", "hours": 2.5356, "text": "Finally finished the fourth part of the WebOS mission guide. I had some problems with scripts for the new app so I used github copilot in vscode to fix some. Yes, i also added a second app! It’s not the best but it’s like notepad but worse (atleast right now). It only supports one note at a time, but at least it saves locally to your browser so hopefully you don’t lose your one note :D. It also has a desktop icon that opens and closes the app. Many things will change later, like all the 100+ meaningless commits that actually will hopefully stop right NOW, because I got a new way to test the site without deploying: Live server vs code extension. I guess that’s all for now"}, {"post_id": 25973, "ts": "2026-07-10T14:46:38Z", "hours": 3.0603, "text": "Finally completed the third part of the WebOS mission guide (it took so long because I had problems with customization). Made the top bar a bottom bar and added rounded corners, you can now drag the window from the window title (tell me how to make the title smaller and centered while the close button being in the right corner because that stopped working when I made the two divs be at the same row) you can also close it from the red close button and you can reopen it from the bottom bar. I also changed the welcome screen a little. Also the code is now split in three parts."}, {"post_id": 24240, "ts": "2026-07-07T17:47:16Z", "hours": 0.6725, "text": "Just finished the second part of the WebOS mission guide. Now it has top bar with working clock(and font and blur), wallpaper, welcome window with colored background and dashed border with rounded corners. I also added a second link to the welcome screen. Starting to look better already."}, {"post_id": 24096, "ts": "2026-07-07T13:18:38Z", "hours": 0.6594, "text": "I just finished the first part of the WebOS mission guide (and started the second). I will still probably edit the welcome screen after this devlog. There’s nothing special about this yet, but it has a font, text and background color, image with custom size and rounded corners, link to stardance website and text."}]...
|
Title: KuuppaOS by @suklaasukkulayt | Stardance
D Title: KuuppaOS by @suklaasukkulayt | Stardance
Devlogs:
I just finished the first part of the WebOS mission guide (and started the second). I will still probably edit the welcome screen after this devlog. There’s nothing special about this yet, but it has a font, text and background color, image with custom size and rounded corners, link to stardance website and text.
Just finished the second part of the WebOS mission guide. Now it has top bar with working clock(and font and blur), wallpaper, welcome window with colored background and dashed border with rounded corners. I also added a second link to the welcome screen. Starting to look better already.
Finally completed the third part of the WebOS mission guide (it took so long because I had problems with customization). Made the top bar a bottom bar and added rounded corners, you can now drag the window from the window title (tell me how to make the title smaller and centered while the close button being in the right corner because that stopped working when I made the two divs be at the same row) you can also close it from the red close button and you can reopen it from the bottom bar. I also changed the welcome screen a little. Also the code is now split in three parts.
Finally finished the fourth part of the WebOS mission guide. I had some problems with scripts for the new app so I used github copilot in vscode to fix some. Yes, i also added a second app! It’s not the best but it’s like notepad but worse (atleast right now). It only supports one note at a time, but at least it saves locally to your browser so hopefully you don’t lose your one note :D. It also has a desktop icon that opens and closes the app. Many things will change later, like all the 100+ meaningless commits that actually will hopefully stop right NOW, because I got a new way to test the site without deploying: Live server vs code extension. I guess that’s all for now
Finished the last part of the WebOS mission guide. I added a weather app (I got instructions from copilot in vs code), a clock app (I found a tutorial online), made all windows resizable, fixed some bugs (hopefully) like taskbar being too long and the website being too tall so the scroll bar would always show. I also fixed the bug where you could drag windows and then you couldn’t reach them (with a little help from copilot in vscode). The resize thing is kinda hidden in the window border but you can see it a little.
Final devlog before first ship. Updated readme and added weather forecast emoji and location show with the help of github copilot. The location may or may not work depending on your device, it worked on my phone but i couldn’t get it working with my steam deck. I also fixed the problem where the clock app icon was bigger than the others. The weather now also updates every 10 mins.
Okay this is actually the final devlog. I added spotify(kuuppamusic) and youtube(kuuppavid) apps. They don’t really have any purpose but I still added them. From the spotify app you can listen to lofi beats, but because it’s an embed it doesn’t even play the full song. From the youtube app you can watch Never gonna give you up by Rick Astley (i didn’t know what else to put). For the youtube app i used github copilot to make the function to start autoplay only when the app is opened. I also updated readme. Now the project is ready to ship.
Devlog 8 I’m starting webos 2 and after it this webos will be pretty good. I added a hacking terminal (inspired by @Makkonen ‘s hacking terminal project. I used the same tutorial as him, but I removed all the useless code. I used github copilot to make it so you don’t type the full code snippet with every key press. I updated KuuppaVid . You can now watch any YT video with it if you enter the video ID. Javascript for it was made with github copilot. I added a painting app (inspired by @Makkonen ) using a tutorial I found. You can change the size and color of the pen and use the eraser. I found another tutorial I used for the download function (yes you can download your painting!) and then I used github copilot for the date in the file name. I also used github copilot to fix the bug where the drawing would not appear at your cursor. I also updated the OS with a new font and I removed the “open all windows” button from the taskbar! Also clicking the desktop icon again no longer closes the app. Next devlog i’m gonna add a customization menu!
Devlog 9 I added a customization menu/settings . You can add a custom wallpaper and change app blur and transparency (i used help from github copilot for javascript). The settings app “icon” is currently in the taskbar, I might change it later. I added a working browser (with a little help from AI for javascript). It uses iframe so it can’t load all sites, but now you can have KuuppaOS in KuuppaOS in KuuppaOS :D Lastly I added google fonts to the site. Currently it’s only in the settings app and one button so I will add more. I will also make the desktop icons scale better for different sizes of screens.
Devlog 10 I added a calculator app so now you can calculate :D Settings app is now connected to the taskbar and it looks better . It also saves locally to your browser I also added a calendar to the taskbar that opens when clicking the clock in the taskbar Icons are now properly visible also on smaller screens! Next devlog I will add a game and animations or a minimize button!
Devlog 11 This is a bigger update than usual. I added pong so now you can play pong in KuuppaOS! Calendar now scales better on smaller screens. Settings and calendar buttons now have a hover effect . I added a minimize button!! Open and minimized apps are now in taskbar . I added closing and opening animations . Calculator now looks better . I added a rubber band selector (the funny blue box that comes up when you hold and drag your mouse on the desktop)! I also fixed some bugs . (AI used for debugging) Soon I will add an app store!
Devlog 12 This is a smaller update. I added tooltips to desktop app icons (text that shows up when you hover over the icons). I updated the header on apps so you can now drag the apps around easier . I fixed some bugs and changed some styling , like changing Hacking terminal’s name to HackCMD (I also changed the icon ). I added a normal terminal (inspired by @Makkonen ‘s LuckyOS terminal, go check his projects out!). It’s not finished, but you can type “help” to see all currently available commands!
Devlog 13 I added a camera app . You can take photos and they save to your device. (I used a tutorial for help) I added a new game . It’s a game I made in a coding class a while back. It’s a pacman like game where you run from ghosts. Your objective is to shoot the ghosts from WASD and you move from arrow keys. I also fixed some bugs.
Devlog 14 I updated KuuppaVid , so now you can actually search YouTube videos ! (I used some help from AI) I also updated KuuppaMusic ! Now you can listen to Estonia’s radio station XFM ! (idk why I picked it) And when you minimize it, the song title shows up in the taskbar ! Also it has a cool radio animation . (I used a tutorial for the base of the custom player) I fixed many window bugs (like when resizing the window could go out of bounds). I updated terminal so now (some of) the commands are better and more up to date. I also added an info app, but it currently has no content. KuuppaOS is now almost completed!
Devlog 15 I added the About app (that I started last devlog). You can click the buttons that show info about that app . I added app background color changing to settings and also changed the Reset wallpaper button to instead a Reset to defaults button. I made the radio animation in KuuppaMusic smaller and it now scales better. I also fixed bugs with the taskbar music playing thing. Clock and HackCMD are now properly centered . Camera now records in 4K or the closest resolution instead of 720p. I also added a custom scrollbar so it fits the green theme. I also updated some terminal commands and fixed some bugs .
Devlog 16 I added an audio recorder app . It’s pretty simple, you just hit record. (I used a tutorial for help) I added a loading/login screen that shows for a few seconds. (I used a tutorial for help) I added funny filters to Camera (like saturation, blur, greyscale, hue rotation etc.) I also added a color command to Terminal . I also updated some terminal commands like ‘about’ (I used a bit of AI for help) Current resolution now shows in Camera.
Devlog 17 Big update I added a camera selector to Camera and a microphone selector to Recorder. I added a Dog gallery app where you can view photos of my dogs! (I might add more photos) I finally added the app store . Now you have to install all the apps and they save to your browser’s local storage. (If you install them too quickly the saving can fail, I will fix it) You can also install apps using the install command in Terminal . I updated some terminal commands. Now you can use the rubber band selector next to the app icons. I also made the login screen fade smoother. Idk that’s probably all (or maybe not). (I used help from AI to implement a proper local storage saving thing) I will ship soon! (hopefully)
Devlog 18 Another big update I fixed the app store issue by adding a save button in the app store so make sure to click it after installing or removing many apps at a time . I added reboot and shutdown commands to Terminal. I also made it so you can’t type new commands during longer processes like installing apps with Terminal. I added a start menu ! It isn’t the craziest, but it has reboot, shutdown, open welcome screen and open settings buttons . (yes I removed the settings button from the taskbar!) There is also a now playing thing in the start menu . It supports both KuuppaVid and KuuppaMusic , and it shows the currently playing song. You can even stop the playback. I might update it to support KuuppaBrowser in the next (final) devlog. I also updated the opening/closing animations for the taskbar menus. I also added a export as .txt button to TeXtpad so now you can actually use it for something! I made it so the dog gallery images are only loaded when you want to see the images to speed up the loading process for the website . This is also because i’m adding more dog images in the next devlog! There is also a small loading animation now. I also fixed some stuff and added a simple how-to-use to the welcome screen . That’s all for now, but in the next and hopefully final devlog i’m adding: Now playing support to KuuppaBrowser, Weather to the taskbar, More dog images, Update about to admire TeXtpad’s new functionality, and maybe something else! who knows
Devlog 19 The final devlog I have made many improvements. Also this is the final devlog of KuuppaOS before my second ship, it’s been a long journey. Last devlog I promised Now playing support to KuuppaBrowser but unfortunately, detecting if iframes are making sound isn’t possible with javascript. 2. I added an AI chatbot, KuuppaAI . It’s very kuuppa . It can detect some keywords and have different answers, it can for example code. 3. I removed the Weather desktop app and turned it into a taskbar app . Now if you have allowed location permission, it shows up next to clock . You can still click it and it opens the old weather app, but in a taskbar app style. 4. I changed the default app color , to a more transparent and blueish one. I think it looks a bit better . 5. I added more animations for a smoother experience. For example animations for the apps in the taskbar . 6. I added more dog photos . To be more specific, I added over a hundred dog photos more . When you open it for the first time, it takes a really long time to load them. That’s why I added a service worker (with help from AI) to keep the photos cached . 7. I added fonts to everything so it looks more professional and hopefully made the background higher resolution . 8. Now the cursor changes from grab to grabbing when dragging the windows around. 9. I added a hamburger menu icon so the start menu button looks more like a start menu button . 10. I also added an animation for closing the photos for the different dogs. 11. I added a maximise (/fullscreen) button for apps ! It also has an animation. 12. I added an RGB mode button to settings menu. It makes the apps constantly change their background color (I used a bit of help from AI to make it change through all colors) 13. I added a file type selector to TeXtpad , so now you can choose from .txt, .md, .html and .csv when exporting your TeXtpad text. Also this new functionality now shows in app store and about. I also made the textarea look a bit better . 14. I updated the project README . It still lacks a new screenshot though. 15. I fixed many bugs . Here is some of them: KuuppaMusic wouldn’t show up in the taskbar because of the animation I added for taskbar apps Terminal not showing about command defaults properly Bugs with fullscreen Fixes with dog photos Ghost game iframe having fixed with so it didn’t resize Shutdown and Reboot icons (for start menu) not loading on page load Reset to defaults button not working properly Dog gallery icon not showing in App store And some others! It has been a fun journey, thanks for supporting!
Devlog 20 This devlog wasn’t supposed to happen, because of that I lost 2 hours. I have now fixed more bugs and finished the README. Link to GitHub I’m gonna ship now. (please read my other devlogs they are better than this)
Ships:
I made a webos for the webos 1 mission. It has draggable, resizable and closable windows, desktop icons, a bottom bar with a working clock and an open all windows button. There is six apps: Welcome which is just the welcome screen, TeXtpad which is a notepad, but it only supports one note at a time and it saves it locally to your browser, Weather which shows your local temperature, location and weather condition as an emoji and as text, Clock which is just an analog clock, KuuppaMusic (spotify) which plays the “lofi beats” spotify playlist from the spotify embed (it only plays the first 30s of every song) and KuuppaVid (YouTube) which plays Never Gonna Give You Up by Rick Astley from the YouTube embed. Github copilot is used for fixing some problems and for help and instructions for features like the weather app and autoplay when you open KuuppaVid.
KuuppaOS A WebOS with many different apps and features . This has 17 apps , desktop icons, a taskbar with a start menu (for settings), weather and a calendar/clock . You can have a custom wallpaper , change app background color , blur and transparency or even turn on RGB mode . This even has a rubber-band selector . You can open, close, minimize, maximize and resize the apps. KuuppaOS also has many animations and a dog gallery that has photos of my dogs! More info on GitHub: https://github.com/suklaasukkulayt/kuuppaos GitHub has screenshots and link to a showcase video. (if you have already used this for some reason, go to Start Menu -> Open Settings -> Reset to defaults -> Save to local storage)...
|
1792986707.0269902
|
1793073107.0269902
|
|
39289
|
Cortex Engine by @ball | Stardance
|
ball
|
1
|
60.0
|
814
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-05T02:00:55Z", "hours": 60.0, "multiplier": 13.72, "payout": 814, "blessing": "neutral", "text": "First ship for Cortex :D. Cortex is a tool for building and testing automated trading strategies without needing to write code. You can load stock price data, pick technical indicators like moving averages or RSI, and visually create custom buy and sell rules. It then runs a simulation over historical data to show you how your strategy would have performed, complete with interactive charts, performance stats like win rates and total returns, and downloadable trade logs. Hope you all enjoy using it :D", "repo": "https://github.com/kavinr24/Cortex", "demo": "https://cortexsim.xyz"}]...
|
[{"post_id": 41092, "ts": "202 [{"post_id": 41092, "ts": "2026-08-05T01:52:43Z", "hours": 0.8061, "text": "Devlog 11 I’m just doing this last devlog before the first ship, so that I get the remaining time I spent working on the readme. The complete readme.md is finished, including all the features, development tools, tech stack, and more. I will be shipping now."}, {"post_id": 41047, "ts": "2026-08-05T00:17:19Z", "hours": 4.4878, "text": "Devlog 10 hello :D. the first version of Cortex is ready to ship. After I modularized the components, I finished up the strategy builder module and the UI in streamlit. So now you can make your own custom no-code entry and exit rules. The app is deployed on Render. I’ve bought a domain for it, and linked that up to the Render link. The current UI takes in whatever rules you set, fixes up the signal logic, and then hands it to the backtester so you get results pretty much instantly. What I got working for the builder: Add, delete, change multi condition rules using basic boolean logic Compare indicators against fixed numbers or just evaluate 2 strategies against eachother, eg SMA and EMA Calculates indicators ahead of time and edge cases like NaN crashes and random state resets. What’s next? README, full runthrough to make sure everything runs smoothly, and then the first ship."}, {"post_id": 40531, "ts": "2026-08-04T03:53:38Z", "hours": 9.0089, "text": "Devlog 09 hello :D. With the bridge now running, I built out the full app.py dashboard to test all the ui features, strategies, and visual analytics like the graphs. Its currently all in a singular file before I split it into seperate components. All the Streamlit app does is gather parameters from the sidebar, send them to CortexBridge, and create a render of the returned metrics/payload. What I’ve added to the dashboard: Full strategy support (choose from dropdown in sidebar) Date range controls & friction inputs: added execution start/end date selectors + interactive sliders for initial capital, commission fees, and slippage % Chart shows equity curve performance Downloadable CSV exports for trade logs and JSON backtest reports What’s next? The dashboard logic is complete, next up is to modularize it into different components. I will most likely also be adding a custom strategy building system soon."}, {"post_id": 38650, "ts": "2026-08-01T04:50:15Z", "hours": 3.9858, "text": "Devlog 08 hi :D. Before writing out the Streamlit code, I decided to setup the actual pipeline to connect the frontend to the backtesting engine. bridge.py now handles the transfer of UI control outputs to commands in the engine. All the streamlit app has to do now is pass input parameters into CortexBridge and receive a payload. This makes sure the web client and backend stay completely seperate. Bridge features: BacktestPayload is the dataclass that returns everything Streamlit will need. This includes the formatted metrics (Total return, Sharpe, etc.), the equity curve df, the trade history table, and execution logs. looks for local sqlite databases, falls back to local csv files, or generates synthetic data if the ticker data isn’t available signals are delayed by 1 bar so that the strategy can’t cheat by knowing the future prices, and trading costs like fees and slippage are also factored into every executed trade bunch of error handling and logging Whats next? Next up is building the full Streamlit layout and hooking it up to the bridge."}, {"post_id": 38284, "ts": "2026-07-31T16:25:02Z", "hours": 10.6756, "text": "Devlog 07 Hello :D. I’m at 10 hours so I have to make a devlog. I will be dropping the tkinter gui completely. Tkinter is genuinely terrible for this project, I’ve spent too long making the dark theme frames and canvas charts, and the UI still looks very old and bad. I will be switching the whole frontend to Streamlit. Streamlit is alot easier to use and is way more convenient. Streamlit also converts Cortex into a web app instead of having to download and run it locally. Alot better for users who just want to test it. The Streamlit building experience also seems better, as they have prebuilt UI components, proper charting libraries, and easier deployment. Whats next? I am scrapping the tkinter app. I will start building the backend wrappers and logic to connect with the Streamlit frontend."}, {"post_id": 37216, "ts": "2026-07-29T19:20:18Z", "hours": 10.3425, "text": "Devlog 06 Hello :D. Since the last devlog, I’ve gotten started on creating the complete pipeline. I started on a script for a complete backtest run. Majority of the time in this devlog was taken up by my frontend work that I just started. This has been the hardest part so far (for me), I don’t remember the last time I’ve had to use tkinter. Current features in the UI: Ticker selection and date range picker (to retrieve stock data) Strategy parameters (fast/slow SMA periods) Risk controls (initial capital, commision %, slippage %) to improve backtesting accuracy List of all trade executions I haven’t implemented matplotlib to show the equity curve and drawdown, that will most likely be up next. The current UI also just feels very blocky and sharp, I will be smoothening everything out. Whats next? I’ll be implementing the chart using Matplotlib for equity curves and drawdowns, and fixing up the styling/layout."}, {"post_id": 36100, "ts": "2026-07-27T23:41:23Z", "hours": 7.4644, "text": "Devlog 05 hey guys :D. I’ve finally completed the PerformanceMetrics module. This allows the program to now display trade stats, WLR, return metrics, and alot more. I also added 4 new strategies for the EMA, Stochastic, ADX, and ATR indicators that I added in the prev devlog. Main.py was also of course updated to handle the metrics. I’ve also just began work on the full pipeline and data wrappers. After that will come the frontend development."}, {"post_id": 35308, "ts": "2026-07-26T17:01:11Z", "hours": 4.0656, "text": "Devlog 04 Hello :D. Last devlog I finished up the backtesting engine, strategy module, and added 2 new indicators. 3 new indicators were added to the TechnicalIndicators module: Stochastic Oscillator ADX (Average directional index - trend strength) ATR (Average true range - volatility) My strategy module was also updated to generate signals for the MACD and Bollinger Bands indicators. Majority of my time has been taken up by the new PerformanceMetrics module I’ve been working on. This module evaluates the backtesting results with return, risk, drawdown, and trade statistics. It still isn’t finished, but will definitely be done before the next devlog. Whats next? Next up will just be more addition of indicators and strategy refinement. After I’ll be setting up the backend wrapper and data handlers to work with the frontend (which I will develop later)."}, {"post_id": 34973, "ts": "2026-07-26T03:20:56Z", "hours": 5.1519, "text": "Devlog 03 Hello :D. Last devlog I migrated everythng to SQLite and built out a few technical indicators. Devlog took this long as I was working on the backtesting engine for a while. Took a while to understand what was going on when I first tried to work on trade execution, create the cash vs holdings trackng, and the entry exit logic. I did get a full simulation working that has slippage, comissions, and risk management like stop loss and take profit. I’ve also added the strategy module to turn indicator outputs into buy and sell signals. 2 new indicators were also added: MACD (Moving Average Convergence Divergence) Bollinger Bands main.py was also of course updated to handle the new modules."}, {"post_id": 34414, "ts": "2026-07-25T02:59:32Z", "hours": 3.0003, "text": "Devlog 02 Hello :D. Last time, I had a script that pulled stock data from yfinance, flattened the dataframes, and saved the data to JSON and CSV files. For this update, I migrated to an actual local database, created separate modules, and built out the first bit of the indicators. I switched over to an SQLite database, and as everything was getting too crammed in the main.py, created separate modules for handling the database and fetching yfinance data, which include the DatabaseManager and DataFetcher classes. I’ve started out on building indicators.py to compute technical indicators. So far I’ve implemented: SMA (Simple Moving Average) EMA (Exponential Moving Average) RSI (Relative Strength Index) I also updated main.py to handle all the new modules and work with the SQLite database. Whats next? I will most likely start building out the strategy part to generate signals based on the indicator outputs."}, {"post_id": 34286, "ts": "2026-07-24T21:16:18Z", "hours": 1.3603, "text": "Devlog 01 Hey guys :D. First devlog of Cortex, heres a quick overview: Cortex is a backtesting and market analysis platform that I’m building to test algotrading strategies. For this first update, I got the main data pipeline working. All my data is coming from yfinance. I setup yfinance to pull 2 years of daily OHLCV data for 6 tickers (AAPL, MSFT, GOOGL, NVDA, SPY, and AMZN). pandas returns MultiIndex columns, so I had to format everything into a flat table. The formatted JSON and CSV files are also exported."}]...
|
Title: Cortex Engine by @ball | Stardance
Devlogs Title: Cortex Engine by @ball | Stardance
Devlogs:
Devlog 01 Hey guys :D. First devlog of Cortex, heres a quick overview: Cortex is a backtesting and market analysis platform that I’m building to test algotrading strategies. For this first update, I got the main data pipeline working. All my data is coming from yfinance. I setup yfinance to pull 2 years of daily OHLCV data for 6 tickers (AAPL, MSFT, GOOGL, NVDA, SPY, and AMZN). pandas returns MultiIndex columns, so I had to format everything into a flat table. The formatted JSON and CSV files are also exported.
Devlog 02 Hello :D. Last time, I had a script that pulled stock data from yfinance, flattened the dataframes, and saved the data to JSON and CSV files. For this update, I migrated to an actual local database, created separate modules, and built out the first bit of the indicators. I switched over to an SQLite database, and as everything was getting too crammed in the main.py, created separate modules for handling the database and fetching yfinance data, which include the DatabaseManager and DataFetcher classes. I’ve started out on building indicators.py to compute technical indicators. So far I’ve implemented: SMA (Simple Moving Average) EMA (Exponential Moving Average) RSI (Relative Strength Index) I also updated main.py to handle all the new modules and work with the SQLite database. Whats next? I will most likely start building out the strategy part to generate signals based on the indicator outputs.
Devlog 03 Hello :D. Last devlog I migrated everythng to SQLite and built out a few technical indicators. Devlog took this long as I was working on the backtesting engine for a while. Took a while to understand what was going on when I first tried to work on trade execution, create the cash vs holdings trackng, and the entry exit logic. I did get a full simulation working that has slippage, comissions, and risk management like stop loss and take profit. I’ve also added the strategy module to turn indicator outputs into buy and sell signals. 2 new indicators were also added: MACD (Moving Average Convergence Divergence) Bollinger Bands main.py was also of course updated to handle the new modules.
Devlog 04 Hello :D. Last devlog I finished up the backtesting engine, strategy module, and added 2 new indicators. 3 new indicators were added to the TechnicalIndicators module: Stochastic Oscillator ADX (Average directional index - trend strength) ATR (Average true range - volatility) My strategy module was also updated to generate signals for the MACD and Bollinger Bands indicators. Majority of my time has been taken up by the new PerformanceMetrics module I’ve been working on. This module evaluates the backtesting results with return, risk, drawdown, and trade statistics. It still isn’t finished, but will definitely be done before the next devlog. Whats next? Next up will just be more addition of indicators and strategy refinement. After I’ll be setting up the backend wrapper and data handlers to work with the frontend (which I will develop later).
Devlog 05 hey guys :D. I’ve finally completed the PerformanceMetrics module. This allows the program to now display trade stats, WLR, return metrics, and alot more. I also added 4 new strategies for the EMA, Stochastic, ADX, and ATR indicators that I added in the prev devlog. Main.py was also of course updated to handle the metrics. I’ve also just began work on the full pipeline and data wrappers. After that will come the frontend development.
Devlog 06 Hello :D. Since the last devlog, I’ve gotten started on creating the complete pipeline. I started on a script for a complete backtest run. Majority of the time in this devlog was taken up by my frontend work that I just started. This has been the hardest part so far (for me), I don’t remember the last time I’ve had to use tkinter. Current features in the UI: Ticker selection and date range picker (to retrieve stock data) Strategy parameters (fast/slow SMA periods) Risk controls (initial capital, commision %, slippage %) to improve backtesting accuracy List of all trade executions I haven’t implemented matplotlib to show the equity curve and drawdown, that will most likely be up next. The current UI also just feels very blocky and sharp, I will be smoothening everything out. Whats next? I’ll be implementing the chart using Matplotlib for equity curves and drawdowns, and fixing up the styling/layout.
Devlog 07 Hello :D. I’m at 10 hours so I have to make a devlog. I will be dropping the tkinter gui completely. Tkinter is genuinely terrible for this project, I’ve spent too long making the dark theme frames and canvas charts, and the UI still looks very old and bad. I will be switching the whole frontend to Streamlit. Streamlit is alot easier to use and is way more convenient. Streamlit also converts Cortex into a web app instead of having to download and run it locally. Alot better for users who just want to test it. The Streamlit building experience also seems better, as they have prebuilt UI components, proper charting libraries, and easier deployment. Whats next? I am scrapping the tkinter app. I will start building the backend wrappers and logic to connect with the Streamlit frontend.
Devlog 08 hi :D. Before writing out the Streamlit code, I decided to setup the actual pipeline to connect the frontend to the backtesting engine. bridge.py now handles the transfer of UI control outputs to commands in the engine. All the streamlit app has to do now is pass input parameters into CortexBridge and receive a payload. This makes sure the web client and backend stay completely seperate. Bridge features: BacktestPayload is the dataclass that returns everything Streamlit will need. This includes the formatted metrics (Total return, Sharpe, etc.), the equity curve df, the trade history table, and execution logs. looks for local sqlite databases, falls back to local csv files, or generates synthetic data if the ticker data isn’t available signals are delayed by 1 bar so that the strategy can’t cheat by knowing the future prices, and trading costs like fees and slippage are also factored into every executed trade bunch of error handling and logging Whats next? Next up is building the full Streamlit layout and hooking it up to the bridge.
Devlog 09 hello :D. With the bridge now running, I built out the full app.py dashboard to test all the ui features, strategies, and visual analytics like the graphs. Its currently all in a singular file before I split it into seperate components. All the Streamlit app does is gather parameters from the sidebar, send them to CortexBridge, and create a render of the returned metrics/payload. What I’ve added to the dashboard: Full strategy support (choose from dropdown in sidebar) Date range controls & friction inputs: added execution start/end date selectors + interactive sliders for initial capital, commission fees, and slippage % Chart shows equity curve performance Downloadable CSV exports for trade logs and JSON backtest reports What’s next? The dashboard logic is complete, next up is to modularize it into different components. I will most likely also be adding a custom strategy building system soon.
Devlog 10 hello :D. the first version of Cortex is ready to ship. After I modularized the components, I finished up the strategy builder module and the UI in streamlit. So now you can make your own custom no-code entry and exit rules. The app is deployed on Render. I’ve bought a domain for it, and linked that up to the Render link. The current UI takes in whatever rules you set, fixes up the signal logic, and then hands it to the backtester so you get results pretty much instantly. What I got working for the builder: Add, delete, change multi condition rules using basic boolean logic Compare indicators against fixed numbers or just evaluate 2 strategies against eachother, eg SMA and EMA Calculates indicators ahead of time and edge cases like NaN crashes and random state resets. What’s next? README, full runthrough to make sure everything runs smoothly, and then the first ship.
Devlog 11 I’m just doing this last devlog before the first ship, so that I get the remaining time I spent working on the readme. The complete readme.md is finished, including all the features, development tools, tech stack, and more. I will be shipping now.
Ships:
First ship for Cortex :D. Cortex is a tool for building and testing automated trading strategies without needing to write code. You can load stock price data, pick technical indicators like moving averages or RSI, and visually create custom buy and sell rules. It then runs a simulation over historical data to show you how your strategy would have performed, complete with interactive charts, performance stats like win rates and total returns, and downloadable trade logs. Hope you all enjoy using it :D...
|
1792878600.0681653
|
1793742600.0681653
|
|
22364
|
Binary Bound by @PAPER_01 | Stardance
|
PAPER_01
|
2
|
48.0
|
811
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-18T03:37:24Z", "hours": 12.0, "multiplier": 13.82, "payout": 198, "blessing": "blessed", "text": "Shipping the Updated version Game link: https://sudip-project-06.wuaze.com/ Hello everyone, Welcome First of all, thank you so much for all the feedbacks. I worked on the previous feedback and I have updated the game. One of the biggest issues people found was that the anyone could easily cheat .[Consider reading devlog #10 for more =) ] Previously, anyone could open the browser console and see the random number directly. They could also execute the `saveScore` function with fake values, like completing the game in one try on Impossible difficulty, and the server would simply trust that data and add it to the leaderboard. ( ̄▽ ̄;) To avoid this, I implemented some changes. Previously, the random number was generated and verified in the frontend using JavaScript. Now, all of that logic has been moved to PHP. The random number is generated on the server, checked on the server, and only whether the entered number is correct or not is sent back to the browser. This means that even if someone tries to call the `saveScore` or `setScore` function manually from the browser console without actually winning, the server will simply reject it. ( •̀ ω •́ )✧ I also received some feedback about the sound effects. Some people said the error sound was a little too sudden, and honestly, looking at it from their perspective, they're right. So I made a few changes regarding that as well. - By default, the Disable Sound option is now enabled. - Anyone can turn the sounds back on anytime. - The preference is saved in Local Storage, so you won't have to change it every time =) - I also applied the Disable Sound option to the win sound as well as per the feedback. For now, I'll consider this project shipped, but I still plan to add more features and improvements in the future based on your feedback. Thank you so much for being part of this journey. And yeah, I would still love any feedback you want to share. (ᵔᴗᵔ) Thank you so much. <(_ _)> Have a nice day! =)", "repo": "https://github.com/sudipstha-01/Binary-Bound", "demo": "https://sudip-project-06.wuaze.com/"}, {"ship_num": 2, "ts": "2026-07-04T02:18:54Z", "hours": 36.0, "multiplier": 17.21, "payout": 613, "blessing": "neutral", "text": "**Hello Everyone** , Welcome ! For this time I have made a Game Binary Bound . The concept is simple , the JS generate a random number and you are supposed to guess it in least number of tries possible , but there is more than that . I tried to make the game more interesting and fun . I will explain it properly in the features section below =) **Features** **Levels **: There are total of 6 levels where you guess the number between Level 1 : 1 - 10 Level 2 : 1 - 100 Level 3 : 1 - 1000 Level 4 : 1 - 10000 Level 5 : 1 - 100000 Level Impossible : 1 - 1000000 **HINT (for non-hardcore mode)** : There is also a hint below the input box where you will be given hint , which will tell you the next number you are supposed to guess is higher or lower the current one you just guessed. Let me leave no confusion . Assume you are playing Level 2 (its also selected by default =) ) You chose 50 , and the hint says something like \"Hint : Nah buddy, try Guessing Lower\" then you can totally eliminate Numbers below 50 and chose any lower and the process reapeats . hopefully it was clear . **The HARDCORE Mode** : What if there was no hint 😗 . How would you guess the your next number ? Yep thats Hardcore mode , but I know it would be abit tooooooo dificult if we imagine it with level 3 or 4 or even higer . Thats why i have also added the GIF system (HARDCORE lifesaver). **The secret HINT**: GIFs are fun ! So to make the game more interesting I have also used the GIFs but its role is actually more than that .For the Hardcore mode player It could sometime act as a Secret Hint . Its expalined in the Devlog #6 but lemme expain to you in short anyway. There are total of 18 GIFs which will be displayed randomly in the game . Among which 3 are hints which hints you to guess lower and another 3 are hints which hints you to guess higher . Which means there is 33.33% chance that the GIFs = Hint =) It is applied to all Level and modes . I hope it was clear =) . [It is also explained in detail in Devlog #6] **The Leaderboard** : I have integrated a leaderboard system where all the players will be listed who has guessed the number at least once . Also I would like to explain you the ranking system . The common rule is the one who gusses in the least number of tries ranks higher(at the top). But here is a catch , In case if there are two players with same number of try and they achieved the position same number of time then they will share the same rank . Lemme give you an example : Assume two players (Player A and Player B) Player A guessed the number in 2 tries ( one time ) Player B also guessed the number in 2 tries (two times) Then in that case Player B will be ranked above player A . **The SFXs** : There is sound effect (different for each , correct guess and incorrect guess (meme sound btw😅) . Its just for fun , but you can mute that option by clicking on the Error sound btn (and your preference will also be saved in localStorage =) ) Now lemme tell you some more about my project . I first time saw this design (theme) in the instagram and tried to replicate in , and I found what colors they exactly use from this site : https://neumorphism.io/#e0e0e0 I will be transparent and declare the use of AI : I used AI (Gemini and ChatGPT) . ChatGPT while making the shake error nad Gemini especially for Debuging the backend and while making the leaderboard system . I assume thats it for this project . Its my biggest project I have worked on so far . **Thank you so much for reading .** If something was unclear please comment , i will reply =) **Have a nice day =)**", "repo": "https://github.com/sudipstha-01/Binary-Bound", "demo": "https://sudip-project-06.wuaze.com/"}]...
|
[{"post_id": 30492, "ts": "202 [{"post_id": 30492, "ts": "2026-07-18T03:24:35Z", "hours": 2.0, "text": "Devlog #11 Game link : https://sudip-project-06.wuaze.com/ Hello everyone, Welcome to Devlog #11 of Binary Bound. Thank you so much for all the feedbacks. I’m still reading them and trying to improve the game based on them. <(_ _)> One of the major things I worked on was securing the save score functionality. Previously, anyone could just open the browser console and just call the saveScore function with fake values, like one try on level impossible, and the server would just believe it and share it to the leaderboard. To fix this, I moved all that trust to the server side instead of the browser side sending the score data. The server now tracks everything itself using PHP sessions during the game. So when the game ends and submits a score, PHP just reads from its own memory instead of listening to the browser. And if someone still tries to use the setScore function from the browser console without actually winning, then the server will just reject it. ( •̀ ω •́ )✧ I also got some feedback that some people did not like hearing the sound effects, as it was jumpscare, and watching from that persepective they are correct. So I made a few changes regarding that as well. • By default, the Disable Sound option is on. • Anyone can turn the sounds back on anytime. • Their preference is saved in Local Storage. • I also applied the Disable Sound option to the win sound as well. Thank you so much. And yeah, I would still love any feedback you want to share. (ᵔᴗᵔ). I will ship this project for now but will still add more features on it. Thank you so much. <(_ _)> Have a nice day =)"}, {"post_id": 30114, "ts": "2026-07-17T13:00:49Z", "hours": 6.0, "text": "Devlog #10 Game link : https://sudip-project-06.wuaze.com/ Hello everyone, Welcome to Devlog #10 of Binary Bound . Yeah, it’s the first devlog after the ship. First, I would like to thank everyone for the feedbacks and your love and support. I’m really glad, and I feel really blessed for all the feedbacks, comments, likes—everything. Thank you so much. (╥﹏╥)♡ And yeah, like I told before, I’m working on your feedbacks. I actually have not completed all the improvements that the feedback asked me to, but I’m still working on it. First, I fixed what I guess was the main issue. Anyone could console.log … theSUSimposter (Those who know, they know.) (¬‿¬) (Actually it was the variable where the random number was created and stored) They could literally see what the random number was, and some of them also used the function I made to save the score by executing it directly from the browser console.( ̄▽ ̄;) To avoid this, I implemented some changes. Previously, the random number was generated and verified in the frontend JavaScript. Now, I have moved that logic to PHP. The random number is now generated on the server, checked there, and only the result of whether the entered number is correct or not is returned. I’m currently working on securing the save score functionality as well. Once I finish it, I’ll upload the update and let you all know. Also one more thing , i accidently deleted the old database , i am so sorry , but i had one backup but not all of them are here, i apologize (╥﹏╥). Thank you so much. And yeah, I would still love any feedback you want to share. Thank you so much. <(_ _)> Have a nice day…"}, {"post_id": 29313, "ts": "2026-07-16T05:07:25Z", "hours": 2.0, "text": "Hello everone , Thank you so much for all the love and support last time, Now I have collected all the feedbacks and now currently am working on them, Thank you so much for reading , Have a nice day =)"}, {"post_id": 21896, "ts": "2026-07-04T02:17:42Z", "hours": 0.0, "text": "Finally Shipping !!!! Live Demo here : https://sudip-project-06.wuaze.com/ Have a nice day"}, {"post_id": 21866, "ts": "2026-07-04T01:08:12Z", "hours": 2.0, "text": "**Hello Everyone! ** I know I said that the las one would be my final devlog.. but here I am again . Welcome to **Devlog #9. ** I know I said that the las one would be my final devlog.. but here I am again . Welcome to Devlog #9. According to the timer or the time spent on the project might be displaying around 2 hours , but behind it there is a whole story . Lemme tell You. After the last devlog , I tried hosting/deploying the project on the internet and as I was doing that , I ran into 500 Internal Server Issue and I know its hard to believe but it took me 5 HOURS to only notice that the error was a single space (to be specific , Before fix=> header(“Content-Type: application/json”); After fix=> header(“Content-Type : application/json”); ) Honestly I didnt even know it could cause issue , as the previous code worked perfectly when i ran the code locally(using the vscode extension PHP Server by brapifra), It was Gemini who figured it out when I sent it the screenshot of the error and the code(after it was uploaded to the server). I literally thought it was issue with my account with which I was hosting , so I even tried creating multiple accounts and digged into Youtube and more but could find what was wrong, I feel really greatful to Gemini for this . (The loading of GIF and sound still takes abit time when its loading for the first time,but it SHOULD be fine after that, hopefully😅). I understood the feeling of both frustration and exitment during this journey . I cant ensure you that the project is flawless but I hope it would be fun for you . Now I can say that , Finally the project is complete and here is the demo link : https://sudip-project-06.wuaze.com/ Will be Shipping soon! **Thank You SOOOOOOO Much . Have a nice day ."}, {"post_id": 21414, "ts": "2026-07-03T10:51:51Z", "hours": 3.0, "text": "Devlog #08 Hello everyone , Welcome again . (I will keep this one devlog abit short) . This might be probably the last devlog for this project . Finally the polishing stuff is done . I have made this site responsive (still i recomend playing this game on pc / laptop , honestly i suck at making site responsive but i did try.) , also before I used index as position thats why i had an ranking issue on the leaderboard which took me longer to find then to fix it acutally (i will keep the screenshot somewhere below.). I plan to explain the whole game once again while shipping. Thank you everyone . Have a nice day ."}, {"post_id": 21241, "ts": "2026-07-03T02:25:09Z", "hours": 3.0, "text": "Hello again , everyone! Welcome to Devlog #07 Before I get into the actual update , i want to mention about the to hackatime members( Other readers can skip to next paragraph ) that after i renamed some of my files name it totally created the new section on hackatime file and has sepetrated time counter for them and my time on the particular file started from 0 min again. I completely forrgot to mention this in the previous devlogs even though I have added this feature like few days ago that there is a sound effects which will be played when user gets the answer correct and also for incorrect (all of them are meme sound effects😅) and it will be played after the user take a guess. And the main update for this is that I have added a mute btn which will you can use to turn the error sound off , also the user preference of (off/on) will be saved in **LocalStorage **so it will remember your preference =) (as long as you are using the samebrowser) . Hope I made things clear if not please comment and i will try to explain again .. Also currently I am working on the responsiveness of the site ( and i suck at this fr). Thank you for reading . Have a nice day ."}, {"post_id": 20695, "ts": "2026-07-02T11:14:14Z", "hours": 4.0, "text": "Devlog #6 Hello again everyone , this devlog might be abit longer but I want to make sure you all understand what changes I made recently . Welcome back to the journey of me converting a Simple Number Guessing Game(Named Binary Bound ) into a full on backend integrated game where you prove the world how lucky you are (probably😐). Lets start with whats new (will explain in detail below): Functioning Leaderboard Added a GIF section to make the game even more intresting. A secret hint for Hardcore Mode (will explain below). First lemme explain the Leaderboard system Players who guess the number in fewer number of tries ranks higher . If two or more players guess the number in the same number of attempts , the player with more total wins gets the higher rank . [Only the best records are considered for record , which means if a player guesses the number in 3 tries and later in 2 tries then only the record of 2 is stored in the database ] lemme give you an example : Assume there are two player , i.e Player A and Player B Player A : Guessed the number in 3 tries (only one time). Player B : Also Guessed the number in 3 tries but gets correct 2 times then player B will rank above Player A . I hope I was able to make thinkgs clear , if not please comment and I will try again to explain. Now Lets talk about The GIF system . We all know GIFs are fun , but here (expecially for hardcore mode player , it will be more than that .) (btw almost all of them are anime😶🌫️ GIFs) I have linked total 18 GIFs and among them 6 are hints. Lemme explain In details I have total 3 folders storing GIFs Folder name : [ Correct ] -> It has 3 GIFs from which a random any one will be played when the user guesses the answer correct . [ Down ] -> It has 3 GIFs which will be hinting downward . (Hinting guess lower) [ Up ] -> It has 3 GIFs which will be hinting upward . (Hinting guess higher) [ Error ] -> It has total 9 GIFs which has random GIFs , not meant to hint anything , they are just for fun . [ The GIFs will be played in all levels ranging from level 1 to level impossible ] How these GIF are helpful for hardcore player . Since the 6 of the GIFs are helpful or hintful you may say , then there is total of (6/18) = 1/3 ( 33.33% ) chance that the GIF might be helpful . eg. If you are playing Level : Impossible (i.e Guessing number from 1 to 1 Million🤧) and you took your guess and spot that the GIF hints you UP or Down then you could easily eliminate 500K numbers (if you choose 500,000). Hope I made this system clear as well . If I didnt forget anything while writing this devlog , probalbly Thats it (I will update you if i forgot anything here . ) Maybe will polish the game more and see if could add anything new . Till then Thank you for reading Bye! Have a Nice day"}, {"post_id": 20411, "ts": "2026-07-02T00:27:57Z", "hours": 1.0, "text": "Devlog #05 Hello everyone again , A quick update again on the Binary Bound Game I was working on. Now Finally the leaderboard system is working ( yeeeeee ) , but for now it stores every try made by the user😖 . So now next i will try to do is save only the highest score earned (which is least try in this case) , after i fix it , i will report soon. And also the autologin system is ready , whcih means if the user entered the unique username on the welcome page once then the user wont have to bother entering the name everytime he/she logs in (used LocalStorage for that). Thank you for reading . Have a nice day =)"}, {"post_id": 19988, "ts": "2026-07-01T13:48:28Z", "hours": 3.0, "text": "Devlog 04 Hello everyone, Welcome again! A quick update on Binary Bound. I just finished working on the backend and the databases, (used php and sql btw) and finally the backend seems to be functioning but still the leaderboard is still under construction. Will be giving report soon. Thank You Have a nice day"}, {"post_id": 19758, "ts": "2026-07-01T04:31:32Z", "hours": 7.0, "text": "Devlog #3 Hello again everyone ! Now I have made some more changes on the game , I changed the theme to Neumorphism(I saw it on IG) and Also i have made different levels along with a hardcore mode. Lemme explain in detail about the levels Level 1 : 1 - 10 Level 2 : 1 - 100 Level 3 : 1 - 1000 Level 4 : 1 - 10000 Level 5 : 1 - 100000 Level Impossible : 1 - 1M I know that the higher levels are too difficult but there is always hint to help but there is a catch . I also added a HardCore Mode In the hardcore Mode even the hints are not available . Just wanted to make the game a bit hard to see what it feels like 😅 Currently I am working on the backend and Leaderboard system . Thank You So much Have a nice day =)"}, {"post_id": 15027, "ts": "2026-06-24T12:31:26Z", "hours": 7.0, "text": "Devlog #2: Features Added Last time, I mostly worked on the layouts. This time, I finally got the game working! Things took a little longer than expected because I kept accidentally breaking my own code , What I added: Core game functionality is now working -Level system added Sound effects Screen shake animation for errors Color feedback: Green for correct guesses Red for wrong guesses 💡 Hint system Guess/try counter -Reset button Started preparing customization features (still a work in progress) Current Status: ✅ Game is playable ✅ Levels are functional 🚧 Customization is still under construction 🚧 Backend coming soon Thanks for checking out my progress! =)"}, {"post_id": 12391, "ts": "2026-06-20T07:03:50Z", "hours": 1.0, "text": "I started working on a Guess the number game[Name : Binary Bound] . I know its a simple project but I am new in this field and i am just trying to build and learn more. This is a simple game but i would try integrating backend too and add something special to make it unique and more fun to play . Here , ⬜ The white box is main playing area 🟦 The blue box is for customizing the game settings area. 🟩 The green box is the are for leaderboard information area."}]...
|
Title: Binary Bound by @PAPER_01 | Stardance
Devl Title: Binary Bound by @PAPER_01 | Stardance
Devlogs:
I started working on a Guess the number game[Name : Binary Bound] . I know its a simple project but I am new in this field and i am just trying to build and learn more. This is a simple game but i would try integrating backend too and add something special to make it unique and more fun to play . Here , ⬜ The white box is main playing area 🟦 The blue box is for customizing the game settings area. 🟩 The green box is the are for leaderboard information area.
Devlog #2: Features Added Last time, I mostly worked on the layouts. This time, I finally got the game working! Things took a little longer than expected because I kept accidentally breaking my own code , What I added: Core game functionality is now working -Level system added Sound effects Screen shake animation for errors Color feedback: Green for correct guesses Red for wrong guesses 💡 Hint system Guess/try counter -Reset button Started preparing customization features (still a work in progress) Current Status: ✅ Game is playable ✅ Levels are functional 🚧 Customization is still under construction 🚧 Backend coming soon Thanks for checking out my progress! =)
Devlog #3 Hello again everyone ! Now I have made some more changes on the game , I changed the theme to Neumorphism(I saw it on IG) and Also i have made different levels along with a hardcore mode. Lemme explain in detail about the levels Level 1 : 1 - 10 Level 2 : 1 - 100 Level 3 : 1 - 1000 Level 4 : 1 - 10000 Level 5 : 1 - 100000 Level Impossible : 1 - 1M I know that the higher levels are too difficult but there is always hint to help but there is a catch . I also added a HardCore Mode In the hardcore Mode even the hints are not available . Just wanted to make the game a bit hard to see what it feels like 😅 Currently I am working on the backend and Leaderboard system . Thank You So much Have a nice day =)
Devlog 04 Hello everyone, Welcome again! A quick update on Binary Bound. I just finished working on the backend and the databases, (used php and sql btw) and finally the backend seems to be functioning but still the leaderboard is still under construction. Will be giving report soon. Thank You Have a nice day
Devlog #05 Hello everyone again , A quick update again on the Binary Bound Game I was working on. Now Finally the leaderboard system is working ( yeeeeee ) , but for now it stores every try made by the user😖 . So now next i will try to do is save only the highest score earned (which is least try in this case) , after i fix it , i will report soon. And also the autologin system is ready , whcih means if the user entered the unique username on the welcome page once then the user wont have to bother entering the name everytime he/she logs in (used LocalStorage for that). Thank you for reading . Have a nice day =)
Devlog #6 Hello again everyone , this devlog might be abit longer but I want to make sure you all understand what changes I made recently . Welcome back to the journey of me converting a Simple Number Guessing Game(Named Binary Bound ) into a full on backend integrated game where you prove the world how lucky you are (probably😐). Lets start with whats new (will explain in detail below): Functioning Leaderboard Added a GIF section to make the game even more intresting. A secret hint for Hardcore Mode (will explain below). First lemme explain the Leaderboard system Players who guess the number in fewer number of tries ranks higher . If two or more players guess the number in the same number of attempts , the player with more total wins gets the higher rank . [Only the best records are considered for record , which means if a player guesses the number in 3 tries and later in 2 tries then only the record of 2 is stored in the database ] lemme give you an example : Assume there are two player , i.e Player A and Player B Player A : Guessed the number in 3 tries (only one time). Player B : Also Guessed the number in 3 tries but gets correct 2 times then player B will rank above Player A . I hope I was able to make thinkgs clear , if not please comment and I will try again to explain. Now Lets talk about The GIF system . We all know GIFs are fun , but here (expecially for hardcore mode player , it will be more than that .) (btw almost all of them are anime😶🌫️ GIFs) I have linked total 18 GIFs and among them 6 are hints. Lemme explain In details I have total 3 folders storing GIFs Folder name : [ Correct ] -> It has 3 GIFs from which a random any one will be played when the user guesses the answer correct . [ Down ] -> It has 3 GIFs which will be hinting downward . (Hinting guess lower) [ Up ] -> It has 3 GIFs which will be hinting upward . (Hinting guess higher) [ Error ] -> It has total 9 GIFs which has random GIFs , not meant to hint anything , they are just for fun . [ The GIFs will be played in all levels ranging from level 1 to level impossible ] How these GIF are helpful for hardcore player . Since the 6 of the GIFs are helpful or hintful you may say , then there is total of (6/18) = 1/3 ( 33.33% ) chance that the GIF might be helpful . eg. If you are playing Level : Impossible (i.e Guessing number from 1 to 1 Million🤧) and you took your guess and spot that the GIF hints you UP or Down then you could easily eliminate 500K numbers (if you choose 500,000). Hope I made this system clear as well . If I didnt forget anything while writing this devlog , probalbly Thats it (I will update you if i forgot anything here . ) Maybe will polish the game more and see if could add anything new . Till then Thank you for reading Bye! Have a Nice day
Hello again , everyone! Welcome to Devlog #07 Before I get into the actual update , i want to mention about the to hackatime members( Other readers can skip to next paragraph ) that after i renamed some of my files name it totally created the new section on hackatime file and has sepetrated time counter for them and my time on the particular file started from 0 min again. I completely forrgot to mention this in the previous devlogs even though I have added this feature like few days ago that there is a sound effects which will be played when user gets the answer correct and also for incorrect (all of them are meme sound effects😅) and it will be played after the user take a guess. And the main update for this is that I have added a mute btn which will you can use to turn the error sound off , also the user preference of (off/on) will be saved in **LocalStorage **so it will remember your preference =) (as long as you are using the samebrowser) . Hope I made things clear if not please comment and i will try to explain again .. Also currently I am working on the responsiveness of the site ( and i suck at this fr). Thank you for reading . Have a nice day .
Devlog #08 Hello everyone , Welcome again . (I will keep this one devlog abit short) . This might be probably the last devlog for this project . Finally the polishing stuff is done . I have made this site responsive (still i recomend playing this game on pc / laptop , honestly i suck at making site responsive but i did try.) , also before I used index as position thats why i had an ranking issue on the leaderboard which took me longer to find then to fix it acutally (i will keep the screenshot somewhere below.). I plan to explain the whole game once again while shipping. Thank you everyone . Have a nice day .
**Hello Everyone! ** I know I said that the las one would be my final devlog.. but here I am again . Welcome to **Devlog #9. ** I know I said that the las one would be my final devlog.. but here I am again . Welcome to Devlog #9. According to the timer or the time spent on the project might be displaying around 2 hours , but behind it there is a whole story . Lemme tell You. After the last devlog , I tried hosting/deploying the project on the internet and as I was doing that , I ran into 500 Internal Server Issue and I know its hard to believe but it took me 5 HOURS to only notice that the error was a single space (to be specific , Before fix=> header(“Content-Type: application/json”); After fix=> header(“Content-Type : application/json”); ) Honestly I didnt even know it could cause issue , as the previous code worked perfectly when i ran the code locally(using the vscode extension PHP Server by brapifra), It was Gemini who figured it out when I sent it the screenshot of the error and the code(after it was uploaded to the server). I literally thought it was issue with my account with which I was hosting , so I even tried creating multiple accounts and digged into Youtube and more but could find what was wrong, I feel really greatful to Gemini for this . (The loading of GIF and sound still takes abit time when its loading for the first time,but it SHOULD be fine after that, hopefully😅). I understood the feeling of both frustration and exitment during this journey . I cant ensure you that the project is flawless but I hope it would be fun for you . Now I can say that , Finally the project is complete and here is the demo link : https://sudip-project-06.wuaze.com/ Will be Shipping soon! **Thank You SOOOOOOO Much . Have a nice day .
Finally Shipping !!!! Live Demo here : https://sudip-project-06.wuaze.com/ Have a nice day
Hello everone , Thank you so much for all the love and support last time, Now I have collected all the feedbacks and now currently am working on them, Thank you so much for reading , Have a nice day =)
Devlog #10 Game link : https://sudip-project-06.wuaze.com/ Hello everyone, Welcome to Devlog #10 of Binary Bound . Yeah, it’s the first devlog after the ship. First, I would like to thank everyone for the feedbacks and your love and support. I’m really glad, and I feel really blessed for all the feedbacks, comments, likes—everything. Thank you so much. (╥﹏╥)♡ And yeah, like I told before, I’m working on your feedbacks. I actually have not completed all the improvements that the feedback asked me to, but I’m still working on it. First, I fixed what I guess was the main issue. Anyone could console.log … theSUSimposter (Those who know, they know.) (¬‿¬) (Actually it was the variable where the random number was created and stored) They could literally see what the random number was, and some of them also used the function I made to save the score by executing it directly from the browser console.( ̄▽ ̄;) To avoid this, I implemented some changes. Previously, the random number was generated and verified in the frontend JavaScript. Now, I have moved that logic to PHP. The random number is now generated on the server, checked there, and only the result of whether the entered number is correct or not is returned. I’m currently working on securing the save score functionality as well. Once I finish it, I’ll upload the update and let you all know. Also one more thing , i accidently deleted the old database , i am so sorry , but i had one backup but not all of them are here, i apologize (╥﹏╥). Thank you so much. And yeah, I would still love any feedback you want to share. Thank you so much. <(_ _)> Have a nice day…
Devlog #11 Game link : https://sudip-project-06.wuaze.com/ Hello everyone, Welcome to Devlog #11 of Binary Bound. Thank you so much for all the feedbacks. I’m still reading them and trying to improve the game based on them. <(_ _)> One of the major things I worked on was securing the save score functionality. Previously, anyone could just open the browser console and just call the saveScore function with fake values, like one try on level impossible, and the server would just believe it and share it to the leaderboard. To fix this, I moved all that trust to the server side instead of the browser side sending the score data. The server now tracks everything itself using PHP sessions during the game. So when the game ends and submits a score, PHP just reads from its own memory instead of listening to the browser. And if someone still tries to use the setScore function from the browser console without actually winning, then the server will just reject it. ( •̀ ω •́ )✧ I also got some feedback that some people did not like hearing the sound effects, as it was jumpscare, and watching from that persepective they are correct. So I made a few changes regarding that as well. • By default, the Disable Sound option is on. • Anyone can turn the sounds back on anytime. • Their preference is saved in Local Storage. • I also applied the Disable Sound option to the win sound as well. Thank you so much. And yeah, I would still love any feedback you want to share. (ᵔᴗᵔ). I will ship this project for now but will still add more features on it. Thank you so much. <(_ _)> Have a nice day =)
Ships:
**Hello Everyone** , Welcome ! For this time I have made a Game Binary Bound . The concept is simple , the JS generate a random number and you are supposed to guess it in least number of tries possible , but there is more than that . I tried to make the game more interesting and fun . I will explain it properly in the features section below =) **Features** **Levels **: There are total of 6 levels where you guess the number between Level 1 : 1 - 10 Level 2 : 1 - 100 Level 3 : 1 - 1000 Level 4 : 1 - 10000 Level 5 : 1 - 100000 Level Impossible : 1 - 1000000 **HINT (for non-hardcore mode)** : There is also a hint below the input box where you will be given hint , which will tell you the next number you are supposed to guess is higher or lower the current one you just guessed. Let me leave no confusion . Assume you are playing Level 2 (its also selected by default =) ) You chose 50 , and the hint says something like "Hint : Nah buddy, try Guessing Lower" then you can totally eliminate Numbers below 50 and chose any lower and the process reapeats . hopefully it was clear . **The HARDCORE Mode** : What if there was no hint 😗 . How would you guess the your next number ? Yep thats Hardcore mode , but I know it would be abit tooooooo dificult if we imagine it with level 3 or 4 or even higer . Thats why i have also added the GIF system (HARDCORE lifesaver). **The secret HINT**: GIFs are fun ! So to make the game more interesting I have also used the GIFs but its role is actually more than that .For the Hardcore mode player It could sometime act as a Secret Hint . Its expalined in the Devlog #6 but lemme expain to you in short anyway. There are total of 18 GIFs which will be displayed randomly in the game . Among which 3 are hints which hints you to guess lower and another 3 are hints which hints you to guess higher . Which means there is 33.33% chance that the GIFs = Hint =) It is applied to all Level and modes . I hope it was clear =) . [It is also explained in detail in Devlog #6] **The Leaderboard** : I have integrated a leaderboard system where all the players will be listed who has guessed the number at least once . Also I would like to explain you the ranking system . The common rule is the one who gusses in the least number of tries ranks higher(at the top). But here is a catch , In case if there are two players with same number of try and they achieved the position same number of time then they will share the same rank . Lemme give you an example : Assume two players (Player A and Player B) Player A guessed the number in 2 tries ( one time ) Player B also guessed the number in 2 tries (two times) Then in that case Player B will be ranked above player A . **The SFXs** : There is sound effect (different for each , correct guess and incorrect guess (meme sound btw😅) . Its just for fun , but you can mute that option by clicking on the Error sound btn (and your preference will also be saved in localStorage =) ) Now lemme tell you some more about my project . I first time saw this design (theme) in the instagram and tried to replicate in , and I found what colors they exactly use from this site : https://neumorphism.io/#e0e0e0 I will be transparent and declare the use of AI : I used AI (Gemini and ChatGPT) . ChatGPT while making the shake error nad Gemini especially for Debuging the backend and while making the leaderboard system . I assume thats it for this project . Its my biggest project I have worked on so far . **Thank you so much for reading .** If something was unclear please comment , i will reply =) **Have a nice day =)**
Shipping the Updated version Game link: https://sudip-project-06.wuaze.com/ Hello everyone, Welcome First of all, thank you so much for all the feedbacks. I worked on the previous feedback and I have updated the game. One of the biggest issues people found was that the anyone could easily cheat .[Consider reading devlog #10 for more =) ] Previously, anyone could open the browser console and see the random number directly. They could also execute the `saveScore` function with fake values, like completing the game in one try on Impossible difficulty, and the server would simply trust that data and add it to the leaderboard. ( ̄▽ ̄;) To avoid this, I implemented some changes. Previously, the random number was generated and verified in the frontend using JavaScript. Now, all of that logic has been moved to PHP. The random number is generated on the server, checked on the server, and only whether the entered number is correct or not is sent back to the browser. This means that even if someone tries to call the `saveScore` or `setScore` function manually from the browser console without actually winning, the server will simply reject it. ( •̀ ω •́ )✧ I also received some feedback about the sound effects. Some people said the error sound was a little too sudden, and honestly, looking at it from their perspective, they're right. So I made a few changes regarding that as well. - By default, the Disable Sound option is now enabled. - Anyone can turn the sounds back on anytime. - The preference is saved in Local Storage, so you won't have to change it every time =) - I also applied the Disable Sound option to the win sound as well as per the feedback. For now, I'll consider this project shipped, but I still plan to add more features and improvements in the future based on your feedback. Thank you so much for being part of this journey. And yeah, I would still love any feedback you want to share. (ᵔᴗᵔ) Thank you so much. <(_ _)> Have a nice day! =)...
|
1792878842.0991673
|
1793742842.0991673
|
|
42116
|
Ile by @Leftie | Stardance
|
Leftie
|
1
|
58.98
|
810
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-24T01:50:52Z", "hours": 58.0, "multiplier": 13.97, "payout": 810, "blessing": "neutral", "text": "I made Ile, an embedded scripting language! It uses a recursive descent parser to build an abstract syntax tree and then walks the tree to execute. The hardest part was when I would run into tiny little problems, like Rust giving lifetime errors, and not knowing how to solve them immediately. I’m proudest of the parsing logic. It’s the longest source file I’ve ever written, and it took awhile to figure out. To test Ile, you can download it from the GitHub releases and run some of its example programs.", "repo": "https://github.com/left-alert-chaos/ile", "demo": "https://crates.io/crates/ile"}]...
|
[{"post_id": 57800, "ts": "202 [{"post_id": 57800, "ts": "2026-08-30T03:01:58Z", "hours": 0.9814, "text": "Devlog 14: …oh So I’ve been doing my development on Ubuntu, which, as a Linux distro, is UNIX-based, and uses just \\n for newlines. However, I haven’t done any testing on Windows, and Houston, we have a problem. I still don’t have all my ratings yet, but someone was kind enough to create a github issue saying that Ile doesn’t work on Windows. I hadn’t thought to support it, but Windows uses \\r\\n for newlines! This broke the tokenizer, and caused the language to be unusable on non-UNIX-based systems. It was a one-line fix, but I already have 10 ratings, so I can only hope they aren’t too negative for having bad Windows support.😟 P.S. I guess this means Windows is officially as outdated as a typewriter!"}, {"post_id": 53454, "ts": "2026-08-24T00:51:03Z", "hours": 5.0833, "text": "Devlog 13: Ship time! I’ve been working on getting everything ready to ship, and I think it’s almost time! I’ve fixed some bugs, added more tests, published to crates.io , and created a GitHub release! Now, I’ll make sure I have good instructions in my README, and I’ll be ready to go!"}, {"post_id": 52730, "ts": "2026-08-23T01:49:50Z", "hours": 5.53, "text": "Devlog 12: Scoping is hard I’ve been working on getting Ile ready to ship, and I had a small, significant feature to implement: scoping. This is basically when a function is called and uses the scope that it was a part of when it was created instead of the scope it was called in. This was hard . To implement this, my first thought was write yet another lookup function to find the correct module’s stack and walk the function in the stack. Unfortunately, the compiler didn’t like this. I couldn’t get it done without having 2 different mutable references to the stack at the same time, so it was off the table. What I ended up going for was when a function is called, it clones (memory-efficient, amirite?!) its entire scope and walks inside it. After the function executes, it then sets the value of its module’s scope to the current value of the scope it just walked in, so as to update it with any changes. Makes sense, right? RIGHT?! Anyway, there isn’t really a picture to show, so here’s tests passing."}, {"post_id": 51428, "ts": "2026-08-21T04:01:56Z", "hours": 4.3419, "text": "Devlog 11: I don’t even know I’m hoping to ship tomorrow, so I’m fixing up the language to be usable. I’ve been writing some documentation, so I have a little starter guide now. I also learned that Ile can use as little as one thirtieth the ram of Node.js! That’s definitely going in the features section."}, {"post_id": 50052, "ts": "2026-08-19T02:44:43Z", "hours": 5.3528, "text": "Devlog 10: asdf I’ve been trying to add a GUI system to the standard library. Because I don’t want any dependencies, I came up with the following harebrained scheme: Write a Python script that formats its stdin in a Tkinter window to draw a GUI When the function to create a window is called, spawn Python as a sub-process and send the text to be displayed to its input via a pipe Unfortunately, this doesn’t work. The script works when run on its own, but when run by Ile it just doesn’t launch a window. I couldn’t figure this out, so the GUI system (VeBaGu, or Very Bad GUI) is staying, albeit in an unstable beta state. On a side note, I’ve also decided to ditch the editor idea and just focus on the language; this Stardance project is now just Ile, not Crocodile."}, {"post_id": 49045, "ts": "2026-08-17T17:08:49Z", "hours": 1.5578, "text": "Devlog 9: Hello, world! I didn’t do that much work for this devlog, but I did achieve 2 important things: Added comment support Added bindings to println!() and stdin This means that Ile, as demonstrated below, can now read its stdin and write to stdout !"}, {"post_id": 48620, "ts": "2026-08-17T02:44:43Z", "hours": 5.3911, "text": "Devlog 8: We have language! If you couldn’t tell, that was a play on “we have liftoff!”. I didn’t add a rocket emoji, for obvious reasons. Anyway, I have great news: Ile is almost a usable language! Today, I added loops and operators, so it can iterate and do math now! My for loop is a tad different than other languages, so here’s the gist: every for loop has a condition and a block. Every iteration, the condition runs. If it returns something , the block runs. Otherwise, the loop exits. Because I made let statements return the value they assign, you can have syntax that looks like this : for let x = iterator.next() {} I’m really proud of how my syntax is turning out overall. There’s still not much to screenshot; I haven’t written the logic to interface with Rust, so there’s no println yet. I do have some more test coverage, though. There was some difficulty getting break to work, however. For some reason, the loop it was a part of would always keep going. Eventually, I figured out why: It was being removed from the stack at the end of the code block that generated it. To fix this, I added some logic to re-push it to the stack if it got popped."}, {"post_id": 47258, "ts": "2026-08-15T02:01:37Z", "hours": 4.0222, "text": "Devlog 7: Running before I can run For some reason, I felt like instead of finishing the syntax fundamentals, I would skip directly to object-oriented (ish) patterns. In this case, we have a bunch of attributes that can be accessed and modified. Below is a snippet of some OOP concepts in practice:"}, {"post_id": 46593, "ts": "2026-08-13T22:47:35Z", "hours": 2.6758, "text": "Devlog 6: {insert dark joke about lifetimes} I just spent a frustratingly long amount of time figuring out why Rust didn’t like my lifetimes. I don’t even remember what I did to make it compile. This was fun . However, after figuring that out, I wrote the walk methods for a few NodeType s. Here’s the stack after a simple program finishes, and the program that was run:"}, {"post_id": 45535, "ts": "2026-08-12T02:37:00Z", "hours": 3.505, "text": "Devlog 5: Operators I started work on the AST (abstract syntax tree) walking algorithm today. I didn’t get very far, but one of the things I did do was I fixed operator parsing. Before, if you were to parse something like 15 > 5 && 5 < 10 , it would have been a greater-than operator with a boolean operator as a child, and that doesn’t work. Therefore, I had to write some code to convert that broken operator into a boolean operator with mathematical children. The algorithm didn’t make much sense in my head, so I drew it out on paper and that made it pretty easy to write. Below is the illustration I made and the code it became."}, {"post_id": 44922, "ts": "2026-08-11T00:03:53Z", "hours": 3.7761, "text": "Devlog 4: I finished the parser! I wrote the parser, which takes the tokenized code and converts it into a usable, in-memory representation. After fixing the bugs from yesterday, I wrote some logic to parse a function block and the rest of the syntax was easy. Running main.rs now prints out a representation of a parsed AST. Now all I have to do is: make the AST walkable, so I can actually execute the code write logic to facilitate interop with Rust The first image is some example Ile code, and the second is some of the AST that is generated from it."}, {"post_id": 44391, "ts": "2026-08-10T03:09:12Z", "hours": 7.8347, "text": "Devlog 3: An almost-broken parser! I made a very basic AST parser! The AST (abstract syntax tree) is the in-memory representation of the code as a tree. This took a really long time. My machine froze and my interpreter produced incomprehensible errors about wanting a word token, but in the end cargo test passed, so I’m happy. It also doesn’t support anything other than function calls, but this is a great first step in creating an actually walkable AST."}, {"post_id": 39848, "ts": "2026-08-03T03:22:22Z", "hours": 1.7778, "text": "Devlog 2 I started work on the AST builder. I decided that the algorithm will use delimiters to decide which tokens correspond to which AST node and I’m working on a method for Node that determines how to add a child based on the Node ‘s type and the child’s type. The screenshot is some of the code for Node ."}, {"post_id": 39114, "ts": "2026-08-01T20:28:30Z", "hours": 7.0919, "text": "Devlog 1: Building blocks I’ve been focusing on the scripting language, Ile, because to be honest the editor is the boring part. So far, I have project structure and some fundamentals–I’ve written the tokenizer and some stack-switching logic. For those who don’t know, the tokenizer is responsible for taking a blob of (hopefully) human-readable source code and converting it into tokens , which are used later on to build an abstract syntax tree. For now, all I’m concerned about is that cargo test passes!"}]...
|
Title: Ile by @Leftie | Stardance
Devlogs:
Devlog Title: Ile by @Leftie | Stardance
Devlogs:
Devlog 1: Building blocks I’ve been focusing on the scripting language, Ile, because to be honest the editor is the boring part. So far, I have project structure and some fundamentals–I’ve written the tokenizer and some stack-switching logic. For those who don’t know, the tokenizer is responsible for taking a blob of (hopefully) human-readable source code and converting it into tokens , which are used later on to build an abstract syntax tree. For now, all I’m concerned about is that cargo test passes!
Devlog 2 I started work on the AST builder. I decided that the algorithm will use delimiters to decide which tokens correspond to which AST node and I’m working on a method for Node that determines how to add a child based on the Node ‘s type and the child’s type. The screenshot is some of the code for Node .
Devlog 3: An almost-broken parser! I made a very basic AST parser! The AST (abstract syntax tree) is the in-memory representation of the code as a tree. This took a really long time. My machine froze and my interpreter produced incomprehensible errors about wanting a word token, but in the end cargo test passed, so I’m happy. It also doesn’t support anything other than function calls, but this is a great first step in creating an actually walkable AST.
Devlog 4: I finished the parser! I wrote the parser, which takes the tokenized code and converts it into a usable, in-memory representation. After fixing the bugs from yesterday, I wrote some logic to parse a function block and the rest of the syntax was easy. Running main.rs now prints out a representation of a parsed AST. Now all I have to do is: make the AST walkable, so I can actually execute the code write logic to facilitate interop with Rust The first image is some example Ile code, and the second is some of the AST that is generated from it.
Devlog 5: Operators I started work on the AST (abstract syntax tree) walking algorithm today. I didn’t get very far, but one of the things I did do was I fixed operator parsing. Before, if you were to parse something like 15 > 5 && 5 < 10 , it would have been a greater-than operator with a boolean operator as a child, and that doesn’t work. Therefore, I had to write some code to convert that broken operator into a boolean operator with mathematical children. The algorithm didn’t make much sense in my head, so I drew it out on paper and that made it pretty easy to write. Below is the illustration I made and the code it became.
Devlog 6: {insert dark joke about lifetimes} I just spent a frustratingly long amount of time figuring out why Rust didn’t like my lifetimes. I don’t even remember what I did to make it compile. This was fun . However, after figuring that out, I wrote the walk methods for a few NodeType s. Here’s the stack after a simple program finishes, and the program that was run:
Devlog 7: Running before I can run For some reason, I felt like instead of finishing the syntax fundamentals, I would skip directly to object-oriented (ish) patterns. In this case, we have a bunch of attributes that can be accessed and modified. Below is a snippet of some OOP concepts in practice:
Devlog 8: We have language! If you couldn’t tell, that was a play on “we have liftoff!”. I didn’t add a rocket emoji, for obvious reasons. Anyway, I have great news: Ile is almost a usable language! Today, I added loops and operators, so it can iterate and do math now! My for loop is a tad different than other languages, so here’s the gist: every for loop has a condition and a block. Every iteration, the condition runs. If it returns something , the block runs. Otherwise, the loop exits. Because I made let statements return the value they assign, you can have syntax that looks like this : for let x = iterator.next() {} I’m really proud of how my syntax is turning out overall. There’s still not much to screenshot; I haven’t written the logic to interface with Rust, so there’s no println yet. I do have some more test coverage, though. There was some difficulty getting break to work, however. For some reason, the loop it was a part of would always keep going. Eventually, I figured out why: It was being removed from the stack at the end of the code block that generated it. To fix this, I added some logic to re-push it to the stack if it got popped.
Devlog 9: Hello, world! I didn’t do that much work for this devlog, but I did achieve 2 important things: Added comment support Added bindings to println!() and stdin This means that Ile, as demonstrated below, can now read its stdin and write to stdout !
Devlog 10: asdf I’ve been trying to add a GUI system to the standard library. Because I don’t want any dependencies, I came up with the following harebrained scheme: Write a Python script that formats its stdin in a Tkinter window to draw a GUI When the function to create a window is called, spawn Python as a sub-process and send the text to be displayed to its input via a pipe Unfortunately, this doesn’t work. The script works when run on its own, but when run by Ile it just doesn’t launch a window. I couldn’t figure this out, so the GUI system (VeBaGu, or Very Bad GUI) is staying, albeit in an unstable beta state. On a side note, I’ve also decided to ditch the editor idea and just focus on the language; this Stardance project is now just Ile, not Crocodile.
Devlog 11: I don’t even know I’m hoping to ship tomorrow, so I’m fixing up the language to be usable. I’ve been writing some documentation, so I have a little starter guide now. I also learned that Ile can use as little as one thirtieth the ram of Node.js! That’s definitely going in the features section.
Devlog 12: Scoping is hard I’ve been working on getting Ile ready to ship, and I had a small, significant feature to implement: scoping. This is basically when a function is called and uses the scope that it was a part of when it was created instead of the scope it was called in. This was hard . To implement this, my first thought was write yet another lookup function to find the correct module’s stack and walk the function in the stack. Unfortunately, the compiler didn’t like this. I couldn’t get it done without having 2 different mutable references to the stack at the same time, so it was off the table. What I ended up going for was when a function is called, it clones (memory-efficient, amirite?!) its entire scope and walks inside it. After the function executes, it then sets the value of its module’s scope to the current value of the scope it just walked in, so as to update it with any changes. Makes sense, right? RIGHT?! Anyway, there isn’t really a picture to show, so here’s tests passing.
Devlog 13: Ship time! I’ve been working on getting everything ready to ship, and I think it’s almost time! I’ve fixed some bugs, added more tests, published to crates.io , and created a GitHub release! Now, I’ll make sure I have good instructions in my README, and I’ll be ready to go!
Devlog 14: …oh So I’ve been doing my development on Ubuntu, which, as a Linux distro, is UNIX-based, and uses just \n for newlines. However, I haven’t done any testing on Windows, and Houston, we have a problem. I still don’t have all my ratings yet, but someone was kind enough to create a github issue saying that Ile doesn’t work on Windows. I hadn’t thought to support it, but Windows uses \r\n for newlines! This broke the tokenizer, and caused the language to be unusable on non-UNIX-based systems. It was a one-line fix, but I already have 10 ratings, so I can only hope they aren’t too negative for having bad Windows support.😟 P.S. I guess this means Windows is officially as outdated as a typewriter!
Ships:
I made Ile, an embedded scripting language! It uses a recursive descent parser to build an abstract syntax tree and then walks the tree to execute. The hardest part was when I would run into tiny little problems, like Rust giving lifetime errors, and not knowing how to solve them immediately. I’m proudest of the parsing logic. It’s the longest source file I’ve ever written, and it took awhile to figure out. To test Ile, you can download it from the GitHub releases and run some of its example programs....
|
1792986750.2619774
|
1793073150.2619774
|
|
19004
|
MEDIKILL by @Vini | Stardance
|
Vini
|
1
|
93.0
|
809
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-04T07:48:13Z", "hours": 93.0, "multiplier": 11.54, "payout": 809, "blessing": "neutral", "text": "In this project I have made a fully functioning FPS featuring all the stuff you would want from one (disclaimer: its a very buggy game). I would say the most difficult part of this project was the enemy AI which works perfectly now it has running away chasing and patrolling and idle state. The most annoying part of making this game was all the light baking issues there so annoying and took me like 9 hours to get working barley passible. Turns out PB mesh’s don’t like light baking. Please actually read the readme and play the game. I hope you have a great day also you’re a good person. (Hopefully)", "repo": "https://github.com/wildevi26250-tech/FPSNoir", "demo": "https://play.unity.com/en/games/3177c58f-2173-45c1-a5f3-a427582aac1a/medikill"}]...
|
[{"post_id": 60692, "ts": "202 [{"post_id": 60692, "ts": "2026-09-03T07:34:29Z", "hours": 3.8858, "text": "Bug fixing First bug was being able to just hold w and stick to the walls Second was all the lighting issues And third im working on the ending for this short shooter Ima ship soon AND YES I KNOW ITS KINDA A BAD GAME!"}, {"post_id": 38661, "ts": "2026-08-01T05:13:50Z", "hours": 9.8042, "text": "Features added Tried to add online features got that working But then all of my game wouldnt work with the new online stuff so im glad I made a backup Finished a new level Light baking failures took up 3 hours Took a break to play hollow knight"}, {"post_id": 27943, "ts": "2026-07-13T21:42:59Z", "hours": 3.3411, "text": "Features added Muzzle Flash that actually looks good Crouching but as you see in the video it also squishes the gun which isn’t ideal Worked out a few bugs eg. being able to walk through a certain wall Stardance will not get me again I will post all my devlogs on time Pushing to git now"}, {"post_id": 27006, "ts": "2026-07-12T04:32:41Z", "hours": 29.1331, "text": "Features added Slow motion for the tutorial Tutorial text Procedural weapon bob \\ sway Fire wall running Bullet time while in air or wall running Again kinda mad because I kept forgetting to post devlogs and im only getting 10 hours out of what should be 30 Added crates Added new section to the level where you can wall run and shoot enemys All of this is demonstrated in the video bellow (please watch it) Thought of a better name and idea for the game"}, {"post_id": 16545, "ts": "2026-06-26T22:10:46Z", "hours": 20.6192, "text": "Features added New weapon sniper ADS system works perfectly (yes I know the sniper looks ugly) Reload animations working also perfectly SFX is going well although my footsteps still sound horrible Full level lighting and enemys now working fully Kinda mad because i didnt know that you had to post a devlog every 10 hours Otherwise everything is great"}, {"post_id": 12910, "ts": "2026-06-21T04:23:14Z", "hours": 4.3881, "text": "Added fully working guns and enemy script first level and some ui Still working on a github repo sry"}, {"post_id": 12427, "ts": "2026-06-20T08:51:25Z", "hours": 6.9508, "text": "basic gun script working and picking up and dropping now working enemy sort of working but no attacking yet working on getting a demo site up"}, {"post_id": 11501, "ts": "2026-06-18T19:57:13Z", "hours": 15.2369, "text": "Basic movement working did have it already working crouching and slope movement and sprint but had to scrap after data got corrupted working on adding in guns now"}]...
|
Title: MEDIKILL by @Vini | Stardance
Devlogs:
Bas Title: MEDIKILL by @Vini | Stardance
Devlogs:
Basic movement working did have it already working crouching and slope movement and sprint but had to scrap after data got corrupted working on adding in guns now
basic gun script working and picking up and dropping now working enemy sort of working but no attacking yet working on getting a demo site up
Added fully working guns and enemy script first level and some ui Still working on a github repo sry
Features added New weapon sniper ADS system works perfectly (yes I know the sniper looks ugly) Reload animations working also perfectly SFX is going well although my footsteps still sound horrible Full level lighting and enemys now working fully Kinda mad because i didnt know that you had to post a devlog every 10 hours Otherwise everything is great
Features added Slow motion for the tutorial Tutorial text Procedural weapon bob \ sway Fire wall running Bullet time while in air or wall running Again kinda mad because I kept forgetting to post devlogs and im only getting 10 hours out of what should be 30 Added crates Added new section to the level where you can wall run and shoot enemys All of this is demonstrated in the video bellow (please watch it) Thought of a better name and idea for the game
Features added Muzzle Flash that actually looks good Crouching but as you see in the video it also squishes the gun which isn’t ideal Worked out a few bugs eg. being able to walk through a certain wall Stardance will not get me again I will post all my devlogs on time Pushing to git now
Features added Tried to add online features got that working But then all of my game wouldnt work with the new online stuff so im glad I made a backup Finished a new level Light baking failures took up 3 hours Took a break to play hollow knight
Bug fixing First bug was being able to just hold w and stick to the walls Second was all the lighting issues And third im working on the ending for this short shooter Ima ship soon AND YES I KNOW ITS KINDA A BAD GAME!
Ships:
In this project I have made a fully functioning FPS featuring all the stuff you would want from one (disclaimer: its a very buggy game). I would say the most difficult part of this project was the enemy AI which works perfectly now it has running away chasing and patrolling and idle state. The most annoying part of making this game was all the light baking issues there so annoying and took me like 9 hours to get working barley passible. Turns out PB mesh’s don’t like light baking. Please actually read the readme and play the game. I hope you have a great day also you’re a good person. (Hopefully)...
|
1792997308.8353095
|
1793083708.8353095
|
|
25499
|
Dynamic Notch for Windows by @polo | Stardance
|
polo
|
1
|
52.0
|
809
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-11T21:17:43Z", "hours": 52.0, "multiplier": 19.82, "payout": 809, "blessing": "neutral", "text": "I am proud to announce Dynamic Notch for Windows Release 1 is out! Dynamic Notch is an Apple-inspired concept. Think of it as a Dynamic Island in a notch form for Windows computers. What does it do? Well, a LOT.You can: View the time and battery indicator Search directly on it Control music Play YouTube videos in the notch while you do something else Get messages from your phone onto the notch Get calls and answer them Use voice search See widgets Weather AND Stoinks! more coming soon Display timers See voice recording indicators And the best part? I am constantly adding more stuff to it, making it better, and fixing bugs.", "repo": "https://github.com/Aaravdalal/DynamicNotch", "demo": "https://github.com/Aaravdalal/DynamicNotch/releases/tag/v1.0.3"}]...
|
[{"post_id": 45424, "ts": "202 [{"post_id": 45424, "ts": "2026-08-11T21:13:00Z", "hours": 21.5547, "text": "Basically I worked on it (over 21 more hours) in macondo but I decided to switch to Stardance so basically to update ya’ll the project is done! I fine-tuned it and it looks really nice so down below let me put everyone up to date! I also am thankful for getting a superstar and the 22 people that are following me! Thanks for that. I added so much. Here is all my new journals to get everyone up to speed. Here is all my Added new Stocks Widget! Revamped brightness and volume notch and camera. I added a brand new stocks widget which shows either markets of the world (Down Jones etc.) or your watchlist of stocks like example Google, Nvidia etc. I also added quick camera so you can see how you look like quickly. I also revamped UI of Quick start and calendar so it is SO much better. I also updated brightness and volume notches to look better.CAMERA IS BLURRED IN IMAGE FOR PRIVACY.Next time I will focus on seamlessness and usability glitch fixes. Most importantly I actually got the logic for message sending to work. Essentially the core logic is I have a “ghost window” open that intercepts and redirects messages you get with your paired phone to the notch displaying them. The only problem was I couldn’t find a way to reply to messages I could see them but not reply, but I figured it out by whatever I type in the box and send the ghost process types that same message in messages and sends it (google messages doesn’t even need to be open!). So I was super happy to have figured that out and added it! I redesigned the weather widget to be cleaner and more apple like using a public weather API called Mateo. I also made search optimization better because I realized that when I voice search or google search on the notch the problem was it was slow. When I did some digging I found out that it resorted to the chrome browser only so I made it resort to whatever your default search engine is for windows and it is so fast now. SORRY FOR THE BLURRY SCREENSHOTS IDK WHY THEY BLURRY MY COMPUTER IS ACTING UP"}, {"post_id": 29311, "ts": "2026-07-16T05:05:16Z", "hours": 4.0881, "text": "Devlog 7: I fixed a lot of bugs and fixed the hello animation by making it fade instead of play backwards. I also made hovering in and out work properly and fixed an error where the qr code wasn’t appearing properly. Now I am working on adding phone detection as I got past the hurdle of messaging I thought I can do phone calls to."}, {"post_id": 24930, "ts": "2026-07-08T20:07:45Z", "hours": 2.2639, "text": "Devlog #7: Today I worked on a startup animation because jumping straight into the program isn’t as fun. So I added a welcome screen on the notch and after that I added the classic apple Hello animation that plays on apple devices when you first get the device.The hello is not a png it is an animation. I also added a startup sound to be specific the same sound that plays on mac computers when you start them for the first time.As always if you have any suggestions drop them below and thanks for reading and following my journey!"}, {"post_id": 23212, "ts": "2026-07-06T01:03:55Z", "hours": 5.8206, "text": "Devlog 6: Ok after trying and trying and trying to implement messaging features non-stop for 5 hours I finally did it. The problem was google is super strict on third party’s reading messages but I found a way to make it work. Essentially you have to pair your phone messages with a qr code that appears (not third party qr code all Google implemented so its official and safe) and any message someone sends you you have the ability to see it appear in mini view and then if you hover over it say if its a long message you can see the full message and reply to it with even sending attachments. The persons name and profile picture also appears. Also I would just like to state Gemini helped me find what logic path I take as there were multiple and this was the most effective and easy to implement. And the pairing is ONE TIME so once paired messages with the computer you never have to pair it again. Phew that took a long time. Please note the UI I am still trying to fix, the logic was what I was really trying to make work. And yes I am fixing the weird height issue to make it dynamic (for the messages expanded view). I am right now working on fixing the UI for this as well as say if someone sends you an attachment or a video you can be able to view it in the notch! Anyways come back for Devlog 7 later and of course if you have any suggestions and advice of course say it. Take a look below at how it is."}, {"post_id": 21061, "ts": "2026-07-02T20:49:03Z", "hours": 1.8047, "text": "Devlog #5: I added new features into the notch. Shoutout to @firancly for these ideas. I added a dynamic recorder notch that indicates recording with accurate microphone/audio visualization. I also added a timer notch that stays on your screen taking up little space but very useful. I also added a volume notch. Up next I will add a download notch and also perhaps the ability to respond to messages and view notifications through the notch if allowed. Thanks for reading and as always feel free to drop suggestions or advice on what you want to see next!"}, {"post_id": 20555, "ts": "2026-07-02T05:13:53Z", "hours": 2.9275, "text": "Rehauled youtube/video controls. Added picture in picture so you can watch youtube videos on the notch while you complete some of your other tasks that u want. Work while watching. Stay tuned for today’s devlog. Tomorrow I will patch up a bunch of bugs to maybe do a beta ship. As always if you have any suggestions or advice on what to do next please state them in the comments. Thanks!"}, {"post_id": 18733, "ts": "2026-06-29T22:22:07Z", "hours": 6.2067, "text": "I accidentally did a hard git reset to old code so I had to recode a lot of stuff. But anyways here’s the updates I did including one major one: I added the ability to quickshare files and images from the notch. It basically is like this, you download a file say from google then you drag it into the notch into the tray. A tray that holds files and screenshots etc. then when you want to say use the file you can drag it out the tray into the place you want it or you can quickshare those images and files. Quickshare is built into every windows system and integrated into the notch so there is no downloading hassle. Also if you dont want a file in the tray just hover over the file and click the X. I also did a lot of bug fixes including one fixing a glitchy startup animation. Thanks for everyone’s interest and as always be sure to give feedback and suggestions on what to add next."}, {"post_id": 17155, "ts": "2026-06-27T20:55:07Z", "hours": 5.0208, "text": "Added widgets like weather widgets, stocks and sports. I also added the ability to use search google through the notch as well as voice search to use your voice to search. Holy the voice search took me forever to figure out. I also rehauled music player controls and look to be more “apple-like” and actually function properly. I also added ability to do “quick-swipe” where you take two fingers and swipe either way to play the next song or the previous song also took forever to implement that. For those that are new this is essentially a dynamic island but in a notch form for computers."}, {"post_id": 15982, "ts": "2026-06-25T23:10:59Z", "hours": 2.6603, "text": "I am working on an Dynamic Island for computers but in a notch style. I was inspired by the dynamic island on iphones. Features as of right now include music controlling volume and brightness controlling as well as calendar with reminder and the time date and battery. And of course please be sure to drop any advice or additions."}]...
|
Title: Dynamic Notch for Windows by @polo | Starda Title: Dynamic Notch for Windows by @polo | Stardance
Devlogs:
I am working on an Dynamic Island for computers but in a notch style. I was inspired by the dynamic island on iphones. Features as of right now include music controlling volume and brightness controlling as well as calendar with reminder and the time date and battery. And of course please be sure to drop any advice or additions.
Added widgets like weather widgets, stocks and sports. I also added the ability to use search google through the notch as well as voice search to use your voice to search. Holy the voice search took me forever to figure out. I also rehauled music player controls and look to be more “apple-like” and actually function properly. I also added ability to do “quick-swipe” where you take two fingers and swipe either way to play the next song or the previous song also took forever to implement that. For those that are new this is essentially a dynamic island but in a notch form for computers.
I accidentally did a hard git reset to old code so I had to recode a lot of stuff. But anyways here’s the updates I did including one major one: I added the ability to quickshare files and images from the notch. It basically is like this, you download a file say from google then you drag it into the notch into the tray. A tray that holds files and screenshots etc. then when you want to say use the file you can drag it out the tray into the place you want it or you can quickshare those images and files. Quickshare is built into every windows system and integrated into the notch so there is no downloading hassle. Also if you dont want a file in the tray just hover over the file and click the X. I also did a lot of bug fixes including one fixing a glitchy startup animation. Thanks for everyone’s interest and as always be sure to give feedback and suggestions on what to add next.
Rehauled youtube/video controls. Added picture in picture so you can watch youtube videos on the notch while you complete some of your other tasks that u want. Work while watching. Stay tuned for today’s devlog. Tomorrow I will patch up a bunch of bugs to maybe do a beta ship. As always if you have any suggestions or advice on what to do next please state them in the comments. Thanks!
Devlog #5: I added new features into the notch. Shoutout to @firancly for these ideas. I added a dynamic recorder notch that indicates recording with accurate microphone/audio visualization. I also added a timer notch that stays on your screen taking up little space but very useful. I also added a volume notch. Up next I will add a download notch and also perhaps the ability to respond to messages and view notifications through the notch if allowed. Thanks for reading and as always feel free to drop suggestions or advice on what you want to see next!
Devlog 6: Ok after trying and trying and trying to implement messaging features non-stop for 5 hours I finally did it. The problem was google is super strict on third party’s reading messages but I found a way to make it work. Essentially you have to pair your phone messages with a qr code that appears (not third party qr code all Google implemented so its official and safe) and any message someone sends you you have the ability to see it appear in mini view and then if you hover over it say if its a long message you can see the full message and reply to it with even sending attachments. The persons name and profile picture also appears. Also I would just like to state Gemini helped me find what logic path I take as there were multiple and this was the most effective and easy to implement. And the pairing is ONE TIME so once paired messages with the computer you never have to pair it again. Phew that took a long time. Please note the UI I am still trying to fix, the logic was what I was really trying to make work. And yes I am fixing the weird height issue to make it dynamic (for the messages expanded view). I am right now working on fixing the UI for this as well as say if someone sends you an attachment or a video you can be able to view it in the notch! Anyways come back for Devlog 7 later and of course if you have any suggestions and advice of course say it. Take a look below at how it is.
Devlog #7: Today I worked on a startup animation because jumping straight into the program isn’t as fun. So I added a welcome screen on the notch and after that I added the classic apple Hello animation that plays on apple devices when you first get the device.The hello is not a png it is an animation. I also added a startup sound to be specific the same sound that plays on mac computers when you start them for the first time.As always if you have any suggestions drop them below and thanks for reading and following my journey!
Devlog 7: I fixed a lot of bugs and fixed the hello animation by making it fade instead of play backwards. I also made hovering in and out work properly and fixed an error where the qr code wasn’t appearing properly. Now I am working on adding phone detection as I got past the hurdle of messaging I thought I can do phone calls to.
Basically I worked on it (over 21 more hours) in macondo but I decided to switch to Stardance so basically to update ya’ll the project is done! I fine-tuned it and it looks really nice so down below let me put everyone up to date! I also am thankful for getting a superstar and the 22 people that are following me! Thanks for that. I added so much. Here is all my new journals to get everyone up to speed. Here is all my Added new Stocks Widget! Revamped brightness and volume notch and camera. I added a brand new stocks widget which shows either markets of the world (Down Jones etc.) or your watchlist of stocks like example Google, Nvidia etc. I also added quick camera so you can see how you look like quickly. I also revamped UI of Quick start and calendar so it is SO much better. I also updated brightness and volume notches to look better.CAMERA IS BLURRED IN IMAGE FOR PRIVACY.Next time I will focus on seamlessness and usability glitch fixes. Most importantly I actually got the logic for message sending to work. Essentially the core logic is I have a “ghost window” open that intercepts and redirects messages you get with your paired phone to the notch displaying them. The only problem was I couldn’t find a way to reply to messages I could see them but not reply, but I figured it out by whatever I type in the box and send the ghost process types that same message in messages and sends it (google messages doesn’t even need to be open!). So I was super happy to have figured that out and added it! I redesigned the weather widget to be cleaner and more apple like using a public weather API called Mateo. I also made search optimization better because I realized that when I voice search or google search on the notch the problem was it was slow. When I did some digging I found out that it resorted to the chrome browser only so I made it resort to whatever your default search engine is for windows and it is so fast now. SORRY FOR THE BLURRY SCREENSHOTS IDK WHY THEY BLURRY MY COMPUTER IS ACTING UP
Ships:
I am proud to announce Dynamic Notch for Windows Release 1 is out! Dynamic Notch is an Apple-inspired concept. Think of it as a Dynamic Island in a notch form for Windows computers. What does it do? Well, a LOT.You can: View the time and battery indicator Search directly on it Control music Play YouTube videos in the notch while you do something else Get messages from your phone onto the notch Get calls and answer them Use voice search See widgets Weather AND Stoinks! more coming soon Display timers See voice recording indicators And the best part? I am constantly adding more stuff to it, making it better, and fixing bugs....
|
1792990064.0420408
|
1793076464.0420408
|
|
30766
|
Pixel Void by @carinshark | Stardance
|
carinshark
|
1
|
49.0
|
808
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-28T00:27:57Z", "hours": 49.0, "multiplier": 16.44, "payout": 808, "blessing": "neutral", "text": "This is PixelVoid! A drawing app that limits your placement of color! (Like the structure of a 7 segment display but extended) My favorite thing about making this was using inheritance to combine pygame with my own code. It was quite challenging to get the coordinates of the mouse to match the custom grid of lines that it has. That was probably where I spent most of my time. Please note: this project only contains executable binaries for linux and windows. MacOS is not currently supported. The README should contain tips and tricks as well to help you create something wonderful!", "repo": "https://github.com/carinshark/Pixel-Void", "demo": "https://github.com/carinshark/Pixel-Void/releases"}]...
|
[{"post_id": 36120, "ts": "202 [{"post_id": 36120, "ts": "2026-07-28T00:18:18Z", "hours": 3.9083, "text": "README is complete! I added instructions on installing, some tips and tricks, and an overview of how to use the UI. I was struggling with the MacOS Build for this app, due to not having a mac, so i’ve decided to keep the support currently for windows and linux only (tho I guess you could still compile the code directly if you wanted to). I think i’m finally ready to ship!"}, {"post_id": 33303, "ts": "2026-07-23T03:01:17Z", "hours": 4.3114, "text": "The user is experienced! Added some UX features - buttons can be told apart easier, and the undo button works!! Here is today’s work - the stormy mountain. I think i’m understanding rules i can include for the readme - you have to work with the white space rather than fill it in. You have to treat it different than pixel art. I’m gonna make the README, do some field testing, and if it goes well, ship time!!"}, {"post_id": 32138, "ts": "2026-07-21T02:59:46Z", "hours": 0.8681, "text": "Decided to pause preparing for shipping During some field testing, I learned that the user experience needs improvement. I need to make buttons more clear, and add the greatest thing to be created: THE UNDO BUTTON !!! So this is my goal moving forward! In the meantime, this is the logo I made for the app! Since this entire project was inspired by 7-segment displays, thats what the logo portrays, along with some filler lines on top to fill in the extra space :)"}, {"post_id": 32071, "ts": "2026-07-20T23:40:26Z", "hours": 3.8319, "text": "UI REVAMP! Everything was so inconsistent so I spent some time recoloring everything! (before and after images) In the process i learned that an old feature I had (debug mode, which showed cool dots on the screen) hasn’t been working for a reallly long time!!! woops- had to fix that Its almost ready to ship!! Just need to work on the readme and add some finishing touches!"}, {"post_id": 31648, "ts": "2026-07-20T06:58:16Z", "hours": 2.3625, "text": "Added some UI settings! the app now lets you customize the length and amount of squares in the grid! I haven’t fully implemented it because I ran out of time, but yay stuff! I do realize the UI colors are kinda a mess so ill need to fix that. The project is almost complete!! p.s. - sorry I didnt have anything to draw this time, I spent the whole day cleaning and stuff so i’m short on time today"}, {"post_id": 29979, "ts": "2026-07-17T06:13:11Z", "hours": 5.2322, "text": "Added buttons! You can now load and save from files, which also saves your current colors and the palette as well. In addition, you can download as an image or the canvas! this wasn’t too hard, was mostly research on file prompts and saving numpy files, so I got distracted with my work quite often and went on to do other stuff. I’m also getting better at learning to draw on this thing, and am thinking of some things I could include in the readme guide."}, {"post_id": 29277, "ts": "2026-07-16T02:54:16Z", "hours": 2.2178, "text": "Added a color palette system! so funny thing- when I added this, the right click input just stopped registering so had to spend some time figuring out what changed!!! colors can now be added and removed in the palette! I’m not the most proud of the design of it, it works! Main problem is that some of the UI elements feel too small due to just the way it is. Hopefully by the end all the lil issues will be fixed"}, {"post_id": 28759, "ts": "2026-07-15T07:13:44Z", "hours": 4.745, "text": "New modular UI has been implemented! It fully works, and I’ve also designed a new piece of the UI for color palette on aseprite! this should hopefully be able to be implemented quite easily with the new system. The main reason i’m doing this is because it was quite hard to get the same color twice, and this will give you the ability to save them. IVE ALSO NOTICED THAT IVE SPELLED PALETTE AS PALLETTE ON ALL MY CODE SO NOW I NEED TO FIX THAT"}, {"post_id": 28140, "ts": "2026-07-14T07:37:51Z", "hours": 2.3122, "text": "The canvas is now a strong indepenent individual! After making the color picker, I realized - the main drawing canvas was not modular at all!! it would have been a pain to add anything new or change the UI in any way, So i’ve moved the entire thing into it’s own class, and made it support the same input system the color picker uses!! This also means I could theoretically have MULTIPLE canvas to draw on!! the possibilities are endless…."}, {"post_id": 27975, "ts": "2026-07-13T22:44:14Z", "hours": 1.8758, "text": "(#11) Color picker is complete ^_^ ok well there are a few things to fine tune but this was my first time making my own inputs for pygame! I added a bit of extra space on the click detection since the slider was a bit small, so hopefully it should make it more user friendly! the strugle Everything was surpsisingly working smoothly - except for the fact that I never set it up for the screen to update!!! turns out it updated once and never again, and when I fixed that it all worked yayayay I’m learning a lot about pygame doing this!"}, {"post_id": 27552, "ts": "2026-07-13T07:05:22Z", "hours": 4.3292, "text": "(#10) UI Planned out! I still need to figure out what to do with some of the empty space, but a lot of it is filled in now. I’ve also started implementation of the color picker I designed! (third image)"}, {"post_id": 27044, "ts": "2026-07-12T07:09:53Z", "hours": 0.5778, "text": "UI design day! Today was my day off so I did not do much. I planned out the UI a bit, and was going to work on it on aseprite, but the wakatime extension kept causing the app to freeze and opened a new terminal every second."}, {"post_id": 26269, "ts": "2026-07-10T23:29:20Z", "hours": 1.595, "text": "The brush supports other colors now! clicking leftmouse activates one color, and right mouse activates the other! clicking both mixes the color as a bonus, which currently just averages the rgb values, so might change that later if it looks bad for complementary colors. I can feel this project start to come together ^_^ I also fixed some bugs that the brush had because it was detecting the pixels completely wrong and inefficiently!"}, {"post_id": 25625, "ts": "2026-07-10T00:50:13Z", "hours": 3.9469, "text": "The Brush Can Paint Now!! I tried to make it as optimized as I could but there’s still a lot to improve on! I got such satisfaction seeing it work for the first time this genuinely took so long - so many issues one of the silliest ones was that i had 2 variables that had similar names (because they did similar things) and i used the wrong one!!! i forgot to occasionally change the size of the grid so it was tragic when i found out everything was broken when i changed it 😱😱😱 Isn’t the ✨distance formula✨ the greatest thing ever? now hopefully i just need to add more color options, improve the ui a bit, and it should be ready!"}, {"post_id": 24553, "ts": "2026-07-08T06:10:32Z", "hours": 1.8061, "text": "part 1 of collision check is complete! my brain sometimes gives me hints of a solution to a coding problem and i need to decipher the rest myself from what it pictures to what needs to be written the blue dots on the video is the range its gonna check from to see if its within the circle"}, {"post_id": 24475, "ts": "2026-07-08T01:35:44Z", "hours": 1.5025, "text": "pixels are correctly detected!!! since the entire thing was scaled, i had to unscale the mouse coordinates to get the pixel coordinates back. I also spent a bunch of time trying to figure out how to basically detect collision and it was a pain . but i think i figured something out! (second pic is my planning) I LOVE CODING WOOOOOO"}, {"post_id": 24398, "ts": "2026-07-07T22:31:03Z", "hours": 0.4536, "text": "Brush has working visuals! i drew a cursor since the screenshot doesnt contain one. contains fully adjustable brush size with a scroll wheel! next up is making it draw… hopefully it wont cause 1 billion lag!"}, {"post_id": 23666, "ts": "2026-07-06T19:37:19Z", "hours": 0.7414, "text": "Implemented Pygame for UI! grid now displays properly, and is scaled to a 500x500 resolution. not sure how it would do with constant updates, might switch to a different system later on. plan is to render a circle over the mouse when hovered over the grid, which is going to be the paint brush. also considering making the piece in between the lines a mix of all colors around it"}, {"post_id": 23610, "ts": "2026-07-06T17:46:33Z", "hours": 2.2703, "text": "Grid renders correctly! parameters can customize the length easily!"}, {"post_id": 23273, "ts": "2026-07-06T03:55:13Z", "hours": 0.2747, "text": "Planning the structure!"}]...
|
Title: Pixel Void by @carinshark | Stardance
Devl Title: Pixel Void by @carinshark | Stardance
Devlogs:
Planning the structure!
Grid renders correctly! parameters can customize the length easily!
Implemented Pygame for UI! grid now displays properly, and is scaled to a 500x500 resolution. not sure how it would do with constant updates, might switch to a different system later on. plan is to render a circle over the mouse when hovered over the grid, which is going to be the paint brush. also considering making the piece in between the lines a mix of all colors around it
Brush has working visuals! i drew a cursor since the screenshot doesnt contain one. contains fully adjustable brush size with a scroll wheel! next up is making it draw… hopefully it wont cause 1 billion lag!
pixels are correctly detected!!! since the entire thing was scaled, i had to unscale the mouse coordinates to get the pixel coordinates back. I also spent a bunch of time trying to figure out how to basically detect collision and it was a pain . but i think i figured something out! (second pic is my planning) I LOVE CODING WOOOOOO
part 1 of collision check is complete! my brain sometimes gives me hints of a solution to a coding problem and i need to decipher the rest myself from what it pictures to what needs to be written the blue dots on the video is the range its gonna check from to see if its within the circle
The Brush Can Paint Now!! I tried to make it as optimized as I could but there’s still a lot to improve on! I got such satisfaction seeing it work for the first time this genuinely took so long - so many issues one of the silliest ones was that i had 2 variables that had similar names (because they did similar things) and i used the wrong one!!! i forgot to occasionally change the size of the grid so it was tragic when i found out everything was broken when i changed it 😱😱😱 Isn’t the ✨distance formula✨ the greatest thing ever? now hopefully i just need to add more color options, improve the ui a bit, and it should be ready!
The brush supports other colors now! clicking leftmouse activates one color, and right mouse activates the other! clicking both mixes the color as a bonus, which currently just averages the rgb values, so might change that later if it looks bad for complementary colors. I can feel this project start to come together ^_^ I also fixed some bugs that the brush had because it was detecting the pixels completely wrong and inefficiently!
UI design day! Today was my day off so I did not do much. I planned out the UI a bit, and was going to work on it on aseprite, but the wakatime extension kept causing the app to freeze and opened a new terminal every second.
(#10) UI Planned out! I still need to figure out what to do with some of the empty space, but a lot of it is filled in now. I’ve also started implementation of the color picker I designed! (third image)
(#11) Color picker is complete ^_^ ok well there are a few things to fine tune but this was my first time making my own inputs for pygame! I added a bit of extra space on the click detection since the slider was a bit small, so hopefully it should make it more user friendly! the strugle Everything was surpsisingly working smoothly - except for the fact that I never set it up for the screen to update!!! turns out it updated once and never again, and when I fixed that it all worked yayayay I’m learning a lot about pygame doing this!
The canvas is now a strong indepenent individual! After making the color picker, I realized - the main drawing canvas was not modular at all!! it would have been a pain to add anything new or change the UI in any way, So i’ve moved the entire thing into it’s own class, and made it support the same input system the color picker uses!! This also means I could theoretically have MULTIPLE canvas to draw on!! the possibilities are endless….
New modular UI has been implemented! It fully works, and I’ve also designed a new piece of the UI for color palette on aseprite! this should hopefully be able to be implemented quite easily with the new system. The main reason i’m doing this is because it was quite hard to get the same color twice, and this will give you the ability to save them. IVE ALSO NOTICED THAT IVE SPELLED PALETTE AS PALLETTE ON ALL MY CODE SO NOW I NEED TO FIX THAT
Added a color palette system! so funny thing- when I added this, the right click input just stopped registering so had to spend some time figuring out what changed!!! colors can now be added and removed in the palette! I’m not the most proud of the design of it, it works! Main problem is that some of the UI elements feel too small due to just the way it is. Hopefully by the end all the lil issues will be fixed
Added buttons! You can now load and save from files, which also saves your current colors and the palette as well. In addition, you can download as an image or the canvas! this wasn’t too hard, was mostly research on file prompts and saving numpy files, so I got distracted with my work quite often and went on to do other stuff. I’m also getting better at learning to draw on this thing, and am thinking of some things I could include in the readme guide.
Added some UI settings! the app now lets you customize the length and amount of squares in the grid! I haven’t fully implemented it because I ran out of time, but yay stuff! I do realize the UI colors are kinda a mess so ill need to fix that. The project is almost complete!! p.s. - sorry I didnt have anything to draw this time, I spent the whole day cleaning and stuff so i’m short on time today
UI REVAMP! Everything was so inconsistent so I spent some time recoloring everything! (before and after images) In the process i learned that an old feature I had (debug mode, which showed cool dots on the screen) hasn’t been working for a reallly long time!!! woops- had to fix that Its almost ready to ship!! Just need to work on the readme and add some finishing touches!
Decided to pause preparing for shipping During some field testing, I learned that the user experience needs improvement. I need to make buttons more clear, and add the greatest thing to be created: THE UNDO BUTTON !!! So this is my goal moving forward! In the meantime, this is the logo I made for the app! Since this entire project was inspired by 7-segment displays, thats what the logo portrays, along with some filler lines on top to fill in the extra space :)
The user is experienced! Added some UX features - buttons can be told apart easier, and the undo button works!! Here is today’s work - the stormy mountain. I think i’m understanding rules i can include for the readme - you have to work with the white space rather than fill it in. You have to treat it different than pixel art. I’m gonna make the README, do some field testing, and if it goes well, ship time!!
README is complete! I added instructions on installing, some tips and tricks, and an overview of how to use the UI. I was struggling with the MacOS Build for this app, due to not having a mac, so i’ve decided to keep the support currently for windows and linux only (tho I guess you could still compile the code directly if you wanted to). I think i’m finally ready to ship!
Ships:
This is PixelVoid! A drawing app that limits your placement of color! (Like the structure of a 7 segment display but extended) My favorite thing about making this was using inheritance to combine pygame with my own code. It was quite challenging to get the coordinates of the mouse to match the custom grid of lines that it has. That was probably where I spent most of my time. Please note: this project only contains executable binaries for linux and windows. MacOS is not currently supported. The README should contain tips and tricks as well to help you create something wonderful!...
|
1792983260.0480392
|
1793069660.0480392
|
|
34506
|
Grex by @Benkralex | Stardance
|
Benkralex
|
1
|
66.28
|
799
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T15:49:29Z", "hours": 49.0, "multiplier": 16.43, "payout": 799, "blessing": "neutral", "text": "I’m very proud, that I got to a point, where I can ship the project in just about 2 months. Thats when I started the new codebase. I learned a LOT developing the plattform with Next.js (old) and also learned, that I need better types, seperate server and client, … I just don’t like the structure, but now with Kotlin and Ktor on the server and JS on the client I am very satisfied. If you try the project keep in mind, that many features were in the old project and the most time I spent, was creating the base on the new version. This ship ships the foundation on which I will build many more (hopefully cool and usefull) features. Also try the web-client on mobile. I coded responsive for displayes of (hopefully) any size. I’m sorry, that I have no demo-instance, but it is to insecure for me to host a public instance for everyone. Maybe in the next ship I will have a solution for that. Hope you like the project!", "repo": "https://codeberg.org/Benkralex/Grex", "demo": "https://grex.benkralex.hackclub.app/register"}]...
|
[{"post_id": 78070, "ts": "202 [{"post_id": 78070, "ts": "2026-10-09T13:44:49Z", "hours": 6.3953, "text": "I clean up the code and made many fixes! I also added new features: You can upload profile pictures and the admins can allow bypassing the invite code for the instance."}, {"post_id": 74075, "ts": "2026-09-26T17:01:48Z", "hours": 3.3961, "text": "Added search to quotes and account settings"}, {"post_id": 72837, "ts": "2026-09-23T20:46:14Z", "hours": 6.0969, "text": "Add Settings Page with the option to choose a theme. I also changed some Database Stuff and added a user page."}, {"post_id": 70252, "ts": "2026-09-18T20:11:00Z", "hours": 1.3911, "text": "Add table for admins so they can see all registered users."}, {"post_id": 65981, "ts": "2026-09-11T14:14:21Z", "hours": 0.3258, "text": "Small fixes: Icons on login/register page Title support for my own client router Fix popups on mobile"}, {"post_id": 65964, "ts": "2026-09-11T13:43:52Z", "hours": 1.3897, "text": "I’ve added a /qpi/quotes/delete endpoint, where the poster or admins can delete a quote and also the button for it is in the UI. If you click it a confirmation popup opens. Also the register and login forms now show, whats wrong. I noticed the bad UX, as I registered a new user and the submit button just didn’t work. In the dev tools I could see the problem, but no normal user is looking into the devtools, so now every normal creature can now see it as well. These are the last finishing touches before shiping!"}, {"post_id": 65616, "ts": "2026-09-10T21:11:00Z", "hours": 2.7175, "text": "I’ve done some little things: I added a random quote endpoint to the server and the 404 - Not Found now displays one. I also started writing the API docs."}, {"post_id": 65050, "ts": "2026-09-09T21:45:57Z", "hours": 0.8633, "text": "I got hacked!! Oh no!! How bad!! ;-D Script injections should now be GONE. (Hacker is sad now ) The edit quote funtion now has an API endpoint and a UI. You can edit a quote with the edit symbol on the quote detail page, which is only displayed, if you are the creator of the post or the admin."}, {"post_id": 63915, "ts": "2026-09-07T23:08:03Z", "hours": 6.0872, "text": "I fixed the layout on mobile devices: The navbar, the admin page, … I edited the API endpoints for quotes: Now there are 2 Endpoints for quotes: get and list I also added the code for quote editing, but the API endpoint is not implemented yet In the client I added a detail page for quotes, where you can see the users, who liked the quote and in the future the comments would also be displayed here A new get user endpoint exists, so the quote posters and the likes can display the real username and not only the user-id I fixed the logout, that was not working, because the client side navigation couldn’t load the /logout because it loads pages from /pages/… so /pages/logout was a 404. Now the logout is in the pages directory, so it works with client side navigation The most time for this devlog was invested on the layout of users who liked a post. I just wanted the users to be displayed in collumns and rows. They should be exactly underneath each other, so the like-icon aligns perfectly. Also the names shouldn’t break, because then one row is larger then the others. It was such a pain getting that “simple” thing to work. I asked multiple AIs, after I had no idea anymore and all gave me trash. The Claude used JS and not only CSS and it finally worked!! It was such a pain but in the end I am very happy with the result."}, {"post_id": 61822, "ts": "2026-09-04T22:26:17Z", "hours": 2.5244, "text": "LIKES!!!!!! Finally!!!! Again only the db held me back. I hate databases! But it has a fun little animation if you click it and it is pretty spam proof (hope so)."}, {"post_id": 60390, "ts": "2026-09-02T18:08:36Z", "hours": 1.5778, "text": "Create quotes now works!!! It was a bit of pain modifing the db. I just wanted plain timestamps in milliseconds but Exposed and SQLite don’t want that, so I setteled on just using long type."}, {"post_id": 59559, "ts": "2026-09-01T13:30:27Z", "hours": 1.2533, "text": "The Server now autmoaticly migrates the DB 🎉🎉🎉🎉🎉🎉 It was not that easy, because Exposed (DB lib for Kotlin) doesn’t automaticly apply migrations. I can generate migration scripts with it but the execution and check if it was already executed I have to do on my own. But I learned a lot in the process."}, {"post_id": 59231, "ts": "2026-08-31T22:04:35Z", "hours": 1.3075, "text": "Now Woodpecker builds the server and client docker-image and releases it on codeberg.org docker registry! Yay!"}, {"post_id": 58878, "ts": "2026-08-31T13:33:37Z", "hours": 2.1544, "text": "I’ve added a form for admins to create invites so you don’t have to interact with the DB or the API manually ;-) Also the first user, that registers doesn’t need an invitation Code and automaticly is an admin. I also started creating the form to create quotes, but it has no functionality at the moment. My next steps that are planed at the moment: Add create quote form functionality Put everything in docker (Add QoL like display all invites & users for admins, display active sessions, …) First RELEASE/SHIP"}, {"post_id": 54823, "ts": "2026-08-25T23:47:38Z", "hours": 0.9147, "text": "New design for the quotes. Now it’s not a boring list but cards that look a lot better."}, {"post_id": 54795, "ts": "2026-08-25T22:23:16Z", "hours": 1.6778, "text": "I’ve added two new themes. Also the theme is now loaded via js, so at a later point the js could read the cookies and load a theme dynamicly."}, {"post_id": 54680, "ts": "2026-08-25T18:51:09Z", "hours": 0.9175, "text": "I’ve now added a logout api endpoint and an option to logout via web client. The difficult part is, that I can’t access the GREX_SESSION cookie via JS, so I have to set another cookie, to know, if the user is logged in. But now it works fine. I hope, that I’m not finding as many bugs if I’m testing the login/logout/register functions."}, {"post_id": 54143, "ts": "2026-08-24T23:40:24Z", "hours": 3.9428, "text": "Not much to say for this devlog, I only created the register form and designed it and the login form."}, {"post_id": 49485, "ts": "2026-08-18T11:02:36Z", "hours": 1.0444, "text": "I improved the navbar and designed an icon as a placeholder for the moment: At a later point the icon should be changable by admins and I think, I will also improve the default icon."}, {"post_id": 48096, "ts": "2026-08-16T11:55:29Z", "hours": 0.9681, "text": "The navigation now works…. But I’m not really happy about it. But for now I started styling a bit (also that I’m not getting flashbanged). How I implemented the client nav at the moment The server now returns the same index.html file for every page and js loads the page-content. This lags sometimes and is not very performant… Style and Themes I’ve started styling. All the colors and also some other properties are specified in a theme-css file, so later you could have your own theme as a css file with only vars or if you want to style even more, you can add custom styles for specifc components, thats the plan for theming."}, {"post_id": 47735, "ts": "2026-08-15T21:02:13Z", "hours": 1.1553, "text": "Started building the real client (at least a concept). I’m currently trying to figure client-side navigation out. I think I have to watch some tutorials…"}, {"post_id": 43988, "ts": "2026-08-09T14:02:55Z", "hours": 1.0517, "text": "I fixed, that if you are already logged in, it still showed the login-form. Also I added a createQuote function (not in the UI yet) and tried fixing the cookie, that don’t want to be saved because of security. I have not comittet the code, because it is at the moment just for me testing, until it can do the most part of the API and is a bit better designed."}, {"post_id": 39681, "ts": "2026-08-02T20:19:03Z", "hours": 1.3894, "text": "I started with a very simple UI (without CSS) to test if the API would work. At the moment you can only login and get all quotes."}, {"post_id": 39604, "ts": "2026-08-02T18:08:59Z", "hours": 1.5794, "text": "I cleaned up even more: Common RequestResult Interface RequestErrors combined into one enum Split the routing config into diffrent files I also added an api endpoint for getting quotes"}, {"post_id": 38407, "ts": "2026-07-31T19:14:05Z", "hours": 1.0397, "text": "I cleaned up the code and added an api endpoint for getting invites"}, {"post_id": 36505, "ts": "2026-07-28T17:40:25Z", "hours": 0.7836, "text": "server: The API now includes the creation of quotes"}, {"post_id": 36404, "ts": "2026-07-28T14:31:13Z", "hours": 1.1194, "text": "server: Now you also can create an account (only with invite) and admins can create invites."}, {"post_id": 35986, "ts": "2026-07-27T19:43:36Z", "hours": 2.0539, "text": "I’ve added DB tables and started with auth. Login works and register is on it’s way!"}, {"post_id": 35846, "ts": "2026-07-27T15:24:34Z", "hours": 1.1892, "text": "I started with a new codebase, because I was not happy with Next.js. Now I want to separate the server from the client for a cleaner architecture. I initalized the new repo I started the base for the server (Kotlin + sqlite)"}, {"post_id": 30137, "ts": "2026-07-17T14:04:35Z", "hours": 0.6931, "text": "IT WORKS!!!! And yea, I’rich, but in the negatives ;-). I just forgot to set a hidden value for the form."}, {"post_id": 29700, "ts": "2026-07-16T19:48:42Z", "hours": 0.8956, "text": "Now you can create transactions! Or can you? It doesn’t work :-( But I can’t find the mistake, I’ll hopefully do tomorrow"}, {"post_id": 28987, "ts": "2026-07-15T16:50:40Z", "hours": 1.5144, "text": "I’ve added the create quote form and the backend used for it. Also if you edit your account, it now uses the new backend."}, {"post_id": 28509, "ts": "2026-07-14T20:10:56Z", "hours": 0.7781, "text": "I finally did the woodpecker build 🎉🎉 I also updated the installer and the README for installation. Now you can test it easiely at home 😉"}, {"post_id": 28476, "ts": "2026-07-14T18:53:02Z", "hours": 2.4917, "text": "I’ve started implementing the backend from ground new, with a cleaner structure, because it was to unclean for me to do work in it. It is not finished, but everything should work at the moment with a mix of old- and new-backend."}, {"post_id": 27841, "ts": "2026-07-13T18:42:24Z", "hours": 0.8558, "text": "I’ve added quotes to the plattform. You can’t create them at the moment, but they are read from the db."}, {"post_id": 27766, "ts": "2026-07-13T16:40:58Z", "hours": 0.3986, "text": "I’ve tried adding woodpecker/forgejo actions for automatic docker builds. I haven’t got it working, but I applied to Codebergs Woodpecker."}]...
|
Title: Grex by @Benkralex | Stardance
Devlogs:
I’ Title: Grex by @Benkralex | Stardance
Devlogs:
I’ve tried adding woodpecker/forgejo actions for automatic docker builds. I haven’t got it working, but I applied to Codebergs Woodpecker.
I’ve added quotes to the plattform. You can’t create them at the moment, but they are read from the db.
I’ve started implementing the backend from ground new, with a cleaner structure, because it was to unclean for me to do work in it. It is not finished, but everything should work at the moment with a mix of old- and new-backend.
I finally did the woodpecker build 🎉🎉 I also updated the installer and the README for installation. Now you can test it easiely at home 😉
I’ve added the create quote form and the backend used for it. Also if you edit your account, it now uses the new backend.
Now you can create transactions! Or can you? It doesn’t work :-( But I can’t find the mistake, I’ll hopefully do tomorrow
IT WORKS!!!! And yea, I’rich, but in the negatives ;-). I just forgot to set a hidden value for the form.
I started with a new codebase, because I was not happy with Next.js. Now I want to separate the server from the client for a cleaner architecture. I initalized the new repo I started the base for the server (Kotlin + sqlite)
I’ve added DB tables and started with auth. Login works and register is on it’s way!
server: Now you also can create an account (only with invite) and admins can create invites.
server: The API now includes the creation of quotes
I cleaned up the code and added an api endpoint for getting invites
I cleaned up even more: Common RequestResult Interface RequestErrors combined into one enum Split the routing config into diffrent files I also added an api endpoint for getting quotes
I started with a very simple UI (without CSS) to test if the API would work. At the moment you can only login and get all quotes.
I fixed, that if you are already logged in, it still showed the login-form. Also I added a createQuote function (not in the UI yet) and tried fixing the cookie, that don’t want to be saved because of security. I have not comittet the code, because it is at the moment just for me testing, until it can do the most part of the API and is a bit better designed.
Started building the real client (at least a concept). I’m currently trying to figure client-side navigation out. I think I have to watch some tutorials…
The navigation now works…. But I’m not really happy about it. But for now I started styling a bit (also that I’m not getting flashbanged). How I implemented the client nav at the moment The server now returns the same index.html file for every page and js loads the page-content. This lags sometimes and is not very performant… Style and Themes I’ve started styling. All the colors and also some other properties are specified in a theme-css file, so later you could have your own theme as a css file with only vars or if you want to style even more, you can add custom styles for specifc components, thats the plan for theming.
I improved the navbar and designed an icon as a placeholder for the moment: At a later point the icon should be changable by admins and I think, I will also improve the default icon.
Not much to say for this devlog, I only created the register form and designed it and the login form.
I’ve now added a logout api endpoint and an option to logout via web client. The difficult part is, that I can’t access the GREX_SESSION cookie via JS, so I have to set another cookie, to know, if the user is logged in. But now it works fine. I hope, that I’m not finding as many bugs if I’m testing the login/logout/register functions.
I’ve added two new themes. Also the theme is now loaded via js, so at a later point the js could read the cookies and load a theme dynamicly.
New design for the quotes. Now it’s not a boring list but cards that look a lot better.
I’ve added a form for admins to create invites so you don’t have to interact with the DB or the API manually ;-) Also the first user, that registers doesn’t need an invitation Code and automaticly is an admin. I also started creating the form to create quotes, but it has no functionality at the moment. My next steps that are planed at the moment: Add create quote form functionality Put everything in docker (Add QoL like display all invites & users for admins, display active sessions, …) First RELEASE/SHIP
Now Woodpecker builds the server and client docker-image and releases it on codeberg.org docker registry! Yay!
The Server now autmoaticly migrates the DB 🎉🎉🎉🎉🎉🎉 It was not that easy, because Exposed (DB lib for Kotlin) doesn’t automaticly apply migrations. I can generate migration scripts with it but the execution and check if it was already executed I have to do on my own. But I learned a lot in the process.
Create quotes now works!!! It was a bit of pain modifing the db. I just wanted plain timestamps in milliseconds but Exposed and SQLite don’t want that, so I setteled on just using long type.
LIKES!!!!!! Finally!!!! Again only the db held me back. I hate databases! But it has a fun little animation if you click it and it is pretty spam proof (hope so).
I fixed the layout on mobile devices: The navbar, the admin page, … I edited the API endpoints for quotes: Now there are 2 Endpoints for quotes: get and list I also added the code for quote editing, but the API endpoint is not implemented yet In the client I added a detail page for quotes, where you can see the users, who liked the quote and in the future the comments would also be displayed here A new get user endpoint exists, so the quote posters and the likes can display the real username and not only the user-id I fixed the logout, that was not working, because the client side navigation couldn’t load the /logout because it loads pages from /pages/… so /pages/logout was a 404. Now the logout is in the pages directory, so it works with client side navigation The most time for this devlog was invested on the layout of users who liked a post. I just wanted the users to be displayed in collumns and rows. They should be exactly underneath each other, so the like-icon aligns perfectly. Also the names shouldn’t break, because then one row is larger then the others. It was such a pain getting that “simple” thing to work. I asked multiple AIs, after I had no idea anymore and all gave me trash. The Claude used JS and not only CSS and it finally worked!! It was such a pain but in the end I am very happy with the result.
I got hacked!! Oh no!! How bad!! ;-D Script injections should now be GONE. (Hacker is sad now ) The edit quote funtion now has an API endpoint and a UI. You can edit a quote with the edit symbol on the quote detail page, which is only displayed, if you are the creator of the post or the admin.
I’ve done some little things: I added a random quote endpoint to the server and the 404 - Not Found now displays one. I also started writing the API docs.
I’ve added a /qpi/quotes/delete endpoint, where the poster or admins can delete a quote and also the button for it is in the UI. If you click it a confirmation popup opens. Also the register and login forms now show, whats wrong. I noticed the bad UX, as I registered a new user and the submit button just didn’t work. In the dev tools I could see the problem, but no normal user is looking into the devtools, so now every normal creature can now see it as well. These are the last finishing touches before shiping!
Small fixes: Icons on login/register page Title support for my own client router Fix popups on mobile
Add table for admins so they can see all registered users.
Add Settings Page with the option to choose a theme. I also changed some Database Stuff and added a user page.
Added search to quotes and account settings
I clean up the code and made many fixes! I also added new features: You can upload profile pictures and the admins can allow bypassing the invite code for the instance.
Ships:
I’m very proud, that I got to a point, where I can ship the project in just about 2 months. Thats when I started the new codebase. I learned a LOT developing the plattform with Next.js (old) and also learned, that I need better types, seperate server and client, … I just don’t like the structure, but now with Kotlin and Ktor on the server and JS on the client I am very satisfied. If you try the project keep in mind, that many features were in the old project and the most time I spent, was creating the base on the new version. This ship ships the foundation on which I will build many more (hopefully cool and usefull) features. Also try the web-client on mobile. I coded responsive for displayes of (hopefully) any size. I’m sorry, that I have no demo-instance, but it is to insecure for me to host a public instance for everyone. Maybe in the next ship I will have a solution for that. Hope you like the project!...
|
1793004712.8044462
|
1793091112.8044462
|
|
2693
|
Stitch-Craft by @Peneroni | Stardance
|
Peneroni
|
1
|
44.0
|
798
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-20T04:42:02Z", "hours": 44.0, "multiplier": 17.93, "payout": 798, "blessing": "neutral", "text": "#Welcome to Stitch-Craft! Work in a dying costume shop with Dennis the costume designer as you build, pull, and buy new costumes. There are many ways to house and attain costumes, and it’s your job to do just that! This is my passion project that I’ve been working on for the past several and I’m ver excited to share the beginnings of it with you all! My mom gave me the idea because she works in a costume shop, and we both thought it would be a fun game to play. One thing to note that this is an early ship of the MVP I set for myself. Most of the assets are placeholders, you can’t fully make costumes and submit them for a show yet, and not all features that I plan to add are in the game yet. I wanted to ship what I have so far, which is the system of how you gain costumes in the dysfunctional costume shop of yours. Currently you can go through the tutorial with Dennis, play the sewing minigame for costumes, buy costumes, and store your costumes in the storage. This is what I shipped, and I hope you enjoy!", "repo": "https://github.com/Penn-the-Great/Stitch-Craft", "demo": "https://peneroni.itch.io/stitch-craft"}]...
|
[{"post_id": 81159, "ts": "202 [{"post_id": 81159, "ts": "2026-10-20T04:29:34Z", "hours": 1.5197, "text": "Build bugs and ship I know I said the last devlog would be the last one, but as expected there were a few last bugs, especially with rendering. There were lots of sizing bugs and technical Unity bugs, and I also had to get the Unity web building package and configure it to how I wanted. BUT, the biggest change is that I got my game on Itch, and I finally shipped! Main changes: Optimization and sizing bugs Added game to Itch.io SHIPPED"}, {"post_id": 81141, "ts": "2026-10-20T02:13:05Z", "hours": 3.3975, "text": "Tutorial and finishing touches The tutorial was created, and you can go around each of the rooms where Dennis will explain each of the features. The tutorial dialogue will also only appear ONCE, which took me forever to figure out. I also added some actual words to the end of the timer/weeks, and its just a thank you message to all who played the beta/demo with some buttons to return to title or quit. Some other smaller changes is I added some text to the Slamazon website to be a placeholder logo, I also changed the chapter select background, which used to be the picture of that cat eating chips in the distance of the windows xp wallpaper. I’m so excited because I think I have an MVP to ship, and it has been a very long journey. One thing I had to accept before shipping was that I was never going to get the full chapter 1 shipped in time for Stardance like I wanted it to be, which is okay. I was hoping for all the assets to be done in time, but there was still so much to do and no time to do it, and unfortunately the submission part of my game relied on having all of the mannequin assets done. My solution to this was to just have the demo be about exploring the clothing system and exploring the costume shop, and like someone once told me, it doesn’t have to look good to be good. However, I will not stop working on Stitch-Craft after Stardance is over, and I fully intend to keep adding and improving the game as much as I can. Thank you to all who have liked my devlogs and shown your support for my game and its progress. Main changes: Tutorial added that shows player around the shop Slight cosmetic changes to placeholders and other missing assets Completed MVP"}, {"post_id": 81089, "ts": "2026-10-19T20:37:54Z", "hours": 2.4767, "text": "Dialogue, cleaning, and more The dialogue system is finally in place! The player can now go down different dialogue “paths”, allowing them to choose between 2 options. I was also going back and cleaning up some of my older codes a little bit when I realized that not a single one had been commented. It was at that moment that I hated my entire existence and this whole project because I made one of the biggest mistakes of this whole thing. I had also not learned about commenting at all until I took a computer programming class this year, and that my video game development teacher last year did not teach us about commenting, and now I can’t remember how half of the code works. If any of you have any suggestions on how to go about this, that would be very helpful! There have also been small updates to assets as I am getting ready to ship. There are just a few things left to do to get the MVP since most finalized assets will not be finished by the time I ship, so I think the demo will just be an exploration of the clothing system. I’m expecting one more devlog, and the stitchcraft demo will be shipped! Main changes: Dialogue system with options and branching dialogue Code has been cleaned a little Final touches for shipping"}, {"post_id": 63920, "ts": "2026-09-07T23:26:53Z", "hours": 4.2289, "text": "Mannequin Assets! New assets for the mannequin, money/time labels, info panel, and other buttons. There were bugs, bugs, and many more bugs, especially with getting the sprites to show up, which was somewhat caused by me trying to use SVGs, but ultimately falling back to PNGs for now. Special thanks to my amazing mother for helping me create the mannequin assets, and my amazing father for teaching me how to use Figma. The tops now have basic assets (to be updated and more added later) that snap onto the mannequin, and can be taken off in a similar fashion (hehe, fashion) to the storage room. Some other bug fixes were making sure the purchasing system works completely, and slamazon looks good. Main changes: The clothing pieces have assets and are aligned with the mannequin New UI assets all around Slamazon delivery system bug fixes"}, {"post_id": 63687, "ts": "2026-09-07T16:52:49Z", "hours": 3.8639, "text": "Settings Overhaul I changed the settings’ visual look. Before, there was mostly placeholder images, placeholder sliders, and placeholder fonts. So I did some work in Figma, and lots of troubleshooting with the code to create the spinning pattern. My biggest challenge was that I was originally going to have the pattern slowly moving off screen to look like an infinite stream of icons, but I decided not to and to just have them spin slowly in place. This is the finished product, and more visual updates to all other screens to come! Main changes: Spinning icon pattern in the background of the settings New font chosen for most of the game UI style chosen and developed final settings UI"}, {"post_id": 30341, "ts": "2026-07-17T20:20:26Z", "hours": 4.4286, "text": "Submission system created Now you can submit costumes to the required amount for a chapter. You can put costumes on, and take them off with very similar logic as the storage system. You can only submit when the minimum requirement of a top and bottom, or full piece, is met. The image below is the layout of the UI. Everything is currently placeholders, which the rest of the project will be mostly a lot of drawing assets, so the demo is close to being ready! Main changes: Requirement costume amount added Clothing pieces can be placed as a child of the mannequin Clothing pieces can be sumitted towards the final costume count"}, {"post_id": 12889, "ts": "2026-06-21T03:34:51Z", "hours": 2.4853, "text": "Cosmetic minigame updates I made some cosmetic minigame updates to really finalize it. The different phases now slide into each other making a really nice looking transition. I also did tons of bug fixes around the actual creation of the final clothing piece, especially with canvases and canvas types. My main bug I had to fix was the workspace canvas being visible, but setting it as inactive made the hanger object spawn on the wrong canvas die to incorrect references, however, the problem was solved by using alpha values instead of setting the worspace canvas as inactive. The minigames look plain right now, but I will put animated backgrounds to show the different settings (like cutting out fabric, sewing, and ironing). Main changes: Sliding transitions between minigame phases Workspace canvas disappears during minigames Clothing piece confirmed to spawn after minigames with correct grade"}, {"post_id": 12221, "ts": "2026-06-19T22:59:05Z", "hours": 2.6964, "text": "Minigame updates! I made some updates to the minigame system. I mostly added things to the version from the last devlog. The line renderer shows up now, but I had to make it disconnected from the accuracy, so it’s purely cosmetic. The second phase is a timing minigame where you have to click the slider at the right time, and I changed it from a horizontal orientation to vertical. The buttons in phase 3 got a slight timing update and little steam puffs, which the video below is of that working. The last thing I updated was make the flow of starting and ending the minigame nice with the start minigame button. Main updates: Line renderer fixed Small cosmetic changes to phases 2 and 3 Minigames can be started with the start minigame button"}, {"post_id": 11410, "ts": "2026-06-18T17:53:30Z", "hours": 3.8108, "text": "Remade the minigame system. It comes in 3 phases still, and accuracy can be calculated. I had to take a pretty long break after the first attempt at the minigames because I got so burnt out from how badly the last one turned out, but I persist. My main struggle with this update was trying to get the line renderer to work, which I am still working on. The picture below is a look at what the first phase will look like, I’ll probably add more cosmetic changes later when I’m focusing on assets near the end of the game. Main changes Remade base minigames system 3 phases can be played, and accuracy is deducted Added a few more placeholder assets"}, {"post_id": 2556, "ts": "2026-06-05T03:19:02Z", "hours": 3.45, "text": "First minigame system I created a sewing system with a series of 3 mini games to cut, sew, and press costumes. Unfortunately it doesn’t run very smoothly, and I am unable to get a screenshot of it working. I am going to overhaul it later, but it’s good for getting the idea of what I want the mini games to be. The image below is what the main pattern picking UI will look like. Main changes: Made fabric a currency to use in sewing Made sewing draft games Made a few new assets"}, {"post_id": 2361, "ts": "2026-06-04T20:18:29Z", "hours": 2.135, "text": "Currency system I created a currency system for my game! It includes a storefront that refreshes every week to buy clothing pieces and fabric (which will come into play later) which get delivered to your storage after the amount of weeks it takes to deliver. The deliveries also show up in a calendar on the desk. Once again, it was a little bit of a struggle to get items to keep references across scenes and on start, but I figured it out. Everything is mostly placeholders right now, but that will change in the future. Main changes: Currency system created using unity gaming services Storefront created to refresh with new clothes to buy every week Calendar shows pending deliveries Completed deliveries get sent to the storage as a draggable hanger object to use Budget for each chapter gets set at the beginning, which players use to spend"}, {"post_id": 1797, "ts": "2026-06-04T00:26:59Z", "hours": 2.9922, "text": "Storage system I made a storage system for my hanger objects with a sorting system. The hardest part was making the hangers move from one canvas to another canvas on another scene. The hangers also kept spawning in all the wrong places, and there was a lot of scene management bugs. But, it works smoothly now as seen in the demo below. Main changes : Created storage system that moves hangers from player’s canvas to storage canvas in separate scene Hangers keep their properties when stored, and stay in storage when player loads and unloads scene Sorting system sorts the clothes in storage by attributes"}, {"post_id": 1280, "ts": "2026-06-03T05:15:27Z", "hours": 6.6208, "text": "Timer system I added a timer system in weeks for each chapter. I also updated my navigation system to support additive scenes rather than single scenes to preserve references. I also made sure that the timer worked for free play mode as well as the chapters. I ran into a lot of bugs with the scene logic, especially trying to get additive scenes to unload. However, I figured it out and it works nicely."}, {"post_id": 428, "ts": "2026-06-01T20:38:44Z", "hours": 0.3897, "text": "First official devlog! My progress before this includes a design document, I made most scenes that I anticipate will be used, made a navigation logic with a fader for smooth transitions, a few icons and visuals (I attached the title for now to this devlog), and a system to create hangers with data like clothing type, material, color, etc. There was a lot of unnecessary bugs that could’ve been avoided easily, but I learned a lot from them. All this to say that updates will be more recorded from now on."}]...
|
Title: Stitch-Craft by @Peneroni | Stardance
Devl Title: Stitch-Craft by @Peneroni | Stardance
Devlogs:
First official devlog! My progress before this includes a design document, I made most scenes that I anticipate will be used, made a navigation logic with a fader for smooth transitions, a few icons and visuals (I attached the title for now to this devlog), and a system to create hangers with data like clothing type, material, color, etc. There was a lot of unnecessary bugs that could’ve been avoided easily, but I learned a lot from them. All this to say that updates will be more recorded from now on.
Timer system I added a timer system in weeks for each chapter. I also updated my navigation system to support additive scenes rather than single scenes to preserve references. I also made sure that the timer worked for free play mode as well as the chapters. I ran into a lot of bugs with the scene logic, especially trying to get additive scenes to unload. However, I figured it out and it works nicely.
Storage system I made a storage system for my hanger objects with a sorting system. The hardest part was making the hangers move from one canvas to another canvas on another scene. The hangers also kept spawning in all the wrong places, and there was a lot of scene management bugs. But, it works smoothly now as seen in the demo below. Main changes : Created storage system that moves hangers from player’s canvas to storage canvas in separate scene Hangers keep their properties when stored, and stay in storage when player loads and unloads scene Sorting system sorts the clothes in storage by attributes
Currency system I created a currency system for my game! It includes a storefront that refreshes every week to buy clothing pieces and fabric (which will come into play later) which get delivered to your storage after the amount of weeks it takes to deliver. The deliveries also show up in a calendar on the desk. Once again, it was a little bit of a struggle to get items to keep references across scenes and on start, but I figured it out. Everything is mostly placeholders right now, but that will change in the future. Main changes: Currency system created using unity gaming services Storefront created to refresh with new clothes to buy every week Calendar shows pending deliveries Completed deliveries get sent to the storage as a draggable hanger object to use Budget for each chapter gets set at the beginning, which players use to spend
First minigame system I created a sewing system with a series of 3 mini games to cut, sew, and press costumes. Unfortunately it doesn’t run very smoothly, and I am unable to get a screenshot of it working. I am going to overhaul it later, but it’s good for getting the idea of what I want the mini games to be. The image below is what the main pattern picking UI will look like. Main changes: Made fabric a currency to use in sewing Made sewing draft games Made a few new assets
Remade the minigame system. It comes in 3 phases still, and accuracy can be calculated. I had to take a pretty long break after the first attempt at the minigames because I got so burnt out from how badly the last one turned out, but I persist. My main struggle with this update was trying to get the line renderer to work, which I am still working on. The picture below is a look at what the first phase will look like, I’ll probably add more cosmetic changes later when I’m focusing on assets near the end of the game. Main changes Remade base minigames system 3 phases can be played, and accuracy is deducted Added a few more placeholder assets
Minigame updates! I made some updates to the minigame system. I mostly added things to the version from the last devlog. The line renderer shows up now, but I had to make it disconnected from the accuracy, so it’s purely cosmetic. The second phase is a timing minigame where you have to click the slider at the right time, and I changed it from a horizontal orientation to vertical. The buttons in phase 3 got a slight timing update and little steam puffs, which the video below is of that working. The last thing I updated was make the flow of starting and ending the minigame nice with the start minigame button. Main updates: Line renderer fixed Small cosmetic changes to phases 2 and 3 Minigames can be started with the start minigame button
Cosmetic minigame updates I made some cosmetic minigame updates to really finalize it. The different phases now slide into each other making a really nice looking transition. I also did tons of bug fixes around the actual creation of the final clothing piece, especially with canvases and canvas types. My main bug I had to fix was the workspace canvas being visible, but setting it as inactive made the hanger object spawn on the wrong canvas die to incorrect references, however, the problem was solved by using alpha values instead of setting the worspace canvas as inactive. The minigames look plain right now, but I will put animated backgrounds to show the different settings (like cutting out fabric, sewing, and ironing). Main changes: Sliding transitions between minigame phases Workspace canvas disappears during minigames Clothing piece confirmed to spawn after minigames with correct grade
Submission system created Now you can submit costumes to the required amount for a chapter. You can put costumes on, and take them off with very similar logic as the storage system. You can only submit when the minimum requirement of a top and bottom, or full piece, is met. The image below is the layout of the UI. Everything is currently placeholders, which the rest of the project will be mostly a lot of drawing assets, so the demo is close to being ready! Main changes: Requirement costume amount added Clothing pieces can be placed as a child of the mannequin Clothing pieces can be sumitted towards the final costume count
Settings Overhaul I changed the settings’ visual look. Before, there was mostly placeholder images, placeholder sliders, and placeholder fonts. So I did some work in Figma, and lots of troubleshooting with the code to create the spinning pattern. My biggest challenge was that I was originally going to have the pattern slowly moving off screen to look like an infinite stream of icons, but I decided not to and to just have them spin slowly in place. This is the finished product, and more visual updates to all other screens to come! Main changes: Spinning icon pattern in the background of the settings New font chosen for most of the game UI style chosen and developed final settings UI
Mannequin Assets! New assets for the mannequin, money/time labels, info panel, and other buttons. There were bugs, bugs, and many more bugs, especially with getting the sprites to show up, which was somewhat caused by me trying to use SVGs, but ultimately falling back to PNGs for now. Special thanks to my amazing mother for helping me create the mannequin assets, and my amazing father for teaching me how to use Figma. The tops now have basic assets (to be updated and more added later) that snap onto the mannequin, and can be taken off in a similar fashion (hehe, fashion) to the storage room. Some other bug fixes were making sure the purchasing system works completely, and slamazon looks good. Main changes: The clothing pieces have assets and are aligned with the mannequin New UI assets all around Slamazon delivery system bug fixes
Dialogue, cleaning, and more The dialogue system is finally in place! The player can now go down different dialogue “paths”, allowing them to choose between 2 options. I was also going back and cleaning up some of my older codes a little bit when I realized that not a single one had been commented. It was at that moment that I hated my entire existence and this whole project because I made one of the biggest mistakes of this whole thing. I had also not learned about commenting at all until I took a computer programming class this year, and that my video game development teacher last year did not teach us about commenting, and now I can’t remember how half of the code works. If any of you have any suggestions on how to go about this, that would be very helpful! There have also been small updates to assets as I am getting ready to ship. There are just a few things left to do to get the MVP since most finalized assets will not be finished by the time I ship, so I think the demo will just be an exploration of the clothing system. I’m expecting one more devlog, and the stitchcraft demo will be shipped! Main changes: Dialogue system with options and branching dialogue Code has been cleaned a little Final touches for shipping
Tutorial and finishing touches The tutorial was created, and you can go around each of the rooms where Dennis will explain each of the features. The tutorial dialogue will also only appear ONCE, which took me forever to figure out. I also added some actual words to the end of the timer/weeks, and its just a thank you message to all who played the beta/demo with some buttons to return to title or quit. Some other smaller changes is I added some text to the Slamazon website to be a placeholder logo, I also changed the chapter select background, which used to be the picture of that cat eating chips in the distance of the windows xp wallpaper. I’m so excited because I think I have an MVP to ship, and it has been a very long journey. One thing I had to accept before shipping was that I was never going to get the full chapter 1 shipped in time for Stardance like I wanted it to be, which is okay. I was hoping for all the assets to be done in time, but there was still so much to do and no time to do it, and unfortunately the submission part of my game relied on having all of the mannequin assets done. My solution to this was to just have the demo be about exploring the clothing system and exploring the costume shop, and like someone once told me, it doesn’t have to look good to be good. However, I will not stop working on Stitch-Craft after Stardance is over, and I fully intend to keep adding and improving the game as much as I can. Thank you to all who have liked my devlogs and shown your support for my game and its progress. Main changes: Tutorial added that shows player around the shop Slight cosmetic changes to placeholders and other missing assets Completed MVP
Build bugs and ship I know I said the last devlog would be the last one, but as expected there were a few last bugs, especially with rendering. There were lots of sizing bugs and technical Unity bugs, and I also had to get the Unity web building package and configure it to how I wanted. BUT, the biggest change is that I got my game on Itch, and I finally shipped! Main changes: Optimization and sizing bugs Added game to Itch.io SHIPPED
Ships:
#Welcome to Stitch-Craft! Work in a dying costume shop with Dennis the costume designer as you build, pull, and buy new costumes. There are many ways to house and attain costumes, and it’s your job to do just that! This is my passion project that I’ve been working on for the past several and I’m ver excited to share the beginnings of it with you all! My mom gave me the idea because she works in a costume shop, and we both thought it would be a fun game to play. One thing to note that this is an early ship of the MVP I set for myself. Most of the assets are placeholders, you can’t fully make costumes and submit them for a show yet, and not all features that I plan to add are in the game yet. I wanted to ship what I have so far, which is the system of how you gain costumes in the dysfunctional costume shop of yours. Currently you can go through the tutorial with Dennis, play the sewing minigame for costumes, buy costumes, and store your costumes in the storage. This is what I shipped, and I hope you enjoy!...
|
1792958076.0495667
|
1793044476.0495667
|
|
14075
|
Particle World by @Fawy2010 | Stardance
|
Fawy2010
|
1
|
46.0
|
797
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-20T15:27:00Z", "hours": 46.0, "multiplier": 17.19, "payout": 797, "blessing": "neutral", "text": "I made a particle simulator, where every particle has a color and interact with other particles based on color. I found it to be challenging, to find out how exactly compute shaders and shaders as a whole work, because I had to figure out stuff like the communication between CPU and GPU and what the syntax of HLSL, the language shaders are written in, is. But now I’m proud of the result, even I with an laptop using an integrated graphics card, can simulate up to 60’000 particles at once, at a decent speed. But for the people that want to test out my project, I think the best way to experience it, is to just try out different stuff and see if you manage to get something that you like.", "repo": "https://github.com/Fawy20210/Particle-World", "demo": "https://fawy2020.itch.io/particle-world"}]...
|
[{"post_id": 31439, "ts": "202 [{"post_id": 31439, "ts": "2026-07-19T20:12:22Z", "hours": 1.2411, "text": "Devlog 11: Fixed a Bug & Finished README The bug I mentioned in my last devlog, the one where I couldn’t understand why it only happens when a number is odd, I still don’t understand it, but I managed to fix it. In the shader I use for rendering, I used fmod(InstanceID, colorCount) for finding out what color a particle is, but in my compute shader i do it like this InstanceID % colorCount , and apparently those do something different with the same int input? I don’t know. But now it’s fixed, and I added a Demo video to my README. So now I can finally ship this."}, {"post_id": 31345, "ts": "2026-07-19T17:37:48Z", "hours": 7.5317, "text": "Devlog 10: Writing a README & finding bugs So, I now pretty much have finished writing my README, only thing missing is a demo video, but before I can add that, I’ll have to fix a bug. Because apparently when you input a odd number as the amount of colors, the values in the matrixes are not the one of the color shown, but of the color 1 to the left/up? But only for odd numbers, even numbers work fine? But anyway, I also added a FPS counter to the simulation. So now I’ll go to either try find out why that bug happens, or just add something that makes the bug invisible."}, {"post_id": 28362, "ts": "2026-07-14T15:59:28Z", "hours": 3.1242, "text": "Devlog 9: Input Validation & Bug Fixing Knowing that I know my code to well, I gave a working version of it to my sister, to watch her try it, and see if there’s anything somebody could do, that isn’t really intended. And it turns out there is! It seems quite obvious now, but one thing you could do, but weren’t supposed to , was inputting any values you want, which is fine if you know what you’re doing, but most probably you won’t, so I had to add Input validation. In some places it was more important than in others, because your GPU really doesn’t like it if you define a buffer with a negative size, which happend if you inputted a negative amount of particles. I also cleaned up the files a bit, by taking all unused files, and putting them in a folder called… “Unused”, really clever name choice, isn’t it? So now, I get to prepare for Shipping my project, although I’m not really looking forward to writing the README yet."}, {"post_id": 27344, "ts": "2026-07-12T20:42:35Z", "hours": 8.0836, "text": "Devlog 8: Matrix editing & Camera Movement So I know I said in Devlog 7 , I would only polish some stuff and get ready to ship, but I just couldn’t not add the ability to edit the Matrixes and move the Camera, the first of the two, I was able to do with the help the GridLayout Component, which automatically arranges all it’s children in a grid. I did that by dynamically adding an UI input Element for each Value in the Matrix, and putting in the corresponding Value. And now, you can change the values of each Cell, and when you’re finished, you can hit apply, and now you’ve changed the behaviour of the particles, yay! Getting the Camera to zoom and move in a way I like, was really hard, probably because I was kind of tired, or maybe because I’m just stupid, who knows. But anyway, I’m using Unitys Input System to geth mouse movements and scrolling, so that I can then read out the value of those in my Script. The zooming is works like this: Zoom += Zoom * ( ScrollValue / 10 ); CameraSize = OriginalCameraSize * Zoom And the camera movement works by turning the mouse position an the screen into a position in the World Space, and multiplying it wiht the suqre of zoom, so that the movement gets slower and slower when you zoom in. There is even more to it than this, but it would be a pretty long Devlog if I explained everything, so I guess next time I shouldn’t wait 8h to write a Devlog. (:"}, {"post_id": 24326, "ts": "2026-07-07T20:41:50Z", "hours": 6.0033, "text": "Devlog 7: Adding a UI I finally did it, I added an UI to it, it doesn’t include everything I wanted, but it doesn’t have to be perfect, especially seeing as Unity thought it had to nuke half my work an the UI, just as I wanted to save it, that was quite annoying . But now you can control pretty much everything except the stuff that you can’t through the UI, like the amount of particles to simulate, some range values, physics variables, and of course the color of the particles. So now I probably just need to polish some stuff and get everything ready to be shipped, and then I’ll probably ship it, we’ll see."}, {"post_id": 23653, "ts": "2026-07-06T19:13:59Z", "hours": 9.1275, "text": "Devlog 6: Compute Shaders! So I know the next thing, and only thing left, on my To-Do list, as seen in my last Devlog , was to add an GUI/interface , but I wanted to improve on how many particles you can simulate at once, so I researched how shaders and compute shader work, and made one that could do everything my C# script could do too, but faster, as compute shaders run on the GPU, which is really good at doing things in parallel. But it wasn’t easy, as I had no idea how both shaders and compute shaders work, and I still don’t really know how shaders work, but atleast I know how compute shaders work now. But getting to this point, where it finally works, took me the entire day, with having to do research and having to keep trying new stuff to find something that works, but I think it was worth it. But I was kind of too lazzy to implement a BitonicMergeSort to sort using the GPU, so I took that code from https://github.com/SebLague/Fluid-Sim , and slightly altered it, so it would work for me. So now, I’ll just have to add an GUI or something like that, adjust some stuff, (like changing it so the particles don’t spawn in a symmetric grid, or particles don’t spawning inside other particles anymore), and clean everything up, and then I’d probably be ready ship it for the first time, depending on whether I wanna add more stuff first or not."}, {"post_id": 22862, "ts": "2026-07-05T14:15:16Z", "hours": 3.2097, "text": "Devlog 5: Speed up thanks to Spatial Partitioning So now I’ve done it, the next thing on my To-Do list is completed, as seen in my last Devlog , it was to Optimize and Improve calculations , and I did that, mostly by implementing Spatial Partitioning. How it works is that, if there is only a certain range around an particle, in this case the MaxRange, you can pretty much ignore everything outside of this range when calculating attraction, instead of having to check the distance to each particle, and getting the same result. To do that you split the area where the particles can be into squares(Cells) with length of MaxRange, and then assinging each particle a key, which you get like this: key = someHashFunction(CellPos.x, CellPos.y) % ParticleAmount And then with some sorting and such, you can calculate the attractions, only the Cell the particles in, and the 8 cells around it. This was somewhat simplified, but I hope one could understand it. And in the video below, you can see me simulating 4000 particles, at roughly 10 fps, which might not sound like a lot, but compared to before, where simulating 2000 particles resulted in about 5 fps, it certainly is. To-Do: Add interaction based on color and distance. Optimize and Improve calculations. Add an GUI / Interface"}, {"post_id": 22342, "ts": "2026-07-04T19:24:13Z", "hours": 3.5164, "text": "Devlog 4: Getting to a working version Like mentioned in my last Devlog , one thing I had to do was adding interaction based on color and distance, and hurray! I did both! So I did it by having an array of floats, which contains the attraction matrix, but flattend, and did the same for the distance values, basically like this: array[i + j * width] = matrix[i][j] I also made a function that based on a minRange and maxRange around a particle calculates it’s attraction to other particles, if it’s closer than minRange, it gets pushed away, otherwise if it’s closer than maxRange, it gets attracted or repelled based on the attraction matrix. I made it so instead of using Time.deltaTime it now uses a fixed value that you can change, and added friction, so the particles, making the particles alot more stable than they’d be otherwise. So now, I’d have a usable version of Particle Life, but as you can see my To-Do list isn’t quite finished yet. To-Do: Add interaction based on color and distance. Optimize and Improve calculations. Add an GUI / Interface"}, {"post_id": 22150, "ts": "2026-07-04T13:49:27Z", "hours": 1.7964, "text": "Devlog 3: Implemented some stuff In Devlog 2 I wrote down what I planned to do next, and now I’ve done it. I added an adjustable border that when crossed moves the particles back inside, and makes them bounce of by inverting their velocity, but dampening it a bit. Then I made it so whenever you start, it arranges the amount of particles you choose in a grid, in the middle of the border, with adjustable spacing between the particles. Then I made it so you can chose however many colors you want, and the colors will be equaly distributed to all the particles. I did this by basically doing this: particleColor[i] = colorList[i % colorList.length] Where the colorList[] is made up from the colors you input in the inspector. To-Do: Add interaction based on color and distance. Optimize and Improve calculations. Add an GUI / Interface"}, {"post_id": 22079, "ts": "2026-07-04T10:25:13Z", "hours": 1.2128, "text": "Devlog 2: Changing my approach I have now decided to not have each particle be a GameObject, but instead handle all of them from 1 Script that stores each particles position and velocity, to then calculate interactions and draw them. Right now I’m doing the drawing using Graphics.RenderMesh() for each individual particle, and I can already have them be attracted or repelled by each other. What I plan on doing next: Add a border, so the particles don’t escape. Make it so the particles starting positions are spread out. Add the possibility for particles to have different colors."}, {"post_id": 21677, "ts": "2026-07-03T19:17:27Z", "hours": 1.5361, "text": "Devlog 1: Starting my Project So first I had to set up my Unity project, link it to a GitHub repo, and then installed HackaTime to track the time I work in Unity. So I wanna create something based on Particle Life , but with a few changes and twists. So up until now, I have already made a Script that gets all colliders in a certain range around the GameObject it’s attached to, by using Physics2D.OverlapCircleAll() , and then calculates and applies a certain force into the direction of that other Collider, by using RigidBody2D.AddForce() . But right now, they still act the same towards all other particles, not just those of the same color. And now, I have also come to the conclusion that I will have to think about whether I wanna do this Project using the GPU for the calculations, or not, because I’ve realized that only using the CPU might not have the greatest performance, but the way I’m currently doing stuff, probably won’t work for a compute shader."}]...
|
Title: Particle World by @Fawy2010 | Stardance
De Title: Particle World by @Fawy2010 | Stardance
Devlogs:
Devlog 1: Starting my Project So first I had to set up my Unity project, link it to a GitHub repo, and then installed HackaTime to track the time I work in Unity. So I wanna create something based on Particle Life , but with a few changes and twists. So up until now, I have already made a Script that gets all colliders in a certain range around the GameObject it’s attached to, by using Physics2D.OverlapCircleAll() , and then calculates and applies a certain force into the direction of that other Collider, by using RigidBody2D.AddForce() . But right now, they still act the same towards all other particles, not just those of the same color. And now, I have also come to the conclusion that I will have to think about whether I wanna do this Project using the GPU for the calculations, or not, because I’ve realized that only using the CPU might not have the greatest performance, but the way I’m currently doing stuff, probably won’t work for a compute shader.
Devlog 2: Changing my approach I have now decided to not have each particle be a GameObject, but instead handle all of them from 1 Script that stores each particles position and velocity, to then calculate interactions and draw them. Right now I’m doing the drawing using Graphics.RenderMesh() for each individual particle, and I can already have them be attracted or repelled by each other. What I plan on doing next: Add a border, so the particles don’t escape. Make it so the particles starting positions are spread out. Add the possibility for particles to have different colors.
Devlog 3: Implemented some stuff In Devlog 2 I wrote down what I planned to do next, and now I’ve done it. I added an adjustable border that when crossed moves the particles back inside, and makes them bounce of by inverting their velocity, but dampening it a bit. Then I made it so whenever you start, it arranges the amount of particles you choose in a grid, in the middle of the border, with adjustable spacing between the particles. Then I made it so you can chose however many colors you want, and the colors will be equaly distributed to all the particles. I did this by basically doing this: particleColor[i] = colorList[i % colorList.length] Where the colorList[] is made up from the colors you input in the inspector. To-Do: Add interaction based on color and distance. Optimize and Improve calculations. Add an GUI / Interface
Devlog 4: Getting to a working version Like mentioned in my last Devlog , one thing I had to do was adding interaction based on color and distance, and hurray! I did both! So I did it by having an array of floats, which contains the attraction matrix, but flattend, and did the same for the distance values, basically like this: array[i + j * width] = matrix[i][j] I also made a function that based on a minRange and maxRange around a particle calculates it’s attraction to other particles, if it’s closer than minRange, it gets pushed away, otherwise if it’s closer than maxRange, it gets attracted or repelled based on the attraction matrix. I made it so instead of using Time.deltaTime it now uses a fixed value that you can change, and added friction, so the particles, making the particles alot more stable than they’d be otherwise. So now, I’d have a usable version of Particle Life, but as you can see my To-Do list isn’t quite finished yet. To-Do: Add interaction based on color and distance. Optimize and Improve calculations. Add an GUI / Interface
Devlog 5: Speed up thanks to Spatial Partitioning So now I’ve done it, the next thing on my To-Do list is completed, as seen in my last Devlog , it was to Optimize and Improve calculations , and I did that, mostly by implementing Spatial Partitioning. How it works is that, if there is only a certain range around an particle, in this case the MaxRange, you can pretty much ignore everything outside of this range when calculating attraction, instead of having to check the distance to each particle, and getting the same result. To do that you split the area where the particles can be into squares(Cells) with length of MaxRange, and then assinging each particle a key, which you get like this: key = someHashFunction(CellPos.x, CellPos.y) % ParticleAmount And then with some sorting and such, you can calculate the attractions, only the Cell the particles in, and the 8 cells around it. This was somewhat simplified, but I hope one could understand it. And in the video below, you can see me simulating 4000 particles, at roughly 10 fps, which might not sound like a lot, but compared to before, where simulating 2000 particles resulted in about 5 fps, it certainly is. To-Do: Add interaction based on color and distance. Optimize and Improve calculations. Add an GUI / Interface
Devlog 6: Compute Shaders! So I know the next thing, and only thing left, on my To-Do list, as seen in my last Devlog , was to add an GUI/interface , but I wanted to improve on how many particles you can simulate at once, so I researched how shaders and compute shader work, and made one that could do everything my C# script could do too, but faster, as compute shaders run on the GPU, which is really good at doing things in parallel. But it wasn’t easy, as I had no idea how both shaders and compute shaders work, and I still don’t really know how shaders work, but atleast I know how compute shaders work now. But getting to this point, where it finally works, took me the entire day, with having to do research and having to keep trying new stuff to find something that works, but I think it was worth it. But I was kind of too lazzy to implement a BitonicMergeSort to sort using the GPU, so I took that code from https://github.com/SebLague/Fluid-Sim , and slightly altered it, so it would work for me. So now, I’ll just have to add an GUI or something like that, adjust some stuff, (like changing it so the particles don’t spawn in a symmetric grid, or particles don’t spawning inside other particles anymore), and clean everything up, and then I’d probably be ready ship it for the first time, depending on whether I wanna add more stuff first or not.
Devlog 7: Adding a UI I finally did it, I added an UI to it, it doesn’t include everything I wanted, but it doesn’t have to be perfect, especially seeing as Unity thought it had to nuke half my work an the UI, just as I wanted to save it, that was quite annoying . But now you can control pretty much everything except the stuff that you can’t through the UI, like the amount of particles to simulate, some range values, physics variables, and of course the color of the particles. So now I probably just need to polish some stuff and get everything ready to be shipped, and then I’ll probably ship it, we’ll see.
Devlog 8: Matrix editing & Camera Movement So I know I said in Devlog 7 , I would only polish some stuff and get ready to ship, but I just couldn’t not add the ability to edit the Matrixes and move the Camera, the first of the two, I was able to do with the help the GridLayout Component, which automatically arranges all it’s children in a grid. I did that by dynamically adding an UI input Element for each Value in the Matrix, and putting in the corresponding Value. And now, you can change the values of each Cell, and when you’re finished, you can hit apply, and now you’ve changed the behaviour of the particles, yay! Getting the Camera to zoom and move in a way I like, was really hard, probably because I was kind of tired, or maybe because I’m just stupid, who knows. But anyway, I’m using Unitys Input System to geth mouse movements and scrolling, so that I can then read out the value of those in my Script. The zooming is works like this: Zoom += Zoom * ( ScrollValue / 10 ); CameraSize = OriginalCameraSize * Zoom And the camera movement works by turning the mouse position an the screen into a position in the World Space, and multiplying it wiht the suqre of zoom, so that the movement gets slower and slower when you zoom in. There is even more to it than this, but it would be a pretty long Devlog if I explained everything, so I guess next time I shouldn’t wait 8h to write a Devlog. (:
Devlog 9: Input Validation & Bug Fixing Knowing that I know my code to well, I gave a working version of it to my sister, to watch her try it, and see if there’s anything somebody could do, that isn’t really intended. And it turns out there is! It seems quite obvious now, but one thing you could do, but weren’t supposed to , was inputting any values you want, which is fine if you know what you’re doing, but most probably you won’t, so I had to add Input validation. In some places it was more important than in others, because your GPU really doesn’t like it if you define a buffer with a negative size, which happend if you inputted a negative amount of particles. I also cleaned up the files a bit, by taking all unused files, and putting them in a folder called… “Unused”, really clever name choice, isn’t it? So now, I get to prepare for Shipping my project, although I’m not really looking forward to writing the README yet.
Devlog 10: Writing a README & finding bugs So, I now pretty much have finished writing my README, only thing missing is a demo video, but before I can add that, I’ll have to fix a bug. Because apparently when you input a odd number as the amount of colors, the values in the matrixes are not the one of the color shown, but of the color 1 to the left/up? But only for odd numbers, even numbers work fine? But anyway, I also added a FPS counter to the simulation. So now I’ll go to either try find out why that bug happens, or just add something that makes the bug invisible.
Devlog 11: Fixed a Bug & Finished README The bug I mentioned in my last devlog, the one where I couldn’t understand why it only happens when a number is odd, I still don’t understand it, but I managed to fix it. In the shader I use for rendering, I used fmod(InstanceID, colorCount) for finding out what color a particle is, but in my compute shader i do it like this InstanceID % colorCount , and apparently those do something different with the same int input? I don’t know. But now it’s fixed, and I added a Demo video to my README. So now I can finally ship this.
Ships:
I made a particle simulator, where every particle has a color and interact with other particles based on color. I found it to be challenging, to find out how exactly compute shaders and shaders as a whole work, because I had to figure out stuff like the communication between CPU and GPU and what the syntax of HLSL, the language shaders are written in, is. But now I’m proud of the result, even I with an laptop using an integrated graphics card, can simulate up to 60’000 particles at once, at a decent speed. But for the people that want to test out my project, I think the best way to experience it, is to just try out different stuff and see if you manage to get something that you like....
|
1792968500.2351482
|
1793054900.2351482
|
|
57800
|
AEGIS by @aron_roger | Stardance
|
aron_roger
|
2
|
71.0
|
795
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-29T19:55:05Z", "hours": 21.0, "multiplier": 14.56, "payout": 301, "blessing": "neutral", "text": "A NFC tag tracker app, it is on the web right now, for designing and prototyping purpose, although I have written much greater detail in my previous ship, this is just a contiuation to my last ship. So, from the previous feedback, I have fixed few thing worked more on the representation and then also added a instruction page to the routes. I want to say I am happy with where I have reached as said in my previous dev-log, I have decided to get this project a halt, due to other responsibilities and priorities. I wanted to do more than that, but I am glad with whatever I learned along the way, it was all fun. As of now it is still not a native application rather a web hosted testing prototype, you can use the graphs and toggle option to change option, and yeah for now i haven’t yet added different user option, although I started with it. I might be signing off after this, would try to comeback but till then, may everyone do well in anything they do, I would still like to receive feedback, and yeah Ik I have sm things in mind to do and add, but yet again sadly it is kinda hard for me as of now.", "repo": "https://github.com/aron-roger/aegis", "demo": "https://aronnn.pythonanywhere.com/hydration"}, {"ship_num": 2, "ts": "2026-09-19T09:57:04Z", "hours": 50.0, "multiplier": 9.92, "payout": 494, "blessing": "neutral", "text": "AEGIS General intro I made a NFC tracker application, even though it is on the web rn, I have deployed it to pythonanywhere for use, currently. Story-Time: I might be a strange guy but I like to track my habits and count everything, and I surely have done tracking across both digitally and manually on my journal. That is when I knew about NFC stickers where a person showcased how he is using it to track his stuff, and i thought it to be so cool if i can do it too, so I began searching… later, here I am. Challenges I tried my best to make this as best i can, ngl I kinda tripped, and hit so many walls, at some point I was about to give up, but nah, I was more determined to complete it. I watched few HTML videos and CSS workaround, as i learned them through this project too, I learned a lot of stuff, I do not regret it, And the java-script was so hard to learn with my studies and in this short amount of time, that i must day i used AI to get me through it. Happy? Yeah I am so happy, with all I could do I wish i could do more, but as ever I’m not giving up. I am so happy about it, also when i discussed it with my cousin and he was like he wanted to track his water intake, it was hard for him. And i instantly knew, I can do it and I might can help him too. NOTE: I uses a NFC sticker on the objects, for example; water bottle, where the user can scan it whenever he can log his intake, and I have shared the link to where the person can use it, I am sorry not everyone can get a sticker, but I can make sure if they do have it it is most best UX for them. Otherwise, I have added an approach to to manually log the intake, Since, it is suppose to be an app and i haven’t yet made it an app, so i deployed it on pythonanywhere you can try out manual logging into my db. but as soon as the project is completed i will produce it such way the users have their local db to store their intake which is when a mobile app comes in. This a WIP PROJECT and I have so many things in mind to add, as I progress, lets hope I can do it, I believe i can do more pages faster as I have whole workflow in my head. Thank you for reading it this farrrr, arigato gozaimasu.", "repo": "https://github.com/aron-roger/aegis", "demo": "https://aronnn.pythonanywhere.com/hydration"}]...
|
[{"post_id": 75273, "ts": "202 [{"post_id": 75273, "ts": "2026-09-29T16:39:51Z", "hours": 4.0106, "text": "This might be my last dev-log I hate to admit but my study have been over-whelming. I am in 12th grade and catching up with my studies + preparing for a screening test olympiads. It is like juggling them but can’t do anything, I must eliminate something to keep up with everything else. Not gonna lie, it has been so much fun and learning during my time in Star-dance. I would miss this. I wanted to complete aegis-project but I still seem to have a long way to go especially learning dart or xml to host my app. Actually there might a bit more longer way because i haven’t really picked up on java-script either. I am kinda sad because I can not put in my everything, but I am happy with whatever I have learnt, plus all the new people I have met and then also able to tell more people about it. For this dev-log I’d like to showcase my whole app and designs Ive been working on. I have tried learning a lil bit of schema, but unable to give my whole time towards it also, I have also sent my code to ai to help me too. Things I have done instruction route is done for now re-newed the db for new schema (which i would not use after this decision) tweaked some design for my all routes and html which I have attached ss to it."}, {"post_id": 74088, "ts": "2026-09-26T17:15:09Z", "hours": 7.4475, "text": "#YOPP! I tried re-designing my home page and here is hat Ive come up with I used this pale-yellow green. I don’t know if i would change it or keep it. Any-ways here is what Ive been up to and what I did I have read the reasons that came through with the shipment results, and few reviewers claimed that they can’t understand they way it works, which for what i would like to apologize for I should’ve made an instruction screen, or smth more prominent of the usage of my system. I am glad they have pointed it out! So, I have tried making a Home-screen and a simple instruction screen. It was fun and quick process, although few designing got me time tinkering. Here is a overview to what I have done, I used lapse to record my Figma designing hours and then, later tried implementing it inside my code. although there have been so many inconsistencies that I had to use ai to help me, but Im glas with what im at. Then, also I have changed date selector bar which was again fun, because this time there was less friction than before, I’m kinda disappointed that I couldn’t manipulate JS on my own. Aside naturally, everything worked well, now I would like to complete it soon, because my other responsibilities have been hiking. BTW, I am tweaking myself I am kinda super glad with my hydration and sleep routes they are peaking, I would like to highlight them at next dev post, keep getting posted, I am sure you guys would like it"}, {"post_id": 72246, "ts": "2026-09-22T15:00:37Z", "hours": 8.0583, "text": "YO - I’m back I have posted my app to what I designed and where I am rn, first picture is my figma design, second is my where I am… I’ve been wanting to add those animated giphy, let me know how you guys do it. I tweaked my route kinda completed it, I’m kinda happy with this, some of the things are repetitive but so far here is what i did: re-made my date selector bar changed the background for sleep tracker theme sleep button toggle, it was kinda hard to learn DOM manipulation, so I let ai do it (will learn it) set-up routes in the backend, kinda fun to tweak it and used ai to help me clear my mess Honestly, I think must showcase my result properly, it is not a web but an app, soon converting it to a whole app, as im finished with logic routes. NFC is working, soon uploading it on Github. You can send me your reviews as you like my app to be, I would be happy to view them and react to them."}, {"post_id": 70771, "ts": "2026-09-19T18:52:19Z", "hours": 1.18, "text": "IRONY So, I have been flagged, to be using ai styled design, which is sad truly because, I myself had came up with the layout, in figma, and then later i tweaked the design in dark theme, because i probably my eyes hurt working with bright screen lol. light theme I was hoping to use this design, later, for customizing theme option in settings. Apparently, I am switching back to it, after some tweaks, I will be able to push it on github Clarification Also, I want to tell that I wanted to make an app out of it, and all i did rn is just made it on a web, so i got a long way to go, I was am soon using flutter for my application and deployment. I believe i wont be flagged next because yeah, It is my design, i wonder if it is that good or that much slop."}, {"post_id": 70461, "ts": "2026-09-19T07:31:03Z", "hours": 4.5711, "text": "FINALLY, I THINK MY HYDRATION PAGE IS DONE. Changes; First of all I have graphss, like it is working the one day graph is supposed to be a cumulative graph and its working well. fixed few bugs i was facing when i was testing it, i still cannot test 1w and 1 month graph due to limited logs, It was a long way, honestly, i have put my design i made on figma in the later image, and the first one is what Im at rn. If you scroll through my other dev logs you might stumble upon my whole design phase. However, I am glad with what I got to, it is just as expected, I am ship this as a WIP project, please I really put my heart at it, learning and idealizing, I really appreciate your rating and help, Thanks for reading it this farr, really thank you. I will add more details, when i will ship this."}, {"post_id": 69699, "ts": "2026-09-17T16:36:31Z", "hours": 6.0686, "text": "HYDRATION TRACKER TLDR; deployed it on pythonanywhere removed variable input created tables for history I’ve re- the whole hydration.html, due to the reasons my javascript wasn’t performing well with variable input. so now i backed off from it and start to complete the basics. Deployed my project on pythonanywhere so now i can officially use the sticker when i go outside too, please acknowledy this my first time making a dedicated project and i have learned a lot of stuff, yet i try to keep on improving ##Future plans… making graphsss (tuff) ig, i always liked visual representation. sleep.html but diff cards mihi med tracker (custom medication) Will work on better dev posts."}, {"post_id": 67561, "ts": "2026-09-13T18:15:53Z", "hours": 8.3778, "text": "It was supposed to be a mobile app but it looks cool anyways, YEPP i worked on backend, again and yet got to this new screen with new cardsss. NOW user can adjust the amount logs, there is bug i found while testing but then i got message that i must dev post soon, anyways les goo, i would like to know and hear more suggestion on anything about my project."}, {"post_id": 66661, "ts": "2026-09-12T14:55:37Z", "hours": 8.1722, "text": "Worked on Backend and front end both, i cant decide which theme to choose, that blue one or white one, Anyways, backend for hydration route is all set i might not need to tweak it anymore or i must say much. front end, im honestly enjoying all of this, i learnt a lot…"}, {"post_id": 65883, "ts": "2026-09-11T10:07:28Z", "hours": 3.1342, "text": "Worked on the back-end, css html too. i took few courses from html to get started with it, next im refining my page to make it look more like my figma design and also im re-building backend py code. Till, i receive my stickers, ordered from a store, imma work on on making front end better and re doing my py files for a formal structure."}, {"post_id": 64210, "ts": "2026-09-08T13:21:21Z", "hours": 3.7906, "text": "Honestly for now im done with the design all thing sive made myself everything took lotta time to get to this point and it is only design, i will tweak more like get home page and more tacker with more features soon, maybe add badges and its tab, There is still a lot to do. (sorry for poor quality video i still cant figure out how to use obs screen rec.) SO, IM DONE FOR NOW WITH DESIGNING, I am starting at backend code using flutter i have shared the files to test my backend and it is going good fo rnow next we adding pages and its logic. It is all new im learning midway. I would like if you can suggest me any idea for tracker although i might add a medicine tracker and brush at night tracker because i believe there are many people who do not brush at night too, correct me and share your review, thankss."}, {"post_id": 62356, "ts": "2026-09-05T18:00:09Z", "hours": 7.4225, "text": "Today, I have made more buttons and started at both hydration and sleep tracker page. From last time, I have been more consistent with so many things. Next, I am adding graphs to the system, so finally start at code. And would probably post a preview to the design. For those who don’t know, im building nfc tracker system for day to day life and for now i am only integrating 2 trackers for now."}, {"post_id": 61705, "ts": "2026-09-04T19:02:13Z", "hours": 8.2783, "text": "OK, it was my first time using figma, started my design (ui) for my app: Aegis. There a lot more to go…"}]...
|
Title: AEGIS by @aron_roger | Stardance
Devlogs:
Title: AEGIS by @aron_roger | Stardance
Devlogs:
OK, it was my first time using figma, started my design (ui) for my app: Aegis. There a lot more to go…
Today, I have made more buttons and started at both hydration and sleep tracker page. From last time, I have been more consistent with so many things. Next, I am adding graphs to the system, so finally start at code. And would probably post a preview to the design. For those who don’t know, im building nfc tracker system for day to day life and for now i am only integrating 2 trackers for now.
Honestly for now im done with the design all thing sive made myself everything took lotta time to get to this point and it is only design, i will tweak more like get home page and more tacker with more features soon, maybe add badges and its tab, There is still a lot to do. (sorry for poor quality video i still cant figure out how to use obs screen rec.) SO, IM DONE FOR NOW WITH DESIGNING, I am starting at backend code using flutter i have shared the files to test my backend and it is going good fo rnow next we adding pages and its logic. It is all new im learning midway. I would like if you can suggest me any idea for tracker although i might add a medicine tracker and brush at night tracker because i believe there are many people who do not brush at night too, correct me and share your review, thankss.
Worked on the back-end, css html too. i took few courses from html to get started with it, next im refining my page to make it look more like my figma design and also im re-building backend py code. Till, i receive my stickers, ordered from a store, imma work on on making front end better and re doing my py files for a formal structure.
Worked on Backend and front end both, i cant decide which theme to choose, that blue one or white one, Anyways, backend for hydration route is all set i might not need to tweak it anymore or i must say much. front end, im honestly enjoying all of this, i learnt a lot…
It was supposed to be a mobile app but it looks cool anyways, YEPP i worked on backend, again and yet got to this new screen with new cardsss. NOW user can adjust the amount logs, there is bug i found while testing but then i got message that i must dev post soon, anyways les goo, i would like to know and hear more suggestion on anything about my project.
HYDRATION TRACKER TLDR; deployed it on pythonanywhere removed variable input created tables for history I’ve re- the whole hydration.html, due to the reasons my javascript wasn’t performing well with variable input. so now i backed off from it and start to complete the basics. Deployed my project on pythonanywhere so now i can officially use the sticker when i go outside too, please acknowledy this my first time making a dedicated project and i have learned a lot of stuff, yet i try to keep on improving ##Future plans… making graphsss (tuff) ig, i always liked visual representation. sleep.html but diff cards mihi med tracker (custom medication) Will work on better dev posts.
FINALLY, I THINK MY HYDRATION PAGE IS DONE. Changes; First of all I have graphss, like it is working the one day graph is supposed to be a cumulative graph and its working well. fixed few bugs i was facing when i was testing it, i still cannot test 1w and 1 month graph due to limited logs, It was a long way, honestly, i have put my design i made on figma in the later image, and the first one is what Im at rn. If you scroll through my other dev logs you might stumble upon my whole design phase. However, I am glad with what I got to, it is just as expected, I am ship this as a WIP project, please I really put my heart at it, learning and idealizing, I really appreciate your rating and help, Thanks for reading it this farr, really thank you. I will add more details, when i will ship this.
IRONY So, I have been flagged, to be using ai styled design, which is sad truly because, I myself had came up with the layout, in figma, and then later i tweaked the design in dark theme, because i probably my eyes hurt working with bright screen lol. light theme I was hoping to use this design, later, for customizing theme option in settings. Apparently, I am switching back to it, after some tweaks, I will be able to push it on github Clarification Also, I want to tell that I wanted to make an app out of it, and all i did rn is just made it on a web, so i got a long way to go, I was am soon using flutter for my application and deployment. I believe i wont be flagged next because yeah, It is my design, i wonder if it is that good or that much slop.
YO - I’m back I have posted my app to what I designed and where I am rn, first picture is my figma design, second is my where I am… I’ve been wanting to add those animated giphy, let me know how you guys do it. I tweaked my route kinda completed it, I’m kinda happy with this, some of the things are repetitive but so far here is what i did: re-made my date selector bar changed the background for sleep tracker theme sleep button toggle, it was kinda hard to learn DOM manipulation, so I let ai do it (will learn it) set-up routes in the backend, kinda fun to tweak it and used ai to help me clear my mess Honestly, I think must showcase my result properly, it is not a web but an app, soon converting it to a whole app, as im finished with logic routes. NFC is working, soon uploading it on Github. You can send me your reviews as you like my app to be, I would be happy to view them and react to them.
#YOPP! I tried re-designing my home page and here is hat Ive come up with I used this pale-yellow green. I don’t know if i would change it or keep it. Any-ways here is what Ive been up to and what I did I have read the reasons that came through with the shipment results, and few reviewers claimed that they can’t understand they way it works, which for what i would like to apologize for I should’ve made an instruction screen, or smth more prominent of the usage of my system. I am glad they have pointed it out! So, I have tried making a Home-screen and a simple instruction screen. It was fun and quick process, although few designing got me time tinkering. Here is a overview to what I have done, I used lapse to record my Figma designing hours and then, later tried implementing it inside my code. although there have been so many inconsistencies that I had to use ai to help me, but Im glas with what im at. Then, also I have changed date selector bar which was again fun, because this time there was less friction than before, I’m kinda disappointed that I couldn’t manipulate JS on my own. Aside naturally, everything worked well, now I would like to complete it soon, because my other responsibilities have been hiking. BTW, I am tweaking myself I am kinda super glad with my hydration and sleep routes they are peaking, I would like to highlight them at next dev post, keep getting posted, I am sure you guys would like it
This might be my last dev-log I hate to admit but my study have been over-whelming. I am in 12th grade and catching up with my studies + preparing for a screening test olympiads. It is like juggling them but can’t do anything, I must eliminate something to keep up with everything else. Not gonna lie, it has been so much fun and learning during my time in Star-dance. I would miss this. I wanted to complete aegis-project but I still seem to have a long way to go especially learning dart or xml to host my app. Actually there might a bit more longer way because i haven’t really picked up on java-script either. I am kinda sad because I can not put in my everything, but I am happy with whatever I have learnt, plus all the new people I have met and then also able to tell more people about it. For this dev-log I’d like to showcase my whole app and designs Ive been working on. I have tried learning a lil bit of schema, but unable to give my whole time towards it also, I have also sent my code to ai to help me too. Things I have done instruction route is done for now re-newed the db for new schema (which i would not use after this decision) tweaked some design for my all routes and html which I have attached ss to it.
Ships:
AEGIS General intro I made a NFC tracker application, even though it is on the web rn, I have deployed it to pythonanywhere for use, currently. Story-Time: I might be a strange guy but I like to track my habits and count everything, and I surely have done tracking across both digitally and manually on my journal. That is when I knew about NFC stickers where a person showcased how he is using it to track his stuff, and i thought it to be so cool if i can do it too, so I began searching… later, here I am. Challenges I tried my best to make this as best i can, ngl I kinda tripped, and hit so many walls, at some point I was about to give up, but nah, I was more determined to complete it. I watched few HTML videos and CSS workaround, as i learned them through this project too, I learned a lot of stuff, I do not regret it, And the java-script was so hard to learn with my studies and in this short amount of time, that i must day i used AI to get me through it. Happy? Yeah I am so happy, with all I could do I wish i could do more, but as ever I’m not giving up. I am so happy about it, also when i discussed it with my cousin and he was like he wanted to track his water intake, it was hard for him. And i instantly knew, I can do it and I might can help him too. NOTE: I uses a NFC sticker on the objects, for example; water bottle, where the user can scan it whenever he can log his intake, and I have shared the link to where the person can use it, I am sorry not everyone can get a sticker, but I can make sure if they do have it it is most best UX for them. Otherwise, I have added an approach to to manually log the intake, Since, it is suppose to be an app and i haven’t yet made it an app, so i deployed it on pythonanywhere you can try out manual logging into my db. but as soon as the project is completed i will produce it such way the users have their local db to store their intake which is when a mobile app comes in. This a WIP PROJECT and I have so many things in mind to add, as I progress, lets hope I can do it, I believe i can do more pages faster as I have whole workflow in my head. Thank you for reading it this farrrr, arigato gozaimasu.
A NFC tag tracker app, it is on the web right now, for designing and prototyping purpose, although I have written much greater detail in my previous ship, this is just a contiuation to my last ship. So, from the previous feedback, I have fixed few thing worked more on the representation and then also added a instruction page to the routes. I want to say I am happy with where I have reached as said in my previous dev-log, I have decided to get this project a halt, due to other responsibilities and priorities. I wanted to do more than that, but I am glad with whatever I learned along the way, it was all fun. As of now it is still not a native application rather a web hosted testing prototype, you can use the graphs and toggle option to change option, and yeah for now i haven’t yet added different user option, although I started with it. I might be signing off after this, would try to comeback but till then, may everyone do well in anything they do, I would still like to receive feedback, and yeah Ik I have sm things in mind to do and add, but yet again sadly it is kinda hard for me as of now....
|
1793005019.9099567
|
1793091419.9099567
|
|
39244
|
My Portfolio by @Harpaavan108 | Stardance
|
Harpaavan108
|
3
|
51.0
|
792
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-08T02:40:17Z", "hours": 13.0, "multiplier": 18.14, "payout": 243, "blessing": "neutral", "text": "Ship #2 for My Portfolio This is my second ship for this project. Since my first ship, I have mainly just added some small features to increase the UX. A lot of these changes were features that I had seen on websites that I liked. So when the time came to bedazzle my website, I implemented these features in my own website. One really consistent thing that I noticed while implementing these features, is that a lot of features are quite simple to implement once you understand the basic logic. I also noticed that once you add these small features, it can make a great effect on the UX, and that the few hours you put into the little things, can have a huge impact and create a great impression on those who visit your website. New Features I added a cool gradient horizontal scroll bar that fills up as you scroll down. I thought this was a super cool feature and required some simple JS logic to implement. The next thing was a loading page. It is a quite simple one, just having a gradient filled circle outline which spins to show a loading effect. Again a small feature just to add nice feel from the moment a person opens the webpage. The next thing was a scroll fade up reveal to everything in the site. I really like seeing this effect on other websites as well, so I wanted to implement it into my website as well I added media queries because I saw how bad the website looked on the phone, and it was just really annoying me. So I took the time to add that just in case I ever had to show anyone my webpage on the phone. After that, I decided to upload some of my certificates onto the website so people could very them, just to add another level of validity. However, instead of making the images open in another tab, I made them open in a modal that stays in the browser tab. I thought this was a super cool effect. Last thing was that I added my photo. To do this, I made it so that when someone hovered over my about me card, it would have a flip animation and on the other side my photo would show. I thought this was a nice and subtle was to implement my photo, without messing up any other styling on the page. Learning JS A lot of these features were implemented with JS, especially ones that were triggered with user input. I will acknowledge that I used AI to help with understanding JS logic for some of these features, and debugging as well, but I also learned along the way. I find JS much more complicated than HTML and CSS, and I think that I have really come far in understanding and implementing it. For examples, I can assign elements and add and remove classes based on user input. I still have some trouble with syntax, and that causes a lot of my problems, but I am really starting to get the hang of JS. I think that JS can create some really neat animations and effects, so I want to learn and understand this language, so that I can let others experience the cool things that I see on other websites. Overall I spent a lot of time on this project, and put in hours even after school started. It is a really personal project. I have come really far since I first started this project and I have grown confident in understanding and writing code and achieve the desired results. I probably will not work on this project after this ship, and will instead turn to other projects that I have pending. Please enjoy this project. If you have any suggestions, let me know in the review or as a comment, and I will try to implement it. Thank You!! Below is a picture of my stardance certificate in the modal that I made, and the other is a picture of the spinning gradient loader. Enjoy!!!", "repo": "https://github.com/Harpaavan-S/my-personal-website", "demo": "https://harpaavan-s.github.io/my-personal-website/"}, {"ship_num": 2, "ts": "2026-08-17T04:39:55Z", "hours": 37.0, "multiplier": 14.92, "payout": 549, "blessing": "neutral", "text": "My Portfolio Project Hi! Welcome to my Stardance project. In this project, I made a personal portfolio website so I could showcase my work. Especially as I enter high school this year, I wanted to have a platform to record all of my progress and have a way to display it to the public. I also wanted to get more experience with coding. Over the past few years, I have done like super mini project in HTML and CSS, but this website is one of my first fully developed projects, and that I have coded all by myself. So I took this opportunity to properly learn HTML and CSS, and also introduce myself to languages like JS and GLSL. Features The website has 6 sections that I made: Hero About Me Projects Experience Achievements Contact Here are some features of my website: The website has an interactive navbar which links to each section in the webpage. There is also a logo in the corner which will link to the Hero section. The navbar has a frosted glass look, which makes blurs the background behind it. The title in the Hero section (which is my name), has a rainbow gradient applied to it. The cool part is that the gradient moves and loops in the name, so the gradient is always moving slowly. This is actually applied to all of the section headings in the webpage. Each card in every section has a frosted glass look applied to it, so it will blur the background behind it. They also enlarge and brighten when you hover over them. The cursor is a small white dot instead of a regular cursor, which enlarges and turns light purple when hovering over a link to communicate to the user that the link is clickable and will lead somewhere. One of the main highlights is the background, which is a shader background made with GLSL, WebGL, and Three.js. The background is an animated gradient. It is also interactive as it will respond to the cursor on the screen. It is one of the key aspects that really make this website shine, and what really makes this project unique and different from other ones. The Easy and Hard Parts Easy Part There were some really easy parts while building this. One was building the HTML layout. After I understood the basics of making classes and organizing texts and everything, it was quite easy to start filling out info for all of the sections. I thought it would be like a really big thing to fill in all of that info, but turned out it wasn’t quite hard. Hard Part There were also hard parts. One main one was the shader background. First it took a really long time to code the first draft of that, as I had to make a shader in GLSL and then import Three.js, and all of that. But then that first draft didn’t work, so then it took me a really long time to debug the code as I had to look through everything for like typos and all that. I did use AI for this part, but it was still a really long and hard process, going back and forth trying to see what was wrong. But in the end it was totally worth it. Overall Overall, I spent a lot of time and effort in this project. One thing that I really wanted to do was make just that I documented all of my progress frequently in devlogs, and I think that I achieved that because all of the 13 devlogs that I have written are pretty detailed. I also wanted to make this unique to me, and I think that the shader background achieved that and just brought the project to a new level. I really hope you enjoy it, and I am happy to take any feedback. I hope to constantly keep updating this project over the next few years. Otherwise, I might add some new features to it (including a scroll bar) in the next month before Stardance ends and I get too busy with school. Below you can view some screenshots of each section of the website (it doesn’t let me upload a video, or else I would’ve done that). Enjoy!!!", "repo": "https://github.com/Harpaavan-S/my-personal-website", "demo": "https://harpaavan-s.github.io/my-personal-website/"}, {"ship_num": 3, "ts": "2026-07-26T23:22:26Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I am working on my personal portfolio. Right now I am just working and crafting the sections and filling in some info. I still have to work on styling and go through all of the sections. But for now I am going to ship", "repo": "https://github.com/Harpaavan-S/my-personal-website", "demo": "https://harpaavan-s.github.io/my-personal-website/"}]...
|
[{"post_id": 63958, "ts": "202 [{"post_id": 63958, "ts": "2026-09-08T01:36:41Z", "hours": 2.1653, "text": "Devlog # 17 This is my final devlog before I ship! I wanted to add a picture of myself in the website so I tried to find a way to do that. I decided that I will make it so that the about me card will flip when hovered over and on the other side will be my image. I thought it would be pretty simple, so I began working on it at 12 last night thinking I could finished it in about 30 minutes. Turns out I was wrong. It took me more than two hours just to get a card to flip and show my image. It was a pain, but the end result looks really neat. Current Progress To make the flip card, I had to restyle the entire about me section. I used a W3Schools tutorial, but i couldn’t end up working well with it, so then I turned to AI for debugging, because I had so many div layers for that card, and then I finally styled it to look good. The effect looks really good though. As well, I decided to publish everything to Github as well now because I hadn’t published anything for the past couple of days so yeah. Then I found a problem with the images not getting pulled correctly, so then I had to transfer all of those to a public/ folder and then adjust the file paths for all of them in my code, and then reload and redeploy like a bajillion times. So it was a lengthy process, but I finally got it working publically, Next Steps My next step is to ship. I really hope I get rated good because I want a pebble time 2. After this I will begin to work on my next project for the remainder of the event, which is a new tab page. After that, I am done with Stardance, as I also have a lot of school work now. So I will ship soon!!"}, {"post_id": 63201, "ts": "2026-09-06T21:23:17Z", "hours": 4.7169, "text": "Devlog #16 So I decided to implement some feedback that I got from the last ship. One piece of this was adding my actual certificates into the website, so people could actually view them in the webpage. So I took some time to scan all my certificates. Creating the links wasn’t quite hard, and at first I thought about just letting it open in a new tab, but then I decided to create a modal just to enhance the UX. Current Progress I decided to add all my certificates into the webpage, just to add a layer of validity to my work. The first part was finding all of the certificates. Whatever I had, I added them to my GitHub repo, and just linked the relative paths in the webpage. The ones which I had online, I just drag and dropped into the repo, while the physical ones I had to scan and then add in. So that took a while, but wasn’t too tedious of a process. After that, I just made a “View ->” sign that appears when you hover over the card, and that is actually a link to the image. Then I decided to make a modal. I realized it actually isn’t too hard, but the JS logic is a but complicated. I styled the modal in CSS, and then just added a .open class to it which was activated when you click the link. So I’m starting to understand JS logic, the only thing that I have trouble with now is writing like proper syntax, as I still have trouble with writing the correct syntax, and that can cause some problems. So then I styled how the image looks in the modal. At first I though about add ing a X to close the modal, but then I made it so then if you press outside the image, then the modal disappears. Some of my UCMAS achievements do not have images attached to them because I couldn’t find actualy certificates for them, so I might take pictures of my trophies to put there, but I haven’t got to that yet, and I don’t want to put low-quality images. So those are still empty, but almost everything else is filled, so now you can go and view those. Next Steps I literally don’t have anything left to do on this, so I think the next step is to just ship. I will take a break from this project and begin to work on my next one, which will be making a cool new tab page from my browser. So expect a ship soon. If anyone has any suggestions on something to add, you can let me know! Below is an image of my stardance certificate shown in the modal on the page."}, {"post_id": 57641, "ts": "2026-08-29T21:00:28Z", "hours": 2.5014, "text": "Devlog #15 This will be a fairly short devlog. I spent this block adding media queries to my CSS code because I opened the website on my phone, and it just looked so wrong to me, so I spent some time doing that. I figured out a great way to simulate a phone screen in my browser using DevTools so I was able to adjust everything through that. Current Progress The plan was that I was going to do media queries at first, but I thought it would be too complicated so I held it off. Now I was kinda forced to after seeing how bad the webpage looked on a phone screen. I realized you just have to make on CSS rule for media queries using media (max-width: 768px) {} . I decided to use 768px because that is like a standard width, but I mainly tested it on 400px width. After that, I opened two windows with my code and as I went through it, I would add a media query rule in the other window. So I conquered my fear of media queries, and addressed that issue. Next Steps I am looking for things to do. One piece of feedback that I got was that my cards had hover effects that made them look like buttons, but had no button effects, so it was kinda misleading. So to fix this, I’m thinking of like scanning my certificates and uploading them as pictures that people can view in the browser. So that’s my next step. To accompany this, I might also do like a redesign of the website, like just adjusting some of the features. Also, I’m thinking of adding a dark mode/light mode feature on it. Below is a quick video of the site on a device with a width of 400px."}, {"post_id": 53562, "ts": "2026-08-24T04:58:54Z", "hours": 4.0317, "text": "Devlog #14 So I started working on it further before my project even got fully rated, so this is my first devlog after shipping my portfolio! During this block, I just added some small features that just overall polished my site a bit more. A lot of these features were added in JS, and I think I actually am starting to get the hang of JS in the way that I actually am starting to understand how to identify objects using const and like how to select them using document.querySelector . So I think I am starting to learn, and just working with these little features just got me a little more familar with JS. I also got the hang of CSS animations, as before I had a little trouble understanding keyframes, but now it makes sense, so it was a good block. Current Progress I added three main things to my website, each of which use JS in them, and I will explain how. The first thing that I added was a scroll progress bar at the top. I really wanted to add this onto website, as I really liked seeing them on other websites, and I styled it to match my theme, and it just looks super good. I make a horizontal bar in my navbar for this, and it has a rainbow gradient. Basically, JS detects where the person is at the website, and just adjusts the scale based on that to show the bar. At first, I made it so it would expand as I scrolled, but then the rainbow was like squished at the beginning, and then I adjusted it so that it actually revealed the bar as I scrolled down, so like same idea but just applied to a different thing. I looks super cool now. The next thing that I added was a loading page. I tried to look into some videos for this, but I ended up making a super simple gradient ring that was animated (again to spin a rainbow). For this, I like made a loader page, which covered the whole view. In it, I made a circle which had a rainbow conic gradient, and then just animated it in CSS to rotate to 360 degrees over the course of like 1.2 seconds. I then used JS to add a class which made the loader disappear and like unresponsive to any pointer controls when the site finished loading. It also looks super good and totally matches the vibe of the site. So yeah, super happy with that. The last thing that I added was like a scroll fade up reveal effect to almost everything in my site, like the cards and the headings and everything. Again, this was a pretty simple trick that I used. Basically you set the object a set number of pixels (like I used 30px) down on the Y axis and turn the opacity down, and then when JS detects the object as the person scrolls, it just moves it up to 0px on the Y axis and goes to full opacity, and it ends up looking super sleek. That little touch just upped the whole website. I was actually looking to add this feature in the beginning of my site, but I never got to it mainly because it used JS, so now I took the chance to add it in. A lot of these features were ones that I saw in like cool websites. So like I’m always on the lookout for cool features, and these were some that I thought really made a website look more polished, and I realized that they are not actually that hard to build once you understand the core concept. Through these I really got better in JS, and upped my skills in CSS, so it was a good block. Next Steps I really do not have anything left to add in this project. Like I even added extra stuff. Please, if you guys have any suggestions, comment them so I can implement them. I will attach a video of my site so you guys can see what its like. One thing I might consider adding is like a easter egg thing or some like sequence or action that will generate a cool surprise. I have to still think about that. But right now I have almost nothing left to do. I actually might ship this again just to get the hours counted in. Below you can see the loading and the scroll fade up reveal and the scroll progress bar at the top."}, {"post_id": 48639, "ts": "2026-08-17T03:42:49Z", "hours": 7.0575, "text": "Devlog #13 (Last Devlog Before Ship) I am finally done with my website. Please read the NEXT STEPS section of this devlog as I have favour to ask you guys . I spent 7 hours of my life building a shader background for my website, but it totally paid off in the end because now I have a really cool, interactive, animated gradient background. I used GLSL to write a shader, and WebGL and Three.js to implement it into my website. I used a video tutorial and some AI debugging to achieve the effect, but it really was a learning process, as I had to install all the tools for it and then work with those, so I learned how to use those. Because of this, I also spent some time updating my README. Current Progress First of all, it took me a really long time to find a good tutorial to make a background, because I really wanted an animated one to show my blur effect and really add a pop to my website. To acheive a shader background I watched a video tutorial from Codegrid, which explained everything really nicely and was quite quick, so I was able to write the code. After though, the background didn’t quite show, so then I used the help of AI to help debug the code and get it working. After I finally got it to work, I spent some time adjusting colors, and brush strength and size, and then distortion amount and fluid decay and all of that stuff until I found the perfect values for a super good looking background. Overall, it was definately worth the time and added a really nice touch to my webpage. I also updated by README, because now the user will need to install some dependencies for this webpage because of the addition of Three.js and everything. So I updated the README to include proper instructions for that and so it explained some more features of my website. I really polished it up, because it was kinda messy before, so I got it ready for a ship. I also changed my cursor one last time. What I had before was a <div> element in HTML following my actual cursor using mousemove in JS, and my actual cursor was hidden in CSS. However, it was like lagging behind and that was starting to show on my new background. So instead, I just made my cursor a little white dot in CSS by liking making a svg file and linking it to the cursor. It just improved user interaction a lot be removing any lag between an following element and the actual cursor. There is still the feature where it will turn bigger and light purple when hovering over a link. Next Steps My next step is to ship!!! However, I have to ask you guys for something. I need some color suggestions for my background. I got a nice one right now that is like dark purplish, but I want your guys’ suggestions on what type of gradient I should make. I can put 4 colors into the gradient. You can use the attached video below to view how the shader looks on the hero page. I do have glass cards, so I don’t want something too light, but it could make a nice addition in a dark gradient. So please put some suggestions in the comments!!! Thank you!!! I will ship right after this, but I will for sure try to look over some color suggestions and experiment around with them. I might try to use one before I ship the final version of the website, so please put some suggestions. Expect a ship really soon."}, {"post_id": 46584, "ts": "2026-08-13T22:23:45Z", "hours": 4.4961, "text": "Devlog #12 This block was mainly dedicated towards making my site look a lot more aesthetic. I spent over 4 hours just tinkering with JS and fonts and color combos and everything, trying to find the perfect combos and fonts that looked super good. I am overall very happy with the progress that I made in this amount of time. At first I thought that the site looked good even without any styling because of my color gradients and all of that, but I just realized how much better it is with like better fonts, and like the small things, like moving gradients instead of static ones. So this whole block was just dedicated to making my site look better. Current Progress The first thing that I did was change my cursor. For this I had to use JS. I changed the cursor to just be like a little white dot with a nice glow around it, and then when it hovers over like a link, then it gets a bit bigger and turns into a light purple color. In JS, I figured out how to like grab an element from CSS, and then use like states, like mousemove to have like a specific action, and then like have the dot follow my actual cursor, but super close so it seems like that is the cursor. And then I hid my actual mouse to really sell the illusion. For the hover thing, I created a hover class in CSS, and then added that class when the mouse “entered” a link, and removed it when it “left” the link. The next thing I did was make the gradients on my text like circle around, so the gradient was always moving around and it looked like dynamic. I actually got this idea from the Hack Club website because in there they have a moving gradient on the text. For this, I actually did not need any JS, and instead just make a looping animation in CSS for the background of the text. I first did it only for the Hero title, but then I liked it so much that I added it to all of the section headings so yeah I thought was a really nice addition The next thing that I did was to edit my skill icons. I mentioned in a previous devlog when I was styling the About Me section, that the little subtitle for each skill was showing on the top of it, so then for skills in the bottom row, it was covering the skill on top. I also used JS for this fix. I first made a class for the subtitle on the bottom, and then again in JS made it so if it was detected to be lower, that class would apply The last thing I did was change the fonts. I am really happy I did this, because the site just looks so much better with different fonts. I imported all of my fonts from Google Fonts. I inserted the link in the <head> section and then used that font family in CSS. I did a lot of like comparing and swithcing around and researching and all of that just to find good fonts, and I have a really bad habit of like taking a lot of time on these kind of things, and it wasn’t even getting tracked on Hackatime, so I tried to do it quickly. I found some really nice fonts for the headings and titles so I am super happy with that. Next Steps Now the only thing left to do that I still havent gotten around to yet is making a really nice background in JS. I really want to make an animation background, because I think that will be like a unique aspect of my website. The main thing I really want that for is the glassmorphism effect that I have on the cards. On a plain dark background, you can’t tell at all that there is a glass effect. But with a sick background that moves, you can see that shapes blur under the cards. So I think that is the last thing to do, because I finished up all the small little details. However, I also think this will be the longest and hardest part because of its complexity in JS so yeah. I am really hoping to ship soon after 1 or 2 more devlogs. Below is a video of the new hero section with cool fonts and a moving gradient background."}, {"post_id": 45456, "ts": "2026-08-11T22:41:43Z", "hours": 3.7847, "text": "Devlog #11 I have finally finished styling my whole website in CSS. It was such a long process, but I really think that I learned how to code in CSS. Position and display no longer confuse me and I have gotten the hang of adding cool effects to me elements. I am really liking the theme of my website, but I still have more to do. Right now, I have a lot of empty space in my website. Because all of my cards are glassmorphism, I am planning to use JS to make really neat background just to add like a nice touch and really sell the website, but that might be after the first ship. I am also planning to change some fonts and all that, so still a lot to do. Current Progress I finished the Achievements and Contact section and also styled my footer. I made a masonry style layout for the achievements, and I think the design turned out really neat. At first, I thought I would use a flexbox or a grid, but then I saw that I could just make a fized number of columns and the text would just automatically arrange itself. So I used that instead of getting all tangled up in like flex and grid properties and all of that. But then it actually made it like vertically ordered, but I wanted it horizontally, so I took the time to like arrange them so that the layout would appear even and it would look like it was horizontally arranged, when in reality it is actually vertically arranged but in a weird way. It makes more sense when you look at it. I also finished the Contact section. This was quite easy. I just styled it like the Hero and added two little icons: one to my email, and the other to my github, so yeah that was pretty simple. I first thought of adding a contact form, but then I realized that that needed a backend, so I decided against that. Again, if I want, I might add it later in the future, but for now I will leave it at just to two icons. So mainly I finished those two sections in this block. One more cool thing that I discovered was how to make links open to a new page, because while I was trying out links it was bugging me that it was always opening in that page, so this really put my mind to ease a bit, and makes navigation a bit easier. Next Steps I am planning to ship very soon. I am thinking of just adding some finishing touches before shipping the first version, like some font changes. I might also just try to play around in JS, and like get a feel of it, Because I think that a cool background will really take it to the top, so I will play around a bit with that. i’m also thinking about adding like scroll up effects, especially for like my experience timeline. But yeah next steps might just to be to polish it up just a bit before shipping. I am super excited to try out JS, and hope that the final product will be awesome. Below is a picture of the masonry effect of the achievements section."}, {"post_id": 44357, "ts": "2026-08-10T02:05:02Z", "hours": 3.055, "text": "Devlog #10 I have finished the Experiences section of the website. This section was for sure a lot trickier than I thought it would be. The hardest part was trying to figure out how to arrange the boxes in a vertical but staggered order, so I could build the timeline. However, on the upside, I was able to quickly do styling, because a lot of the colors and like hover effects and everything was already set up in my code from styling the previous section, so that did not take too much time. Overall, I really like how this section turned out, and I think it is a bit different from the rest of the sections. Current Progress I completed the Experience section. This one is styled a bit differently from the other two. In this one, the timeline in centered and it goes longer than the length of the screen. The about me section and the projects section were all set to be as tall as the screen itself using height: 100dvh , but this one is actually dictated by the length of the cards, and then I added some padding at the bottom to separate it from the next section. The tricky part was to actually make the timeline affect. At first I did some research and thought or using pseudo elements in CSS to create a line through the middle of the page and arrange the boxes beside it. But that was way too complicated and didn’t seem to work for me, so I decided to arrange the boxes first and then add the line later. To arrange the boxes, I first centered them vertically in the middle of the screen, and then gave half of them one class and the other half another class. Then I pushed one class completely to the right, and the other to the left and that created a staggered timeline look. Then I needed to add a line through it. To do this, I created an empty <div> tag at the beginning of my experience section and then styled it as a line as long as my experience cards and then filled it with a rainbow gradient to kinda match my theme. I also added tiny circles using the same method to the timeline wherever their was a card to kinda just make it look cooler. I will acknowledge that I did use a bit of AI for this section to research the different ways to position the boxes, but otherwise I implemented all code by myself and I did not copy paste anything in. I really think this section introduced me to the flexibility in CSS, and how to manipulate different rules and elements to get the desired effect. Next Steps I am now going to work on the Achievements section. I am planning on making this section like a staggering kinda page of acheivements, like not quite even, just like a mosaic, because there is a lot of content in this section. For a kind of visualizer, I am planning to kinda style it like a pinterest page so like staggered and just fitting together. I just hope that it doesn’t turn out to jaggedy or uneven at the end of that part, and that it doesn’t take too long to organize them to look like at least like reasonably even at that. Hopefully I finish this section pretty quick, like just an hour or 2, and then I will quickly finish up the contact section as well, so then I will post a devlog of those two, but yeah I will see. I think I am getting close to a ship so keep an eye out for the next few days. Below you can see like the full experience timeline like zoomed out and I am hovering over the first card."}, {"post_id": 43667, "ts": "2026-08-09T01:57:34Z", "hours": 3.26, "text": "Devlog #9 I finished the Project section of the website. I also took some time to like style and experiment with some like hovering effects in the website. I also figured out how to color texts with gradients, so I changed all of my main section headings to cool colorful pastel gradients. I also made each glass card look cool when you hover over it. I also made some of the text like get bigger or show cool stuff when you hover over it. So yeah. I really think I am getting the hang of CSS. Most importantly, I think that I am able to use resources from the internet and apply them accordingly to my website. This block was mainly like a styling portion to kinda experiment and apply some aesthetics to my site. Current Progress I finished the Projects section. This section was much easier to arrange. Instead of using display: flexbox I used display: grid to help position each of the cards into an organized layout. What I really like about this display is that it automatically does all the math itself and gives each card its own equal amount of space so that they look even on the page. I got 4 nice cards for each project. I also styled the the heading to look like a gradient. I figured out that you make the background image a gradient, and then clip it to the text, and then just make the text clear so that the color shows. So I made all the headings look like that. Another thing that I did was use box-shadow to make the cards look cool when I hover over them. I realized that there are a lot of elements for the box-shadow, though once you figure them out, its not too complicated. So then I applied the box shadow effect to everything in the website that it would look good on. So yeah that was also a learning experience. I also figured out how to make a specific thing appear once you hover over like a bigger topic. So like I made some text a bit bigger or like an element appear when i hover over the whole card. You add the hover rule for the big card, and then add the class for the specific element, and then do your ending look. I used that for some things. So I really got some styling done to make my website like look better. Next Steps I will now work on the Experience section. I have around 6 cards for this. For this section, I am planning on making like a scrolling timeline to showcase like all of the past stuff in a chronological order. This might be tricky because up until now I was using the height: 100dvh to determine how big a section would be, but this one is going to have to different from that because of its scrolling nature. So yeah. But I think I am really getting the hang of positioning and display. and how to manipulate objects between different rules. I am starting to realize that code is not as strict as I thought it was. Like I thought everything needs to be like letter precise, but you have a bit space to improvise and experiment. So I can actually code a bit in CSS. I really enjoying styling things, like the gradient texts or like hover effects, so I am going to make sure to include those things in this next section as well. I am excited to get to work and encounter this new challenge. Below is a picture of the Projects sections and I am hovering over the first card, so you can see the hover effect."}, {"post_id": 43107, "ts": "2026-08-08T06:12:14Z", "hours": 3.0431, "text": "Devlog #8 I am finished the About Me section. I came across a problem though. In the pills, I want it to be like that when I hover over the pill, the name of that skill shows above it in a small text. However, pills in the bottom row, their text will start to hover into the pill of the next row, so that messes up the thing. BUT, if I add a space, it will look like a really weird gap between the rows. I did some research and I read that I might need to use some JS to fix, so like pills on the bottom, their text shows on the bottom, and pills on the top, their text shows on the top. So I am going to leave that for now, and work on it after I am done with the rest of the webpage. Current Progress Right now I finished position the stuff for the About Me section. I found this part really complicated, especially with the little icons. I ended up having to add more classes in my HTML to style them accordingly in CSS. Again, I still have a bit of problems with positioning, but I am starting to get the hang of like display , margin , padding , and gap , and how they work with different classes to arrange and organize everything. I also learned how to use transition to just make thing shift smoothly when you hover one them. This section took me a really long time because I had to arrange the about me text and all of my skills. I figured out where like display: relative and display: absolute are used, because I then had to arrange my text so that it was like positioned vertically 110% and horizontally 50% of the icon, so they helped in that. Otherwise, this part really familirized me a bit more with CSS. I especially got the hang of like background and border styling, and how to experiment with corner rounding and different colors and transitions and all of that, so I think this section was really a learning experience. Next Steps I will now begin to work on the Projects section. For this section I am just thinking making cards for each project each with a glassy effect behind it. Because I am giving each element like a glass effect, I am planning on making a super cool background later once I finished the site in JS so that the glass effect really shows and provides a unique aspect to my website. I think this section will be a lot simpler, but I will have to add more classes in HTML to do this I think. A tricky part might be to style the links, because I have links to all of my projects and their repositories, so yeah. Once I figure out the positioning of the cards, its practically smooth sailing from there, because like adjust font sizes and colors are like pretty easy for me. I might even make like the glass lighten up when I hover. One thing I want to experiment with is with box-shadow so that a shadow shows underneath the card. So I will play around with that. Otherwise, I am excited to continue working on this. The layout for this section is similar to the rest, so I think from here I will begin to quickly finish up the rest of the sections. You can view the about me page here. I am hovering over the HTML pill, and you can see the text over it."}, {"post_id": 41119, "ts": "2026-08-05T03:35:16Z", "hours": 3.1164, "text": "Devlog #7 I finished creating the navbar and have finally started on the CSS. Now because I am a complete beginner to CSS, I did use some help of AI just to kinda get the hang of like rules and all the different like properties. I DID NOT copy paste anything from AI. This is a project that I am doing to learn HTML and CSS. I actually want to learn this, and AI is just assisting me. I completed the navbar in CSS, and started on the Hero section. Right now positioning for CSS is confusing me a bit, so I need to work on that a bit more. The Hero was fairly easy as in the text, and I haven’t added much to it, but I figured out how to center it. The next steps will be to work on the about me section. Current Progress I finished up the navbar by quickly making a list of links at the very top of my html that went to each section. I also added a logo in the other corner (which is just my initials for now) which will link back to the hero page, like the top of the webpage. I was able to add a nice frosty glass effect the navbar, which was pretty simple. All you got to do is make the background like a little translucent and then add a blur effect. I thought it would be super hard, but it actually wasn’t. I am probably going to use this same formula for the glass cards of each section. My plan is to make them more interactive as I continue, but for right now I will just keep it at that. For the hero, the plan is to just make my name and a short subtitle below, and then add a cool effect around it. For now I just mapped out the area of the hero section. I realized that 100vh is the same as the whole area of the screen, so that is perfect for the hero section. I set the height to that. I also learned that you could access text from within sections that you have id’ed, ex. like I could access the <p> text in the hero section by using the rule #hero p {} so that was pretty neat. Like I mentioned, I used AI to help with some of the centering stuff, because there are a lot of rules for that. I also learned a lot about default positioning, and relative, and fixed positioning. I decided to use position: fixed; for the navbar so it stays on the page the whole time. I still need to get the hang of positioning, but as I begin the next sections, I think I will learn to do that on my own. Next Steps I finished the Hero section for now for CSS, so I will start with the About Me sections. Again this section will have like a blurb about me and then little icons of all of the skills that I know. This is for sure going to be a lot more trickier than the Hero section. My plan is to first try and do the basic styling on my own, and then refer to other resources to polish it up. I am probably going to use the glass effect for the about me blurb and then as a little background behind each icons, like a little drop. I am excited to get this part complete because right now I just have like a very long list of large images in the website, (which are the icons for the skills) that are taking up like the whole screen and I am so ready to get rid of those and just clean up the webpage a bit. After those are organized into the skills, then everything will just be a little cleaner. I am planning to organize the skills based on software, hardware, and then others. The icons are already organized in HTML, so I am excited to begin tomorrow on styling the next section. The navbar is glassy, its just because there is nothing under it to be blurred thats why it doesn’t show."}, {"post_id": 40465, "ts": "2026-08-04T00:41:21Z", "hours": 2.0869, "text": "Devlog #6 I have finally finished the HTML section. I have organized all of my sections and filled in enough information to make a complete portfolio website. I’m not going to worry about any more of the info and just continue on to CSS and styling my website, I think this is going to be a lot more tricky because now I have to arrange and order everything and make it look pleasing and smooth. Right now I am going for a darker vibe. I don’t have like a specific theme, but I might add like hints of color around the website. I am planning on making like cards that each have a glass morphism effect. Current Progress Right now I filled in the skills sections. Like I said before, I am planning to just show the icon on a glassy back. I am going to back it so that when the person hovers over it, it will show like a text of what the skill actually is like the name. I learned how to use a <snap> tag, which is kinda like <div> tag but it doesn’t need it’s own line, so you can kinda group things inside groups without like tabbing again. I put it on the labels for each skill so I could style it separately from the icon in CSS. I was able to get icons for every skill in there. I used Devicon for some programming languages and Flaticon for some of the other ones. I finally got the hang of images. They show on the preview so I think they will show in GitHub pages later as well when I publish them. I still have to see but I think that a succes because in my first devlog the images actually didn’t work, so this is good. Right now they are huge, but I will fix them in CSS. I put them all in the same class, so I think it won’t be too hard. Next Steps I actually forgot to make a navbar, so I will quickly make a navbar and then begin CSS. I don’t thing a navbar will be too hard because it is just links. I will most likely keep it as a header at the top, and just apply a nice glassmorphism effect to it. But yeah, I actually got to make a navbar in HTML, so not completely done with that, but after that I will for sure be done. I might not post a devlog after building the navbar and might just move onto CSS, but it depends on how much time it will take. If it takes more than an hour, then I’ll post a devlog, other than that, I wil post one after some work with CSS, maybe after making the hero section. Below are the some of the image from Flaticon"}, {"post_id": 40271, "ts": "2026-08-03T18:12:42Z", "hours": 1.47, "text": "Devlog #5 I am still working on the HTML portion, but I am nearing completion. I think that the next devlog that I post will be the last one of HTML, and after that I will start to move onto CSS. Speaking of CSS, I am still deciding whether I want to experiment with JS for this project. I have no experience in JS, so it might be like a later thing I want to add after I finish the initial draft of the project. I think it will make it look super smooth with cool animations, but I am still deciding, I think the amount of time I will spend in CSS will decide whether I want to use JS or not. Current Progress I have now added some cards to the Awards section. This one did not take too long because I was able to figure out the tags quite easily because by now I have experimented a lot with them. One thing I learned how to do was to create lists in HTML. It was quite simple. Once you figure out the tags then it is pretty easy. I have a lot of awards that are like issued from a single organization and then some standalone ones, so I used the <ul> tag to create an unordered list and the <li> to add each item to my list. Overall I am planning to make like a card mosaic. Because they are all going to be like different sizes, so they will look kind of like a Pinterest post with like broken blocks, but fit nicely together. I think that will be the simplest way to style it in CSS right now, so I am going with that. Overall, this did not take as long as I expected. I actually already had a document ready, so many were just copied from there. Next Steps I have already filled out the Contact section. I just linked my email and added a little description. I don’t have a lot of forms of contact , so I am going to stick to just email. Now I am going to work on adding my skills, because that is in the about me section. I am not going to actually write it but instead add like little logos for each like skill so that is the next step. I am planning to separate them by like software, and hardware, and like other maybe, but I am going to work on that next. Again I hope that the next devlog will be the last for HTML before I begin CSS."}, {"post_id": 38499, "ts": "2026-07-31T22:25:20Z", "hours": 3.4719, "text": "Devlog #4 I have filled in some more sections of my webpage. I am still at the HTML portion. Right now the webpage looks like really bad when I view, and it’s tempting for me to move right to CSS to begin styling, but I think it will be easier for me in the long run if I finish all of the HTML now, at least all of the sections. Of course, if I move onto CSS, it won’t mean that I’m completely done with HTML, I will always be adding more stuff and I find ways to improve my website. Current Progress So before I had filled out the Projects section. I was working with GitHub a lot, uploading my projects so I could link them. I also had to use the Github desktop app to upload some files. Because I had opened the website repository in my VSCode desktop app, I think that something got mixed up, and the file didn’t save properly, so then my whole projects section got deleted. I had to spend some time filling that in again, though it wasn’t too hard the second time because the live preview in the browser still had the text in it, and I had already created all of the links again. Then I made sure that my files would autosave, and that the repository was properly linked. After I pushed the commits to Github to save it there, and I will do the same after posting this devlog. After that I began to fill in the Experience section, and that was mainly the majority of this time block. Again, I had to like go back and kinda figure out the dates of everything. I am thinking like a timeline style for this one, and that I will have like a little card for each thing. The plan is to make a scrolling website, so that each card will like appear as you scroll down. I have got a good solid like 6 cards of stuff, so for now I am done with that section. I learned more about like div and section tags during this. I also learned the effect of applying classes to text, as it seperates it from other text when styling it in CSS. I applied it to the date text in the experience sections, so that the time frame will be like a little substitle, different from the actual text in the card. Next Steps I am probably done for today. Next, I will start to work on the awards sections. A challenge will be to organize those sections because like I have many awards from a specific section but then some are just standalone, so I still a have to figure out how to organize the sections in HTML and how to apply the section and div tags. However, I don’t think I will use the section tag, as that may only be for sections that will be in the navbar. But organizing the awards using div and applying different classes will be tricky and hard to keep organizing. i want to make sure that I continue and keep my code nice and clean so that CSS styling is easy."}, {"post_id": 37296, "ts": "2026-07-29T22:04:53Z", "hours": 1.9631, "text": "Devlog #3 I have started to fill in some more information about myself in the webpage. The plan is that I will first constuct the HTML layout and fill in all of the sections. Because I am still a high student, my portfolio will look a bit different because I am not actually advertising a service or anything like that. The order that I am planning to go in is the following: Hero About Me (along with skills) Projects Experience Achievements/Awards Contact Current Progress Right now I have constructed each of the sections in HTML. I am using the section tag to separate each of the parts that I just described above so that I can link them using a navbar, though I have not created anything for a navbar yet. One thing that confused me for a while was the difference between section and div tags. After some research, I realized that section actually separates the parts in the HTML file, while the div just like adds an invisible containor around the parts and doesn’t actually effect the HTMl at all. It just like groups them together. The section tag is great for the navbar. I am using the div tag for like sub sections, like for an individual project within the Projects section. This will help later with design as I am planning to make like each project a card on the screen. That brings me to my next thing. Right now I have filled in around 3 projects that I have made. The biggest hurdle was that not all of them were on Github, so I had to go back into my files and like refresh by brain on those past projects. I wanted to have links to projects in the website, so some of my past projects, I had to spend like an hour or two just trying to upload those and get the repositories set. I have attched 3 projects so far. I will probably add more, but for now I think I will move on Next Steps Next, I am going to start filling in some of the other sections, like the About Me section. I am still thinking on how to display the Experience section, but I will start filling in that section too. I will also begin to organize like the subsections for each section and begin to build a navbar. By the end of the week, I hope to have like a basic HTML structure with all of the sections roughly filled in, and then I will move onto CSS. I think the biggest challenge will be to organize everything neatly for experiences and achievements. But otherwise I am looking forward to start filling those in."}, {"post_id": 35488, "ts": "2026-07-26T23:14:47Z", "hours": 0.8378, "text": "I have kinda gotten a sense of how I want my site to be like. For the portfolio, I will kinda have around 5 sections: Hero, About Me, Projects, Achievements. and Contact. I am think of a kinda dark aesthethic theme with neon accents in there. I am also thinking that I will make like each section themed to what I have achievemed or what is added in that section. Right now I have added a gradient to my background and written some stuff in the about me section. I have also added a link to my astrobounce project which is also here on stardance."}, {"post_id": 35031, "ts": "2026-07-26T06:02:46Z", "hours": 0.3153, "text": "My personal site. Right now I am just getting started on this website. Mainly this project will be for me to learn basic HTML and some more CSS code. I want the end goal to be a nice smooth and polished site. I have still yet to pick a theme. Right now the only hurdle I have encountered is that the image isn’t uploading properly into the website, so I will be looking into that and trying to fix that. Otherwise I am only planning to spend a couple more hours. I might plan to make this a personal portfolio site for myself as I enter high school to help showcase some of my experiences and achievements. But I am still deciding on the theme. And that will be in a later devlog."}]...
|
Title: My Portfolio by @Harpaavan108 | Stardance
Title: My Portfolio by @Harpaavan108 | Stardance
Devlogs:
My personal site. Right now I am just getting started on this website. Mainly this project will be for me to learn basic HTML and some more CSS code. I want the end goal to be a nice smooth and polished site. I have still yet to pick a theme. Right now the only hurdle I have encountered is that the image isn’t uploading properly into the website, so I will be looking into that and trying to fix that. Otherwise I am only planning to spend a couple more hours. I might plan to make this a personal portfolio site for myself as I enter high school to help showcase some of my experiences and achievements. But I am still deciding on the theme. And that will be in a later devlog.
I have kinda gotten a sense of how I want my site to be like. For the portfolio, I will kinda have around 5 sections: Hero, About Me, Projects, Achievements. and Contact. I am think of a kinda dark aesthethic theme with neon accents in there. I am also thinking that I will make like each section themed to what I have achievemed or what is added in that section. Right now I have added a gradient to my background and written some stuff in the about me section. I have also added a link to my astrobounce project which is also here on stardance.
Devlog #3 I have started to fill in some more information about myself in the webpage. The plan is that I will first constuct the HTML layout and fill in all of the sections. Because I am still a high student, my portfolio will look a bit different because I am not actually advertising a service or anything like that. The order that I am planning to go in is the following: Hero About Me (along with skills) Projects Experience Achievements/Awards Contact Current Progress Right now I have constructed each of the sections in HTML. I am using the section tag to separate each of the parts that I just described above so that I can link them using a navbar, though I have not created anything for a navbar yet. One thing that confused me for a while was the difference between section and div tags. After some research, I realized that section actually separates the parts in the HTML file, while the div just like adds an invisible containor around the parts and doesn’t actually effect the HTMl at all. It just like groups them together. The section tag is great for the navbar. I am using the div tag for like sub sections, like for an individual project within the Projects section. This will help later with design as I am planning to make like each project a card on the screen. That brings me to my next thing. Right now I have filled in around 3 projects that I have made. The biggest hurdle was that not all of them were on Github, so I had to go back into my files and like refresh by brain on those past projects. I wanted to have links to projects in the website, so some of my past projects, I had to spend like an hour or two just trying to upload those and get the repositories set. I have attched 3 projects so far. I will probably add more, but for now I think I will move on Next Steps Next, I am going to start filling in some of the other sections, like the About Me section. I am still thinking on how to display the Experience section, but I will start filling in that section too. I will also begin to organize like the subsections for each section and begin to build a navbar. By the end of the week, I hope to have like a basic HTML structure with all of the sections roughly filled in, and then I will move onto CSS. I think the biggest challenge will be to organize everything neatly for experiences and achievements. But otherwise I am looking forward to start filling those in.
Devlog #4 I have filled in some more sections of my webpage. I am still at the HTML portion. Right now the webpage looks like really bad when I view, and it’s tempting for me to move right to CSS to begin styling, but I think it will be easier for me in the long run if I finish all of the HTML now, at least all of the sections. Of course, if I move onto CSS, it won’t mean that I’m completely done with HTML, I will always be adding more stuff and I find ways to improve my website. Current Progress So before I had filled out the Projects section. I was working with GitHub a lot, uploading my projects so I could link them. I also had to use the Github desktop app to upload some files. Because I had opened the website repository in my VSCode desktop app, I think that something got mixed up, and the file didn’t save properly, so then my whole projects section got deleted. I had to spend some time filling that in again, though it wasn’t too hard the second time because the live preview in the browser still had the text in it, and I had already created all of the links again. Then I made sure that my files would autosave, and that the repository was properly linked. After I pushed the commits to Github to save it there, and I will do the same after posting this devlog. After that I began to fill in the Experience section, and that was mainly the majority of this time block. Again, I had to like go back and kinda figure out the dates of everything. I am thinking like a timeline style for this one, and that I will have like a little card for each thing. The plan is to make a scrolling website, so that each card will like appear as you scroll down. I have got a good solid like 6 cards of stuff, so for now I am done with that section. I learned more about like div and section tags during this. I also learned the effect of applying classes to text, as it seperates it from other text when styling it in CSS. I applied it to the date text in the experience sections, so that the time frame will be like a little substitle, different from the actual text in the card. Next Steps I am probably done for today. Next, I will start to work on the awards sections. A challenge will be to organize those sections because like I have many awards from a specific section but then some are just standalone, so I still a have to figure out how to organize the sections in HTML and how to apply the section and div tags. However, I don’t think I will use the section tag, as that may only be for sections that will be in the navbar. But organizing the awards using div and applying different classes will be tricky and hard to keep organizing. i want to make sure that I continue and keep my code nice and clean so that CSS styling is easy.
Devlog #5 I am still working on the HTML portion, but I am nearing completion. I think that the next devlog that I post will be the last one of HTML, and after that I will start to move onto CSS. Speaking of CSS, I am still deciding whether I want to experiment with JS for this project. I have no experience in JS, so it might be like a later thing I want to add after I finish the initial draft of the project. I think it will make it look super smooth with cool animations, but I am still deciding, I think the amount of time I will spend in CSS will decide whether I want to use JS or not. Current Progress I have now added some cards to the Awards section. This one did not take too long because I was able to figure out the tags quite easily because by now I have experimented a lot with them. One thing I learned how to do was to create lists in HTML. It was quite simple. Once you figure out the tags then it is pretty easy. I have a lot of awards that are like issued from a single organization and then some standalone ones, so I used the <ul> tag to create an unordered list and the <li> to add each item to my list. Overall I am planning to make like a card mosaic. Because they are all going to be like different sizes, so they will look kind of like a Pinterest post with like broken blocks, but fit nicely together. I think that will be the simplest way to style it in CSS right now, so I am going with that. Overall, this did not take as long as I expected. I actually already had a document ready, so many were just copied from there. Next Steps I have already filled out the Contact section. I just linked my email and added a little description. I don’t have a lot of forms of contact , so I am going to stick to just email. Now I am going to work on adding my skills, because that is in the about me section. I am not going to actually write it but instead add like little logos for each like skill so that is the next step. I am planning to separate them by like software, and hardware, and like other maybe, but I am going to work on that next. Again I hope that the next devlog will be the last for HTML before I begin CSS.
Devlog #6 I have finally finished the HTML section. I have organized all of my sections and filled in enough information to make a complete portfolio website. I’m not going to worry about any more of the info and just continue on to CSS and styling my website, I think this is going to be a lot more tricky because now I have to arrange and order everything and make it look pleasing and smooth. Right now I am going for a darker vibe. I don’t have like a specific theme, but I might add like hints of color around the website. I am planning on making like cards that each have a glass morphism effect. Current Progress Right now I filled in the skills sections. Like I said before, I am planning to just show the icon on a glassy back. I am going to back it so that when the person hovers over it, it will show like a text of what the skill actually is like the name. I learned how to use a <snap> tag, which is kinda like <div> tag but it doesn’t need it’s own line, so you can kinda group things inside groups without like tabbing again. I put it on the labels for each skill so I could style it separately from the icon in CSS. I was able to get icons for every skill in there. I used Devicon for some programming languages and Flaticon for some of the other ones. I finally got the hang of images. They show on the preview so I think they will show in GitHub pages later as well when I publish them. I still have to see but I think that a succes because in my first devlog the images actually didn’t work, so this is good. Right now they are huge, but I will fix them in CSS. I put them all in the same class, so I think it won’t be too hard. Next Steps I actually forgot to make a navbar, so I will quickly make a navbar and then begin CSS. I don’t thing a navbar will be too hard because it is just links. I will most likely keep it as a header at the top, and just apply a nice glassmorphism effect to it. But yeah, I actually got to make a navbar in HTML, so not completely done with that, but after that I will for sure be done. I might not post a devlog after building the navbar and might just move onto CSS, but it depends on how much time it will take. If it takes more than an hour, then I’ll post a devlog, other than that, I wil post one after some work with CSS, maybe after making the hero section. Below are the some of the image from Flaticon
Devlog #7 I finished creating the navbar and have finally started on the CSS. Now because I am a complete beginner to CSS, I did use some help of AI just to kinda get the hang of like rules and all the different like properties. I DID NOT copy paste anything from AI. This is a project that I am doing to learn HTML and CSS. I actually want to learn this, and AI is just assisting me. I completed the navbar in CSS, and started on the Hero section. Right now positioning for CSS is confusing me a bit, so I need to work on that a bit more. The Hero was fairly easy as in the text, and I haven’t added much to it, but I figured out how to center it. The next steps will be to work on the about me section. Current Progress I finished up the navbar by quickly making a list of links at the very top of my html that went to each section. I also added a logo in the other corner (which is just my initials for now) which will link back to the hero page, like the top of the webpage. I was able to add a nice frosty glass effect the navbar, which was pretty simple. All you got to do is make the background like a little translucent and then add a blur effect. I thought it would be super hard, but it actually wasn’t. I am probably going to use this same formula for the glass cards of each section. My plan is to make them more interactive as I continue, but for right now I will just keep it at that. For the hero, the plan is to just make my name and a short subtitle below, and then add a cool effect around it. For now I just mapped out the area of the hero section. I realized that 100vh is the same as the whole area of the screen, so that is perfect for the hero section. I set the height to that. I also learned that you could access text from within sections that you have id’ed, ex. like I could access the <p> text in the hero section by using the rule #hero p {} so that was pretty neat. Like I mentioned, I used AI to help with some of the centering stuff, because there are a lot of rules for that. I also learned a lot about default positioning, and relative, and fixed positioning. I decided to use position: fixed; for the navbar so it stays on the page the whole time. I still need to get the hang of positioning, but as I begin the next sections, I think I will learn to do that on my own. Next Steps I finished the Hero section for now for CSS, so I will start with the About Me sections. Again this section will have like a blurb about me and then little icons of all of the skills that I know. This is for sure going to be a lot more trickier than the Hero section. My plan is to first try and do the basic styling on my own, and then refer to other resources to polish it up. I am probably going to use the glass effect for the about me blurb and then as a little background behind each icons, like a little drop. I am excited to get this part complete because right now I just have like a very long list of large images in the website, (which are the icons for the skills) that are taking up like the whole screen and I am so ready to get rid of those and just clean up the webpage a bit. After those are organized into the skills, then everything will just be a little cleaner. I am planning to organize the skills based on software, hardware, and then others. The icons are already organized in HTML, so I am excited to begin tomorrow on styling the next section. The navbar is glassy, its just because there is nothing under it to be blurred thats why it doesn’t show.
Devlog #8 I am finished the About Me section. I came across a problem though. In the pills, I want it to be like that when I hover over the pill, the name of that skill shows above it in a small text. However, pills in the bottom row, their text will start to hover into the pill of the next row, so that messes up the thing. BUT, if I add a space, it will look like a really weird gap between the rows. I did some research and I read that I might need to use some JS to fix, so like pills on the bottom, their text shows on the bottom, and pills on the top, their text shows on the top. So I am going to leave that for now, and work on it after I am done with the rest of the webpage. Current Progress Right now I finished position the stuff for the About Me section. I found this part really complicated, especially with the little icons. I ended up having to add more classes in my HTML to style them accordingly in CSS. Again, I still have a bit of problems with positioning, but I am starting to get the hang of like display , margin , padding , and gap , and how they work with different classes to arrange and organize everything. I also learned how to use transition to just make thing shift smoothly when you hover one them. This section took me a really long time because I had to arrange the about me text and all of my skills. I figured out where like display: relative and display: absolute are used, because I then had to arrange my text so that it was like positioned vertically 110% and horizontally 50% of the icon, so they helped in that. Otherwise, this part really familirized me a bit more with CSS. I especially got the hang of like background and border styling, and how to experiment with corner rounding and different colors and transitions and all of that, so I think this section was really a learning experience. Next Steps I will now begin to work on the Projects section. For this section I am just thinking making cards for each project each with a glassy effect behind it. Because I am giving each element like a glass effect, I am planning on making a super cool background later once I finished the site in JS so that the glass effect really shows and provides a unique aspect to my website. I think this section will be a lot simpler, but I will have to add more classes in HTML to do this I think. A tricky part might be to style the links, because I have links to all of my projects and their repositories, so yeah. Once I figure out the positioning of the cards, its practically smooth sailing from there, because like adjust font sizes and colors are like pretty easy for me. I might even make like the glass lighten up when I hover. One thing I want to experiment with is with box-shadow so that a shadow shows underneath the card. So I will play around with that. Otherwise, I am excited to continue working on this. The layout for this section is similar to the rest, so I think from here I will begin to quickly finish up the rest of the sections. You can view the about me page here. I am hovering over the HTML pill, and you can see the text over it.
Devlog #9 I finished the Project section of the website. I also took some time to like style and experiment with some like hovering effects in the website. I also figured out how to color texts with gradients, so I changed all of my main section headings to cool colorful pastel gradients. I also made each glass card look cool when you hover over it. I also made some of the text like get bigger or show cool stuff when you hover over it. So yeah. I really think I am getting the hang of CSS. Most importantly, I think that I am able to use resources from the internet and apply them accordingly to my website. This block was mainly like a styling portion to kinda experiment and apply some aesthetics to my site. Current Progress I finished the Projects section. This section was much easier to arrange. Instead of using display: flexbox I used display: grid to help position each of the cards into an organized layout. What I really like about this display is that it automatically does all the math itself and gives each card its own equal amount of space so that they look even on the page. I got 4 nice cards for each project. I also styled the the heading to look like a gradient. I figured out that you make the background image a gradient, and then clip it to the text, and then just make the text clear so that the color shows. So I made all the headings look like that. Another thing that I did was use box-shadow to make the cards look cool when I hover over them. I realized that there are a lot of elements for the box-shadow, though once you figure them out, its not too complicated. So then I applied the box shadow effect to everything in the website that it would look good on. So yeah that was also a learning experience. I also figured out how to make a specific thing appear once you hover over like a bigger topic. So like I made some text a bit bigger or like an element appear when i hover over the whole card. You add the hover rule for the big card, and then add the class for the specific element, and then do your ending look. I used that for some things. So I really got some styling done to make my website like look better. Next Steps I will now work on the Experience section. I have around 6 cards for this. For this section, I am planning on making like a scrolling timeline to showcase like all of the past stuff in a chronological order. This might be tricky because up until now I was using the height: 100dvh to determine how big a section would be, but this one is going to have to different from that because of its scrolling nature. So yeah. But I think I am really getting the hang of positioning and display. and how to manipulate objects between different rules. I am starting to realize that code is not as strict as I thought it was. Like I thought everything needs to be like letter precise, but you have a bit space to improvise and experiment. So I can actually code a bit in CSS. I really enjoying styling things, like the gradient texts or like hover effects, so I am going to make sure to include those things in this next section as well. I am excited to get to work and encounter this new challenge. Below is a picture of the Projects sections and I am hovering over the first card, so you can see the hover effect.
Devlog #10 I have finished the Experiences section of the website. This section was for sure a lot trickier than I thought it would be. The hardest part was trying to figure out how to arrange the boxes in a vertical but staggered order, so I could build the timeline. However, on the upside, I was able to quickly do styling, because a lot of the colors and like hover effects and everything was already set up in my code from styling the previous section, so that did not take too much time. Overall, I really like how this section turned out, and I think it is a bit different from the rest of the sections. Current Progress I completed the Experience section. This one is styled a bit differently from the other two. In this one, the timeline in centered and it goes longer than the length of the screen. The about me section and the projects section were all set to be as tall as the screen itself using height: 100dvh , but this one is actually dictated by the length of the cards, and then I added some padding at the bottom to separate it from the next section. The tricky part was to actually make the timeline affect. At first I did some research and thought or using pseudo elements in CSS to create a line through the middle of the page and arrange the boxes beside it. But that was way too complicated and didn’t seem to work for me, so I decided to arrange the boxes first and then add the line later. To arrange the boxes, I first centered them vertically in the middle of the screen, and then gave half of them one class and the other half another class. Then I pushed one class completely to the right, and the other to the left and that created a staggered timeline look. Then I needed to add a line through it. To do this, I created an empty <div> tag at the beginning of my experience section and then styled it as a line as long as my experience cards and then filled it with a rainbow gradient to kinda match my theme. I also added tiny circles using the same method to the timeline wherever their was a card to kinda just make it look cooler. I will acknowledge that I did use a bit of AI for this section to research the different ways to position the boxes, but otherwise I implemented all code by myself and I did not copy paste anything in. I really think this section introduced me to the flexibility in CSS, and how to manipulate different rules and elements to get the desired effect. Next Steps I am now going to work on the Achievements section. I am planning on making this section like a staggering kinda page of acheivements, like not quite even, just like a mosaic, because there is a lot of content in this section. For a kind of visualizer, I am planning to kinda style it like a pinterest page so like staggered and just fitting together. I just hope that it doesn’t turn out to jaggedy or uneven at the end of that part, and that it doesn’t take too long to organize them to look like at least like reasonably even at that. Hopefully I finish this section pretty quick, like just an hour or 2, and then I will quickly finish up the contact section as well, so then I will post a devlog of those two, but yeah I will see. I think I am getting close to a ship so keep an eye out for the next few days. Below you can see like the full experience timeline like zoomed out and I am hovering over the first card.
Devlog #11 I have finally finished styling my whole website in CSS. It was such a long process, but I really think that I learned how to code in CSS. Position and display no longer confuse me and I have gotten the hang of adding cool effects to me elements. I am really liking the theme of my website, but I still have more to do. Right now, I have a lot of empty space in my website. Because all of my cards are glassmorphism, I am planning to use JS to make really neat background just to add like a nice touch and really sell the website, but that might be after the first ship. I am also planning to change some fonts and all that, so still a lot to do. Current Progress I finished the Achievements and Contact section and also styled my footer. I made a masonry style layout for the achievements, and I think the design turned out really neat. At first, I thought I would use a flexbox or a grid, but then I saw that I could just make a fized number of columns and the text would just automatically arrange itself. So I used that instead of getting all tangled up in like flex and grid properties and all of that. But then it actually made it like vertically ordered, but I wanted it horizontally, so I took the time to like arrange them so that the layout would appear even and it would look like it was horizontally arranged, when in reality it is actually vertically arranged but in a weird way. It makes more sense when you look at it. I also finished the Contact section. This was quite easy. I just styled it like the Hero and added two little icons: one to my email, and the other to my github, so yeah that was pretty simple. I first thought of adding a contact form, but then I realized that that needed a backend, so I decided against that. Again, if I want, I might add it later in the future, but for now I will leave it at just to two icons. So mainly I finished those two sections in this block. One more cool thing that I discovered was how to make links open to a new page, because while I was trying out links it was bugging me that it was always opening in that page, so this really put my mind to ease a bit, and makes navigation a bit easier. Next Steps I am planning to ship very soon. I am thinking of just adding some finishing touches before shipping the first version, like some font changes. I might also just try to play around in JS, and like get a feel of it, Because I think that a cool background will really take it to the top, so I will play around a bit with that. i’m also thinking about adding like scroll up effects, especially for like my experience timeline. But yeah next steps might just to be to polish it up just a bit before shipping. I am super excited to try out JS, and hope that the final product will be awesome. Below is a picture of the masonry effect of the achievements section.
Devlog #12 This block was mainly dedicated towards making my site look a lot more aesthetic. I spent over 4 hours just tinkering with JS and fonts and color combos and everything, trying to find the perfect combos and fonts that looked super good. I am overall very happy with the progress that I made in this amount of time. At first I thought that the site looked good even without any styling because of my color gradients and all of that, but I just realized how much better it is with like better fonts, and like the small things, like moving gradients instead of static ones. So this whole block was just dedicated to making my site look better. Current Progress The first thing that I did was change my cursor. For this I had to use JS. I changed the cursor to just be like a little white dot with a nice glow around it, and then when it hovers over like a link, then it gets a bit bigger and turns into a light purple color. In JS, I figured out how to like grab an element from CSS, and then use like states, like mousemove to have like a specific action, and then like have the dot follow my actual cursor, but super close so it seems like that is the cursor. And then I hid my actual mouse to really sell the illusion. For the hover thing, I created a hover class in CSS, and then added that class when the mouse “entered” a link, and removed it when it “left” the link. The next thing I did was make the gradients on my text like circle around, so the gradient was always moving around and it looked like dynamic. I actually got this idea from the Hack Club website because in there they have a moving gradient on the text. For this, I actually did not need any JS, and instead just make a looping animation in CSS for the background of the text. I first did it only for the Hero title, but then I liked it so much that I added it to all of the section headings so yeah I thought was a really nice addition The next thing that I did was to edit my skill icons. I mentioned in a previous devlog when I was styling the About Me section, that the little subtitle for each skill was showing on the top of it, so then for skills in the bottom row, it was covering the skill on top. I also used JS for this fix. I first made a class for the subtitle on the bottom, and then again in JS made it so if it was detected to be lower, that class would apply The last thing I did was change the fonts. I am really happy I did this, because the site just looks so much better with different fonts. I imported all of my fonts from Google Fonts. I inserted the link in the <head> section and then used that font family in CSS. I did a lot of like comparing and swithcing around and researching and all of that just to find good fonts, and I have a really bad habit of like taking a lot of time on these kind of things, and it wasn’t even getting tracked on Hackatime, so I tried to do it quickly. I found some really nice fonts for the headings and titles so I am super happy with that. Next Steps Now the only thing left to do that I still havent gotten around to yet is making a really nice background in JS. I really want to make an animation background, because I think that will be like a unique aspect of my website. The main thing I really want that for is the glassmorphism effect that I have on the cards. On a plain dark background, you can’t tell at all that there is a glass effect. But with a sick background that moves, you can see that shapes blur under the cards. So I think that is the last thing to do, because I finished up all the small little details. However, I also think this will be the longest and hardest part because of its complexity in JS so yeah. I am really hoping to ship soon after 1 or 2 more devlogs. Below is a video of the new hero section with cool fonts and a moving gradient background.
Devlog #13 (Last Devlog Before Ship) I am finally done with my website. Please read the NEXT STEPS section of this devlog as I have favour to ask you guys . I spent 7 hours of my life building a shader background for my website, but it totally paid off in the end because now I have a really cool, interactive, animated gradient background. I used GLSL to write a shader, and WebGL and Three.js to implement it into my website. I used a video tutorial and some AI debugging to achieve the effect, but it really was a learning process, as I had to install all the tools for it and then work with those, so I learned how to use those. Because of this, I also spent some time updating my README. Current Progress First of all, it took me a really long time to find a good tutorial to make a background, because I really wanted an animated one to show my blur effect and really add a pop to my website. To acheive a shader background I watched a video tutorial from Codegrid, which explained everything really nicely and was quite quick, so I was able to write the code. After though, the background didn’t quite show, so then I used the help of AI to help debug the code and get it working. After I finally got it to work, I spent some time adjusting colors, and brush strength and size, and then distortion amount and fluid decay and all of that stuff until I found the perfect values for a super good looking background. Overall, it was definately worth the time and added a really nice touch to my webpage. I also updated by README, because now the user will need to install some dependencies for this webpage because of the addition of Three.js and everything. So I updated the README to include proper instructions for that and so it explained some more features of my website. I really polished it up, because it was kinda messy before, so I got it ready for a ship. I also changed my cursor one last time. What I had before was a <div> element in HTML following my actual cursor using mousemove in JS, and my actual cursor was hidden in CSS. However, it was like lagging behind and that was starting to show on my new background. So instead, I just made my cursor a little white dot in CSS by liking making a svg file and linking it to the cursor. It just improved user interaction a lot be removing any lag between an following element and the actual cursor. There is still the feature where it will turn bigger and light purple when hovering over a link. Next Steps My next step is to ship!!! However, I have to ask you guys for something. I need some color suggestions for my background. I got a nice one right now that is like dark purplish, but I want your guys’ suggestions on what type of gradient I should make. I can put 4 colors into the gradient. You can use the attached video below to view how the shader looks on the hero page. I do have glass cards, so I don’t want something too light, but it could make a nice addition in a dark gradient. So please put some suggestions in the comments!!! Thank you!!! I will ship right after this, but I will for sure try to look over some color suggestions and experiment around with them. I might try to use one before I ship the final version of the website, so please put some suggestions. Expect a ship really soon.
Devlog #14 So I started working on it further before my project even got fully rated, so this is my first devlog after shipping my portfolio! During this block, I just added some small features that just overall polished my site a bit more. A lot of these features were added in JS, and I think I actually am starting to get the hang of JS in the way that I actually am starting to understand how to identify objects using const and like how to select them using document.querySelector . So I think I am starting to learn, and just working with these little features just got me a little more familar with JS. I also got the hang of CSS animations, as before I had a little trouble understanding keyframes, but now it makes sense, so it was a good block. Current Progress I added three main things to my website, each of which use JS in them, and I will explain how. The first thing that I added was a scroll progress bar at the top. I really wanted to add this onto website, as I really liked seeing them on other websites, and I styled it to match my theme, and it just looks super good. I make a horizontal bar in my navbar for this, and it has a rainbow gradient. Basically, JS detects where the person is at the website, and just adjusts the scale based on that to show the bar. At first, I made it so it would expand as I scrolled, but then the rainbow was like squished at the beginning, and then I adjusted it so that it actually revealed the bar as I scrolled down, so like same idea but just applied to a different thing. I looks super cool now. The next thing that I added was a loading page. I tried to look into some videos for this, but I ended up making a super simple gradient ring that was animated (again to spin a rainbow). For this, I like made a loader page, which covered the whole view. In it, I made a circle which had a rainbow conic gradient, and then just animated it in CSS to rotate to 360 degrees over the course of like 1.2 seconds. I then used JS to add a class which made the loader disappear and like unresponsive to any pointer controls when the site finished loading. It also looks super good and totally matches the vibe of the site. So yeah, super happy with that. The last thing that I added was like a scroll fade up reveal effect to almost everything in my site, like the cards and the headings and everything. Again, this was a pretty simple trick that I used. Basically you set the object a set number of pixels (like I used 30px) down on the Y axis and turn the opacity down, and then when JS detects the object as the person scrolls, it just moves it up to 0px on the Y axis and goes to full opacity, and it ends up looking super sleek. That little touch just upped the whole website. I was actually looking to add this feature in the beginning of my site, but I never got to it mainly because it used JS, so now I took the chance to add it in. A lot of these features were ones that I saw in like cool websites. So like I’m always on the lookout for cool features, and these were some that I thought really made a website look more polished, and I realized that they are not actually that hard to build once you understand the core concept. Through these I really got better in JS, and upped my skills in CSS, so it was a good block. Next Steps I really do not have anything left to add in this project. Like I even added extra stuff. Please, if you guys have any suggestions, comment them so I can implement them. I will attach a video of my site so you guys can see what its like. One thing I might consider adding is like a easter egg thing or some like sequence or action that will generate a cool surprise. I have to still think about that. But right now I have almost nothing left to do. I actually might ship this again just to get the hours counted in. Below you can see the loading and the scroll fade up reveal and the scroll progress bar at the top.
Devlog #15 This will be a fairly short devlog. I spent this block adding media queries to my CSS code because I opened the website on my phone, and it just looked so wrong to me, so I spent some time doing that. I figured out a great way to simulate a phone screen in my browser using DevTools so I was able to adjust everything through that. Current Progress The plan was that I was going to do media queries at first, but I thought it would be too complicated so I held it off. Now I was kinda forced to after seeing how bad the webpage looked on a phone screen. I realized you just have to make on CSS rule for media queries using media (max-width: 768px) {} . I decided to use 768px because that is like a standard width, but I mainly tested it on 400px width. After that, I opened two windows with my code and as I went through it, I would add a media query rule in the other window. So I conquered my fear of media queries, and addressed that issue. Next Steps I am looking for things to do. One piece of feedback that I got was that my cards had hover effects that made them look like buttons, but had no button effects, so it was kinda misleading. So to fix this, I’m thinking of like scanning my certificates and uploading them as pictures that people can view in the browser. So that’s my next step. To accompany this, I might also do like a redesign of the website, like just adjusting some of the features. Also, I’m thinking of adding a dark mode/light mode feature on it. Below is a quick video of the site on a device with a width of 400px.
Devlog #16 So I decided to implement some feedback that I got from the last ship. One piece of this was adding my actual certificates into the website, so people could actually view them in the webpage. So I took some time to scan all my certificates. Creating the links wasn’t quite hard, and at first I thought about just letting it open in a new tab, but then I decided to create a modal just to enhance the UX. Current Progress I decided to add all my certificates into the webpage, just to add a layer of validity to my work. The first part was finding all of the certificates. Whatever I had, I added them to my GitHub repo, and just linked the relative paths in the webpage. The ones which I had online, I just drag and dropped into the repo, while the physical ones I had to scan and then add in. So that took a while, but wasn’t too tedious of a process. After that, I just made a “View ->” sign that appears when you hover over the card, and that is actually a link to the image. Then I decided to make a modal. I realized it actually isn’t too hard, but the JS logic is a but complicated. I styled the modal in CSS, and then just added a .open class to it which was activated when you click the link. So I’m starting to understand JS logic, the only thing that I have trouble with now is writing like proper syntax, as I still have trouble with writing the correct syntax, and that can cause some problems. So then I styled how the image looks in the modal. At first I though about add ing a X to close the modal, but then I made it so then if you press outside the image, then the modal disappears. Some of my UCMAS achievements do not have images attached to them because I couldn’t find actualy certificates for them, so I might take pictures of my trophies to put there, but I haven’t got to that yet, and I don’t want to put low-quality images. So those are still empty, but almost everything else is filled, so now you can go and view those. Next Steps I literally don’t have anything left to do on this, so I think the next step is to just ship. I will take a break from this project and begin to work on my next one, which will be making a cool new tab page from my browser. So expect a ship soon. If anyone has any suggestions on something to add, you can let me know! Below is an image of my stardance certificate shown in the modal on the page.
Devlog # 17 This is my final devlog before I ship! I wanted to add a picture of myself in the website so I tried to find a way to do that. I decided that I will make it so that the about me card will flip when hovered over and on the other side will be my image. I thought it would be pretty simple, so I began working on it at 12 last night thinking I could finished it in about 30 minutes. Turns out I was wrong. It took me more than two hours just to get a card to flip and show my image. It was a pain, but the end result looks really neat. Current Progress To make the flip card, I had to restyle the entire about me section. I used a W3Schools tutorial, but i couldn’t end up working well with it, so then I turned to AI for debugging, because I had so many div layers for that card, and then I finally styled it to look good. The effect looks really good though. As well, I decided to publish everything to Github as well now because I hadn’t published anything for the past couple of days so yeah. Then I found a problem with the images not getting pulled correctly, so then I had to transfer all of those to a public/ folder and then adjust the file paths for all of them in my code, and then reload and redeploy like a bajillion times. So it was a lengthy process, but I finally got it working publically, Next Steps My next step is to ship. I really hope I get rated good because I want a pebble time 2. After this I will begin to work on my next project for the remainder of the event, which is a new tab page. After that, I am done with Stardance, as I also have a lot of school work now. So I will ship soon!!
Ships:
I am working on my personal portfolio. Right now I am just working and crafting the sections and filling in some info. I still have to work on styling and go through all of the sections. But for now I am going to ship
My Portfolio Project Hi! Welcome to my Stardance project. In this project, I made a personal portfolio website so I could showcase my work. Especially as I enter high school this year, I wanted to have a platform to record all of my progress and have a way to display it to the public. I also wanted to get more experience with coding. Over the past few years, I have done like super mini project in HTML and CSS, but this website is one of my first fully developed projects, and that I have coded all by myself. So I took this opportunity to properly learn HTML and CSS, and also introduce myself to languages like JS and GLSL. Features The website has 6 sections that I made: Hero About Me Projects Experience Achievements Contact Here are some features of my website: The website has an interactive navbar which links to each section in the webpage. There is also a logo in the corner which will link to the Hero section. The navbar has a frosted glass look, which makes blurs the background behind it. The title in the Hero section (which is my name), has a rainbow gradient applied to it. The cool part is that the gradient moves and loops in the name, so the gradient is always moving slowly. This is actually applied to all of the section headings in the webpage. Each card in every section has a frosted glass look applied to it, so it will blur the background behind it. They also enlarge and brighten when you hover over them. The cursor is a small white dot instead of a regular cursor, which enlarges and turns light purple when hovering over a link to communicate to the user that the link is clickable and will lead somewhere. One of the main highlights is the background, which is a shader background made with GLSL, WebGL, and Three.js. The background is an animated gradient. It is also interactive as it will respond to the cursor on the screen. It is one of the key aspects that really make this website shine, and what really makes this project unique and different from other ones. The Easy and Hard Parts Easy Part There were some really easy parts while building this. One was building the HTML layout. After I understood the basics of making classes and organizing texts and everything, it was quite easy to start filling out info for all of the sections. I thought it would be like a really big thing to fill in all of that info, but turned out it wasn’t quite hard. Hard Part There were also hard parts. One main one was the shader background. First it took a really long time to code the first draft of that, as I had to make a shader in GLSL and then import Three.js, and all of that. But then that first draft didn’t work, so then it took me a really long time to debug the code as I had to look through everything for like typos and all that. I did use AI for this part, but it was still a really long and hard process, going back and forth trying to see what was wrong. But in the end it was totally worth it. Overall Overall, I spent a lot of time and effort in this project. One thing that I really wanted to do was make just that I documented all of my progress frequently in devlogs, and I think that I achieved that because all of the 13 devlogs that I have written are pretty detailed. I also wanted to make this unique to me, and I think that the shader background achieved that and just brought the project to a new level. I really hope you enjoy it, and I am happy to take any feedback. I hope to constantly keep updating this project over the next few years. Otherwise, I might add some new features to it (including a scroll bar) in the next month before Stardance ends and I get too busy with school. Below you can view some screenshots of each section of the website (it doesn’t let me upload a video, or else I would’ve done that). Enjoy!!!
Ship #2 for My Portfolio This is my second ship for this project. Since my first ship, I have mainly just added some small features to increase the UX. A lot of these changes were features that I had seen on websites that I liked. So when the time came to bedazzle my website, I implemented these features in my own website. One really consistent thing that I noticed while implementing these features, is that a lot of features are quite simple to implement once you understand the basic logic. I also noticed that once you add these small features, it can make a great effect on the UX, and that the few hours you put into the little things, can have a huge impact and create a great impression on those who visit your website. New Features I added a cool gradient horizontal scroll bar that fills up as you scroll down. I thought this was a super cool feature and required some simple JS logic to implement. The next thing was a loading page. It is a quite simple one, just having a gradient filled circle outline which spins to show a loading effect. Again a small feature just to add nice feel from the moment a person opens the webpage. The next thing was a scroll fade up reveal to everything in the site. I really like seeing this effect on other websites as well, so I wanted to implement it into my website as well I added media queries because I saw how bad the website looked on the phone, and it was just really annoying me. So I took the time to add that just in case I ever had to show anyone my webpage on the phone. After that, I decided to upload some of my certificates onto the website so people could very them, just to add another level of validity. However, instead of making the images open in another tab, I made them open in a modal that stays in the browser tab. I thought this was a super cool effect. Last thing was that I added my photo. To do this, I made it so that when someone hovered over my about me card, it would have a flip animation and on the other side my photo would show. I thought this was a nice and subtle was to implement my photo, without messing up any other styling on the page. Learning JS A lot of these features were implemented with JS, especially ones that were triggered with user input. I will acknowledge that I used AI to help with understanding JS logic for some of these features, and debugging as well, but I also learned along the way. I find JS much more complicated than HTML and CSS, and I think that I have really come far in understanding and implementing it. For examples, I can assign elements and add and remove classes based on user input. I still have some trouble with syntax, and that causes a lot of my problems, but I am really starting to get the hang of JS. I think that JS can create some really neat animations and effects, so I want to learn and understand this language, so that I can let others experience the cool things that I see on other websites. Overall I spent a lot of time on this project, and put in hours even after school started. It is a really personal project. I have come really far since I first started this project and I have grown confident in understanding and writing code and achieve the desired results. I probably will not work on this project after this ship, and will instead turn to other projects that I have pending. Please enjoy this project. If you have any suggestions, let me know in the review or as a comment, and I will try to implement it. Thank You!! Below is a picture of my stardance certificate in the modal that I made, and the other is a picture of the spinning gradient loader. Enjoy!!!...
|
1792997559.0249298
|
1793083959.0249298
|
|
7748
|
Flow by @twinx | Stardance
|
twinx
|
6
|
106.0
|
791
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-11T13:20:24Z", "hours": 13.0, "multiplier": 17.94, "payout": 120, "blessing": "neutral", "text": "So after everyone’s request i added support for all platforms , i haven’t tested it on mac (cause i don’t that🙃️) but i have tested on all other platforms and hope that it works on your systems too. Also i have added some new features for u all : a new log for seeing what broke new display i.e. rich that makes it more cool looking new commands and insane customization 😎️", "repo": "https://github.com/flow-twinx/flow", "demo": "https://flow-twinx.pages.dev/download"}, {"ship_num": 2, "ts": "2026-10-01T10:07:35Z", "hours": 35.0, "multiplier": 18.78, "payout": 331, "blessing": "neutral", "text": "Changes from last ship : new database from json to db ( sqlite ) and new codebase Added TUI and also improved the web mode Added new commands and docs Added plugins system and community plugins Major and minor bug fixes", "repo": "https://github.com/flow-twinx/flow", "demo": "https://flow-twinx.pages.dev/download"}, {"ship_num": 3, "ts": "2026-08-02T15:52:05Z", "hours": 22.0, "multiplier": 7.29, "payout": 73, "blessing": "neutral", "text": "So added few not actually few but many like better ui for web formats using ffmpeg playlist feature bug fixes and much more I want to thank you all for support and hopping to add more features. Also do visit the flow page. Enjoy !", "repo": "https://github.com/flow-twinx/flow", "demo": "https://flow-twinx.pages.dev/download"}, {"ship_num": 4, "ts": "2026-07-18T08:24:18Z", "hours": 12.0, "multiplier": 16.41, "payout": 33, "blessing": "neutral", "text": "Ship #3 Added many features such as : background playback so you don’t need to open a terminal just for flow. bars for you to enjoy the vibe. lyrics so you can sing along the song it is also time-synced . and much more such as configs customization. How to install : Head to release page for a linux binary or type it in terminal but make sure you have python and vlc installed pip install flow-twinx and then flow", "repo": "https://github.com/flow-twinx/flow", "demo": "https://flow-twinx.pages.dev/download"}, {"ship_num": 5, "ts": "2026-07-05T01:38:26Z", "hours": 12.0, "multiplier": 14.1, "payout": 109, "blessing": "neutral", "text": "Flow version v0.4.0 This version includes Saavan playback , Saavan is a music player with high quality songs. Please do also keep this in mind that Songs on saavan are only playable on saavan commands and there is no radio mode for it. The difficult part about this thing is the API , actually the API is build by me hosted on NEST as a part of SINGULARITY my another project some similar features but more advanced. Do check out that also!", "repo": "https://github.com/flow-twinx/flow", "demo": "https://flow-twinx.pages.dev/download"}, {"ship_num": 6, "ts": "2026-06-17T08:20:51Z", "hours": 12.0, "multiplier": 10.78, "payout": 125, "blessing": "neutral", "text": "I build a terminal music player that uses vlc and yt_dlp , that has both offline and online support for music you can either play from folders or online. Hardest part to make it run on all os.", "repo": "https://github.com/flow-twinx/flow", "demo": "https://flow-twinx.pages.dev/download"}]...
|
[{"post_id": 78737, "ts": "202 [{"post_id": 78737, "ts": "2026-10-11T13:09:32Z", "hours": 4.8319, "text": "v0.9.1 So after hours added support for all platforms and made website and hosted it on cloudflare here also i have added a better logs system to tell if anything goes wrong , aslo this time please rate it as much as u could i have spend 100+ hours working on this still i get 200 stardust :("}, {"post_id": 78322, "ts": "2026-10-10T12:35:40Z", "hours": 8.4858, "text": "v0.8.4 Forgot to add the versions from some devlogs. New features : added a full for showcase added a minimal version so ai agents and ssh terminals can work too added a new progress bar and some bug fixes… i tried adding cookies but it works good without cookies also so would add a import option to import external songs. Also i am working on making it play on all platforms including termux of mobile phones."}, {"post_id": 75842, "ts": "2026-10-01T10:00:50Z", "hours": 1.4978, "text": "So i have to really fix this bug not too much big but it resulted in multiple vlc instance to start also changed export to export songs instead of a zip file and with custom path can be used by -p PATH or default to Downloads/music ."}, {"post_id": 74510, "ts": "2026-09-27T15:17:11Z", "hours": 0.2864, "text": "#v0.8.0 Just finished some last parts and added it to ship."}, {"post_id": 73966, "ts": "2026-09-26T12:39:28Z", "hours": 8.5808, "text": "So mostly made changes to backend and the structure of the project. Changes : migrated from json to sqlite for history and other new features soon added a plugins system with a repo for community plugins separate commands for sperate playform like flow-web for flow"}, {"post_id": 69636, "ts": "2026-09-17T13:37:22Z", "hours": 2.6986, "text": "v0.7.0 So finally made the tui using textual and it looks pretty good i wasn’t expecting much but yeah looks good also there are pretty much 10 themes i guess so enjoy that are given in textual by default. Also changed the structure of the code repo as it was a disaster so now it has /backend /tui and /cli"}, {"post_id": 65826, "ts": "2026-09-11T07:08:47Z", "hours": 3.4658, "text": "v0.6.1 Replaced the old UI with new UI , as previous one looked awful for most people i hope this is good. Also added this demo video , i tried to add a more professional one with openscreen but quality issues with the app , so will add later till then this is the demo video."}, {"post_id": 62823, "ts": "2026-09-06T10:56:04Z", "hours": 5.4986, "text": "Hey everyone hope ur doing well. Today i think mostly i did was just making it cool and easy to navigate and bug fixes for the most time. Bugs: Ctrl + Q not working in radio mode d not working in new selection mode not showing [Paused] when paused and much more that is too big to explain here and started working on gui mode using PySide6"}, {"post_id": 60253, "ts": "2026-09-02T14:48:41Z", "hours": 2.2642, "text": "v0.6.0 So , i have added a new selection using arrow keys for config search and play for better navigation also to reduce the typing thing in terminal to change the value. Also replaced the bars for a better looking and customizable bars it includes custom char + 3 modes."}, {"post_id": 56448, "ts": "2026-08-28T06:39:47Z", "hours": 2.4575, "text": "So added more commands and few mid level bug fixes : added delete command added more flags to control it by using other programs improved the name shorter to include other laung added the m and pick songs in play also thing as shown in video. improved the –status command to show images."}, {"post_id": 52872, "ts": "2026-08-23T07:46:12Z", "hours": 2.0144, "text": "v0.5.8 So added a better playlist management system that has support for local songs before it had different playlist logic for different mode , now it shares same logic with also bug fixes and in future updates gonna add island as a way u can do it without any configs also better status."}, {"post_id": 50472, "ts": "2026-08-19T17:14:05Z", "hours": 6.7164, "text": "So yeah still alive after many days cause i thought it needed more work. I made something to help u in KDE and Hyprland by using dbus to expose name and a custom --status command wit img support and all that to provide u with a support for custom modules. The island shown here is my custom build and is not included in the flow project. Also made few more thing in here to help u out and fixed bugs."}, {"post_id": 39542, "ts": "2026-08-02T15:48:47Z", "hours": 0.27, "text": "So last fix i guess for this ship , it includes changes in dependencies i previously forgot to add toml so it caused error in some OS i think not in my one , so i switched to pyproject.toml i kept that so users can use pip also not only uv."}, {"post_id": 39528, "ts": "2026-08-02T15:25:31Z", "hours": 0.4983, "text": "So fixed a bug where after closing a radio when user searched for other song and then played it continued from last play instead of new one."}, {"post_id": 38934, "ts": "2026-08-01T15:24:47Z", "hours": 3.4775, "text": "v0.5.0 So fixed major stuffs mostly like : playlist not created error fixed format in web mode as it downloaded in mp3 fixed another download bug as it downloaded in mp4 , when set to default fixed loop during playback which caused one command execution only and other were not listened And added some more thing: a export feature added better port handling added –port ( ~5 commands ) and –version commands"}, {"post_id": 35788, "ts": "2026-07-27T13:20:01Z", "hours": 1.6367, "text": "Added playlist feature and a lot more features like format - opus , mp3 , m4a and webm. Also fixed some bugs regarding downloads and added a check feature to check flow gets all things like vlc , ffmpeg .etc"}, {"post_id": 34615, "ts": "2026-07-25T14:20:28Z", "hours": 0.4917, "text": "So trying to make the web version so u know a better docs instead of terminal one with better installation support. Thought of notifying everyone so u can guess what will be the next few develops about."}, {"post_id": 34070, "ts": "2026-07-24T15:03:24Z", "hours": 2.9269, "text": "Finally added playlist it has following commands: playlist ( to list all ) playlist add playlist remove pl.. -d radio -p ( to save as playlist ) also download or -d download radio as a playlist instead of songs in downloads"}, {"post_id": 32728, "ts": "2026-07-22T02:01:00Z", "hours": 0.74, "text": "v0.4.7 So i am just kinda dumb i think. I didn’t even commited the changes and lost all the works 🥲 i do managed to re-write the code once again for some parts like DEV MODE and bug fix regarding the playback. So playlist features are on a hold"}, {"post_id": 32438, "ts": "2026-07-21T16:57:32Z", "hours": 2.5728, "text": "So fixed some major and minor bugs and flaws like user can even download the song in /boot/ also added history and auto-completion , it also now has playlist commands and features with better UI in web mode not too much but still. Also added format option so u can download in whichever format u want. And made this banner"}, {"post_id": 31875, "ts": "2026-07-20T16:54:25Z", "hours": 8.9078, "text": "0.4.5 So after ~7hr ( some are not recorded which i spent in browser ) I made the UI of the flow in web looking forward for a desktop UI also but later i think. What is New and what is changed Web UI with pixel theme Local support for UI also and liked songs Minor bug fixes"}, {"post_id": 30572, "ts": "2026-07-18T08:19:25Z", "hours": 0.3758, "text": "Nothing added just fixed more things and made a new video for upload at github pages. You can see video here it also has audio. added a linux binary at release page and links to my github account in PyPi"}, {"post_id": 30520, "ts": "2026-07-18T05:06:55Z", "hours": 0.4369, "text": "So added these bars looks weird i know because i set their width to 3 and spacing : fit that’s why but u can customize it however you want. Also fully added the lyrics , mostly you will see lyrics not found if are listening in other laung then eng because YtLyrics doesn’t have much songs lyrics i guess."}, {"post_id": 30505, "ts": "2026-07-18T04:13:45Z", "hours": 1.0981, "text": "So this is going crazy like really! What i added today? A bar that reacts to sound. fixed errors in bg mode which triggered the playing of two music at the same time. Also trying to add like 50% added the lyrics with time synced."}, {"post_id": 30120, "ts": "2026-07-17T13:09:14Z", "hours": 9.635, "text": "So i made some new changes like a background player no need to open a terminal just for a music also fixed some major errors like calling fetch when not needed in radio mode."}, {"post_id": 22528, "ts": "2026-07-05T01:33:25Z", "hours": 3.9431, "text": "Published v0.4.0 this version includes Saavan playback also and new commands i.e. : savan : play songs directly( alias: svn ) savan-s : search songs by name ( alias : svn-s )"}, {"post_id": 16137, "ts": "2026-06-26T07:14:21Z", "hours": 2.9075, "text": "Added many features here are some of them : better radio with play next config feature theme changing better colors."}, {"post_id": 15463, "ts": "2026-06-25T04:23:40Z", "hours": 2.0053, "text": "uploaded to PyPi with features such as: radio mode which auto suggest songs alias for quick commands major bug fixes"}, {"post_id": 13075, "ts": "2026-06-21T11:57:16Z", "hours": 2.5681, "text": "added alias for commands such as hl for help , pl for play these are default and can be changed later by running short <index> <value> also added more detailed help command that gives user more info , can be run by using help -i or hl -i or as per your alias. Features in new update: suggestion of songs (fetched from youtube) custom themes more option for using tools"}, {"post_id": 11113, "ts": "2026-06-18T05:43:07Z", "hours": 0.3356, "text": "Finally after hard work as i have never uploaded anything to Pypi anything before so totally a disaster that includes import error and much more. You can install this package by typing pip install flow-twinx"}, {"post_id": 10500, "ts": "2026-06-17T07:47:16Z", "hours": 0.2867, "text": "fixed the error when doing install.sh in windows as the path are not same in linux and windows"}, {"post_id": 10490, "ts": "2026-06-17T07:23:31Z", "hours": 0.4394, "text": "added readme.md and finished by adding features listed also added install.sh"}, {"post_id": 10471, "ts": "2026-06-17T06:45:47Z", "hours": 2.6703, "text": "made few things as listed: a progress bar offline download of songs shuffle and repeat songs liked songs and much more adding : offline support like liked songs , album"}, {"post_id": 10390, "ts": "2026-06-17T02:17:36Z", "hours": 1.2692, "text": "Re-started the project and this time adding both offline and online features i.e. yet to implement , i have already made the ping.py file so it can check if host has connections. also some few changes in future :- online playback mode without downloading the song. offline mode. will try to add suggestion by adding &start_radio=1 to get suggestion directly from YouTube"}, {"post_id": 5516, "ts": "2026-06-09T10:11:49Z", "hours": 1.8011, "text": "Tried too much to add cross-fade but the audio just glitches , will be trying more if not possible i will leave this feature and focus on something different.Also added the bash install for different os so it becomes flow play not py main.py play."}, {"post_id": 4843, "ts": "2026-06-08T11:24:27Z", "hours": 2.4728, "text": "Finally made functional and working , have to make it once more took more help from AI i didn’t wanted to but sometimes vlc was giving error and sometimes yt_dlp even though i was following the module guide , i don’t know what was happening. Currently adding the spinners and more things. Features added till now: like music make playlist Fuzzy search or smart search"}, {"post_id": 4229, "ts": "2026-06-07T13:53:21Z", "hours": 2.8981, "text": "| | This is my first post on this project , this project is about a feature rich and apple music inspired terminal music player | | . Today i made basic commands like play , delete , random , like .etc . The best part was to create the file handling as i have learned how to handle the .yaml files instead of json files for settings and hardest part was nothing except me trying to use vlc without AI or docs."}]...
|
Title: Flow by @twinx | Stardance
Devlogs:
| | Th Title: Flow by @twinx | Stardance
Devlogs:
| | This is my first post on this project , this project is about a feature rich and apple music inspired terminal music player | | . Today i made basic commands like play , delete , random , like .etc . The best part was to create the file handling as i have learned how to handle the .yaml files instead of json files for settings and hardest part was nothing except me trying to use vlc without AI or docs.
Finally made functional and working , have to make it once more took more help from AI i didn’t wanted to but sometimes vlc was giving error and sometimes yt_dlp even though i was following the module guide , i don’t know what was happening. Currently adding the spinners and more things. Features added till now: like music make playlist Fuzzy search or smart search
Tried too much to add cross-fade but the audio just glitches , will be trying more if not possible i will leave this feature and focus on something different.Also added the bash install for different os so it becomes flow play not py main.py play.
Re-started the project and this time adding both offline and online features i.e. yet to implement , i have already made the ping.py file so it can check if host has connections. also some few changes in future :- online playback mode without downloading the song. offline mode. will try to add suggestion by adding &start_radio=1 to get suggestion directly from YouTube
made few things as listed: a progress bar offline download of songs shuffle and repeat songs liked songs and much more adding : offline support like liked songs , album
added readme.md and finished by adding features listed also added install.sh
fixed the error when doing install.sh in windows as the path are not same in linux and windows
Finally after hard work as i have never uploaded anything to Pypi anything before so totally a disaster that includes import error and much more. You can install this package by typing pip install flow-twinx
added alias for commands such as hl for help , pl for play these are default and can be changed later by running short <index> <value> also added more detailed help command that gives user more info , can be run by using help -i or hl -i or as per your alias. Features in new update: suggestion of songs (fetched from youtube) custom themes more option for using tools
uploaded to PyPi with features such as: radio mode which auto suggest songs alias for quick commands major bug fixes
Added many features here are some of them : better radio with play next config feature theme changing better colors.
Published v0.4.0 this version includes Saavan playback also and new commands i.e. : savan : play songs directly( alias: svn ) savan-s : search songs by name ( alias : svn-s )
So i made some new changes like a background player no need to open a terminal just for a music also fixed some major errors like calling fetch when not needed in radio mode.
So this is going crazy like really! What i added today? A bar that reacts to sound. fixed errors in bg mode which triggered the playing of two music at the same time. Also trying to add like 50% added the lyrics with time synced.
So added these bars looks weird i know because i set their width to 3 and spacing : fit that’s why but u can customize it however you want. Also fully added the lyrics , mostly you will see lyrics not found if are listening in other laung then eng because YtLyrics doesn’t have much songs lyrics i guess.
Nothing added just fixed more things and made a new video for upload at github pages. You can see video here it also has audio. added a linux binary at release page and links to my github account in PyPi
0.4.5 So after ~7hr ( some are not recorded which i spent in browser ) I made the UI of the flow in web looking forward for a desktop UI also but later i think. What is New and what is changed Web UI with pixel theme Local support for UI also and liked songs Minor bug fixes
So fixed some major and minor bugs and flaws like user can even download the song in /boot/ also added history and auto-completion , it also now has playlist commands and features with better UI in web mode not too much but still. Also added format option so u can download in whichever format u want. And made this banner
v0.4.7 So i am just kinda dumb i think. I didn’t even commited the changes and lost all the works 🥲 i do managed to re-write the code once again for some parts like DEV MODE and bug fix regarding the playback. So playlist features are on a hold
Finally added playlist it has following commands: playlist ( to list all ) playlist add playlist remove pl.. -d radio -p ( to save as playlist ) also download or -d download radio as a playlist instead of songs in downloads
So trying to make the web version so u know a better docs instead of terminal one with better installation support. Thought of notifying everyone so u can guess what will be the next few develops about.
Added playlist feature and a lot more features like format - opus , mp3 , m4a and webm. Also fixed some bugs regarding downloads and added a check feature to check flow gets all things like vlc , ffmpeg .etc
v0.5.0 So fixed major stuffs mostly like : playlist not created error fixed format in web mode as it downloaded in mp3 fixed another download bug as it downloaded in mp4 , when set to default fixed loop during playback which caused one command execution only and other were not listened And added some more thing: a export feature added better port handling added –port ( ~5 commands ) and –version commands
So fixed a bug where after closing a radio when user searched for other song and then played it continued from last play instead of new one.
So last fix i guess for this ship , it includes changes in dependencies i previously forgot to add toml so it caused error in some OS i think not in my one , so i switched to pyproject.toml i kept that so users can use pip also not only uv.
So yeah still alive after many days cause i thought it needed more work. I made something to help u in KDE and Hyprland by using dbus to expose name and a custom --status command wit img support and all that to provide u with a support for custom modules. The island shown here is my custom build and is not included in the flow project. Also made few more thing in here to help u out and fixed bugs.
v0.5.8 So added a better playlist management system that has support for local songs before it had different playlist logic for different mode , now it shares same logic with also bug fixes and in future updates gonna add island as a way u can do it without any configs also better status.
So added more commands and few mid level bug fixes : added delete command added more flags to control it by using other programs improved the name shorter to include other laung added the m and pick songs in play also thing as shown in video. improved the –status command to show images.
v0.6.0 So , i have added a new selection using arrow keys for config search and play for better navigation also to reduce the typing thing in terminal to change the value. Also replaced the bars for a better looking and customizable bars it includes custom char + 3 modes.
Hey everyone hope ur doing well. Today i think mostly i did was just making it cool and easy to navigate and bug fixes for the most time. Bugs: Ctrl + Q not working in radio mode d not working in new selection mode not showing [Paused] when paused and much more that is too big to explain here and started working on gui mode using PySide6
v0.6.1 Replaced the old UI with new UI , as previous one looked awful for most people i hope this is good. Also added this demo video , i tried to add a more professional one with openscreen but quality issues with the app , so will add later till then this is the demo video.
v0.7.0 So finally made the tui using textual and it looks pretty good i wasn’t expecting much but yeah looks good also there are pretty much 10 themes i guess so enjoy that are given in textual by default. Also changed the structure of the code repo as it was a disaster so now it has /backend /tui and /cli
So mostly made changes to backend and the structure of the project. Changes : migrated from json to sqlite for history and other new features soon added a plugins system with a repo for community plugins separate commands for sperate playform like flow-web for flow
#v0.8.0 Just finished some last parts and added it to ship.
So i have to really fix this bug not too much big but it resulted in multiple vlc instance to start also changed export to export songs instead of a zip file and with custom path can be used by -p PATH or default to Downloads/music .
v0.8.4 Forgot to add the versions from some devlogs. New features : added a full for showcase added a minimal version so ai agents and ssh terminals can work too added a new progress bar and some bug fixes… i tried adding cookies but it works good without cookies also so would add a import option to import external songs. Also i am working on making it play on all platforms including termux of mobile phones.
v0.9.1 So after hours added support for all platforms and made website and hosted it on cloudflare here also i have added a better logs system to tell if anything goes wrong , aslo this time please rate it as much as u could i have spend 100+ hours working on this still i get 200 stardust :(
Ships:
I build a terminal music player that uses vlc and yt_dlp , that has both offline and online support for music you can either play from folders or online. Hardest part to make it run on all os.
Flow version v0.4.0 This version includes Saavan playback , Saavan is a music player with high quality songs. Please do also keep this in mind that Songs on saavan are only playable on saavan commands and there is no radio mode for it. The difficult part about this thing is the API , actually the API is build by me hosted on NEST as a part of SINGULARITY my another project some similar features but more advanced. Do check out that also!
Ship #3 Added many features such as : background playback so you don’t need to open a terminal just for flow. bars for you to enjoy the vibe. lyrics so you can sing along the song it is also time-synced . and much more such as configs customization. How to install : Head to release page for a linux binary or type it in terminal but make sure you have python and vlc installed pip install flow-twinx and then flow
So added few not actually few but many like better ui for web formats using ffmpeg playlist feature bug fixes and much more I want to thank you all for support and hopping to add more features. Also do visit the flow page. Enjoy !
Changes from last ship : new database from json to db ( sqlite ) and new codebase Added TUI and also improved the web mode Added new commands and docs Added plugins system and community plugins Major and minor bug fixes
So after everyone’s request i added support for all platforms , i haven’t tested it on mac (cause i don’t that🙃️) but i have tested on all other platforms and hope that it works on your systems too. Also i have added some new features for u all : a new log for seeing what broke new display i.e. rich that makes it more cool looking new commands and insane customization 😎️...
|
1792993888.647985
|
1793080288.647985
|
|
48715
|
list by @flyingfish | Stardance
|
flyingfish
|
1
|
112.62
|
787
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-02T03:02:48Z", "hours": 106.0, "multiplier": 7.45, "payout": 787, "blessing": "neutral", "text": "i have used a lot of different lists apps but all of them are so coprate and suck so i made my own i have never used sql before so it was a learning experience i also have never used any time library before but this was fun there is a lot of features i want able to add becouse of time and scope reasons so the code is built in a way that it can updated really easly", "repo": "https://github.com/dinotiger01/list", "demo": "https://github.com/dinotiger01/list/releases/tag/idktag_or_smth"}]...
|
[{"post_id": 68433, "ts": "202 [{"post_id": 68433, "ts": "2026-09-15T03:39:48Z", "hours": 6.6206, "text": "windows works now i had like 20 commits before all of this"}, {"post_id": 59962, "ts": "2026-09-02T01:16:48Z", "hours": 9.9725, "text": "i finished all the git action things and all of the last minute changes ie small bug fixes i am now reddy to ship"}, {"post_id": 58674, "ts": "2026-08-31T05:48:43Z", "hours": 5.9939, "text": "tons of styleing updates i have spent the past 6 hurs strait styling and validating inputs however it is finally done i just need to do the git hub things and add compatability how ever thats tomarow s problem"}, {"post_id": 58463, "ts": "2026-08-30T21:42:23Z", "hours": 7.7864, "text": "ahhhhhh i did like ui things i am going insane"}, {"post_id": 57864, "ts": "2026-08-30T05:35:55Z", "hours": 5.1236, "text": "this is my third devlog today 10hr logg to day btw :teird: a fileter bredet edit deleate and add new people"}, {"post_id": 57703, "ts": "2026-08-29T23:00:01Z", "hours": 4.9544, "text": "jank i have made the ability to add and remove types i will refine later ngl edit: like 10 minits after i posted this i got the code to work where the type updates all the list that already exist"}, {"post_id": 57430, "ts": "2026-08-29T16:03:12Z", "hours": 6.0314, "text": "filter the audio on the video is like really bad my main mic stopped working so i taped a web cam to my face :idk_man: core filtering the filrering works by when a task isbeing loaded to the page it will go to a function that will check if it can be used the filter function will check baised of 4 variables stored in the c++ then the qml sends new variables over then i also spent like hours on this but i made it so it wont check any filter if nothing is selected filter by name this is a simple it will just send a string over then check is filter string is contained in the task name filter by person this uses a vector of intigers it will loop through both then if if there is a the same intiger in booth it will show btw peple are stored by index filter by type the type is stored as a vector of strings it does te same and loops through the filter strings and if the task type is equal it will allow the task filter by date this was defenetly the most dificalt one and it is stored av a vector<time_t> there are 2 text boxes the first one is a lower limit the seconed is an uper limit if eather is blank it will not check it if the second one has a date it will only show dates on or before that onee if the second one has a date it will only show tasks after that date if both have dates it will check in betewwn them"}, {"post_id": 56777, "ts": "2026-08-28T17:51:02Z", "hours": 5.8836, "text": "really quick little devlog i just added the abiltiy to edit tasks it works by opening the place wheree you create task then sets all the value manualy it was like supper hard to make it so you can edit a task then create a task then go back to editing becouse if a variable was not assined by acident it would all crash"}, {"post_id": 56195, "ts": "2026-08-27T20:49:57Z", "hours": 8.5181, "text": "recuring there is a lot (btw i already wrote all of this and acidently deleated it ) reacuring check types on load when the code realoads it will go through and check if any items need to be updated i made it so if it finds a task that needs to be updated it will reafrech and start over so a task can be updated multible times if needed on mark off this will only check one task when you mark off a task this will aslo by pass the alow multi alow multi * this will make it so when a task is duplicated it will either set the old task to 0 or just deleate it * this is marked in the code as the higher of 2 numbers while checking rec type rec types normal this is a type that will not recure and is the only one able to be fully deleated this is marked by a 0 in the code this will be skipped by both reacuring types by due date this to to make a task the will eather run every day or every other day this types has a second variabe called delay witch changes how often the task will show up ie dalay =1 means every day, delay =2 means every other day this is marked as 1 or 2 in the code on the on load check this will check if (due date + delay) < current date if it is it will duplicate the task to due date + delay on mark off for this task will just duplicate teh task to due date + delay on compleate this is used for task that just need to be done betwenn compleations this is marked as 3 in the code becouse it canot have multibles this also have a number called delay this is skiped by the on load check on mark off this task will just duplicate it self to current date + delay on week day this is for tasks that need to be compleated on specifice week days this task has a number that is between 0-127 insted of a delay because it can be converted in to a 7 digit binary string that means reapeate on dayes with 1 and not on 0 this is marked as 4 or 5 on load it will task the due date then search for the next valid date and then will check if the date is before the current date if it is before it will duplicate its self there on mark off works the same just it doent check if the date is before current on month day this is for tasks thatneed to happen on a month by month basses this stores a number from 1-28 witch is the date that it will apere on the month this is marked in the code as 6 or 7 this work in a very simmilar way to the on week day it will take the due date then add one untill it finds a valid date and if it is onload it will check if the current date ia after the new date in the futre i might make it so that if you put 0 in the date it will just run the last day of the month perminat delete each tsk has a button to open the edit menu and you can deteate a task from the edit menu witch will skip all duplicating"}, {"post_id": 54860, "ts": "2026-08-26T01:42:57Z", "hours": 5.1708, "text": "ui- validation i spent like littery 5 hours on ui and validation ui reccuring if you set to reacuring it opens the drop dwon to select what type rec on due select i allow multible select number rec on comp select number rec on week day select i allow multible select week day rec on month day select i allow multible select number validation i havent actually finish the validation fully nut you can not have a blank pryority you can not have a blank list type you can not have ’ or ; in notes or name you can not have a blank name you can not have a invalid date format"}, {"post_id": 54528, "ts": "2026-08-25T15:35:37Z", "hours": 10.2064, "text": "i just be doing stuff ngl i just kinda locked in and forgot to dev log pryoritys you can now set pryoritys the pryoritys are created dynamicly bassed on a sql data base each priority can be collapsed and expanded they will have a number i just havent got to it yet bugges i ran in to a really anoying bug where i had to add the tasks dynamicly inside the pryoritys that are also scaled dynamicly delleate it is simple when a task is closed it doesn’t show up and is droped from the db bugges this delete was causeing like 1000 runtime errors because the tasks are considered separate qml so i cant link to anything out the task and it was like making new backed files and it was dumb date ctime is like really complicated if you have no clue what you are doing i made it so that the task show how many days away the task is due bugges i think i ran it to all the buggees with ctime the most memorable one is when the ctime would just return random times for som reason dynamic tasks i made the notes section scale with the height of the notes in side of it i also added the full date the the task is due in the notes"}, {"post_id": 53189, "ts": "2026-08-23T17:01:43Z", "hours": 9.2897, "text": "i really hope this dont break last dev log so the last devlog like crashed my entire computer or something and now i cant edit it to change the mesasge to i am going to wright all of it here i added an sql data base the data base simply pulls all of the tasks from the .db fle then converts them in to tjhe structs i menaced before then it loads them to the qml page sql sql mage nooooo sence i might just be stuppid but this took like 6 hr aklone to figgure out how to wright to a db file current devlog initializer qml really dont like to run before the c++ howver i needed to just the function that loads all the task affter the qml loads becouse the qml needs to tell the c++ where the tasks need to be so after a long time reaserching and trying things i found that qt has a way to do what i needed and now the code can run the script at the right time add task i made a way to add a task basicly you click a + button then you select al the things you want then it send those to the c++ witch sends them to the sql then it oulls the sql and realoded all the task you might be wondering why doo all of that when it would be easier to just add the task in the qml and to that i say yeah you probly right idk what i am doing"}, {"post_id": 51777, "ts": "2026-08-21T16:48:07Z", "hours": 8.7489, "text": "sql"}, {"post_id": 50050, "ts": "2026-08-19T02:41:09Z", "hours": 8.9317, "text": "we be doing a logic drop down these menus were a pain in the ass there was a bug where the top pixel of the menu was viable contently and it took genuinely 2 hours to fix logic i created a struct that has all the data needed for a task i then took the code for a qml task added it as a widgit or somthing idk what is called then the c++ reads thriugh a list of all the struct task and adds them to the page"}, {"post_id": 48613, "ts": "2026-08-17T02:32:59Z", "hours": 9.1361, "text": "we be doing some ui this is a list i am making for my family to track chores and stuff tab bar on the left this is going to be the place where you can select what page you want to be on so like if you wan to edit what people you have or stuff top filter this is so you can filter the tasks so you can only focus one one you need to do main veiw the tasks each hold * taks name * all the people assined to the task * thwe type * date * notes pryoritys the task list will have a bunch of pryoritys that can open expand and colapes for easier viewing the total will just show how many tasks there are in total timer we have a system where every one has to do 2hr of work each day so i figuerd i would just add that here"}]...
|
Title: list by @flyingfish | Stardance
Devlogs:
w Title: list by @flyingfish | Stardance
Devlogs:
we be doing some ui this is a list i am making for my family to track chores and stuff tab bar on the left this is going to be the place where you can select what page you want to be on so like if you wan to edit what people you have or stuff top filter this is so you can filter the tasks so you can only focus one one you need to do main veiw the tasks each hold * taks name * all the people assined to the task * thwe type * date * notes pryoritys the task list will have a bunch of pryoritys that can open expand and colapes for easier viewing the total will just show how many tasks there are in total timer we have a system where every one has to do 2hr of work each day so i figuerd i would just add that here
we be doing a logic drop down these menus were a pain in the ass there was a bug where the top pixel of the menu was viable contently and it took genuinely 2 hours to fix logic i created a struct that has all the data needed for a task i then took the code for a qml task added it as a widgit or somthing idk what is called then the c++ reads thriugh a list of all the struct task and adds them to the page
sql
i really hope this dont break last dev log so the last devlog like crashed my entire computer or something and now i cant edit it to change the mesasge to i am going to wright all of it here i added an sql data base the data base simply pulls all of the tasks from the .db fle then converts them in to tjhe structs i menaced before then it loads them to the qml page sql sql mage nooooo sence i might just be stuppid but this took like 6 hr aklone to figgure out how to wright to a db file current devlog initializer qml really dont like to run before the c++ howver i needed to just the function that loads all the task affter the qml loads becouse the qml needs to tell the c++ where the tasks need to be so after a long time reaserching and trying things i found that qt has a way to do what i needed and now the code can run the script at the right time add task i made a way to add a task basicly you click a + button then you select al the things you want then it send those to the c++ witch sends them to the sql then it oulls the sql and realoded all the task you might be wondering why doo all of that when it would be easier to just add the task in the qml and to that i say yeah you probly right idk what i am doing
i just be doing stuff ngl i just kinda locked in and forgot to dev log pryoritys you can now set pryoritys the pryoritys are created dynamicly bassed on a sql data base each priority can be collapsed and expanded they will have a number i just havent got to it yet bugges i ran in to a really anoying bug where i had to add the tasks dynamicly inside the pryoritys that are also scaled dynamicly delleate it is simple when a task is closed it doesn’t show up and is droped from the db bugges this delete was causeing like 1000 runtime errors because the tasks are considered separate qml so i cant link to anything out the task and it was like making new backed files and it was dumb date ctime is like really complicated if you have no clue what you are doing i made it so that the task show how many days away the task is due bugges i think i ran it to all the buggees with ctime the most memorable one is when the ctime would just return random times for som reason dynamic tasks i made the notes section scale with the height of the notes in side of it i also added the full date the the task is due in the notes
ui- validation i spent like littery 5 hours on ui and validation ui reccuring if you set to reacuring it opens the drop dwon to select what type rec on due select i allow multible select number rec on comp select number rec on week day select i allow multible select week day rec on month day select i allow multible select number validation i havent actually finish the validation fully nut you can not have a blank pryority you can not have a blank list type you can not have ’ or ; in notes or name you can not have a blank name you can not have a invalid date format
recuring there is a lot (btw i already wrote all of this and acidently deleated it ) reacuring check types on load when the code realoads it will go through and check if any items need to be updated i made it so if it finds a task that needs to be updated it will reafrech and start over so a task can be updated multible times if needed on mark off this will only check one task when you mark off a task this will aslo by pass the alow multi alow multi * this will make it so when a task is duplicated it will either set the old task to 0 or just deleate it * this is marked in the code as the higher of 2 numbers while checking rec type rec types normal this is a type that will not recure and is the only one able to be fully deleated this is marked by a 0 in the code this will be skipped by both reacuring types by due date this to to make a task the will eather run every day or every other day this types has a second variabe called delay witch changes how often the task will show up ie dalay =1 means every day, delay =2 means every other day this is marked as 1 or 2 in the code on the on load check this will check if (due date + delay) < current date if it is it will duplicate the task to due date + delay on mark off for this task will just duplicate teh task to due date + delay on compleate this is used for task that just need to be done betwenn compleations this is marked as 3 in the code becouse it canot have multibles this also have a number called delay this is skiped by the on load check on mark off this task will just duplicate it self to current date + delay on week day this is for tasks that need to be compleated on specifice week days this task has a number that is between 0-127 insted of a delay because it can be converted in to a 7 digit binary string that means reapeate on dayes with 1 and not on 0 this is marked as 4 or 5 on load it will task the due date then search for the next valid date and then will check if the date is before the current date if it is before it will duplicate its self there on mark off works the same just it doent check if the date is before current on month day this is for tasks thatneed to happen on a month by month basses this stores a number from 1-28 witch is the date that it will apere on the month this is marked in the code as 6 or 7 this work in a very simmilar way to the on week day it will take the due date then add one untill it finds a valid date and if it is onload it will check if the current date ia after the new date in the futre i might make it so that if you put 0 in the date it will just run the last day of the month perminat delete each tsk has a button to open the edit menu and you can deteate a task from the edit menu witch will skip all duplicating
really quick little devlog i just added the abiltiy to edit tasks it works by opening the place wheree you create task then sets all the value manualy it was like supper hard to make it so you can edit a task then create a task then go back to editing becouse if a variable was not assined by acident it would all crash
filter the audio on the video is like really bad my main mic stopped working so i taped a web cam to my face :idk_man: core filtering the filrering works by when a task isbeing loaded to the page it will go to a function that will check if it can be used the filter function will check baised of 4 variables stored in the c++ then the qml sends new variables over then i also spent like hours on this but i made it so it wont check any filter if nothing is selected filter by name this is a simple it will just send a string over then check is filter string is contained in the task name filter by person this uses a vector of intigers it will loop through both then if if there is a the same intiger in booth it will show btw peple are stored by index filter by type the type is stored as a vector of strings it does te same and loops through the filter strings and if the task type is equal it will allow the task filter by date this was defenetly the most dificalt one and it is stored av a vector<time_t> there are 2 text boxes the first one is a lower limit the seconed is an uper limit if eather is blank it will not check it if the second one has a date it will only show dates on or before that onee if the second one has a date it will only show tasks after that date if both have dates it will check in betewwn them
jank i have made the ability to add and remove types i will refine later ngl edit: like 10 minits after i posted this i got the code to work where the type updates all the list that already exist
this is my third devlog today 10hr logg to day btw :teird: a fileter bredet edit deleate and add new people
ahhhhhh i did like ui things i am going insane
tons of styleing updates i have spent the past 6 hurs strait styling and validating inputs however it is finally done i just need to do the git hub things and add compatability how ever thats tomarow s problem
i finished all the git action things and all of the last minute changes ie small bug fixes i am now reddy to ship
windows works now i had like 20 commits before all of this
Ships:
i have used a lot of different lists apps but all of them are so coprate and suck so i made my own i have never used sql before so it was a learning experience i also have never used any time library before but this was fun there is a lot of features i want able to add becouse of time and scope reasons so the code is built in a way that it can updated really easly...
|
1792997795.383756
|
1793084195.383756
|
|
33448
|
Skywritten by @saminsiddiqui | Stardance
|
saminsiddiqui
|
1
|
42.0
|
786
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-15T17:53:53Z", "hours": 42.0, "multiplier": 18.77, "payout": 786, "blessing": "neutral", "text": "Skywritten turns a birthday into an astronomical biography. You basically enter a date, and it pulls the Astronomy Picture of the Day, DSCOVR’s full-disk Earth imagery, solar flare records, and exoplanet discoveries from that exact day. It then weaves them into one narrative that you can send to someone as a permanent link. There are three ways (for now) that it can arrive: a cinematic scroll, a storybook you turn page by page, or a wax-sealed letter the recipient opens. If you are testing it, try the Letter template. It’s the one I put the most effort into. The hardest part wasn’t the features. It was making it fast enough to be worth sending. A page was loading around 20 MB on mobile because the APOD indexer was storing print resolution masters (some over 15 MB!). Also, every page load was fetching four complete NASA archives just to display one day. So, I basically ended up sharding all four into 366 files keyed by month and day. So, a January 20 birthday fetches 01-20.json instead of the whole thing. That took the data payload from 3,210 KB to 47 KB, and the page from 20 MB to around 1 MB. The thing I’m most pleased with is something small. I found out that NASA’s own metadata is wrong more often than you would expect. Entries labelled as images that are actually videos, with a play button baked into the still. One APOD entry is an animated GIF of a full lunar cycle and any thumbnail extracted from it came out solid black because the first frame is a new moon. Getting those right took a lot longer than building the templates did. If you want to test it properly: pick a date before 2000 to see how it handles years the archive doesn’t fully cover and share a gift link somewhere so you can see the recipient view. It’s read only, and the person receiving it can export a story card of their own.", "repo": "https://github.com/saminsiddiqui08-beep/skywritten", "demo": "https://skywritten.pages.dev"}]...
|
[{"post_id": 47443, "ts": "202 [{"post_id": 47443, "ts": "2026-08-15T11:32:40Z", "hours": 5.3408, "text": "I spent the last couple of days fixing a lot of bugs and also made some polishes here and there. Page weight went from about 20 MB to around 1 MB on mobile. The data payload went from 3210 KB to around 47 KB. The gift links went from three KV writes to just one. Fixed the date field being invisible on Android. Some APOD entries are GIFs. They exported in the gift card as black rectangles. I fixed it by requesting a mid-sequence frame plus a luminance check on the export as a backstop. Previews were broken till this phase, so I fixed them as well through routing them through a proxy at a declared 1200×630. Also, some more polishes here and there. I do think it is finally ready to ship!!!"}, {"post_id": 44434, "ts": "2026-08-10T05:53:15Z", "hours": 3.7633, "text": "Alright, so today was basically making some more fixes and polishing. I completely rebuilt the recipient experience into a true read-only unboxing view. And I kept the interactive wax seal while stripping out editor pickers and replaced collapsed Chrome Android date inputs with a bespoke calendar overlay. After that, I fixed the near invisible scrollbars in the Keepsake letter template, corrected parchment character counter styling, and revamped exported story cards so that the personal messages take center stage alongside cosmic vitals like Lunar Phase and Solar Revolutions. Also, I gave the AI rewrite pipeline a massive efficiency boost by trimming max_tokens from 4096 down to 1600 to prevent Groq TPM ceiling throttling, capping server-side output at 600 characters, and tuning temperature to 0.55 for faster, more consistent outputs. I came across a lot of more bugs that needs fixing, so I am not sure if I can ship it today. Maybe a couple of more days…"}, {"post_id": 42469, "ts": "2026-08-07T07:05:05Z", "hours": 3.255, "text": "Just finished making the Keepsake letter template. The letter experience opens with an interactive envelope scene built using 3D CSS transforms. Like other templates, users can also customize their letters in real time using client-side image carousels and alternate year pickers. I have also made the AI rewrite feature functional. I also added a 150 word limit and a precise system prompt to optimize token usage. There are some bugs regarding the UI in the mobile view. I will fix those soon"}, {"post_id": 41170, "ts": "2026-08-05T06:31:55Z", "hours": 7.7953, "text": "Hey everyone! Making another update on Skywritten. First of all, I finished the ‘1080×1920 Story Card Exporter’. Basically, when you click Export Story Card, you will get a 1080×1920 high-res PNG tailored for Instagram Stories. After that, there were some mobile view bugs. I spent some time fixing that and polishing the app. The Storybook template needed a lot of fixes in the mobile view as there were overlapping issues due to the first page being transparent. Finally, I finished writing the Cloudflare Worker logic for our AI rewrite feature."}, {"post_id": 39128, "ts": "2026-08-01T20:46:06Z", "hours": 8.5983, "text": "Heyyy everyone! I wanted to make a quick update on Skywritten. The past few days were quite huge for the frontend architecture. We went from a single APOD viewer to a fully modular multi-source app with two distinct presentation shells! Moreover, the Storybook Template is live. Instead of a continuous scroll, it renders a tactile 3D book using hardware-accelerated CSS rotateY transforms. We can flip pages using on screen controls, left/right keyboard arrows, or touch swipes on mobile. I also implemented Dynamic Captioning and Narrative Syncing as a quality-of-life improvement."}, {"post_id": 36342, "ts": "2026-07-28T12:13:49Z", "hours": 7.2917, "text": "Working with NASA’s API limits is indeed a hassle. I basically solved NASA API rate limits, eliminated video rendering bugs, and built a fast local lookup table containing every authentic APOD space photo published since June 1995. Other than that, I had to compress 31 years of astronomical metadata into a dense, minified static asset. This project will take more time than I thought. But I am excited to implement all of the features I have in mind!"}, {"post_id": 34023, "ts": "2026-07-24T13:20:16Z", "hours": 3.7506, "text": "First of all, I built a template router to “lazy load” template styles and scripts on demand. Assets are injected directly into the document head only when triggered, preventing initial DOM bloat. After that, I integrated zero dependency JavaScript math directly to compute real-time cosmic displacement (kilometers traveled through space since birth) and exact lunar phase illumination. Finally, I built cosmic-scroll as a template using hardware-accelerated IntersectionObserver reveals (will-change: transform, opacity) for smooth 60fps mobile scrolling, complete with an inline-editable narrative interface."}, {"post_id": 29019, "ts": "2026-07-15T17:48:47Z", "hours": 2.0617, "text": "So basically, I finalized the core architecture and UI foundation for skywritten. After that, I bypassed generic frontend frameworks entirely to build a custom and highly optimized HTML/CSS shell utilizing absolute mathematical resets. Also completed the raw math for the generative ambient starfield and implementing a deterministic PRNG (cyrb128 + mulberry32) so the visual backdrop remains perfectly mathematically consistent across all devices."}]...
|
Title: Skywritten by @saminsiddiqui | Stardance
D Title: Skywritten by @saminsiddiqui | Stardance
Devlogs:
So basically, I finalized the core architecture and UI foundation for skywritten. After that, I bypassed generic frontend frameworks entirely to build a custom and highly optimized HTML/CSS shell utilizing absolute mathematical resets. Also completed the raw math for the generative ambient starfield and implementing a deterministic PRNG (cyrb128 + mulberry32) so the visual backdrop remains perfectly mathematically consistent across all devices.
First of all, I built a template router to “lazy load” template styles and scripts on demand. Assets are injected directly into the document head only when triggered, preventing initial DOM bloat. After that, I integrated zero dependency JavaScript math directly to compute real-time cosmic displacement (kilometers traveled through space since birth) and exact lunar phase illumination. Finally, I built cosmic-scroll as a template using hardware-accelerated IntersectionObserver reveals (will-change: transform, opacity) for smooth 60fps mobile scrolling, complete with an inline-editable narrative interface.
Working with NASA’s API limits is indeed a hassle. I basically solved NASA API rate limits, eliminated video rendering bugs, and built a fast local lookup table containing every authentic APOD space photo published since June 1995. Other than that, I had to compress 31 years of astronomical metadata into a dense, minified static asset. This project will take more time than I thought. But I am excited to implement all of the features I have in mind!
Heyyy everyone! I wanted to make a quick update on Skywritten. The past few days were quite huge for the frontend architecture. We went from a single APOD viewer to a fully modular multi-source app with two distinct presentation shells! Moreover, the Storybook Template is live. Instead of a continuous scroll, it renders a tactile 3D book using hardware-accelerated CSS rotateY transforms. We can flip pages using on screen controls, left/right keyboard arrows, or touch swipes on mobile. I also implemented Dynamic Captioning and Narrative Syncing as a quality-of-life improvement.
Hey everyone! Making another update on Skywritten. First of all, I finished the ‘1080×1920 Story Card Exporter’. Basically, when you click Export Story Card, you will get a 1080×1920 high-res PNG tailored for Instagram Stories. After that, there were some mobile view bugs. I spent some time fixing that and polishing the app. The Storybook template needed a lot of fixes in the mobile view as there were overlapping issues due to the first page being transparent. Finally, I finished writing the Cloudflare Worker logic for our AI rewrite feature.
Just finished making the Keepsake letter template. The letter experience opens with an interactive envelope scene built using 3D CSS transforms. Like other templates, users can also customize their letters in real time using client-side image carousels and alternate year pickers. I have also made the AI rewrite feature functional. I also added a 150 word limit and a precise system prompt to optimize token usage. There are some bugs regarding the UI in the mobile view. I will fix those soon
Alright, so today was basically making some more fixes and polishing. I completely rebuilt the recipient experience into a true read-only unboxing view. And I kept the interactive wax seal while stripping out editor pickers and replaced collapsed Chrome Android date inputs with a bespoke calendar overlay. After that, I fixed the near invisible scrollbars in the Keepsake letter template, corrected parchment character counter styling, and revamped exported story cards so that the personal messages take center stage alongside cosmic vitals like Lunar Phase and Solar Revolutions. Also, I gave the AI rewrite pipeline a massive efficiency boost by trimming max_tokens from 4096 down to 1600 to prevent Groq TPM ceiling throttling, capping server-side output at 600 characters, and tuning temperature to 0.55 for faster, more consistent outputs. I came across a lot of more bugs that needs fixing, so I am not sure if I can ship it today. Maybe a couple of more days…
I spent the last couple of days fixing a lot of bugs and also made some polishes here and there. Page weight went from about 20 MB to around 1 MB on mobile. The data payload went from 3210 KB to around 47 KB. The gift links went from three KV writes to just one. Fixed the date field being invisible on Android. Some APOD entries are GIFs. They exported in the gift card as black rectangles. I fixed it by requesting a mid-sequence frame plus a luminance check on the export as a backstop. Previews were broken till this phase, so I fixed them as well through routing them through a proxy at a declared 1200×630. Also, some more polishes here and there. I do think it is finally ready to ship!!!
Ships:
Skywritten turns a birthday into an astronomical biography. You basically enter a date, and it pulls the Astronomy Picture of the Day, DSCOVR’s full-disk Earth imagery, solar flare records, and exoplanet discoveries from that exact day. It then weaves them into one narrative that you can send to someone as a permanent link. There are three ways (for now) that it can arrive: a cinematic scroll, a storybook you turn page by page, or a wax-sealed letter the recipient opens. If you are testing it, try the Letter template. It’s the one I put the most effort into. The hardest part wasn’t the features. It was making it fast enough to be worth sending. A page was loading around 20 MB on mobile because the APOD indexer was storing print resolution masters (some over 15 MB!). Also, every page load was fetching four complete NASA archives just to display one day. So, I basically ended up sharding all four into 366 files keyed by month and day. So, a January 20 birthday fetches 01-20.json instead of the whole thing. That took the data payload from 3,210 KB to 47 KB, and the page from 20 MB to around 1 MB. The thing I’m most pleased with is something small. I found out that NASA’s own metadata is wrong more often than you would expect. Entries labelled as images that are actually videos, with a play button baked into the still. One APOD entry is an animated GIF of a full lunar cycle and any thumbnail extracted from it came out solid black because the first frame is a new moon. Getting those right took a lot longer than building the templates did. If you want to test it properly: pick a date before 2000 to see how it handles years the archive doesn’t fully cover and share a gift link somewhere so you can see the recipient view. It’s read only, and the person receiving it can export a story card of their own....
|
1792997526.0511625
|
1793083926.0511625
|
|
1681
|
Cyber Game Engine by @Cy | Stardance
|
Cy
|
1
|
57.0
|
785
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-30T06:27:02Z", "hours": 57.0, "multiplier": 13.71, "payout": 785, "blessing": "neutral", "text": "I have make The Cyber Game Engine, witch is a EXTREAMLY light weight game engine made with python and pygame. This is only a demo but I feel its at a useable point even though it has its bugs (some I dont know how to fix like the blank buttons). The most challenging part was the NPCs and 3d Projection and all the little problems that add up. What I am most proud of is making this whole project under 1.44mb to make it fit on a floppy drive and actually seeing what this little project has become. People who are going to use this project, just know that there are bugs and I am planning to add more features like a main menu system and sutch.", "repo": "https://github.com/Cybrock9000/CyberGameEngine", "demo": "https://github.com/Cybrock9000/CyberGameEngine/releases/tag/demo2"}]...
|
[{"post_id": 37444, "ts": "202 [{"post_id": 37444, "ts": "2026-07-30T06:01:51Z", "hours": 0.3597, "text": "Final touchups before demo ship!!!"}, {"post_id": 34473, "ts": "2026-07-25T06:33:42Z", "hours": 1.5597, "text": "You can now give the option to make some NPCs pushable. NPCs now have wall collision and player collision is reworked so you dont “stick” on walls anymore."}, {"post_id": 33915, "ts": "2026-07-24T06:40:02Z", "hours": 5.1158, "text": "Ive added a a few things like “dynamic” lighting and html documentation. Ive added some keyboard controls to the engine like moving the map with wasd. I changed some buttons around a tad and the gun works and sends NPCs a message (only one right now is die, but more flexibility soon). A demo ship might be coming soon maybe."}, {"post_id": 32826, "ts": "2026-07-22T07:00:23Z", "hours": 4.7206, "text": "Today is the day I realized I had to lock in in order to get the stuff I want. So, I have done quite a bit in that case like: The floor darkness is fixed, NPCs can be pickup items (kinda, only the gun is supported), very basic tool/weapon support, shooting with the gun and having it detect NPCs, starting the documentation page, lots of stuff behind the scenes like moving the map around with WASD, and a measuring tool for the map. The only problem (that bothers me because there is a lot of problems) Im having right now is the fps tanks when there is flooring. I tried to optimize it but that led nowhere. So you can disable flooring in the settings."}, {"post_id": 32197, "ts": "2026-07-21T06:22:11Z", "hours": 3.4047, "text": "I have added some stuff that is major. I have added FLOORS!!!!!! Using the same type of code for the walls but a little different, we can get ourselves some floors. I also added a toggle to swap between adding floors and walls (that W button) and you can see the floors behind the walls in the grid. The floors are slightly optimized to disappear if they are far too. They also support darkness. NPCs also got some stuff done too. they can move toward the player (and phase through walls) and there can be multiple NPCs."}, {"post_id": 31076, "ts": "2026-07-19T05:41:37Z", "hours": 2.8692, "text": "I honestly dont remember what I did the other day except that I made the npc disappear behind walls and some y pos stuff with the npc"}, {"post_id": 28737, "ts": "2026-07-15T05:33:36Z", "hours": 7.2611, "text": "I have not been working on these projects in a while because I found out that Terraria exists but today I have spent many hours working on both projects. Things I have done today: I finally started working on the NPC `s (It works, and I had to look WAY back to my old raycaster on scratch to figure it out lol), More stuff with the scripts (for the npc), Doom like hand (that bobs when you move), Done a alternative way to test the game your making without future problems (hopefully), Object/NPC panel (buttons dont work yet),Still under 1.44mb :) . Things I am going to do: Finish NPC, Fix some problems with the IDE, NPC Waypoints (Inspired by NZ:P), Audio scripting (so you can call when a sound should be played), Maybe NPC collision, Weapons/Tools support, Possible flooring/ceiling and more of the 3rd dimension instead of the raycaster feel (this is not a raycaster), Ingame guis, Win function, Keep this below 1.44mb, try to figure out how to use the formatting stuff on this website to make this look good. More development stuff here (might need to be updated): https://cybrock9000.github.io/CyberWolfGames/engine.html"}, {"post_id": 16106, "ts": "2026-06-26T06:04:20Z", "hours": 5.4675, "text": "I HAVE FIGGURED IT OUT!!! I HAVE MADE THE RENDERING FAST!!! Turns out I was checking every step that the ray moves (which is about 250) for 20 rays (5000 checks) for each wall (if its 10 walls, that is 50000 checks) which is very hardware expensive. I solved it by just doing one check per ray by firing the ray and checking it once (for those same stats above with this new method, it is 200 checks WHICH IS HUGE!!!). And that means that the is near no limit on how long the rays are. And now the games the engine makes are a smooth 60fps (uncapped is roughly 175-200fps) and before with the same map and settings it was 7-30fps. The engine will default the ray count to 30 with a ray dist of 500. I have also started working on the .cy script (top right pic) to make life easier doing coding for the engine to make your game. Right now it only looks for player.cy but I will have it load all in the scripts folder. The IDE that I am working on for this now can load and save files, it loads what words to be in color by loading a .json file, and you can scroll. My next steps are to work on the scripts and figure out objects/sprites (2d objects in a 3d world, look up Wolfenstein 3D to see what I mean). I also need to update my website to include documentation on how to use this engine ( https://cybrock9000.github.io/CyberWolfGames/index.html ). I would like to also polish up the engine too by making it more satisfying in some areas and also add button mappings to the map grid. With all that said, I am really happy on where this is going and I am still happy to say that this is still under 1.44mb :). -Cy"}, {"post_id": 14221, "ts": "2026-06-23T07:11:10Z", "hours": 4.5478, "text": "So its been a while since my last devlog and I have done not that much (I was busy and burned out), so Im going to talk. I have created a custom code editor that just handles the basics so far. Like: Writing stuff, multi line stuff, custom color pallets for fun and saving. This new IDE will help program in the custom programing language (when I get to that point). I need to figure out how to make the 3d rendering faster because right now it runs on an average 17-30fps (with no cap) when its near some walls. I am happy if it stayed at 30, but sometimes it drops to 7. Im thinking on executing this by some way of multithreading/multiprocessing or find a more optimized way to do the raycasting (which just checks to see if you are looking at a wall). One of the things that I am really stuck on though is putting the 2d sprites/objects/npcs into a 3d world. I have an idea on how to do it but putting it into code is tough. But even though I have a lot to do, Its still under 1.44mb"}, {"post_id": 7896, "ts": "2026-06-13T05:34:41Z", "hours": 4.8819, "text": "I have been working offline quite a bit and done quite a bit: option to enable darkness in the engine a vignette will draw when there is darkness there is now a sky (using the gross webp format for being a small file size) there is now a simple hud simple gravity jumping and crouching other tiny things still under 1.44mb if you are interested in more, plz visit here: https://cybrock9000.github.io/CyberWolfGames/index.html I wont be posting that much because of my internet being out but i am still working on both projects :)"}, {"post_id": 5429, "ts": "2026-06-09T06:09:07Z", "hours": 2.1956, "text": "I`ve done some stuff the past couple days: Have the option to have walls get darker the further they are The mouse now rotates the camera instead of arrow keys You can now set the player starting point if you are interested in pics and vids please look here: https://cybrock9000.github.io/CyberWolfGames/engineDev.html"}, {"post_id": 3958, "ts": "2026-06-07T02:53:23Z", "hours": 3.0478, "text": "today I had a lot of free time that I spent working on this project, here is what I have done: Walls are now correctly layered depending on the distance (with the furthest one being first and the closest last) *screen smoothly scales to correct size instead of instantly being set to that size Started implementing the scripts but I need some time to figure out how I want to do it. Still under 1.44mb if you are interested in this project more, I suggest looking at my website to see cool pics and vids: https://cybrock9000.github.io/CyberWolfGames/engineDev.html"}, {"post_id": 3361, "ts": "2026-06-06T07:48:31Z", "hours": 2.4033, "text": "Today and yesterday i was a little busy but I did get stuff done: *Starting to do the script logic for the user to make custom events and other cool things *possibly faster rendering (haven’t fully tested) *still under 1.44mb *mouse inversion option for scrolling the scripts *lots of backend stuff If you would like to see the whole development process with videos and pics, the link is here: https://cybrock9000.github.io/CyberWolfGames/engineDev.html"}, {"post_id": 1906, "ts": "2026-06-04T04:04:05Z", "hours": 2.1325, "text": "The things I have added to my game engine today: I have fixed the map grid cursor and implemented drawing walls. I made it possible to change the wall color in editor Changeable map grid cursor speed Other little tweaks Things I still need to do: Make it possible to delete a specific wall Rendering optimizations (it runs fine with low amounts of walls but when there is more than 15 there is a noticeable frame drop) Keep engine below 1.44mb to put it on a floppy drive someday (right now its 100kb) And other stuff that is not my top priority right now. If you want to see more pictures and videos, please look here: https://cybrock9000.github.io/CyberWolfGames/engineDev.html"}, {"post_id": 1261, "ts": "2026-06-03T04:16:06Z", "hours": 3.6242, "text": "I have gotten a lot of stuff done today: worked a lot on the map grid, wall occlusion using raycasting, being able to turn the project into a exe, and some QOL tweaks! If you want to see more pictures and videos, please look here: https://cybrock9000.github.io/CyberWolfGames/engineDev.html"}, {"post_id": 636, "ts": "2026-06-02T04:46:23Z", "hours": 1.3714, "text": "little look at the progress right now. I have added some settings and other buttons functionality’s. I fixed the map grid to properly show the map and added zooming to the map grid. I am planning to fix the way the 3d renderer renders walls eventually. If you want to see more pics and vids, please visit here: https://cybrock9000.github.io/CyberWolfGames/engineDev.html"}, {"post_id": 543, "ts": "2026-06-02T00:52:19Z", "hours": 1.2856, "text": "worked on the little viewport that shows a 2d version of the map with accurate wall sizes and colors. and added controls to move the map and zoom in and out"}, {"post_id": 458, "ts": "2026-06-01T22:07:29Z", "hours": 1.0192, "text": "3d rendering of 2 walls"}]...
|
Title: Cyber Game Engine by @Cy | Stardance
Devlo Title: Cyber Game Engine by @Cy | Stardance
Devlogs:
3d rendering of 2 walls
worked on the little viewport that shows a 2d version of the map with accurate wall sizes and colors. and added controls to move the map and zoom in and out
little look at the progress right now. I have added some settings and other buttons functionality’s. I fixed the map grid to properly show the map and added zooming to the map grid. I am planning to fix the way the 3d renderer renders walls eventually. If you want to see more pics and vids, please visit here: https://cybrock9000.github.io/CyberWolfGames/engineDev.html
I have gotten a lot of stuff done today: worked a lot on the map grid, wall occlusion using raycasting, being able to turn the project into a exe, and some QOL tweaks! If you want to see more pictures and videos, please look here: https://cybrock9000.github.io/CyberWolfGames/engineDev.html
The things I have added to my game engine today: I have fixed the map grid cursor and implemented drawing walls. I made it possible to change the wall color in editor Changeable map grid cursor speed Other little tweaks Things I still need to do: Make it possible to delete a specific wall Rendering optimizations (it runs fine with low amounts of walls but when there is more than 15 there is a noticeable frame drop) Keep engine below 1.44mb to put it on a floppy drive someday (right now its 100kb) And other stuff that is not my top priority right now. If you want to see more pictures and videos, please look here: https://cybrock9000.github.io/CyberWolfGames/engineDev.html
Today and yesterday i was a little busy but I did get stuff done: *Starting to do the script logic for the user to make custom events and other cool things *possibly faster rendering (haven’t fully tested) *still under 1.44mb *mouse inversion option for scrolling the scripts *lots of backend stuff If you would like to see the whole development process with videos and pics, the link is here: https://cybrock9000.github.io/CyberWolfGames/engineDev.html
today I had a lot of free time that I spent working on this project, here is what I have done: Walls are now correctly layered depending on the distance (with the furthest one being first and the closest last) *screen smoothly scales to correct size instead of instantly being set to that size Started implementing the scripts but I need some time to figure out how I want to do it. Still under 1.44mb if you are interested in this project more, I suggest looking at my website to see cool pics and vids: https://cybrock9000.github.io/CyberWolfGames/engineDev.html
I`ve done some stuff the past couple days: Have the option to have walls get darker the further they are The mouse now rotates the camera instead of arrow keys You can now set the player starting point if you are interested in pics and vids please look here: https://cybrock9000.github.io/CyberWolfGames/engineDev.html
I have been working offline quite a bit and done quite a bit: option to enable darkness in the engine a vignette will draw when there is darkness there is now a sky (using the gross webp format for being a small file size) there is now a simple hud simple gravity jumping and crouching other tiny things still under 1.44mb if you are interested in more, plz visit here: https://cybrock9000.github.io/CyberWolfGames/index.html I wont be posting that much because of my internet being out but i am still working on both projects :)
So its been a while since my last devlog and I have done not that much (I was busy and burned out), so Im going to talk. I have created a custom code editor that just handles the basics so far. Like: Writing stuff, multi line stuff, custom color pallets for fun and saving. This new IDE will help program in the custom programing language (when I get to that point). I need to figure out how to make the 3d rendering faster because right now it runs on an average 17-30fps (with no cap) when its near some walls. I am happy if it stayed at 30, but sometimes it drops to 7. Im thinking on executing this by some way of multithreading/multiprocessing or find a more optimized way to do the raycasting (which just checks to see if you are looking at a wall). One of the things that I am really stuck on though is putting the 2d sprites/objects/npcs into a 3d world. I have an idea on how to do it but putting it into code is tough. But even though I have a lot to do, Its still under 1.44mb
I HAVE FIGGURED IT OUT!!! I HAVE MADE THE RENDERING FAST!!! Turns out I was checking every step that the ray moves (which is about 250) for 20 rays (5000 checks) for each wall (if its 10 walls, that is 50000 checks) which is very hardware expensive. I solved it by just doing one check per ray by firing the ray and checking it once (for those same stats above with this new method, it is 200 checks WHICH IS HUGE!!!). And that means that the is near no limit on how long the rays are. And now the games the engine makes are a smooth 60fps (uncapped is roughly 175-200fps) and before with the same map and settings it was 7-30fps. The engine will default the ray count to 30 with a ray dist of 500. I have also started working on the .cy script (top right pic) to make life easier doing coding for the engine to make your game. Right now it only looks for player.cy but I will have it load all in the scripts folder. The IDE that I am working on for this now can load and save files, it loads what words to be in color by loading a .json file, and you can scroll. My next steps are to work on the scripts and figure out objects/sprites (2d objects in a 3d world, look up Wolfenstein 3D to see what I mean). I also need to update my website to include documentation on how to use this engine ( https://cybrock9000.github.io/CyberWolfGames/index.html ). I would like to also polish up the engine too by making it more satisfying in some areas and also add button mappings to the map grid. With all that said, I am really happy on where this is going and I am still happy to say that this is still under 1.44mb :). -Cy
I have not been working on these projects in a while because I found out that Terraria exists but today I have spent many hours working on both projects. Things I have done today: I finally started working on the NPC `s (It works, and I had to look WAY back to my old raycaster on scratch to figure it out lol), More stuff with the scripts (for the npc), Doom like hand (that bobs when you move), Done a alternative way to test the game your making without future problems (hopefully), Object/NPC panel (buttons dont work yet),Still under 1.44mb :) . Things I am going to do: Finish NPC, Fix some problems with the IDE, NPC Waypoints (Inspired by NZ:P), Audio scripting (so you can call when a sound should be played), Maybe NPC collision, Weapons/Tools support, Possible flooring/ceiling and more of the 3rd dimension instead of the raycaster feel (this is not a raycaster), Ingame guis, Win function, Keep this below 1.44mb, try to figure out how to use the formatting stuff on this website to make this look good. More development stuff here (might need to be updated): https://cybrock9000.github.io/CyberWolfGames/engine.html
I honestly dont remember what I did the other day except that I made the npc disappear behind walls and some y pos stuff with the npc
I have added some stuff that is major. I have added FLOORS!!!!!! Using the same type of code for the walls but a little different, we can get ourselves some floors. I also added a toggle to swap between adding floors and walls (that W button) and you can see the floors behind the walls in the grid. The floors are slightly optimized to disappear if they are far too. They also support darkness. NPCs also got some stuff done too. they can move toward the player (and phase through walls) and there can be multiple NPCs.
Today is the day I realized I had to lock in in order to get the stuff I want. So, I have done quite a bit in that case like: The floor darkness is fixed, NPCs can be pickup items (kinda, only the gun is supported), very basic tool/weapon support, shooting with the gun and having it detect NPCs, starting the documentation page, lots of stuff behind the scenes like moving the map around with WASD, and a measuring tool for the map. The only problem (that bothers me because there is a lot of problems) Im having right now is the fps tanks when there is flooring. I tried to optimize it but that led nowhere. So you can disable flooring in the settings.
Ive added a a few things like “dynamic” lighting and html documentation. Ive added some keyboard controls to the engine like moving the map with wasd. I changed some buttons around a tad and the gun works and sends NPCs a message (only one right now is die, but more flexibility soon). A demo ship might be coming soon maybe.
You can now give the option to make some NPCs pushable. NPCs now have wall collision and player collision is reworked so you dont “stick” on walls anymore.
Final touchups before demo ship!!!
Ships:
I have make The Cyber Game Engine, witch is a EXTREAMLY light weight game engine made with python and pygame. This is only a demo but I feel its at a useable point even though it has its bugs (some I dont know how to fix like the blank buttons). The most challenging part was the NPCs and 3d Projection and all the little problems that add up. What I am most proud of is making this whole project under 1.44mb to make it fit on a floppy drive and actually seeing what this little project has become. People who are going to use this project, just know that there are bugs and I am planning to add more features like a main menu system and sutch....
|
1792983326.6353207
|
1793069726.6353207
|
|
13805
|
Threejs mountain by @trung_nguyen | Stardance
|
trung_nguyen
|
1
|
50.0
|
784
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-19T09:37:21Z", "hours": 50.0, "multiplier": 17.7, "payout": 784, "blessing": "neutral", "text": "Just shipped Mountain 🏔️ — an interactive WebGPU scene where a single 3D mountain morphs through four worlds: Snow → Night → Meadow → Ocean. Each has its own light, weather, and camera, stitched together by a GPU “energy wave” that sweeps up the peak and washes the next chapter in. The fun part: it’s one mountain mesh, not four scenes. A single shader paints all four looks, and every transition runs as per-frame GPU work — windy snow, glowing night, a meadow full of flowers and fog, an animated ocean with foam and a real lake reflection. Built with Three.js (WebGPU + TSL) and React Three Fiber. Best viewed in Chrome/Edge — switch chapters with the nav at the bottom 👀 🔗 https://2trung.github.io/mountain", "repo": "https://github.com/2trung/mountain", "demo": "https://2trung.github.io/mountain/"}]...
|
[{"post_id": 11857, "ts": "202 [{"post_id": 11857, "ts": "2026-06-19T09:32:22Z", "hours": 9.0853, "text": "last day was a grind, added the dynamic background transitions so the sky changes between chapters, did parallax for some depth (this little touch makes it feel so much more alive), and added the nav buttons so u can actually jump between scenes instead of just scrolling."}, {"post_id": 10684, "ts": "2026-06-17T15:25:38Z", "hours": 8.3386, "text": "new scene!! the ocean one with the island. this was probably the most fun so far. made an ocean wrapping around the island, added foam near the shore and scattered some rocks around so it doesnt look empty. improved the water movement too, reused some stuff from the lake which saved me. coastal mountains in the back tie it together. starting to feel like a real place which is sick"}, {"post_id": 9996, "ts": "2026-06-16T15:11:11Z", "hours": 15.7522, "text": "added a LAKE today. the meadow scene needed water and omg the reflections were a nightmare. like genuinely the water looked like cursed plastic for hours before i got it looking semi decent. stuff i did: added the lake water reflections + surface (the pain) blended the terrain around the shore so it doesnt just clip into the water threw in some fog for depth, instantly made it look 10x better honestly fog is so underrated it hides all my sins"}, {"post_id": 8715, "ts": "2026-06-14T14:08:09Z", "hours": 7.3389, "text": "2 of the 4 scenes are basically done now lets gooo. spent today on lighting mostly, the first version looked super flat and depressing so i messed with it til it had some actual mood to it. also kept tweaking materials (probably spent too long on this, i keep going back and changing tiny things nobody will notice). and i adjusted the camera framing so each scene actually looks composed n not random. feeling good about progress"}, {"post_id": 8074, "ts": "2026-06-13T14:09:55Z", "hours": 3.7942, "text": "short one today, was kinda busy w school. mostly worked on the transitions between sections, getting the camera to glide instead of snapping. took way longer than expected, transitions are deceptively annoying. polished a few other things and called it."}, {"post_id": 6880, "ts": "2026-06-11T15:15:07Z", "hours": 4.0511, "text": "todays the day it started feeling like an actual project. did the clouds!! they’re procedural which sounds fancy but i basically just spent 4 hours fighting with noise functions until something cloud shaped appeared. animated them with TSL (still kinda new to me ngl) and wrote a custom material so they render right. also went back n refined the mountain peaks cause they looked too smooth/fake before. the vibe is slowly coming together, im hyped"}, {"post_id": 6574, "ts": "2026-06-11T01:20:12Z", "hours": 1.7125, "text": "ok so i finally started the three.js thing ive been putting off for like 2 weeks lol. spent most of today just getting the boilerplate going, canvas + camera + renderer blah blah. honestly the boring part but u gotta do it. got my first glb model loaded in and it showed up as a giant black blob until i realized i had zero lights in the scene classic. added some lighting and boom theres my mountain. also made the canvas resize properly cause i hate when stuff looks stretched on different screens. not much to look at yet but the bones are there. excited to actually make it pretty later"}]...
|
Title: Threejs mountain by @trung_nguyen | Stardan Title: Threejs mountain by @trung_nguyen | Stardance
Devlogs:
ok so i finally started the three.js thing ive been putting off for like 2 weeks lol. spent most of today just getting the boilerplate going, canvas + camera + renderer blah blah. honestly the boring part but u gotta do it. got my first glb model loaded in and it showed up as a giant black blob until i realized i had zero lights in the scene classic. added some lighting and boom theres my mountain. also made the canvas resize properly cause i hate when stuff looks stretched on different screens. not much to look at yet but the bones are there. excited to actually make it pretty later
todays the day it started feeling like an actual project. did the clouds!! they’re procedural which sounds fancy but i basically just spent 4 hours fighting with noise functions until something cloud shaped appeared. animated them with TSL (still kinda new to me ngl) and wrote a custom material so they render right. also went back n refined the mountain peaks cause they looked too smooth/fake before. the vibe is slowly coming together, im hyped
short one today, was kinda busy w school. mostly worked on the transitions between sections, getting the camera to glide instead of snapping. took way longer than expected, transitions are deceptively annoying. polished a few other things and called it.
2 of the 4 scenes are basically done now lets gooo. spent today on lighting mostly, the first version looked super flat and depressing so i messed with it til it had some actual mood to it. also kept tweaking materials (probably spent too long on this, i keep going back and changing tiny things nobody will notice). and i adjusted the camera framing so each scene actually looks composed n not random. feeling good about progress
added a LAKE today. the meadow scene needed water and omg the reflections were a nightmare. like genuinely the water looked like cursed plastic for hours before i got it looking semi decent. stuff i did: added the lake water reflections + surface (the pain) blended the terrain around the shore so it doesnt just clip into the water threw in some fog for depth, instantly made it look 10x better honestly fog is so underrated it hides all my sins
new scene!! the ocean one with the island. this was probably the most fun so far. made an ocean wrapping around the island, added foam near the shore and scattered some rocks around so it doesnt look empty. improved the water movement too, reused some stuff from the lake which saved me. coastal mountains in the back tie it together. starting to feel like a real place which is sick
last day was a grind, added the dynamic background transitions so the sky changes between chapters, did parallax for some depth (this little touch makes it feel so much more alive), and added the nav buttons so u can actually jump between scenes instead of just scrolling.
Ships:
Just shipped Mountain 🏔️ — an interactive WebGPU scene where a single 3D mountain morphs through four worlds: Snow → Night → Meadow → Ocean. Each has its own light, weather, and camera, stitched together by a GPU “energy wave” that sweeps up the peak and washes the next chapter in. The fun part: it’s one mountain mesh, not four scenes. A single shader paints all four looks, and every transition runs as per-frame GPU work — windy snow, glowing night, a meadow full of flowers and fog, an animated ocean with foam and a real lake reflection. Built with Three.js (WebGPU + TSL) and React Three Fiber. Best viewed in Chrome/Edge — switch chapters with the nav at the bottom 👀 🔗 https://2trung.github.io/mountain...
|
1792878507.1665027
|
1793742507.1665027
|
|
25748
|
a lego sorter app by @legolucas | Stardance
|
legolucas
|
1
|
56.0
|
774
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-26T11:56:00Z", "hours": 56.0, "multiplier": 13.88, "payout": 774, "blessing": "neutral", "text": "i made the software/ui for my lego sorting machine i am proud that it works and that i now can begin on my hardware project and it looks really good i think i hope you also think that", "repo": "https://github.com/ecochicnl-collab/lego-sortingmachine", "demo": "https://legosorterv2.netlify.app/"}]...
|
[{"post_id": 54502, "ts": "202 [{"post_id": 54502, "ts": "2026-08-25T14:59:14Z", "hours": 7.7147, "text": "Devlog #12 Project: LEGO Sorter AppOverviewFinalizing the search system and completing the software development.Progress UpdateI fully finished the search and inventory system! It now supports detailed search filters and visual previews with images. With help from AI, I resolved a major issue where downloading images and syncing all storage bins was freezing the app due to long loading times. With an optimized asynchronous system in place, the entire software suite is complete. This marks the final devlog for the software phase.Next StepsShift focus entirely to the physical device and start building the hardware.Thank you for reading!"}, {"post_id": 34127, "ts": "2026-07-24T16:49:13Z", "hours": 7.6042, "text": "Devlog #11 Project: LEGO Sorter App Overview Connecting the software to the hardware. Progress Update Today, I built the interface that runs directly on the sorting machine. It successfully communicates with the esp32 via Python scripts. This marks a major milestone in bridging the simulation with the physical device. Next Steps Develop the “Pak een blokje” (Pick a brick) feature. Finalize the inventory screen. Thank you for reading!"}, {"post_id": 30821, "ts": "2026-07-18T19:08:12Z", "hours": 9.2661, "text": "Devlog #10 Project: LEGO Sorter App Overview Completion of the search and inventory system. Progress Update The search system is now complete, although I still need to polish minor details like text sizes and player preferences later. I downloaded a CSV file from BrickLink containing all existing LEGO bricks and built a search interface using toggles for specific categories like modified hinges. Users can input brick sizes to find specific parts, and the grid system updates accordingly. Next Steps Clean up the UI for the inventory tab. Begin the next phase of development. Thank you for reading!"}, {"post_id": 29368, "ts": "2026-07-16T08:35:47Z", "hours": 1.7981, "text": "Devlog #09 Project: LEGO Sorter App Overview Managing the UI for the two sides of the sorting machine. Progress Update I have built the system for both sides of the machine, including a screen-switching mechanism. Implementing the screen transitions was time-consuming due to the grid layout, but it is now functioning as intended. My next focus is researching how to connect the BrickLink database to Unity so that specific bricks can be assigned to individual cups. Next Steps Integrate the BrickLink database into the project. Refine the assignment logic for bricks and cups. Thank you for reading!"}, {"post_id": 29106, "ts": "2026-07-15T19:23:17Z", "hours": 2.73, "text": "Devlog #08 Project: LEGO Sorter App Overview Development of the cup grid system. Progress Update I created a grid representing the LEGO storage cups, with 500 spots on each side. I implemented a system where these spots function as buttons, including a zoom functionality for better accessibility. I faced an issue where only the first layer would move correctly during interaction, but I was eventually able to resolve this with some help from AI. Next Steps Continue refining the grid interactions. Begin integrating the sorting logic with the grid. Thank you for reading!"}, {"post_id": 28837, "ts": "2026-07-15T10:51:58Z", "hours": 6.8975, "text": "Devlog #07 Project: LEGO Sorter App Overview The simulation tab is now complete. Progress Update I have finalized the UI for the simulation tab, which now includes sliders to adjust the rotation speed and the drop timing. I have also implemented a calculation system that determines the throughput of the machine, measured in bricks per hour. Next Steps Transition to developing a new tab for the application. Thank you for reading!"}, {"post_id": 26575, "ts": "2026-07-11T14:13:51Z", "hours": 0.6842, "text": "Devlog #06 Project: LEGO Sorter App Overview Improvements to the detection accuracy of the system. Progress Update The system is now performing reliably. By introducing a timer that allows the brick to fall for a slightly longer duration before scanning, the AI is consistently identifying the bricks correctly. Next Steps Finalize the simulation tab interface. Begin work on additional UI elements. Thank you for reading!"}, {"post_id": 26546, "ts": "2026-07-11T12:58:32Z", "hours": 9.0408, "text": "Devlog #05 Project: LEGO Sorter App Overview I have successfully integrated the Brickognize API into the Unity environment. Progress Update Getting the colliders and rotation to sync with brick falling was difficult, but it is now operational. I implemented a logic where the brick becomes a child of the carousel upon contact. Furthermore, I set up a system that captures images of both the top and bottom of the brick and sends them to the Brickognize API. Because I had trouble getting the implementation to work, I utilized AI to assist with the Python script used for API communication within Unity. Next Steps Tweak the physical interaction of the bricks to make the movement feel more realistic. Continue optimizing the detection workflow. Thank you for reading!"}, {"post_id": 21740, "ts": "2026-07-03T20:37:03Z", "hours": 6.4189, "text": "Devlog #04 Project: LEGO Sorter App Overview This update focuses on optimizing the carousel simulation and implementing a collision avoidance system. Progress Update After troubleshooting various joint configurations that did not perform as expected, I pivoted to using transform-based simulation for the carousel. I also implemented a safety system: if a brick is detected in the fall range of another C-channel, that specific channel will pause its movement to prevent jams. This ensures that bricks are handled one at a time. Next Steps Implement image capturing of the carousel using OpenCV. Integrate the Brickognize API to identify the LEGO bricks. Thank you for reading!"}, {"post_id": 20029, "ts": "2026-07-01T15:08:03Z", "hours": 1.3989, "text": "Devlog #03 Project: LEGO Sorter App Overview The simulation is taking shape with the addition of physical interactions and movement. Progress Update I have implemented the script that allows the C-channel to rotate. I also set up the spawning logic for the LEGO bricks. A significant challenge was fine-tuning the mesh colliders and rigidbodies to ensure the bricks interact correctly. The bricks currently lack sufficient traction, so I will need to experiment with different mass settings and physical properties. Next Steps Test different physics configurations to optimize brick movement. Refine the interaction between the bricks and the carousel. Thank you for reading!"}, {"post_id": 19955, "ts": "2026-07-01T12:33:35Z", "hours": 1.2903, "text": "Devlog #02 Project: LEGO Sorter App Overview Today, I made progress on the Unity simulation environment. Progress Update I successfully imported the 3D model of the C-channel, which I designed in Fusion 360, into the Unity project. Additionally, I implemented a camera script that allows for viewing the model from different angles and includes a zoom function for closer inspection of the components. Next Steps Begin integrating rotation logic for the components. Set up the brick spawning mechanics. Thank you for reading!"}, {"post_id": 15645, "ts": "2026-06-25T13:17:08Z", "hours": 0.8986, "text": "Devlog #01 Project: LEGO Sorter App Overview Hello everyone, welcome to the first devlog for the LEGO Sorter App. I have officially started working on this project, which involves two main components: designing the physical sorter in Fusion 360 and developing the software application in Unity to manage the sorting process. Progress Update Today, I have nearly completed the physical model for the sorter in Fusion 360. Simultaneously, I have begun the foundational work in Unity by implementing the basic UI and buttons that allow for navigation between different scenes. Next Steps Continue refining the physical model in Fusion 360. Expand the Unity interface to include more detailed menus. Thank you for reading!"}]...
|
Title: a lego sorter app by @legolucas | Stardance Title: a lego sorter app by @legolucas | Stardance
Devlogs:
Devlog #01 Project: LEGO Sorter App Overview Hello everyone, welcome to the first devlog for the LEGO Sorter App. I have officially started working on this project, which involves two main components: designing the physical sorter in Fusion 360 and developing the software application in Unity to manage the sorting process. Progress Update Today, I have nearly completed the physical model for the sorter in Fusion 360. Simultaneously, I have begun the foundational work in Unity by implementing the basic UI and buttons that allow for navigation between different scenes. Next Steps Continue refining the physical model in Fusion 360. Expand the Unity interface to include more detailed menus. Thank you for reading!
Devlog #02 Project: LEGO Sorter App Overview Today, I made progress on the Unity simulation environment. Progress Update I successfully imported the 3D model of the C-channel, which I designed in Fusion 360, into the Unity project. Additionally, I implemented a camera script that allows for viewing the model from different angles and includes a zoom function for closer inspection of the components. Next Steps Begin integrating rotation logic for the components. Set up the brick spawning mechanics. Thank you for reading!
Devlog #03 Project: LEGO Sorter App Overview The simulation is taking shape with the addition of physical interactions and movement. Progress Update I have implemented the script that allows the C-channel to rotate. I also set up the spawning logic for the LEGO bricks. A significant challenge was fine-tuning the mesh colliders and rigidbodies to ensure the bricks interact correctly. The bricks currently lack sufficient traction, so I will need to experiment with different mass settings and physical properties. Next Steps Test different physics configurations to optimize brick movement. Refine the interaction between the bricks and the carousel. Thank you for reading!
Devlog #04 Project: LEGO Sorter App Overview This update focuses on optimizing the carousel simulation and implementing a collision avoidance system. Progress Update After troubleshooting various joint configurations that did not perform as expected, I pivoted to using transform-based simulation for the carousel. I also implemented a safety system: if a brick is detected in the fall range of another C-channel, that specific channel will pause its movement to prevent jams. This ensures that bricks are handled one at a time. Next Steps Implement image capturing of the carousel using OpenCV. Integrate the Brickognize API to identify the LEGO bricks. Thank you for reading!
Devlog #05 Project: LEGO Sorter App Overview I have successfully integrated the Brickognize API into the Unity environment. Progress Update Getting the colliders and rotation to sync with brick falling was difficult, but it is now operational. I implemented a logic where the brick becomes a child of the carousel upon contact. Furthermore, I set up a system that captures images of both the top and bottom of the brick and sends them to the Brickognize API. Because I had trouble getting the implementation to work, I utilized AI to assist with the Python script used for API communication within Unity. Next Steps Tweak the physical interaction of the bricks to make the movement feel more realistic. Continue optimizing the detection workflow. Thank you for reading!
Devlog #06 Project: LEGO Sorter App Overview Improvements to the detection accuracy of the system. Progress Update The system is now performing reliably. By introducing a timer that allows the brick to fall for a slightly longer duration before scanning, the AI is consistently identifying the bricks correctly. Next Steps Finalize the simulation tab interface. Begin work on additional UI elements. Thank you for reading!
Devlog #07 Project: LEGO Sorter App Overview The simulation tab is now complete. Progress Update I have finalized the UI for the simulation tab, which now includes sliders to adjust the rotation speed and the drop timing. I have also implemented a calculation system that determines the throughput of the machine, measured in bricks per hour. Next Steps Transition to developing a new tab for the application. Thank you for reading!
Devlog #08 Project: LEGO Sorter App Overview Development of the cup grid system. Progress Update I created a grid representing the LEGO storage cups, with 500 spots on each side. I implemented a system where these spots function as buttons, including a zoom functionality for better accessibility. I faced an issue where only the first layer would move correctly during interaction, but I was eventually able to resolve this with some help from AI. Next Steps Continue refining the grid interactions. Begin integrating the sorting logic with the grid. Thank you for reading!
Devlog #09 Project: LEGO Sorter App Overview Managing the UI for the two sides of the sorting machine. Progress Update I have built the system for both sides of the machine, including a screen-switching mechanism. Implementing the screen transitions was time-consuming due to the grid layout, but it is now functioning as intended. My next focus is researching how to connect the BrickLink database to Unity so that specific bricks can be assigned to individual cups. Next Steps Integrate the BrickLink database into the project. Refine the assignment logic for bricks and cups. Thank you for reading!
Devlog #10 Project: LEGO Sorter App Overview Completion of the search and inventory system. Progress Update The search system is now complete, although I still need to polish minor details like text sizes and player preferences later. I downloaded a CSV file from BrickLink containing all existing LEGO bricks and built a search interface using toggles for specific categories like modified hinges. Users can input brick sizes to find specific parts, and the grid system updates accordingly. Next Steps Clean up the UI for the inventory tab. Begin the next phase of development. Thank you for reading!
Devlog #11 Project: LEGO Sorter App Overview Connecting the software to the hardware. Progress Update Today, I built the interface that runs directly on the sorting machine. It successfully communicates with the esp32 via Python scripts. This marks a major milestone in bridging the simulation with the physical device. Next Steps Develop the “Pak een blokje” (Pick a brick) feature. Finalize the inventory screen. Thank you for reading!
Devlog #12 Project: LEGO Sorter AppOverviewFinalizing the search system and completing the software development.Progress UpdateI fully finished the search and inventory system! It now supports detailed search filters and visual previews with images. With help from AI, I resolved a major issue where downloading images and syncing all storage bins was freezing the app due to long loading times. With an optimized asynchronous system in place, the entire software suite is complete. This marks the final devlog for the software phase.Next StepsShift focus entirely to the physical device and start building the hardware.Thank you for reading!
Ships:
i made the software/ui for my lego sorting machine i am proud that it works and that i now can begin on my hardware project and it looks really good i think i hope you also think that...
|
1792993804.5416493
|
1793080204.5416493
|
|
41331
|
Gaming Skill Trainer by @EthanCubes | Stardance
|
EthanCubes
|
1
|
53.0
|
774
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-08T14:52:13Z", "hours": 53.0, "multiplier": 14.68, "payout": 774, "blessing": "neutral", "text": "I made a web app with various trainers, tests, and resources to improve your gaming skills. The most challenging thing was probably making the focus and typing tests, since they involve a lot of dom manipulation. All the tests were pretty fun to make though, and I’m pretty proud of the typing trainer especially.", "repo": "https://github.com/EthanCubes/gaming-skill-trainer", "demo": "https://ethancubes.github.io/gaming-skill-trainer/"}]...
|
[{"post_id": 43008, "ts": "202 [{"post_id": 43008, "ts": "2026-08-08T01:16:11Z", "hours": 2.6844, "text": "Devlog #12: Yet more QoL changes. I think the project is close to or already ready for shipping, but I’m so paranoid about whether it is good enough or not that I’ve been delaying it for a LONG time. This time, I first centralized all the text on the resources and help pages, and also cleaned up the styles.css file a bit. And by a bit, I mean a lot, since that thing was a literal like dumpster fire. Still kinda is, but it’s better than it used to be. In an attempt to improve the user experience, I also added a link to the help page on every single page (except for the resources page). The question mark design probably could’ve been made in HTML and CSS with relatively low effort, but I decided to make the icon in krita anyway. This will either be the last devlog before I ship, or I will delay shipping for another like week or something idk."}, {"post_id": 42429, "ts": "2026-08-07T03:48:25Z", "hours": 4.0817, "text": "Devlog #11: I made a lot of QoL changes like removing some console logs, adding more words to the word bank, and cleaning up the UI (hopefully). I also added a help page (I had to type all of that myself), which is why it took me four hours. It’s not even that good of a page, I just had to type a lot of stuff manually. So much for fast typing speed."}, {"post_id": 42138, "ts": "2026-08-06T18:48:32Z", "hours": 6.5356, "text": "Devlog #10: I added a typing trainer, and it was actually pretty fun to implement. I mean, apart waking up and trying to figure out what the hell the code I wrote last night means. Initially I was going to make like a “tape” structure, when the words scroll across the cursor. Because I centered the entire thing, it automatically made the cursor scroll across the test instead. I decided that it was good enough. Essentially, I made the the program by making a paragraph element. I changed it with innerHTML to contain the letters that’s already been typed, a blue cursor, and the letters that are yet to be typed. The letters (words actually) are generated from a text document that the JavaScript reads. And like when you press the correct key, the letter moves from the untyped side to the typed side. (Speaking of typing, I’m so used to using Vim that I keep pressing hjkl, i and o on everything.) (IDK why I’m typing so slow in the video, I usually type at around 90-100wpm)"}, {"post_id": 41496, "ts": "2026-08-05T18:56:17Z", "hours": 4.2381, "text": "Devlog #9: I made a bunch of QoL changes to make the site closer to shipping. First, I added a resources page so that people without skills can learn skills. Then, I added the ability to use buttons to select the keys in focus mode, to help mobile and touchscreen users. I also removed the background turning grey in the timing trainer and timer. I also changed the timer location in the Alt Spam and CPS Trainers for parity."}, {"post_id": 41029, "ts": "2026-08-04T23:09:19Z", "hours": 2.7897, "text": "Devlog #8: I finally made the keys move. I feel like I didn’t give enough context on the last devlog. So the “focus mode” I added is a web page where you have to follow one of 8 keys as they shuffle around and stuff. This is based on the ending of Mindcap’s Geometry Dash extreme demon megacollaboration LIMBO . I’ve had the idea of recreating it for like a month now, and I finally did it. So I was writing an entire function with like linear algebra and stuff, and I was fully committed for like an hour and got it somewhat done. Except that it didn’t work. So I asked deepseek because I had no idea what to do and I discovered that I can use CSS to do the same thing for like 20 times easier. I didn’t even know that CSS could make stuff move but whatever. (enjoy the showcase.) I also added a system to use keys 1-8 to pick the keys at the end, and if you get it wrong, uh… try it and find out."}, {"post_id": 40521, "ts": "2026-08-04T03:21:21Z", "hours": 5.75, "text": "Devlog #7: I added a focus mode for the gaming skill trainer. Essentially, I had to write code for starting the program, moving the keys around, and selecting a key at the end (still a work in progress). Since this is based on the Geometry Dash level LIMBO, the “keys” aren’t actually supposed to be colored when they’re moving, but I had to have an indicator that they’re actually moving before I add the animations."}, {"post_id": 39822, "ts": "2026-08-03T02:11:45Z", "hours": 5.2922, "text": "Devlog #6: I use Linux, and the Linux distro I use (Arch btw) doesn’t come with a timer. So I guess I was just needing an excuse to make a timer. It does qualify as something a gamer might want, and also the timer tries to help your eyesight, and a somewhat functional eyesight is definitely beneficial to gaming. And like also about everything else. This was somehow actually harder than I thought. I expected to it to take me like maybe an hour, but it took like 4. (The other 1 came from making improvements to the timing trainer). The timer is 20 minutes (because of the 20-20-20 rule), and can be paused, restarted, and resumed."}, {"post_id": 39201, "ts": "2026-08-02T00:08:17Z", "hours": 4.3767, "text": "Devlog #5: So turns out that I was correct and I did not get the timing trainer done in two hours (as you can see, it took me 4). The program works now. I completely rewrote the program’s code, which probably isn’t the best way to deal with code that absolutely sucks but whatever. Essentially, when the program starts, a circle moves across the screen repeatedly. Every time the circle moves across the screen, you have to hit it just as it crosses the line in the middle of the screen. I was testing the proram with my trackpad, and since it’s like delayed by A LOT, I had to click like a full 100 milliseconds before the circle reaches the line in order to be accurate. That’s why I added ability to use keyboard also. I mean, that’s probably not the entire reason, but yeah. I also wrote 3 entire functions to get accuracy, remove any suffixes to numbers, and get the dimensions of the screen. They were actually pretty fun to make. I might consider creating like a library or something in the future to make people’s lives easier."}, {"post_id": 38544, "ts": "2026-08-01T00:35:56Z", "hours": 8.2039, "text": "Devlog #4 I tried to add 2 features. They’re not done, but the message telling me that I need to post a devlog soon is giving me anxiety. The two features I tried to add are a focus trainer and a timing trainer. The focus trainer involves 8 rotating “keys” inspired by the Geometry Dash level LIMBO’s ending. You have to follow a key that’s randomly selected in the beginning as it moves and shuffles around. At the end, you have to identify the correct key. Right now, the keys are there and can be rotated and positioned, just not like actually moved. The timing trainer involves clicking the mouse as soon as a circle touches a white line, and giving you points depending on how close you are to perfection. The circle is there, but it doesn’t move yet. The problem is that I lowkey will not get the two things done within 2 hours, so yeah."}, {"post_id": 37380, "ts": "2026-07-30T01:44:33Z", "hours": 2.2336, "text": "Devlog #3: I added a trainer for alt spam and spamming with keyboard. For those who don’t know, in Geometry Dash, alt spam is when you click with two separate fingers on two separate hands usually, so that you can get twice the FPS. And in osu! it’s like when you click with 2 fingers to click faster I think I don’t really know that much about osu!. I did spent some time trying to implement a typing speed test, but eventually just gave up and scrapped the idea altogether."}, {"post_id": 37168, "ts": "2026-07-29T17:52:09Z", "hours": 1.1253, "text": "Devlog #2: I added a reaction time test. Note that the home page already existed previously, I just added the button that links to the reaction time page. I don’t think the UI looks that good yet, I’m probably going to improve it if I can find a way to improve it."}, {"post_id": 36811, "ts": "2026-07-29T03:12:40Z", "hours": 5.4522, "text": "Devlog #1: I lowkey kinda suck at video games, so I made a skill trainer to get better. I can’t click fast enough, my aim sucks, and my reaction time is higher than… what I would like it to be (can’t thing of something good, sorry). CPS Test I can’t click that fast. There’s Hypixel bedwars sweats that can click at 30 CPS with one finger, and I can only click at 11CPS with two. I guess I could go on a testing website, but they have ads and I really needed to make something for Stardance. Aim Trainer My aim sucks. How did I come to this conclusion? Well, it took me 10 seconds to click a randomly teleporting circle 16 times. I mean I don’t think it’s that slow, but I can definitely be faster. I’ll add more features later, but so far it’s only these two. bro my mouse broke and i can’t even scroll lol"}]...
|
Title: Gaming Skill Trainer by @EthanCubes | Stard Title: Gaming Skill Trainer by @EthanCubes | Stardance
Devlogs:
Devlog #1: I lowkey kinda suck at video games, so I made a skill trainer to get better. I can’t click fast enough, my aim sucks, and my reaction time is higher than… what I would like it to be (can’t thing of something good, sorry). CPS Test I can’t click that fast. There’s Hypixel bedwars sweats that can click at 30 CPS with one finger, and I can only click at 11CPS with two. I guess I could go on a testing website, but they have ads and I really needed to make something for Stardance. Aim Trainer My aim sucks. How did I come to this conclusion? Well, it took me 10 seconds to click a randomly teleporting circle 16 times. I mean I don’t think it’s that slow, but I can definitely be faster. I’ll add more features later, but so far it’s only these two. bro my mouse broke and i can’t even scroll lol
Devlog #2: I added a reaction time test. Note that the home page already existed previously, I just added the button that links to the reaction time page. I don’t think the UI looks that good yet, I’m probably going to improve it if I can find a way to improve it.
Devlog #3: I added a trainer for alt spam and spamming with keyboard. For those who don’t know, in Geometry Dash, alt spam is when you click with two separate fingers on two separate hands usually, so that you can get twice the FPS. And in osu! it’s like when you click with 2 fingers to click faster I think I don’t really know that much about osu!. I did spent some time trying to implement a typing speed test, but eventually just gave up and scrapped the idea altogether.
Devlog #4 I tried to add 2 features. They’re not done, but the message telling me that I need to post a devlog soon is giving me anxiety. The two features I tried to add are a focus trainer and a timing trainer. The focus trainer involves 8 rotating “keys” inspired by the Geometry Dash level LIMBO’s ending. You have to follow a key that’s randomly selected in the beginning as it moves and shuffles around. At the end, you have to identify the correct key. Right now, the keys are there and can be rotated and positioned, just not like actually moved. The timing trainer involves clicking the mouse as soon as a circle touches a white line, and giving you points depending on how close you are to perfection. The circle is there, but it doesn’t move yet. The problem is that I lowkey will not get the two things done within 2 hours, so yeah.
Devlog #5: So turns out that I was correct and I did not get the timing trainer done in two hours (as you can see, it took me 4). The program works now. I completely rewrote the program’s code, which probably isn’t the best way to deal with code that absolutely sucks but whatever. Essentially, when the program starts, a circle moves across the screen repeatedly. Every time the circle moves across the screen, you have to hit it just as it crosses the line in the middle of the screen. I was testing the proram with my trackpad, and since it’s like delayed by A LOT, I had to click like a full 100 milliseconds before the circle reaches the line in order to be accurate. That’s why I added ability to use keyboard also. I mean, that’s probably not the entire reason, but yeah. I also wrote 3 entire functions to get accuracy, remove any suffixes to numbers, and get the dimensions of the screen. They were actually pretty fun to make. I might consider creating like a library or something in the future to make people’s lives easier.
Devlog #6: I use Linux, and the Linux distro I use (Arch btw) doesn’t come with a timer. So I guess I was just needing an excuse to make a timer. It does qualify as something a gamer might want, and also the timer tries to help your eyesight, and a somewhat functional eyesight is definitely beneficial to gaming. And like also about everything else. This was somehow actually harder than I thought. I expected to it to take me like maybe an hour, but it took like 4. (The other 1 came from making improvements to the timing trainer). The timer is 20 minutes (because of the 20-20-20 rule), and can be paused, restarted, and resumed.
Devlog #7: I added a focus mode for the gaming skill trainer. Essentially, I had to write code for starting the program, moving the keys around, and selecting a key at the end (still a work in progress). Since this is based on the Geometry Dash level LIMBO, the “keys” aren’t actually supposed to be colored when they’re moving, but I had to have an indicator that they’re actually moving before I add the animations.
Devlog #8: I finally made the keys move. I feel like I didn’t give enough context on the last devlog. So the “focus mode” I added is a web page where you have to follow one of 8 keys as they shuffle around and stuff. This is based on the ending of Mindcap’s Geometry Dash extreme demon megacollaboration LIMBO . I’ve had the idea of recreating it for like a month now, and I finally did it. So I was writing an entire function with like linear algebra and stuff, and I was fully committed for like an hour and got it somewhat done. Except that it didn’t work. So I asked deepseek because I had no idea what to do and I discovered that I can use CSS to do the same thing for like 20 times easier. I didn’t even know that CSS could make stuff move but whatever. (enjoy the showcase.) I also added a system to use keys 1-8 to pick the keys at the end, and if you get it wrong, uh… try it and find out.
Devlog #9: I made a bunch of QoL changes to make the site closer to shipping. First, I added a resources page so that people without skills can learn skills. Then, I added the ability to use buttons to select the keys in focus mode, to help mobile and touchscreen users. I also removed the background turning grey in the timing trainer and timer. I also changed the timer location in the Alt Spam and CPS Trainers for parity.
Devlog #10: I added a typing trainer, and it was actually pretty fun to implement. I mean, apart waking up and trying to figure out what the hell the code I wrote last night means. Initially I was going to make like a “tape” structure, when the words scroll across the cursor. Because I centered the entire thing, it automatically made the cursor scroll across the test instead. I decided that it was good enough. Essentially, I made the the program by making a paragraph element. I changed it with innerHTML to contain the letters that’s already been typed, a blue cursor, and the letters that are yet to be typed. The letters (words actually) are generated from a text document that the JavaScript reads. And like when you press the correct key, the letter moves from the untyped side to the typed side. (Speaking of typing, I’m so used to using Vim that I keep pressing hjkl, i and o on everything.) (IDK why I’m typing so slow in the video, I usually type at around 90-100wpm)
Devlog #11: I made a lot of QoL changes like removing some console logs, adding more words to the word bank, and cleaning up the UI (hopefully). I also added a help page (I had to type all of that myself), which is why it took me four hours. It’s not even that good of a page, I just had to type a lot of stuff manually. So much for fast typing speed.
Devlog #12: Yet more QoL changes. I think the project is close to or already ready for shipping, but I’m so paranoid about whether it is good enough or not that I’ve been delaying it for a LONG time. This time, I first centralized all the text on the resources and help pages, and also cleaned up the styles.css file a bit. And by a bit, I mean a lot, since that thing was a literal like dumpster fire. Still kinda is, but it’s better than it used to be. In an attempt to improve the user experience, I also added a link to the help page on every single page (except for the resources page). The question mark design probably could’ve been made in HTML and CSS with relatively low effort, but I decided to make the icon in krita anyway. This will either be the last devlog before I ship, or I will delay shipping for another like week or something idk.
Ships:
I made a web app with various trainers, tests, and resources to improve your gaming skills. The most challenging thing was probably making the focus and typing tests, since they involve a lot of dom manipulation. All the tests were pretty fun to make though, and I’m pretty proud of the typing trainer especially....
|
1792986960.912509
|
1793073360.912509
|
|
17884
|
Aether by @Kvin | Stardance
|
Kvin
|
1
|
59.0
|
759
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-17T15:34:14Z", "hours": 59.0, "multiplier": 19.2, "payout": 759, "blessing": "neutral", "text": "Aether - an infinite universe, grown from a single word. Type a word and Aether builds you a whole universe: a galaxy of stars to fly through, systems to dive into, and worlds to land on and scan. Pick any planet and it turns under its own sunlight, with clouds that drift across it and shadow the ground, light glinting off its oceans, rings that throw a shadow over the globe and moons that slip behind it. Here is the strange part. There are no assets. Not one image, model or sound file anywhere in it. Every star, every world, every name, every line of lore, and even the music and the rush of each warp, are generated live from maths, from your word. It is plain HTML and a 2D canvas, no game engine and nothing to download, so it runs at 60fps in the browser, phones included. Share a link and whoever opens it lands on your exact world, in your exact universe. Try violet-tide-77 for a lava world glowing on its night side, bin-3 for a system with two suns, or just type your own name and see the one that only you have!", "repo": "https://github.com/Kvin-21/Aether", "demo": "https://kvin-21.github.io/Aether/"}]...
|
[{"post_id": 10687, "ts": "202 [{"post_id": 10687, "ts": "2026-06-17T15:29:57Z", "hours": 22.9639, "text": "Open it now and a whole galaxy drifts quietly behind the title, waiting for you. Tap the small speaker in the corner. The universe starts to sing. A slow score drifts and resolves beneath you as you fly, and every jump between stars carries its own sound. I’ve fixed the auido. There is not a single sound file in the whole project. The music, and the whoosh of each warp, are built live from oscillators and a little maths, exactly the way the stars and worlds are. Nothing here is downloaded. It is all conjured from your word. I spent this last stretch trying to break it. Zoom out as far as you like and it stays smooth. Click like a maniac and nothing trips. Y So that is the whole thing: a universe from a single word, that you can fly through, land on, scan, listen to, and hand to someone else with a link!"}, {"post_id": 9296, "ts": "2026-06-15T16:44:58Z", "hours": 14.8908, "text": "It’s live! Where there used to be a black loading screen, a whole galaxy now drifts quietly behind the title, waiting for you at https://kvin-21.github.io/Aether ! Type a word, warp in, and everything glows. Bright stars bloom and bleed light into the dark around them. Same as the first day: none of it is downloaded. Still flat 2D, still pure maths, still conjured from your word. It has just put its make-up on. This is the part where it stops being a build and starts being a place. It holds together now/ I spent this last stage trying to break it, then fixing whatever broke. Strange seeds, empty ones, ones in other alphabets, ones two hundred characters long, all land somewhere real. Zoom as far out as you like and it stays smooth. Click like a maniac and nothing trips. Your browser’s back and forward buttons move through the universe with you now. And a share link, opened cold by a stranger, rebuilds your exact world on your exact planet, every single time. So that is the whole thing: a universe from a single word, that you can fly through, land on, scan, listen to, and hand to someone else with a link. Try violet-tide-77 and watch a lava world glow on its night side. Try bin-3 for a system with two suns sharing one centre. Then type your own name, and go and see the universe that only you have. But ofcourse, there are still some bugs with the sound :("}, {"post_id": 8496, "ts": "2026-06-14T03:56:37Z", "hours": 9.5142, "text": "Now it casts shadows Look closely at the planet. That bright spot on the ocean is the sun, reflecting off the water exactly where it should, and it vanishes the instant a cloud drifts over it. Those clouds sit above the surface and throw soft shadows onto the ground below. The rings lay their own shadow across the globe. Now the surprising part, the same one as last time: none of this is 3D. There is still no GPU, no model, no texture, not one downloaded file. It is all flat 2D and pure maths, conjured from your word. It has simply learnt to pretend it has depth, and it pretends well enough that your eye stops asking. Drop onto a planet now and it is actually alive with detail. Clouds drift a touch faster than the ground turning beneath them, and they shade what passes under them. Moons now circle on their own lit paths, slipping in front of the planet and then behind it. Lava worlds, ice worlds, deserts, oceans, green terran worlds, each one scanned and flagged for whether anything could live there. The lore has grown a memory too: it reads the world’s gravity, its heat, its moons, have a different story for each. Systems are stranger than before. Some stars have a companion, two suns sharing one centre, each with its own corona. Belts of asteroids hide in the gaps between orbits. Clicking a star now is no longer a cut. The camera dives, flying you down into the star before its system opens around, and flying you back out when you leave. There is a jump-to-seed box in the corner if you want to leap straight to a particular universe, with your seed, coordinates and zoom always on show!"}, {"post_id": 7938, "ts": "2026-06-13T07:45:20Z", "hours": 11.7253, "text": "What if you could create a universe from your favourite words? What loads is a universe. Your universe. A galaxy of stars nobody has ever flown through, scattered over nebulae nobody has ever seen, because none of it existed until the moment you pressed Enter. Type a different word and the old one is gone, replaced by another entire cosmos waiting to be explored. That is Aether. And here is the part that’s surprising: there are no images in it. None. Not a single texture, model, photo or downloaded file. Every star, every ringed gas giant, every drifting smear of colour is pure maths, generated live from your word. The whole thing is light enough to run on your phone, because there is nothing to load. It is all conjured on the spot. This is the first build, and you can already travel. You start above a galaxy map, an endless field of stars you can drag and zoom through, drifting over layered clouds of gas. Each star is coloured by its real stellar class, from hot blue-white giants down to dim red dwarfs, and each carries a name. Hover one and it tells you what it is called. Pick one and you warp in, starlines streaking past. Inside a system, planets swing around their star on live orbits, rocky worlds and banded gas giants, some having rings. Choose one and you fall towards it. It turns slowly under its own sunlight, wrapped in a thin halo of atmosphere, its rings passing in front and behind. A scan panel reads out the world: radius, gravity, surface temperature, atmosphere, the length of its day, its moons, and a line or two of lore about the place. Then you can leave, and the whole universe is still sitting exactly where you left it. Every world has an address. Hit share and you get a link holding the seed and your exact position, down to the planet you were staring at. Send it and the other person opens the same cosmos, in the same spot, on the same world. Try a different name, and watch a completely different universe assemble itself. Next, I am deepening every layer: richer terrain and weather on the planets, binary stars and asteroid belts, more believable names and histories."}]...
|
Title: Aether by @Kvin | Stardance
Devlogs:
What Title: Aether by @Kvin | Stardance
Devlogs:
What if you could create a universe from your favourite words? What loads is a universe. Your universe. A galaxy of stars nobody has ever flown through, scattered over nebulae nobody has ever seen, because none of it existed until the moment you pressed Enter. Type a different word and the old one is gone, replaced by another entire cosmos waiting to be explored. That is Aether. And here is the part that’s surprising: there are no images in it. None. Not a single texture, model, photo or downloaded file. Every star, every ringed gas giant, every drifting smear of colour is pure maths, generated live from your word. The whole thing is light enough to run on your phone, because there is nothing to load. It is all conjured on the spot. This is the first build, and you can already travel. You start above a galaxy map, an endless field of stars you can drag and zoom through, drifting over layered clouds of gas. Each star is coloured by its real stellar class, from hot blue-white giants down to dim red dwarfs, and each carries a name. Hover one and it tells you what it is called. Pick one and you warp in, starlines streaking past. Inside a system, planets swing around their star on live orbits, rocky worlds and banded gas giants, some having rings. Choose one and you fall towards it. It turns slowly under its own sunlight, wrapped in a thin halo of atmosphere, its rings passing in front and behind. A scan panel reads out the world: radius, gravity, surface temperature, atmosphere, the length of its day, its moons, and a line or two of lore about the place. Then you can leave, and the whole universe is still sitting exactly where you left it. Every world has an address. Hit share and you get a link holding the seed and your exact position, down to the planet you were staring at. Send it and the other person opens the same cosmos, in the same spot, on the same world. Try a different name, and watch a completely different universe assemble itself. Next, I am deepening every layer: richer terrain and weather on the planets, binary stars and asteroid belts, more believable names and histories.
Now it casts shadows Look closely at the planet. That bright spot on the ocean is the sun, reflecting off the water exactly where it should, and it vanishes the instant a cloud drifts over it. Those clouds sit above the surface and throw soft shadows onto the ground below. The rings lay their own shadow across the globe. Now the surprising part, the same one as last time: none of this is 3D. There is still no GPU, no model, no texture, not one downloaded file. It is all flat 2D and pure maths, conjured from your word. It has simply learnt to pretend it has depth, and it pretends well enough that your eye stops asking. Drop onto a planet now and it is actually alive with detail. Clouds drift a touch faster than the ground turning beneath them, and they shade what passes under them. Moons now circle on their own lit paths, slipping in front of the planet and then behind it. Lava worlds, ice worlds, deserts, oceans, green terran worlds, each one scanned and flagged for whether anything could live there. The lore has grown a memory too: it reads the world’s gravity, its heat, its moons, have a different story for each. Systems are stranger than before. Some stars have a companion, two suns sharing one centre, each with its own corona. Belts of asteroids hide in the gaps between orbits. Clicking a star now is no longer a cut. The camera dives, flying you down into the star before its system opens around, and flying you back out when you leave. There is a jump-to-seed box in the corner if you want to leap straight to a particular universe, with your seed, coordinates and zoom always on show!
It’s live! Where there used to be a black loading screen, a whole galaxy now drifts quietly behind the title, waiting for you at https://kvin-21.github.io/Aether ! Type a word, warp in, and everything glows. Bright stars bloom and bleed light into the dark around them. Same as the first day: none of it is downloaded. Still flat 2D, still pure maths, still conjured from your word. It has just put its make-up on. This is the part where it stops being a build and starts being a place. It holds together now/ I spent this last stage trying to break it, then fixing whatever broke. Strange seeds, empty ones, ones in other alphabets, ones two hundred characters long, all land somewhere real. Zoom as far out as you like and it stays smooth. Click like a maniac and nothing trips. Your browser’s back and forward buttons move through the universe with you now. And a share link, opened cold by a stranger, rebuilds your exact world on your exact planet, every single time. So that is the whole thing: a universe from a single word, that you can fly through, land on, scan, listen to, and hand to someone else with a link. Try violet-tide-77 and watch a lava world glow on its night side. Try bin-3 for a system with two suns sharing one centre. Then type your own name, and go and see the universe that only you have. But ofcourse, there are still some bugs with the sound :(
Open it now and a whole galaxy drifts quietly behind the title, waiting for you. Tap the small speaker in the corner. The universe starts to sing. A slow score drifts and resolves beneath you as you fly, and every jump between stars carries its own sound. I’ve fixed the auido. There is not a single sound file in the whole project. The music, and the whoosh of each warp, are built live from oscillators and a little maths, exactly the way the stars and worlds are. Nothing here is downloaded. It is all conjured from your word. I spent this last stretch trying to break it. Zoom out as far as you like and it stays smooth. Click like a maniac and nothing trips. Y So that is the whole thing: a universe from a single word, that you can fly through, land on, scan, listen to, and hand to someone else with a link!
Ships:
Aether - an infinite universe, grown from a single word. Type a word and Aether builds you a whole universe: a galaxy of stars to fly through, systems to dive into, and worlds to land on and scan. Pick any planet and it turns under its own sunlight, with clouds that drift across it and shadow the ground, light glinting off its oceans, rings that throw a shadow over the globe and moons that slip behind it. Here is the strange part. There are no assets. Not one image, model or sound file anywhere in it. Every star, every world, every name, every line of lore, and even the music and the rush of each warp, are generated live from maths, from your word. It is plain HTML and a 2D canvas, no game engine and nothing to download, so it runs at 60fps in the browser, phones included. Share a link and whoever opens it lands on your exact world, in your exact universe. Try violet-tide-77 for a lava world glowing on its night side, bin-3 for a system with two suns, or just type your own name and see the one that only you have!...
|
1792878521.102259
|
1793742521.102259
|
|
38792
|
No-inference by @TheShovel | Stardance
|
TheShovel
|
2
|
83.0
|
758
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-16T21:19:17Z", "hours": 12.0, "multiplier": 18.1, "payout": 224, "blessing": "neutral", "text": "Since the last ship, i have added some very basic coding capabilities. Its not great, but its something. I thought id be more motivated to work on this but i guess i was wrong… found something else im more interested in working on instead! So here i am banking my points with a half baked devlog at midnight. Check my profile for my new cool awesome project :D", "repo": "https://github.com/TheShovel/no-inference", "demo": "https://theshovel.rocks/no-inference/"}, {"ship_num": 2, "ts": "2026-08-02T22:15:54Z", "hours": 71.0, "multiplier": 17.78, "payout": 534, "blessing": "neutral", "text": "This is a research project that i did out of curiosity. My question was “do we even need LLMs for agentic chatbots?”. So i tried to build one that doesnt use LLMs and is instead hand written systems. This started fun, but slowly turned into iterative hell, and i came to a conclusion. Is it possible? Yes, definitely. Is anyone gonna do it? HELL NO. Theres a reason the companies who do this decided to go the destroy the environment and use up money and resources route. ITS EASIER. If that doesnt explain it, than idk what does. Test it out, see what you think, its not great and doesnt have a lot of data in it, but i sure did try!", "repo": "https://github.com/TheShovel/no-inference", "demo": "https://theshovel.rocks/no-inference/"}]...
|
[{"post_id": 48493, "ts": "202 [{"post_id": 48493, "ts": "2026-08-16T21:17:03Z", "hours": 2.385, "text": "ok yeah im done for real now. This it. Last one. I just worked on improving its coding capabilities… a little. its still not great, but its still something. Pretty much making this devlog just to bank it the last few hours on this project."}, {"post_id": 42425, "ts": "2026-08-07T03:43:01Z", "hours": 10.0039, "text": "i think i am some kind of masochist cuz for some reason i keep coming back to this project. for some reason i still think this could be something bigger, even though i doubt ill reach that point. well, anyway, i started working on its coding capabilities! still pretty basic and rough, but it does work and it does seem to scale decently! you can ask it to make edits, add logging and explain the code and so on. pretty cooool ok back to data engineering hell i go"}, {"post_id": 39745, "ts": "2026-08-02T22:11:45Z", "hours": 14.5353, "text": "ok, im gonna be so deadass, im so done with this project. This is it, this is the state im leaving it in. It was fun at the start but now its just very frustrating and boring to look at walls of data go on my screen and me going “yep that looks good enough”. I want to work on cooler things that interest me more, so this project, is done. Since last time i implemented: text editing coding capabilities typo detection and fixing more templates and so on. Thats it. It was a interesting research project, but i think i came to a conclusion: The reason why no one did this, is because it is stupidly tedious. Training a classic LLM is so much easier even if it destroys the environment and costs a lot of money. Its a lot less human work, which i guess is more valuable than anything. If we should learn a lesson from this, is that humans cant be replaced, and our efforts are worth more than we think. Also i made a website"}, {"post_id": 36947, "ts": "2026-07-29T11:08:57Z", "hours": 33.0328, "text": "First of all, i again didnt do devlogs every day because i wasnt sure where this project was going. I couldnt tell if it as going to work or not or if it was even viable. But, now i think i can start making some actual consistent devlogs, because i think its working! This is a no-inference chatbot, its meant to function like chatgpt and all the other slop generators out there, BUT, without an LLM AT ALL! Thats right. Its all just hand made agorithms, web search and data association. This project has been a pain in the butt to work on due to how tedious it is, but its finally starting to shape up. As you can see, it can respond to basic greetings, write essays, iterate on them and so on. It fails quite often due to its lack of information but thats nothing that cant be fixed with more templates and data. Ill be going back to the grind and try to improve this further, because of how much time and effort building this takes idk how much further i can get it, but ill try my best. When i reach a point where i go “ok yeah this is all i feel like doing”, im going to build an api server people can host and document it and call it done. This really is more of an experiment and research project rather than a thing i know i can give people to use in a “production” environment if you know what i mean. Ok yeah anyway see yah mwah"}, {"post_id": 34566, "ts": "2026-07-25T12:04:49Z", "hours": 23.0139, "text": "Hi! so, i am making this devlog with 15 hours on record because i was honestly not sure if this would work. In my last stardance project, i tried making an agentic chatbot utilizing LLMs, but trying to make it as light and as compatible as possible so it can run even on my poopy 7gb of ram laptop. That whole thing got me thinking. Do we even need LLMs? Do we even need generative AI for this? So this project started. This is an attempt at making agentic AI without LLMs, or weights or anything similar. The entire idea is that this can be fast and easily modified without having to use an entire datacenter to retrain the model, because there is no model. Right now, i have worked on a conversational “engine”, that basically puts words together algorithmically by detecting certain properties from the users prompt. Its not very impressive right now, but i think im onto something that could be quite a big deal if i get right. I dont even know if this project will be shippable but ill still document its development because i think its interesting. Alright smooches! See you later! <3"}]...
|
Title: No-inference by @TheShovel | Stardance
Dev Title: No-inference by @TheShovel | Stardance
Devlogs:
Hi! so, i am making this devlog with 15 hours on record because i was honestly not sure if this would work. In my last stardance project, i tried making an agentic chatbot utilizing LLMs, but trying to make it as light and as compatible as possible so it can run even on my poopy 7gb of ram laptop. That whole thing got me thinking. Do we even need LLMs? Do we even need generative AI for this? So this project started. This is an attempt at making agentic AI without LLMs, or weights or anything similar. The entire idea is that this can be fast and easily modified without having to use an entire datacenter to retrain the model, because there is no model. Right now, i have worked on a conversational “engine”, that basically puts words together algorithmically by detecting certain properties from the users prompt. Its not very impressive right now, but i think im onto something that could be quite a big deal if i get right. I dont even know if this project will be shippable but ill still document its development because i think its interesting. Alright smooches! See you later! <3
First of all, i again didnt do devlogs every day because i wasnt sure where this project was going. I couldnt tell if it as going to work or not or if it was even viable. But, now i think i can start making some actual consistent devlogs, because i think its working! This is a no-inference chatbot, its meant to function like chatgpt and all the other slop generators out there, BUT, without an LLM AT ALL! Thats right. Its all just hand made agorithms, web search and data association. This project has been a pain in the butt to work on due to how tedious it is, but its finally starting to shape up. As you can see, it can respond to basic greetings, write essays, iterate on them and so on. It fails quite often due to its lack of information but thats nothing that cant be fixed with more templates and data. Ill be going back to the grind and try to improve this further, because of how much time and effort building this takes idk how much further i can get it, but ill try my best. When i reach a point where i go “ok yeah this is all i feel like doing”, im going to build an api server people can host and document it and call it done. This really is more of an experiment and research project rather than a thing i know i can give people to use in a “production” environment if you know what i mean. Ok yeah anyway see yah mwah
ok, im gonna be so deadass, im so done with this project. This is it, this is the state im leaving it in. It was fun at the start but now its just very frustrating and boring to look at walls of data go on my screen and me going “yep that looks good enough”. I want to work on cooler things that interest me more, so this project, is done. Since last time i implemented: text editing coding capabilities typo detection and fixing more templates and so on. Thats it. It was a interesting research project, but i think i came to a conclusion: The reason why no one did this, is because it is stupidly tedious. Training a classic LLM is so much easier even if it destroys the environment and costs a lot of money. Its a lot less human work, which i guess is more valuable than anything. If we should learn a lesson from this, is that humans cant be replaced, and our efforts are worth more than we think. Also i made a website
i think i am some kind of masochist cuz for some reason i keep coming back to this project. for some reason i still think this could be something bigger, even though i doubt ill reach that point. well, anyway, i started working on its coding capabilities! still pretty basic and rough, but it does work and it does seem to scale decently! you can ask it to make edits, add logging and explain the code and so on. pretty cooool ok back to data engineering hell i go
ok yeah im done for real now. This it. Last one. I just worked on improving its coding capabilities… a little. its still not great, but its still something. Pretty much making this devlog just to bank it the last few hours on this project.
Ships:
This is a research project that i did out of curiosity. My question was “do we even need LLMs for agentic chatbots?”. So i tried to build one that doesnt use LLMs and is instead hand written systems. This started fun, but slowly turned into iterative hell, and i came to a conclusion. Is it possible? Yes, definitely. Is anyone gonna do it? HELL NO. Theres a reason the companies who do this decided to go the destroy the environment and use up money and resources route. ITS EASIER. If that doesnt explain it, than idk what does. Test it out, see what you think, its not great and doesnt have a lot of data in it, but i sure did try!
Since the last ship, i have added some very basic coding capabilities. Its not great, but its something. I thought id be more motivated to work on this but i guess i was wrong… found something else im more interested in working on instead! So here i am banking my points with a half baked devlog at midnight. Check my profile for my new cool awesome project :D...
|
1793001061.0507634
|
1793087461.0507634
|
|
32708
|
RiverFlow by @ToriYukari | Stardance
|
ToriYukari
|
1
|
62.0
|
756
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-23T20:40:09Z", "hours": 62.0, "multiplier": 14.42, "payout": 756, "blessing": "neutral", "text": "Here I welcome you to the very first release of RiverFlow - native macOS, resource-efficient file manager intended to be an alternative for Mac developers! This is my second project in Swift and my biggest project for now. Much of the stuff used in it I figured out on the spot, sometimes minutes before my internal deadlines. The project was developed using agile methods and strict version control along with code coverage focus. It introduces crucial functionalities that any file manager should have as well as some new, small but satisfying tweaks. It uses SwiftUI and AppKit - native Apple view libraries which makes the RiverFlow look exactly like most of the system’s apps, not requiring from user learning of the new interface cause it also resembles Finder in many ways. This is a second app being a part of The Shrimple Project - as simple as possible set of QoL apps for macOS filling the gaps that Apple left which drives people crazy. Important information before testing : This app is made for MACOS and its purpose is to work on MACOS. I am not planning to port it to Windows or Linux before I finish its main phase of development so please, do not leave one star reviews because there is no Windows version. Thank you all in advance, I sure do hope RiverFlow will help in efficient file management and you will enjoy using it!", "repo": "https://github.com/Predsu/RiverFlow", "demo": "https://github.com/Predsu/RiverFlow/releases/tag/v0.1.0"}]...
|
[{"post_id": 72808, "ts": "202 [{"post_id": 72808, "ts": "2026-09-23T19:30:51Z", "hours": 10.3908, "text": "23.09 Shipping is hours away now! I must admit that I’ve been a little lazy for the last two weeks and thus the demo has not been released yet and I’m a little afraid if I will be able to get all the necessary votes before 30th Sep. I took five topics that were bothering me: go to path like url bar in windows explorer finishing basic git operations with commit modal overhauling slightly abandoned listView advanced search panel with many options settings window And yet I had so much time to figure them out I couldn’t finish more than three… well two actually. ListView overhaul went… bad. I’ll have to make it from the very beginning but I do not have time for that now. I am not very satisified that I have to ship a software that has not been brought to a state where I would originally want to release it, but I am still really happy for what have I achieved. This was my second Swift project and first that big project at all! I’ve been learning everything about native macOS programming during the development. Thus I am really proud of myself. What I’ve done goToPath modal with autocompletion based on the mechanism used in file searching (revelance tiers) git commit modal with options based on the one from vscode core of listView rework which currently serves as an entry point to every new approach I am testing to make most of functionalities from gridView work also in listView (I am never leaving such a big technical debt in any project) What I’ve learned technical debt awareness deep understanding of git CLI Difficulties Of course the already mentioned listView and more specifically: columns and their resizement, active element area (because I wanted the element to be selected only when clicked on text and the empty area acts as background), additional columns adding, sorting by column. App sandboxing which caused many problems with release version comparing to debug version which appeared to be my mistake in implementation. So I am heading back to the last checklist elements and around 11PM CEST there should appear a shipping. Oh I have to write something for a shipping message… Maybe 1AM tomorrow? I don’t know, as soon as I can so there will be time to receive and give votes. See ya then! I am so excited!"}, {"post_id": 59886, "ts": "2026-09-01T21:31:38Z", "hours": 10.2817, "text": "1.09 We are getting so close to the first demo launch! Pushed by my Git fascination I managed to integrate another two important things into the repo: CodeQL and automatic code review by CodeRabbit. However I realised I’ve been doing much more things at the repo itself and I keep forgeting I am trying to code something. So - 4 new features (and first really developer-focused) and incoming REAL readme (because the current one is really crappy). I just started my last high school year so I’ll be a little more busy but my targets still remain the same: at least 80h on stardance and first beta release until 30th September. What I’ve made Git integration with status bar, staging, discarding for directories with repos present improved navigation with folder history (go back, go forward like every normal file manager) sidebar tree view instead of Finder-like fixed bookmarks (like Windows Explorer, kinda buggy for now but actively working on it!) file collision handling with choice dialog window What I’ve learned a bit of project management (kanban, agile etc.) Git API usage in Swift handling and applying code review reports CodeQL reports analysis Difficulties I must admit that I did not write unit tests for Git integration because I kinda don’t know how to approach it. Maybe the next few days in school with my teacher will help me going through it. Apart from that I struggled with applying some responsiveness to resizable elements (such as InteractivePathView) and eventually failed and will return to this later. I promised myself that I won’t go beyond those 10h of no devlog but I failed again. My own devlog template is incoming so I will be more eager to make them more frequent. Apart from that - I am planning demo launch around 14th September so I can gather feedback before beta release around 30th September. Thank you all in advance for reading this and till next time!"}, {"post_id": 50604, "ts": "2026-08-19T20:20:46Z", "hours": 10.2542, "text": "19.08 I’ve made myself a little break, I admit. It was a good time, I came back stronger and more motivated. I’ve noticed that the project is terribly documented and tested, files orgranization was also looking bad. I decided to correct those affairs to make the further development more… amicable. There was also some time for new feature: searching. Maybe not the best but it is already better than Finder’s (modest as always, I know) because it has revelance tier sorting. Of course it is not the final version but for now It’ll work. What I’ve made extended unit tests to have code coverage level at 68% experimented with DocC documentation and found it quite usable so I’ve made documentation for plenty of structs and methods organized files into a new structure (MVVM model) tried to reduce or just identify technical debt inside the project Sounds easy right? Swift Testing framework is easy but it took me some time to learn good practics (and I’m still learning). What I’ve learned reading Develop in Swift Fundamentals, covered a lot of holes in my knowledge code review by my friend, almost 2 hours of discussion and disappointment Also I have plenty of reflections about the technical debt meant earlier. I realized that if I want to efficiently go further with the project I have to think more carefully about planning and organizing the development process. Hopefully the next school year will teach me how real programmers do the thing. That’s all in today’s Not-So-Daily. I know I say that again but maybe it’s time to try doing devlogs more frequent than 10h of work. I didn’t even realize it went that fast. Till next time!"}, {"post_id": 39560, "ts": "2026-08-02T16:28:37Z", "hours": 11.2039, "text": "02.08 I tried to write a devlog several days ago but excessive heat beat me up. To be honest last week was the hardest during the whole project. The amount of documentation and videos I’ve read and watched was enormous. My head is overload and I may be considering a little break. But let’s get to the stuff what was made. As usual the full devlog will be posted on toriyukari.neocities.org website. What I’ve made Last Stardance devlog was 21 days ago so it was basically the very beginning of the project, so I’ll just write things that are already present: fast directory loading with grid view (better functionality) and list view sidebar like that in finder (not fully functional as the finder one) toolbar with “go up” “refresh” “showhiddenfiles” “sort by” and interactive path view multi-selecting files with shift (range), drag (area) and command (specific) drag and drop files (single for now) to other apps as well as between directories inside the app right click menus on empty space and elements with the following options: open with app reveal in finder file info (opening a dedicated element info window like this in finder) copy, cut, paste elements inline rename compress to zip trash open directory in terminal/vscode create folder/file copy shell-formatted path I am currently preparing the project to move into Test Driven Development, I am trying to cover the whole existing source code with tests to go on with this coding practice. Soon I’ll start learning about UI testing in Swift Testing framework. What I’ve learned I can’t even think about how many things I’ve read about during the last 3 weeks. Maybe if I would be doing this list regularly… that is actually a good idea. But most important thing that caused me to almost destroy my repo was: DO NOT LET GITHUB COPILOT CREATE COMMITS FOR YOU. They didn’t improve anything and now I have a freaking Copilot as a contributor in the repo. Worst mistake of my life. Difficulties EVERYTHING! But seriously since I use as little AI as I can I am going through hard time during almost everything. Sometimes it drives me crazy. The biggest difficulties were: removing the freaking slopilot from contributors (failed) running my mind at full throttle to understand the crazy UI code splitting (the compiler can’t parse large elements without splitting it into separate elements) running both “drag and drop” and “drag selection” at the same time without generating errors no one have seen before setting up codecov for swift in a new way because apparently no one has thought about any different way than travis for the last 7 years writing custom EULA and source code license (it will be used for all my future project so it was worth to invest some time and money into it) And that’s all worth to mention. Storytime HEAT WAVE HEAT WAVE HEAT WAVE HEAT WAVE WHY IN POLAND IT HAS TO BE -15C OR +40C WHY IT CAN’T BE FREAKING NORMAL 20C HEEEEELP I CAN’T WORK NORMALLY!!! … i’m fine I’ll try to make devlogs more frequently but I don’t think I like doing so. I’ll have to think about some formula, maybe a simpler approach, more reusable scheme or something like that. Until that going off the air for a moment to rest. See ya!"}, {"post_id": 28603, "ts": "2026-07-14T23:04:01Z", "hours": 2.4075, "text": "Announcement Hi everyone! Little update here: I will be posting full sized devlogs for RiverFlow and any other project on my website available at this address: https://toriyukari.neocities.org/ I am an enthusiast of big, bulky devlogs where I do not only write rough code facts but I’m also sharing a whole development story and 4000 chars is not enough for me. From now on I will be making a Stardance devlog version and full devlog version. I will be attaching a link for everyone who are curious about the whole process. I hope you all understand this. Also there is a first instance of brand new idea of mine available on the website: daily where I share the status and changes of the development every day. You should check it out cause they won’t show up here. Anyways, have a great day just how I’ve had! See ya!"}, {"post_id": 27312, "ts": "2026-07-12T19:41:35Z", "hours": 17.1411, "text": "Devlog #1 Until now the project was simply a prototype to test the idea but I kind of lost track of the time and made way too much before first devlog. So here it comes: RiverFlow , native file manager alternative for MacOS, part of The Shrimple Project . Fast as river, no one can stop the flow. It uses all the best stuff Swift language has to make it more resource-efficient than Finder (at least that’s the target) and it’s currently my biggest project. It is ultimately intended to be developer-friendly and will have a lot of built-in tweaks we as programmers needed a plugin for. I also wanted it to have some Linux-feel and make it customizable in every possible way: from colors and icon sizes to custom windows and built-in plugin maker. How it actually works (I had to cut this cause of 4000 chars limit, I will post full devlogs somewhere else) How it ACTUALLY works Alright, I’ve been talking about something entirely different. So here is the flow: You run the app. First you see all the windows attacking you, begging for permissions but it’s irrevelant. The run calls loadCurrentDirectory method from FolderViewModel class. It is the heart of the app, lCD method (as I call it) is being called every time something happens (well not really automatically but I’ll get to it later). lCD creates multiple FileItem class instances. That’s your folders and files as raw data! It also sorts them by your selected method (name / size / modification date) on place. In ContentView depending on which viewType has been selected (list or grid) list/gridView is being rendered. For each FileItem it creates FileList/GridItemView, that’s a view for a single file/folder. And that’s it! If I would want to I can fit all of this in 50-100 lines of code. The real fun starts in coding user interactions with all those objects. I must admit it wasn’t the easiest challenge. The difficulties The list is long. I’ve encountered several walls on my way, some cleared up by different websites, for some I had to use AI tho. The “minor difficulties”: I’ll spare you this rant The “major difficulties”: caching thumbnails for images (and even just making them display and not eating 300 MB of RAM instantly when generating) making the full path in toolbar (the animations and proper detection) efficiently calculating folder size in Info window implementing shift and drag select (took me freaking two days to figure it out) making the SwiftUI cooperate with me and not destroy my entire GridView when adding print somewhere Features list main window listing files and folders in two views: list and grid toolbar featuring full path copying, sorting, view and hidden files options sidebar featuring most used folders resembling the one from Finder (not customizable yet) files and directories operations: copying, cutting, pasting, deleting multiple files selecting items with shift (range), command (specific), drag (area) creating empty folder and file from context menu item info window showing full path, name, icon, size, modification date There isn’t much features yet but taking into account that I am using Swift for real for the first time I am proud of myself. I hope you all will like this project and find it useful in your every day productivity when it’ll be a finished product. Until next time! I will go make myself a real dinner for the first time since two weeks."}]...
|
Title: RiverFlow by @ToriYukari | Stardance
Devlo Title: RiverFlow by @ToriYukari | Stardance
Devlogs:
Devlog #1 Until now the project was simply a prototype to test the idea but I kind of lost track of the time and made way too much before first devlog. So here it comes: RiverFlow , native file manager alternative for MacOS, part of The Shrimple Project . Fast as river, no one can stop the flow. It uses all the best stuff Swift language has to make it more resource-efficient than Finder (at least that’s the target) and it’s currently my biggest project. It is ultimately intended to be developer-friendly and will have a lot of built-in tweaks we as programmers needed a plugin for. I also wanted it to have some Linux-feel and make it customizable in every possible way: from colors and icon sizes to custom windows and built-in plugin maker. How it actually works (I had to cut this cause of 4000 chars limit, I will post full devlogs somewhere else) How it ACTUALLY works Alright, I’ve been talking about something entirely different. So here is the flow: You run the app. First you see all the windows attacking you, begging for permissions but it’s irrevelant. The run calls loadCurrentDirectory method from FolderViewModel class. It is the heart of the app, lCD method (as I call it) is being called every time something happens (well not really automatically but I’ll get to it later). lCD creates multiple FileItem class instances. That’s your folders and files as raw data! It also sorts them by your selected method (name / size / modification date) on place. In ContentView depending on which viewType has been selected (list or grid) list/gridView is being rendered. For each FileItem it creates FileList/GridItemView, that’s a view for a single file/folder. And that’s it! If I would want to I can fit all of this in 50-100 lines of code. The real fun starts in coding user interactions with all those objects. I must admit it wasn’t the easiest challenge. The difficulties The list is long. I’ve encountered several walls on my way, some cleared up by different websites, for some I had to use AI tho. The “minor difficulties”: I’ll spare you this rant The “major difficulties”: caching thumbnails for images (and even just making them display and not eating 300 MB of RAM instantly when generating) making the full path in toolbar (the animations and proper detection) efficiently calculating folder size in Info window implementing shift and drag select (took me freaking two days to figure it out) making the SwiftUI cooperate with me and not destroy my entire GridView when adding print somewhere Features list main window listing files and folders in two views: list and grid toolbar featuring full path copying, sorting, view and hidden files options sidebar featuring most used folders resembling the one from Finder (not customizable yet) files and directories operations: copying, cutting, pasting, deleting multiple files selecting items with shift (range), command (specific), drag (area) creating empty folder and file from context menu item info window showing full path, name, icon, size, modification date There isn’t much features yet but taking into account that I am using Swift for real for the first time I am proud of myself. I hope you all will like this project and find it useful in your every day productivity when it’ll be a finished product. Until next time! I will go make myself a real dinner for the first time since two weeks.
Announcement Hi everyone! Little update here: I will be posting full sized devlogs for RiverFlow and any other project on my website available at this address: https://toriyukari.neocities.org/ I am an enthusiast of big, bulky devlogs where I do not only write rough code facts but I’m also sharing a whole development story and 4000 chars is not enough for me. From now on I will be making a Stardance devlog version and full devlog version. I will be attaching a link for everyone who are curious about the whole process. I hope you all understand this. Also there is a first instance of brand new idea of mine available on the website: daily where I share the status and changes of the development every day. You should check it out cause they won’t show up here. Anyways, have a great day just how I’ve had! See ya!
02.08 I tried to write a devlog several days ago but excessive heat beat me up. To be honest last week was the hardest during the whole project. The amount of documentation and videos I’ve read and watched was enormous. My head is overload and I may be considering a little break. But let’s get to the stuff what was made. As usual the full devlog will be posted on toriyukari.neocities.org website. What I’ve made Last Stardance devlog was 21 days ago so it was basically the very beginning of the project, so I’ll just write things that are already present: fast directory loading with grid view (better functionality) and list view sidebar like that in finder (not fully functional as the finder one) toolbar with “go up” “refresh” “showhiddenfiles” “sort by” and interactive path view multi-selecting files with shift (range), drag (area) and command (specific) drag and drop files (single for now) to other apps as well as between directories inside the app right click menus on empty space and elements with the following options: open with app reveal in finder file info (opening a dedicated element info window like this in finder) copy, cut, paste elements inline rename compress to zip trash open directory in terminal/vscode create folder/file copy shell-formatted path I am currently preparing the project to move into Test Driven Development, I am trying to cover the whole existing source code with tests to go on with this coding practice. Soon I’ll start learning about UI testing in Swift Testing framework. What I’ve learned I can’t even think about how many things I’ve read about during the last 3 weeks. Maybe if I would be doing this list regularly… that is actually a good idea. But most important thing that caused me to almost destroy my repo was: DO NOT LET GITHUB COPILOT CREATE COMMITS FOR YOU. They didn’t improve anything and now I have a freaking Copilot as a contributor in the repo. Worst mistake of my life. Difficulties EVERYTHING! But seriously since I use as little AI as I can I am going through hard time during almost everything. Sometimes it drives me crazy. The biggest difficulties were: removing the freaking slopilot from contributors (failed) running my mind at full throttle to understand the crazy UI code splitting (the compiler can’t parse large elements without splitting it into separate elements) running both “drag and drop” and “drag selection” at the same time without generating errors no one have seen before setting up codecov for swift in a new way because apparently no one has thought about any different way than travis for the last 7 years writing custom EULA and source code license (it will be used for all my future project so it was worth to invest some time and money into it) And that’s all worth to mention. Storytime HEAT WAVE HEAT WAVE HEAT WAVE HEAT WAVE WHY IN POLAND IT HAS TO BE -15C OR +40C WHY IT CAN’T BE FREAKING NORMAL 20C HEEEEELP I CAN’T WORK NORMALLY!!! … i’m fine I’ll try to make devlogs more frequently but I don’t think I like doing so. I’ll have to think about some formula, maybe a simpler approach, more reusable scheme or something like that. Until that going off the air for a moment to rest. See ya!
19.08 I’ve made myself a little break, I admit. It was a good time, I came back stronger and more motivated. I’ve noticed that the project is terribly documented and tested, files orgranization was also looking bad. I decided to correct those affairs to make the further development more… amicable. There was also some time for new feature: searching. Maybe not the best but it is already better than Finder’s (modest as always, I know) because it has revelance tier sorting. Of course it is not the final version but for now It’ll work. What I’ve made extended unit tests to have code coverage level at 68% experimented with DocC documentation and found it quite usable so I’ve made documentation for plenty of structs and methods organized files into a new structure (MVVM model) tried to reduce or just identify technical debt inside the project Sounds easy right? Swift Testing framework is easy but it took me some time to learn good practics (and I’m still learning). What I’ve learned reading Develop in Swift Fundamentals, covered a lot of holes in my knowledge code review by my friend, almost 2 hours of discussion and disappointment Also I have plenty of reflections about the technical debt meant earlier. I realized that if I want to efficiently go further with the project I have to think more carefully about planning and organizing the development process. Hopefully the next school year will teach me how real programmers do the thing. That’s all in today’s Not-So-Daily. I know I say that again but maybe it’s time to try doing devlogs more frequent than 10h of work. I didn’t even realize it went that fast. Till next time!
1.09 We are getting so close to the first demo launch! Pushed by my Git fascination I managed to integrate another two important things into the repo: CodeQL and automatic code review by CodeRabbit. However I realised I’ve been doing much more things at the repo itself and I keep forgeting I am trying to code something. So - 4 new features (and first really developer-focused) and incoming REAL readme (because the current one is really crappy). I just started my last high school year so I’ll be a little more busy but my targets still remain the same: at least 80h on stardance and first beta release until 30th September. What I’ve made Git integration with status bar, staging, discarding for directories with repos present improved navigation with folder history (go back, go forward like every normal file manager) sidebar tree view instead of Finder-like fixed bookmarks (like Windows Explorer, kinda buggy for now but actively working on it!) file collision handling with choice dialog window What I’ve learned a bit of project management (kanban, agile etc.) Git API usage in Swift handling and applying code review reports CodeQL reports analysis Difficulties I must admit that I did not write unit tests for Git integration because I kinda don’t know how to approach it. Maybe the next few days in school with my teacher will help me going through it. Apart from that I struggled with applying some responsiveness to resizable elements (such as InteractivePathView) and eventually failed and will return to this later. I promised myself that I won’t go beyond those 10h of no devlog but I failed again. My own devlog template is incoming so I will be more eager to make them more frequent. Apart from that - I am planning demo launch around 14th September so I can gather feedback before beta release around 30th September. Thank you all in advance for reading this and till next time!
23.09 Shipping is hours away now! I must admit that I’ve been a little lazy for the last two weeks and thus the demo has not been released yet and I’m a little afraid if I will be able to get all the necessary votes before 30th Sep. I took five topics that were bothering me: go to path like url bar in windows explorer finishing basic git operations with commit modal overhauling slightly abandoned listView advanced search panel with many options settings window And yet I had so much time to figure them out I couldn’t finish more than three… well two actually. ListView overhaul went… bad. I’ll have to make it from the very beginning but I do not have time for that now. I am not very satisified that I have to ship a software that has not been brought to a state where I would originally want to release it, but I am still really happy for what have I achieved. This was my second Swift project and first that big project at all! I’ve been learning everything about native macOS programming during the development. Thus I am really proud of myself. What I’ve done goToPath modal with autocompletion based on the mechanism used in file searching (revelance tiers) git commit modal with options based on the one from vscode core of listView rework which currently serves as an entry point to every new approach I am testing to make most of functionalities from gridView work also in listView (I am never leaving such a big technical debt in any project) What I’ve learned technical debt awareness deep understanding of git CLI Difficulties Of course the already mentioned listView and more specifically: columns and their resizement, active element area (because I wanted the element to be selected only when clicked on text and the empty area acts as background), additional columns adding, sorting by column. App sandboxing which caused many problems with release version comparing to debug version which appeared to be my mistake in implementation. So I am heading back to the last checklist elements and around 11PM CEST there should appear a shipping. Oh I have to write something for a shipping message… Maybe 1AM tomorrow? I don’t know, as soon as I can so there will be time to receive and give votes. See ya then! I am so excited!
Ships:
Here I welcome you to the very first release of RiverFlow - native macOS, resource-efficient file manager intended to be an alternative for Mac developers! This is my second project in Swift and my biggest project for now. Much of the stuff used in it I figured out on the spot, sometimes minutes before my internal deadlines. The project was developed using agile methods and strict version control along with code coverage focus. It introduces crucial functionalities that any file manager should have as well as some new, small but satisfying tweaks. It uses SwiftUI and AppKit - native Apple view libraries which makes the RiverFlow look exactly like most of the system’s apps, not requiring from user learning of the new interface cause it also resembles Finder in many ways. This is a second app being a part of The Shrimple Project - as simple as possible set of QoL apps for macOS filling the gaps that Apple left which drives people crazy. Important information before testing : This app is made for MACOS and its purpose is to work on MACOS. I am not planning to port it to Windows or Linux before I finish its main phase of development so please, do not leave one star reviews because there is no Windows version. Thank you all in advance, I sure do hope RiverFlow will help in efficient file management and you will enjoy using it!...
|
1793001161.4387147
|
1793087561.4387147
|
|
45772
|
DuckyOS by @ducky-violin | Stardance
|
ducky-violin
|
3
|
60.16
|
747
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-30T18:53:20Z", "hours": 39.0, "multiplier": 12.86, "payout": 602, "blessing": "neutral", "text": "DuckyOS - Spaceship Update: Part 1! The Curious Duck has approved of your ability and accepted you into the Secret Duck Society. You’ve been assigned a mission: infiltrate the mysterious alien spaceship that has been disturbing the peace of the ducks! Uncover the secrets of the Spaceship as you explore… To start the journey from the beginning, use this link: https://ducky-violin.github.io/duckyOS/index.html To continue where you left off from the previous update, use this link: https://ducky-violin.github.io/duckyOS/curiousduck.html DuckyOS originally started as a WebOS mission, but I changed the direction/goal toward an escape-room-like challenge. The project includes features such as draggable windows, selected apps, and navigable pages–just in a different way than you would expect ;) New features: -Added prologue page for story/context + instructions -Changed index.html into a redirect to prologue (index.html is blank) -Updated Matrix level headers (dark green headers) to have “cursor: pointer” to make draggability clearer -Curious Duck sends you off on a mission! -Space-themed level with fade-in text and element transitions -Added favicons and page titles -Draggable space elements (newspapers and job postings) -3 duck app icons; each give you a hint -App icons will turn “selected” (become a circle) when clicked -1 hidden duck that helps you find the application passcode -Links to Wikipedia pages on coal mining and aluminum recycling Spaceship Hints: -Read the newspaper! -Apply for a job! Being employed is nice… -Be a kind citizen and offer a drink to that studious duck! -Looking for the stolen newspaper? Check the original newspaper first!", "repo": "https://github.com/ducky-violin/duckyOS", "demo": "https://ducky-violin.github.io/duckyOS/"}, {"ship_num": 2, "ts": "2026-08-15T19:30:23Z", "hours": 10.0, "multiplier": 14.27, "payout": 145, "blessing": "neutral", "text": "“You have been taken to a secret duck base, and you must prove your worth in order to join the Secret Duck Society. Will you take on the challenge?” DuckyOS becomes a Secret Duck Society puzzle! Updates: -Added 3 app icons; each opens a window or a notification/task -App icons will turn “selected” (become a circle) when clicked -Secret “keys” hidden throughout the page; you have to find all 3 in order to unlock the hidden door -Added alert() notifications to add variety to the types of messages the user gets -Also uses confirm() and a text input button for tasks -There is one task that has the prerequisite of completing the two other tasks to unlock -Secret door will give you a hint if you click on it twice and only if you have not completed one of the quests Recap of old features: -Link to Wikipedia article with the Welcome Duck -Closeable welcome window -Openable welcome window (click the clock) -Draggable welcome window -Ducks that will hide if you click on them / drag them around (they’re shy! ;) ) -Summon ducks back with the header text May you be the next Secret Duck Society member, and most importantly, HAVE FUN! (By the way, README has hints if you’re stuck!)", "repo": "https://github.com/ducky-violin/duckyOS", "demo": "https://ducky-violin.github.io/duckyOS/"}, {"ship_num": 3, "ts": "2026-08-11T06:00:38Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "DuckyOS - a webpage of ducks and hidden clicks! 4 windows: a welcome page and 3 duck images (draggable) Ducks are shy and will hide if you click on them (or drag them), but you can summon them again with the header! Accidentally closed the welcome window and can’t figure out how to get it up again? I’ll give you a hint: check the clock when you first reload the page… (it has a certain text!) If you still don’t know what DuckyOS is, why don’t you check the definition of “duckOS” on the welcome page? It has a cool thing where you can hover over it and get a definition! I really enjoyed this project and look forward to updating it soon :3", "repo": "https://github.com/ducky-violin/duckyOS", "demo": "https://ducky-violin.github.io/duckyOS/"}]...
|
[{"post_id": 60654, "ts": "202 [{"post_id": 60654, "ts": "2026-09-03T04:44:20Z", "hours": 8.1594, "text": "It seems there is more to it than meets the eye… -added space-themed background (credits: NASA) -added 4 “secret text” boxes, each with different dimensions -moved around the boxes and fit them into the screen without too much overlap –> exception: box below “main box” is overlapping (intentional), but will be hidden on-enter and summoned through a different interaction -hid secret text in the boxes by making the font color the same as the background color -hid hints about where to find the “water vault” in the boxes -added a clock to the bottom-right corner of the screen -clock is functional and displays current time -clock will make cursor: pointer on hover -added draggable + openWindow + closeWindow functions to the js file Formatting the boxes and customizing the background was annoying. I couldn’t just copy-paste everything because the boxes were in different dimensions and different positions, and the background was difficult to find because I kept finding backgrounds that were the wrong dimensions (and it would just copy-paste itself on the screen, making it look like a grid of images instead of one image). Also, I was planning to add duck app icons, but since this is technically part 2 of Spaceship (and not a “main” page), I thought that adding duck icons wouldn’t be as fitting in this situation. clock-vault-summon interaction is under way…"}, {"post_id": 58339, "ts": "2026-08-30T18:39:39Z", "hours": 2.2364, "text": "Final polishing on the Spaceship page: part 1! -changed passcode to not be case-sensitive -edited transition page (Matrix –> Spaceship) –> changed text to match spaceship-specific advice -made new newspaper box draggable -added “selected app” look -compiled devlog updates into README -added hints for spaceship in README -removed cursor: pointer in non-clickable areas (even if draggable) –> reduces confusion on what opens links/events"}, {"post_id": 57841, "ts": "2026-08-30T04:27:49Z", "hours": 8.5392, "text": "-updated passcode barrier to react if the correct answer is inputted -edited the formatting of the application passcode window -updated soda duck interaction -added a receive/decline soda action -added a reminder to recycle the soda can when done -added aluminum recycling Wikipedia to post-soda-interaction interaction -changed interaction with studious duck to include soda task -added secret hint window, given by studious duck -secret hint window is only accessible after giving studious duck the soda -changed “reparier” job to “engineer” job -changed water-carrying-duck interaction -implemented a function to add a delay before alert() so that alert() interactions aren’t as in-your-face -added a transition message for entering new area -added a conclusion message to inform user that the new update is not yet finished I did a bit of researching on water pollution and coal mining to make sure the context for this made sense, and I also spent a while trying to figure out how to give the user the hint on how to unlock the application portal without making it too easy or too difficult. I’ve finally finished part 1 of the Spaceship realm, though! :3"}, {"post_id": 56324, "ts": "2026-08-28T01:48:06Z", "hours": 7.8986, "text": "-added duck interruption to Newspaper -added closebutton for duck interruption notif -merged duck image and duck notif into the same div -added stolen newspaper text / /new newspaper -linked coal mining Wikipedia to new newspaper -changed querySelector() to getElemendById() in the is() function -added waterbottleduck interaction -added sodaduck interaction -added studiousduck interaction -added application portal interaction (passcode-locked) silly dev moments: -I kept forgetting to add “” when using my is() function -when I did remember to add “”, I sometimes forgot the is() part and just put the element name -sometimes I’d forget both … and then I’d wonder why my code wasn’t running. I’d run through all the js line-by-line, trying to catch an error, when the answer was right in front of me-"}, {"post_id": 54865, "ts": "2026-08-26T02:03:02Z", "hours": 7.4658, "text": "-edited Newspaper details and formatting -added [Read more] for Newspaper -added [Apply here] for Job Postings -added 3 duck icons: –> carefree soda-carrying duck –> studious duck –> jubilant water-carrying duck -added fade-in transition to all 3 duck icon apps -changed timings of Spaceship elements -updated moveable windows to “cursor: pointer” to indicate draggability -updated Matrix level headers (dark green headers) to have “cursor: pointer” to make draggability clearer –> feedback from previous ship told me that I should make it clearer if it’s draggable; hopefully this makes it better! -added a duck agent interruption to reading the newspaper silly dev moment: I reused the “notif” css class for the duck interruption message, but the text was white because in the tag, I had defined all text to be white. However, I didn’t notice that; all I saw was that the “notif” css class didn’t specifically define text color. I kept trying to find where the white text color was coming from, and ended up copy-pasting the notif class and adding a “color: black” to override whatever was changing the text color. After I had changed the newspaper notif to a new space notif class, I realized I could’ve just kept the notif class and made the text black (since all the notif text was black anyways so it wouldn’t have mattered). I’m going insane ;-;"}, {"post_id": 53982, "ts": "2026-08-24T18:13:06Z", "hours": 8.2833, "text": "-added favicon to pages (prologue, intro, curious duck, spaceship) -added names to pages (noted above) -rearranged images into a folder, and organized images per page (intro page vs space page, etc.) -defined a function to get element instead of using document.getElementById() every time -added two new windows to Spaceship -made Spaceship windows draggable -added a delay to Spaceship typing intro -added a delay to Spaceship windows appearance (to appear after the text finished typing) -added a delay to Curious Duck appearance (movement makes it easier to spot; less likely to miss) a particularly silly mistake I found funny: I defined the location for the Spaceship div windows in the html file, but I forgot about it and started defining the location with the css file. I was really confused as to why editing the css file didn’t affect the location (it was being overridden by the html one the whole time)"}, {"post_id": 53305, "ts": "2026-08-23T19:28:20Z", "hours": 4.6397, "text": "-changed index.html into a redirect to prologue -added prologue page for story/context + instructions –> took feedback from previous ship stating that the instructions were unclear and the site was confusing; hopefully this clears things up! -added curious duck to the conclusion of the first level -curious duck redirects to a transition/instructions page, which then redirects into the next level -space-themed level! made the “welcome” sign fade in and added typing transition silly mistakes I found funny: -I linked the prologue script to the curious duck transition page instead of the transition script and was frustrated that nothing on the transition script was running -I tried to put a tag inside of another tag and was wondering why the id assignment wasn’t working"}, {"post_id": 47685, "ts": "2026-08-15T19:20:38Z", "hours": 2.5781, "text": "Final stretch! -added leafduck quest (task) -added icon-selection change (app becomes circular when clicked) to puzzle and leaf task -coded the “locked door” to become functional -locked door will now open if you have solved all the puzzles -updated README to have clearer instructions and a story silly mistake I found funny: I spent a long time trying to figure out why the leaf duck wasn’t updating its leafsolve variable, and then I realized I had put == instead of = :’)"}, {"post_id": 47295, "ts": "2026-08-15T04:54:43Z", "hours": 7.5728, "text": "New puzzle and escape-room-like format! I’m excited for this project :) -added app icons -coded a hints button (hidden) -added a secret door… somewhere ;) -gave the secret door hints (if the user clicks it, it’s locked and says nothing; if the user clicks it a second time without completing the first task, the door gives a hint); this is to prevent users from getting frustrated! The formatting for everything took so long, and fixing the code was difficult since there were so many lines and I had to test each line step-by-step to find out why the alert() wasn’t working or why the user-typed input didn’t go through D: There are two puzzles available so far, but I will add a third one to complete it! After that, I’m planning to redesign the welcome page completely to bring an escape-room-esque vibe ;)"}, {"post_id": 45030, "ts": "2026-08-11T05:46:24Z", "hours": 1.5047, "text": "-added 3 new duck image windows (draggable + click to disappear), can be summoned using header -organized CSS and JS scripts to another folder (for organization) -formatted so that time says “launching welcome page” when loading (it’s a hint that you can click it to show the welcome window!) goal is to add more easter eggs and make this more interesting!"}, {"post_id": 44260, "ts": "2026-08-09T21:53:14Z", "hours": 1.42, "text": "the MATRIX?! (plot twist: it’s not the matrix. it’s a duck.) -added header -added background -added time clock -reformatted a lot of the page"}, {"post_id": 43626, "ts": "2026-08-09T00:21:03Z", "hours": 0.5189, "text": "it’s a duck website! -welcome message -intro text -duck image -Wikipedia page to the damaging environmental actions of humans -duckOS defined as a duck website made by a duck -compos mantis"}]...
|
Title: DuckyOS by @ducky-violin | Stardance
Devlo Title: DuckyOS by @ducky-violin | Stardance
Devlogs:
it’s a duck website! -welcome message -intro text -duck image -Wikipedia page to the damaging environmental actions of humans -duckOS defined as a duck website made by a duck -compos mantis
the MATRIX?! (plot twist: it’s not the matrix. it’s a duck.) -added header -added background -added time clock -reformatted a lot of the page
-added 3 new duck image windows (draggable + click to disappear), can be summoned using header -organized CSS and JS scripts to another folder (for organization) -formatted so that time says “launching welcome page” when loading (it’s a hint that you can click it to show the welcome window!) goal is to add more easter eggs and make this more interesting!
New puzzle and escape-room-like format! I’m excited for this project :) -added app icons -coded a hints button (hidden) -added a secret door… somewhere ;) -gave the secret door hints (if the user clicks it, it’s locked and says nothing; if the user clicks it a second time without completing the first task, the door gives a hint); this is to prevent users from getting frustrated! The formatting for everything took so long, and fixing the code was difficult since there were so many lines and I had to test each line step-by-step to find out why the alert() wasn’t working or why the user-typed input didn’t go through D: There are two puzzles available so far, but I will add a third one to complete it! After that, I’m planning to redesign the welcome page completely to bring an escape-room-esque vibe ;)
Final stretch! -added leafduck quest (task) -added icon-selection change (app becomes circular when clicked) to puzzle and leaf task -coded the “locked door” to become functional -locked door will now open if you have solved all the puzzles -updated README to have clearer instructions and a story silly mistake I found funny: I spent a long time trying to figure out why the leaf duck wasn’t updating its leafsolve variable, and then I realized I had put == instead of = :’)
-changed index.html into a redirect to prologue -added prologue page for story/context + instructions –> took feedback from previous ship stating that the instructions were unclear and the site was confusing; hopefully this clears things up! -added curious duck to the conclusion of the first level -curious duck redirects to a transition/instructions page, which then redirects into the next level -space-themed level! made the “welcome” sign fade in and added typing transition silly mistakes I found funny: -I linked the prologue script to the curious duck transition page instead of the transition script and was frustrated that nothing on the transition script was running -I tried to put a tag inside of another tag and was wondering why the id assignment wasn’t working
-added favicon to pages (prologue, intro, curious duck, spaceship) -added names to pages (noted above) -rearranged images into a folder, and organized images per page (intro page vs space page, etc.) -defined a function to get element instead of using document.getElementById() every time -added two new windows to Spaceship -made Spaceship windows draggable -added a delay to Spaceship typing intro -added a delay to Spaceship windows appearance (to appear after the text finished typing) -added a delay to Curious Duck appearance (movement makes it easier to spot; less likely to miss) a particularly silly mistake I found funny: I defined the location for the Spaceship div windows in the html file, but I forgot about it and started defining the location with the css file. I was really confused as to why editing the css file didn’t affect the location (it was being overridden by the html one the whole time)
-edited Newspaper details and formatting -added [Read more] for Newspaper -added [Apply here] for Job Postings -added 3 duck icons: –> carefree soda-carrying duck –> studious duck –> jubilant water-carrying duck -added fade-in transition to all 3 duck icon apps -changed timings of Spaceship elements -updated moveable windows to “cursor: pointer” to indicate draggability -updated Matrix level headers (dark green headers) to have “cursor: pointer” to make draggability clearer –> feedback from previous ship told me that I should make it clearer if it’s draggable; hopefully this makes it better! -added a duck agent interruption to reading the newspaper silly dev moment: I reused the “notif” css class for the duck interruption message, but the text was white because in the tag, I had defined all text to be white. However, I didn’t notice that; all I saw was that the “notif” css class didn’t specifically define text color. I kept trying to find where the white text color was coming from, and ended up copy-pasting the notif class and adding a “color: black” to override whatever was changing the text color. After I had changed the newspaper notif to a new space notif class, I realized I could’ve just kept the notif class and made the text black (since all the notif text was black anyways so it wouldn’t have mattered). I’m going insane ;-;
-added duck interruption to Newspaper -added closebutton for duck interruption notif -merged duck image and duck notif into the same div -added stolen newspaper text / /new newspaper -linked coal mining Wikipedia to new newspaper -changed querySelector() to getElemendById() in the is() function -added waterbottleduck interaction -added sodaduck interaction -added studiousduck interaction -added application portal interaction (passcode-locked) silly dev moments: -I kept forgetting to add “” when using my is() function -when I did remember to add “”, I sometimes forgot the is() part and just put the element name -sometimes I’d forget both … and then I’d wonder why my code wasn’t running. I’d run through all the js line-by-line, trying to catch an error, when the answer was right in front of me-
-updated passcode barrier to react if the correct answer is inputted -edited the formatting of the application passcode window -updated soda duck interaction -added a receive/decline soda action -added a reminder to recycle the soda can when done -added aluminum recycling Wikipedia to post-soda-interaction interaction -changed interaction with studious duck to include soda task -added secret hint window, given by studious duck -secret hint window is only accessible after giving studious duck the soda -changed “reparier” job to “engineer” job -changed water-carrying-duck interaction -implemented a function to add a delay before alert() so that alert() interactions aren’t as in-your-face -added a transition message for entering new area -added a conclusion message to inform user that the new update is not yet finished I did a bit of researching on water pollution and coal mining to make sure the context for this made sense, and I also spent a while trying to figure out how to give the user the hint on how to unlock the application portal without making it too easy or too difficult. I’ve finally finished part 1 of the Spaceship realm, though! :3
Final polishing on the Spaceship page: part 1! -changed passcode to not be case-sensitive -edited transition page (Matrix –> Spaceship) –> changed text to match spaceship-specific advice -made new newspaper box draggable -added “selected app” look -compiled devlog updates into README -added hints for spaceship in README -removed cursor: pointer in non-clickable areas (even if draggable) –> reduces confusion on what opens links/events
It seems there is more to it than meets the eye… -added space-themed background (credits: NASA) -added 4 “secret text” boxes, each with different dimensions -moved around the boxes and fit them into the screen without too much overlap –> exception: box below “main box” is overlapping (intentional), but will be hidden on-enter and summoned through a different interaction -hid secret text in the boxes by making the font color the same as the background color -hid hints about where to find the “water vault” in the boxes -added a clock to the bottom-right corner of the screen -clock is functional and displays current time -clock will make cursor: pointer on hover -added draggable + openWindow + closeWindow functions to the js file Formatting the boxes and customizing the background was annoying. I couldn’t just copy-paste everything because the boxes were in different dimensions and different positions, and the background was difficult to find because I kept finding backgrounds that were the wrong dimensions (and it would just copy-paste itself on the screen, making it look like a grid of images instead of one image). Also, I was planning to add duck app icons, but since this is technically part 2 of Spaceship (and not a “main” page), I thought that adding duck icons wouldn’t be as fitting in this situation. clock-vault-summon interaction is under way…
Ships:
DuckyOS - a webpage of ducks and hidden clicks! 4 windows: a welcome page and 3 duck images (draggable) Ducks are shy and will hide if you click on them (or drag them), but you can summon them again with the header! Accidentally closed the welcome window and can’t figure out how to get it up again? I’ll give you a hint: check the clock when you first reload the page… (it has a certain text!) If you still don’t know what DuckyOS is, why don’t you check the definition of “duckOS” on the welcome page? It has a cool thing where you can hover over it and get a definition! I really enjoyed this project and look forward to updating it soon :3
“You have been taken to a secret duck base, and you must prove your worth in order to join the Secret Duck Society. Will you take on the challenge?” DuckyOS becomes a Secret Duck Society puzzle! Updates: -Added 3 app icons; each opens a window or a notification/task -App icons will turn “selected” (become a circle) when clicked -Secret “keys” hidden throughout the page; you have to find all 3 in order to unlock the hidden door -Added alert() notifications to add variety to the types of messages the user gets -Also uses confirm() and a text input button for tasks -There is one task that has the prerequisite of completing the two other tasks to unlock -Secret door will give you a hint if you click on it twice and only if you have not completed one of the quests Recap of old features: -Link to Wikipedia article with the Welcome Duck -Closeable welcome window -Openable welcome window (click the clock) -Draggable welcome window -Ducks that will hide if you click on them / drag them around (they’re shy! ;) ) -Summon ducks back with the header text May you be the next Secret Duck Society member, and most importantly, HAVE FUN! (By the way, README has hints if you’re stuck!)
DuckyOS - Spaceship Update: Part 1! The Curious Duck has approved of your ability and accepted you into the Secret Duck Society. You’ve been assigned a mission: infiltrate the mysterious alien spaceship that has been disturbing the peace of the ducks! Uncover the secrets of the Spaceship as you explore… To start the journey from the beginning, use this link: https://ducky-violin.github.io/duckyOS/index.html To continue where you left off from the previous update, use this link: https://ducky-violin.github.io/duckyOS/curiousduck.html DuckyOS originally started as a WebOS mission, but I changed the direction/goal toward an escape-room-like challenge. The project includes features such as draggable windows, selected apps, and navigable pages–just in a different way than you would expect ;) New features: -Added prologue page for story/context + instructions -Changed index.html into a redirect to prologue (index.html is blank) -Updated Matrix level headers (dark green headers) to have “cursor: pointer” to make draggability clearer -Curious Duck sends you off on a mission! -Space-themed level with fade-in text and element transitions -Added favicons and page titles -Draggable space elements (newspapers and job postings) -3 duck app icons; each give you a hint -App icons will turn “selected” (become a circle) when clicked -1 hidden duck that helps you find the application passcode -Links to Wikipedia pages on coal mining and aluminum recycling Spaceship Hints: -Read the newspaper! -Apply for a job! Being employed is nice… -Be a kind citizen and offer a drink to that studious duck! -Looking for the stolen newspaper? Check the original newspaper first!...
|
1792875211.7389245
|
1793739211.7389245
|
|
2351
|
Kernel Panic Tower Defence by @teamlewiscrafty | S Kernel Panic Tower Defence by @teamlewiscrafty | Stardance...
|
teamlewiscrafty
|
1
|
48.0
|
745
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-15T20:46:27Z", "hours": 48.0, "multiplier": 15.59, "payout": 745, "blessing": "neutral", "text": "Kernel Panic Hold off malware to give your firewall time to be repaired in this tower defence game prototype built using the Godot engine ! It is inspired by 1990s Unix systems and sci-fi classics like ‘The Matrix’. Play the demo at https://gianthotdog.itch.io/Kernel-Panic The game demo includes: Multiple levels including a tutorial GRUB-style menu A settings menu (Audio settings, Credits, VSync settings) A config file system so settings persist across play sessions An upgrade tree that contains global upgrades to towers and XP gains An XP and skill point system for purchasing those upgrades 4 distinct types of towers with adjustable targeting priorities Several enemy types Custom resources to handle: Single tower upgrades Enemy counts in waves Global upgrades Controls: Enter to skip startup sequence Click to select / interact / modify values AI: AI was used to write about 50 lines of code for the two shaders, and very occasionally for solving persistent bugs. It was only used for bug fixes after I tried repeatedly and failed to find a solution myself. It was also used for some feedback on aesthetic choices. All assets were designed by hand. All AI code was reviewed before implementation. Credits: Initial prototyping asset pack by Kenney Music by iamoneabe: https://opengameart.org/content/trunkful-of-junk", "repo": "https://github.com/GiantHotdog/tower-defence-game", "demo": "https://gianthotdog.itch.io/kernel-panic"}]...
|
[{"post_id": 68782, "ts": "202 [{"post_id": 68782, "ts": "2026-09-15T18:58:47Z", "hours": 5.0969, "text": "Improving the global upgrade system Additions : Support for panning around the upgrade tree More upgrades ! Added icons to upgrades Added file saving for XP earned Allow accessing the skill tree from the menu Changes: Level completion is now tracked across multiple play sessions Refined “Currently: …” messages in the upgrade tree The features from the last devlog are now also public ! 🎉 I added some more upgrades to the upgrade tree, and I also gave all of them icons. The icons are… passable. I’m not a graphical artist, and it kind of shows. The “Currently…” messages at the bottom of the side panel got an overhaul, including the addition of units, specific to the type of value being upgraded The game now saves both xp earned and levels completed to files, so they persist between play sessions. This means you don’t have to replay the whole game every time you close it - this is no longer an 80s game ! The skill tree can also be accessed from the menu, so I’m no longer just booting it straight from the Godot editor. This makes it slightly more user friendly. This is probably where I will leave this project for now. I may come back to it now and then, but I’m happy with where this game demo has ended up. I’ll ship it soon, so watch out for that ! If you want to play the game, it is live here . If you are interested in the code, it is available here . To Do list : Add a “reset all to default” option in settings Quote of the update: “Next time I do this, remind me to actually build a proper tree structure” Any suggestions, please let me know in the comments below. Thanks for reading !"}, {"post_id": 42676, "ts": "2026-08-07T15:04:25Z", "hours": 10.5378, "text": "Adding a global upgrade system Additions : Added ‘Zero day’ enemy Added a second level with 6 waves Added a xp system, with skill points and a skill tree Changes: Expanded wave variety in other levels I added a ‘Zero day’ enemy to my game. This enemy is invulnerable for the first 5 seconds after it first spawns in. This makes it highly annoying as it has a tendency to draw and absorb all attacks from high damage towers, and pass through a large portion of your damaging towers unscathed. I also added more waves and a second level, and I’ll slowly expand the playtime of the game as I also add more features The big change here is the xp system. Currently, finishing a level rewards you with some xp, which counts towards your level. Each level up rewards you with a skill point that can be spent in the skill tree. The xp required to level up increases exponentially as the current level gets higher and higher. Unlocks in the tree save to a file and read back on load, so progress is maintained. I was reminded here of my vehement dislike of handling files. For the second time during this project, I forgot where userspace files were stored in Godot. Check this devlog for a bit more detail. Now unfortunately, the demo currently online doesn’t include these new features because I need to write a devlog every 10 hours, but the features aren’t finished. I’ll push them as soon as they are ready™ To Do list : Add file saving for XP earned Allow actually accessing the skill tree from the menu Add a “reset all to default” option in settings Quote of the update: “I. Really. Hate. Files” Any suggestions, please let me know in the comments below."}, {"post_id": 22190, "ts": "2026-07-04T15:02:38Z", "hours": 10.0806, "text": "Added a compendium Alright, this is a big one Additions : Added an indicator that shows the progress through the level Added a “Zip bomb” enemy Added cloaked enemies Added a pause menu Added a compendium Changes: Rebuilt the tutorial I added an indicator to show the player’s progress through the level. It also adds a tiny bit of story - you have to hold off malware until a firewall is constructed, and that bar shows you the progress. And I didn’t even build it from scratch - I’m just using the health bar from the enemies ! 🤫 Next - a zip bomb enemy that, as the name suggests, spawns a burst of child enemies when killed. It moves very slowly, but has high health - this makes it a great target for the SIGTERM sniper tower, which was previously useless not always the best choice. Cloaking was my way of trying to spice up the types of enemies the player would have to deal with. Some enemies in a level will now be cloaked, which means they cannot be attacked until they have their cloaking removed by the new ‘defragmenter’ tower. I wanted a way for players to easily compare the stats of the various towers and enemies, and I also needed something else to add to my pause menu. I decided to kill two pieces of malware with one antivirus quarantine, by adding a compendium. This currently has two tabs, for towers and enemies, each showing you the stats of a tower / enemy when it’s selected. Please don’t ask me how long this took. I don’t want to talk about it. I also rebuilt the tutorial because it looked bad was a pain to build and test would break if i breathed too close to it So I completely scrapped the old system and built a new one Quote of the update: “Hidden malware is a pain - in this game, and in real life” Any suggestions, please let me know in the comments below."}, {"post_id": 10191, "ts": "2026-06-16T20:02:36Z", "hours": 4.1847, "text": "Added a terminal window that logs game events and a tower blocker for level design Changes : Reorganised the UI to provide more space for the level and generally give everything a more unified aesthetic Additions : Added a terminal window at the bottom of the screen that logs game events Added a ‘towerblocker’ tool that the level designer can use to restrict tower placement opportunities Plus (as always) quite a few bug fixes So what is the key feature for any 90s UNIX Linux system? A terminal, of course ! And what is a UNIX-themed game without a terminal? So I added a system where game events, such as waves starting, or enemies being killed, are logged to a terminal window at the bottom of the screen. This window can be opened and closed, and has a little coloured pulse around it whenever a new log is entered. The coloured pulse is synced to the type of event (red for ‘errors’, yellow for ‘warnings’ white for everything else) as well. Each message contains some details about the event and a timestamp on the left. This feature was my first time using the richTextLabel, which allowed me to colour the text. The towerblocker is simple - it’s an invisible tile that can only be placed when the levels are being designed in order to add difficulty or avoid placing of towers offscreen I also reorganised the UI to provide more space for the level - it was all feeling a bit cramped. That reorg also helped to give everything a more unified aesthetic because I took the opportunity to apply some styles to everything, making it feel just a little more together. Quote of the update: “An empty terminal log is always nice. Unfortunately, I don’t think things will be that peaceful…” Any suggestions, please let me know in the comments."}, {"post_id": 8701, "ts": "2026-06-14T13:37:38Z", "hours": 6.4575, "text": "Overhauled the game over screen’s aesthetic and added mouse support to the menu Changes : Changed the game over screen to better fit with the game’s aesthetic Changed the font to a monospaced one Additions : Added mouse support to the menu Added a spray of particles to enemies when they die Added a chromatic aberration effect to enemies when they are hit Plus quite a few bug fixes The first change in this devlog is the game over screen, which used to look like a boring window with a restart button, but now looks like a crash screen [ Image below ] that uses the actual system data to display its message, via a template string and an 8 line formatting statement. I am quite proud of this one Adding mouse support to the menu was, in a word, painful. Because I’d built my own menu system using labels instead of buttons, I had to almost completely rewrite the code to allow for conversion of a Label reference (from one of Godot’s built-in functions) to a child id (which my functions were expecting). And then I had to add some overrides to that so some labels that were not part of the menu system wouldn’t break everything. The spray of particles from enemies when they die is one of my personal favourite effects in this game, mostly because of what I’ve learnt from it. I made the particles be text based by using a subviewport, which basically is a viewport that doesn’t display anything and can then be attached to a texture to show its contents, in this case, on the particles as they are emitted. I also made the text randomise to a 2 digit hexadecimal value - that felt suitably ‘techy’ One of the smaller features in this devlog is the font change. Instead of using Godot’s default font, I found the font used in the actual GRUB and used that instead. Where did I find this font, you ask? It came directly from my PC - I copied the file straight out of /usr/share/fonts . And now we come to chromatic aberration which, as it turns out, is easy to implement for the whole screen, but slightly harder to make work for only a single sprite without discolouring the background. After messing around with shaders for a bit, I gave up and just made 2 versions of my enemy sprite (in red and blue) and just physically offset them in code. And it works. And, if I dare to blow my own trumpet for just a second, it looks great ! Quote of the update: “Please never make me look at my menu code again.”"}, {"post_id": 5836, "ts": "2026-06-09T19:35:21Z", "hours": 4.2917, "text": "Overhauled the menu aesthetic and added a settings menu So, I realised that I’d called this game ‘Kernel Panic’, a very techy name, and yet done little to lean into the aesthetic that evoked. I decided to fix that. Changes: Rebuilt the main menu to use a similar aesthetic to the Linux GRUB Added a settings menu: Support for 2 Vsync modes A slider to control audio A credits page This was my first time using config files, so I also got to learn something; Godot’s user:// directory is not the same as res://. A file created in the user:// directory cannot be seen in the res:// directory. From my uneducated perspective, it seemed as if this file (which I couldn’t find in the editor, since that only shows res:// ) was persisting across runtimes - something non-existent files famously don’t do. I saw someone else do a ‘quote of the update’, but I was unable to find their username to credit them, so please tell me if you know who they are: Quote of the update: “I really don’t like config files” Next plan is to overhaul the game over screen so it better fits with the aesthetic"}, {"post_id": 3590, "ts": "2026-06-06T16:17:25Z", "hours": 0.2508, "text": "Made a dictionary of wave information resources in the level . I exported a dictionary of custom WaveInfo resources in my level scene, and went to add a new resource to the dictionary. I typed in the key, added a new WaveInfo, and clicked Ctrl+s. My new key-value pair promptly vanished without a trace And so began the hour of removing variables, re-adding variables, trawling through the Godot forums and generally wanting to set fire to my computer to try to find the problem. The urge that was not improved by the discovery that I’d forgotten to press the button to actually add the key-value pair, and the error firmly existed between chair and keyboard."}, {"post_id": 3545, "ts": "2026-06-06T15:10:06Z", "hours": 0.4167, "text": "Added a resource to allow upgrades to towers. For those who haven’t used Godot, a resource is a fancy name for a data container that counts the number of other objects referencing it and automatically frees itself when it is no longer needed. According to a quick glance at the Godot docs, creating a custom Resource is as simple as creating a new script that extends Resource and adding a couple of @export variables. I failed at step one, used the default ‘ extend Node ’ instead of ‘ extend Resource ’, and then spent over half an hour trying to work out why it didn’t show up in the inspector. Lesson learned then? Not really, because I did the exact same thing again the next day."}, {"post_id": 3523, "ts": "2026-06-06T14:35:36Z", "hours": 7.0975, "text": "First devlog for Kernel Panic , a tower defence game built in Godot. Here is my progress so far: A menu which allows the user to select levels Multiple custom resources to allow for: Flexible enemy counts and spawn rates during waves Changing of range, damage, or attack speed of a tower Creation of ‘upgrade paths’, which store several upgrades, as well as progress along the path Inspection window that allows: Customisable targeting priority Upgrades to be applied from multiple upgrade paths Multiple towers with several unique upgrade paths each Next step - building a tutorial level that explains the key mechanics of the game."}]...
|
Title: Kernel Panic Tower Defence by @teamlewiscra Title: Kernel Panic Tower Defence by @teamlewiscrafty | Stardance
Devlogs:
First devlog for Kernel Panic , a tower defence game built in Godot. Here is my progress so far: A menu which allows the user to select levels Multiple custom resources to allow for: Flexible enemy counts and spawn rates during waves Changing of range, damage, or attack speed of a tower Creation of ‘upgrade paths’, which store several upgrades, as well as progress along the path Inspection window that allows: Customisable targeting priority Upgrades to be applied from multiple upgrade paths Multiple towers with several unique upgrade paths each Next step - building a tutorial level that explains the key mechanics of the game.
Added a resource to allow upgrades to towers. For those who haven’t used Godot, a resource is a fancy name for a data container that counts the number of other objects referencing it and automatically frees itself when it is no longer needed. According to a quick glance at the Godot docs, creating a custom Resource is as simple as creating a new script that extends Resource and adding a couple of @export variables. I failed at step one, used the default ‘ extend Node ’ instead of ‘ extend Resource ’, and then spent over half an hour trying to work out why it didn’t show up in the inspector. Lesson learned then? Not really, because I did the exact same thing again the next day.
Made a dictionary of wave information resources in the level . I exported a dictionary of custom WaveInfo resources in my level scene, and went to add a new resource to the dictionary. I typed in the key, added a new WaveInfo, and clicked Ctrl+s. My new key-value pair promptly vanished without a trace And so began the hour of removing variables, re-adding variables, trawling through the Godot forums and generally wanting to set fire to my computer to try to find the problem. The urge that was not improved by the discovery that I’d forgotten to press the button to actually add the key-value pair, and the error firmly existed between chair and keyboard.
Overhauled the menu aesthetic and added a settings menu So, I realised that I’d called this game ‘Kernel Panic’, a very techy name, and yet done little to lean into the aesthetic that evoked. I decided to fix that. Changes: Rebuilt the main menu to use a similar aesthetic to the Linux GRUB Added a settings menu: Support for 2 Vsync modes A slider to control audio A credits page This was my first time using config files, so I also got to learn something; Godot’s user:// directory is not the same as res://. A file created in the user:// directory cannot be seen in the res:// directory. From my uneducated perspective, it seemed as if this file (which I couldn’t find in the editor, since that only shows res:// ) was persisting across runtimes - something non-existent files famously don’t do. I saw someone else do a ‘quote of the update’, but I was unable to find their username to credit them, so please tell me if you know who they are: Quote of the update: “I really don’t like config files” Next plan is to overhaul the game over screen so it better fits with the aesthetic
Overhauled the game over screen’s aesthetic and added mouse support to the menu Changes : Changed the game over screen to better fit with the game’s aesthetic Changed the font to a monospaced one Additions : Added mouse support to the menu Added a spray of particles to enemies when they die Added a chromatic aberration effect to enemies when they are hit Plus quite a few bug fixes The first change in this devlog is the game over screen, which used to look like a boring window with a restart button, but now looks like a crash screen [ Image below ] that uses the actual system data to display its message, via a template string and an 8 line formatting statement. I am quite proud of this one Adding mouse support to the menu was, in a word, painful. Because I’d built my own menu system using labels instead of buttons, I had to almost completely rewrite the code to allow for conversion of a Label reference (from one of Godot’s built-in functions) to a child id (which my functions were expecting). And then I had to add some overrides to that so some labels that were not part of the menu system wouldn’t break everything. The spray of particles from enemies when they die is one of my personal favourite effects in this game, mostly because of what I’ve learnt from it. I made the particles be text based by using a subviewport, which basically is a viewport that doesn’t display anything and can then be attached to a texture to show its contents, in this case, on the particles as they are emitted. I also made the text randomise to a 2 digit hexadecimal value - that felt suitably ‘techy’ One of the smaller features in this devlog is the font change. Instead of using Godot’s default font, I found the font used in the actual GRUB and used that instead. Where did I find this font, you ask? It came directly from my PC - I copied the file straight out of /usr/share/fonts . And now we come to chromatic aberration which, as it turns out, is easy to implement for the whole screen, but slightly harder to make work for only a single sprite without discolouring the background. After messing around with shaders for a bit, I gave up and just made 2 versions of my enemy sprite (in red and blue) and just physically offset them in code. And it works. And, if I dare to blow my own trumpet for just a second, it looks great ! Quote of the update: “Please never make me look at my menu code again.”
Added a terminal window that logs game events and a tower blocker for level design Changes : Reorganised the UI to provide more space for the level and generally give everything a more unified aesthetic Additions : Added a terminal window at the bottom of the screen that logs game events Added a ‘towerblocker’ tool that the level designer can use to restrict tower placement opportunities Plus (as always) quite a few bug fixes So what is the key feature for any 90s UNIX Linux system? A terminal, of course ! And what is a UNIX-themed game without a terminal? So I added a system where game events, such as waves starting, or enemies being killed, are logged to a terminal window at the bottom of the screen. This window can be opened and closed, and has a little coloured pulse around it whenever a new log is entered. The coloured pulse is synced to the type of event (red for ‘errors’, yellow for ‘warnings’ white for everything else) as well. Each message contains some details about the event and a timestamp on the left. This feature was my first time using the richTextLabel, which allowed me to colour the text. The towerblocker is simple - it’s an invisible tile that can only be placed when the levels are being designed in order to add difficulty or avoid placing of towers offscreen I also reorganised the UI to provide more space for the level - it was all feeling a bit cramped. That reorg also helped to give everything a more unified aesthetic because I took the opportunity to apply some styles to everything, making it feel just a little more together. Quote of the update: “An empty terminal log is always nice. Unfortunately, I don’t think things will be that peaceful…” Any suggestions, please let me know in the comments.
Added a compendium Alright, this is a big one Additions : Added an indicator that shows the progress through the level Added a “Zip bomb” enemy Added cloaked enemies Added a pause menu Added a compendium Changes: Rebuilt the tutorial I added an indicator to show the player’s progress through the level. It also adds a tiny bit of story - you have to hold off malware until a firewall is constructed, and that bar shows you the progress. And I didn’t even build it from scratch - I’m just using the health bar from the enemies ! 🤫 Next - a zip bomb enemy that, as the name suggests, spawns a burst of child enemies when killed. It moves very slowly, but has high health - this makes it a great target for the SIGTERM sniper tower, which was previously useless not always the best choice. Cloaking was my way of trying to spice up the types of enemies the player would have to deal with. Some enemies in a level will now be cloaked, which means they cannot be attacked until they have their cloaking removed by the new ‘defragmenter’ tower. I wanted a way for players to easily compare the stats of the various towers and enemies, and I also needed something else to add to my pause menu. I decided to kill two pieces of malware with one antivirus quarantine, by adding a compendium. This currently has two tabs, for towers and enemies, each showing you the stats of a tower / enemy when it’s selected. Please don’t ask me how long this took. I don’t want to talk about it. I also rebuilt the tutorial because it looked bad was a pain to build and test would break if i breathed too close to it So I completely scrapped the old system and built a new one Quote of the update: “Hidden malware is a pain - in this game, and in real life” Any suggestions, please let me know in the comments below.
Adding a global upgrade system Additions : Added ‘Zero day’ enemy Added a second level with 6 waves Added a xp system, with skill points and a skill tree Changes: Expanded wave variety in other levels I added a ‘Zero day’ enemy to my game. This enemy is invulnerable for the first 5 seconds after it first spawns in. This makes it highly annoying as it has a tendency to draw and absorb all attacks from high damage towers, and pass through a large portion of your damaging towers unscathed. I also added more waves and a second level, and I’ll slowly expand the playtime of the game as I also add more features The big change here is the xp system. Currently, finishing a level rewards you with some xp, which counts towards your level. Each level up rewards you with a skill point that can be spent in the skill tree. The xp required to level up increases exponentially as the current level gets higher and higher. Unlocks in the tree save to a file and read back on load, so progress is maintained. I was reminded here of my vehement dislike of handling files. For the second time during this project, I forgot where userspace files were stored in Godot. Check this devlog for a bit more detail. Now unfortunately, the demo currently online doesn’t include these new features because I need to write a devlog every 10 hours, but the features aren’t finished. I’ll push them as soon as they are ready™ To Do list : Add file saving for XP earned Allow actually accessing the skill tree from the menu Add a “reset all to default” option in settings Quote of the update: “I. Really. Hate. Files” Any suggestions, please let me know in the comments below.
Improving the global upgrade system Additions : Support for panning around the upgrade tree More upgrades ! Added icons to upgrades Added file saving for XP earned Allow accessing the skill tree from the menu Changes: Level completion is now tracked across multiple play sessions Refined “Currently: …” messages in the upgrade tree The features from the last devlog are now also public ! 🎉 I added some more upgrades to the upgrade tree, and I also gave all of them icons. The icons are… passable. I’m not a graphical artist, and it kind of shows. The “Currently…” messages at the bottom of the side panel got an overhaul, including the addition of units, specific to the type of value being upgraded The game now saves both xp earned and levels completed to files, so they persist between play sessions. This means you don’t have to replay the whole game every time you close it - this is no longer an 80s game ! The skill tree can also be accessed from the menu, so I’m no longer just booting it straight from the Godot editor. This makes it slightly more user friendly. This is probably where I will leave this project for now. I may come back to it now and then, but I’m happy with where this game demo has ended up. I’ll ship it soon, so watch out for that ! If you want to play the game, it is live here . If you are interested in the code, it is available here . To Do list : Add a “reset all to default” option in settings Quote of the update: “Next time I do this, remind me to actually build a proper tree structure” Any suggestions, please let me know in the comments below. Thanks for reading !
Ships:
Kernel Panic Hold off malware to give your firewall time to be repaired in this tower defence game prototype built using the Godot engine ! It is inspired by 1990s Unix systems and sci-fi classics like ‘The Matrix’. Play the demo at https://gianthotdog.itch.io/Kernel-Panic The game demo includes: Multiple levels including a tutorial GRUB-style menu A settings menu (Audio settings, Credits, VSync settings) A config file system so settings persist across play sessions An upgrade tree that contains global upgrades to towers and XP gains An XP and skill point system for purchasing those upgrades 4 distinct types of towers with adjustable targeting priorities Several enemy types Custom resources to handle: Single tower upgrades Enemy counts in waves Global upgrades Controls: Enter to skip startup sequence Click to select / interact / modify values AI: AI was used to write about 50 lines of code for the two shaders, and very occasionally for solving persistent bugs. It was only used for bug fixes after I tried repeatedly and failed to find a solution myself. It was also used for some feedback on aesthetic choices. All assets were designed by hand. All AI code was reviewed before implementation. Credits: Initial prototyping asset pack by Kenney Music by iamoneabe: https://opengameart.org/content/trunkful-of-junk...
|
1793004818.046759
|
1793091218.046759
|
|
53926
|
Manim derivative plotter by @TyrannoJ | Stardance
|
TyrannoJ
|
2
|
53.04
|
744
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-14T15:32:17Z", "hours": 27.0, "multiplier": 15.47, "payout": 420, "blessing": "neutral", "text": "I updated my python project: Last ship I had made a python library for plotting polynomial functions with manim. Th most common suggestion I got by reviewers is: put in on a website for better accesability, so I did :). The website runs on next.js and vercel and is connected to a python backend on a local laptop. The core logic is still my python project from before. It was quite hard to set up the site because I first wanted to host the backend on render but it didn’t like manim so i migrated it to local. Originally I also wanted to include more of my manim projects but I moved them into another project and repo now. What was very fun was the styling with tailwincss and I quite like how it turned out, also the video saving part is quite fun as it saves one new file for each request So in summary my site has the following features: A video and a picture tool where you can let the backend give you a picture/video of a function, its derivatives and the extremes and turning points… and a little joke generator :) I hope the site works and my PC can always crash but it has run for 4 days now and I’m confident. That’s about it, thank you for reading and have a good one", "repo": "https://github.com/TyrannoJ/manim", "demo": "https://manim-ochre.vercel.app/"}, {"ship_num": 2, "ts": "2026-08-30T17:43:18Z", "hours": 24.0, "multiplier": 13.4, "payout": 324, "blessing": "neutral", "text": "Manim Derivative plotter: I started this project a week ago because I#m fascinated with 3b1b’s Animations and thougth being able to do them myself would be pretty cool, so I madde this because it was the first thing that came to mind as I had done derivatives a lot in school last year, so I just made something that can do a part of the tedious boring work for me, at least till we learn something new. Challenges At first it was a challenge to learn how exactly Manim works, but once you get the basics it is really easy to expand your knowledge because it is very logical. Then I had problems with manim sideview because it didn’t render so I had to manually render my videos through most of this project (but it was just two more clicks, so that’s okay). I also had to learn a little patience because rendering takes a long time, but I made a simple version with whih i could also test things much faster than with the long rendering animations. In the end I’m pretty proud of the logic behind the animations, especially the scaling of the axes correspnfing to the function and that I really made something I think is simple enough so I and will use it for school so it’s not just a project nobody needs but actually something useful. That’s it I think, if you want to see some of the programm outputs or test the project yourself then look in the Readme, it says there what you gotta do, i tested it and I think it should work. Thats all from me, this has been really fun, I hope you like my project and maybe someone will actually use it for school or something. Thanks for reading, have fun with the plotter :)", "repo": "https://github.com/TyrannoJ/manim", "demo": "https://manim-ochre.vercel.app/"}]...
|
[{"post_id": 80605, "ts": "202 [{"post_id": 80605, "ts": "2026-10-18T09:10:09Z", "hours": 2.0386, "text": "Devlog 13 First thanks for all the amazing reviews on my last ship, I’m very happy how it turned out. Since last time I put in a few things. What I did put in a copy button on the image (mostly with AI) so user can easily put the content somwhere else check for false inputs on the frontend, because before the backend always rendered 1x when a false input was given make the help more understandable added an alt image for testing when I can’t connect to the backend What I’ll do next I have like a 15 point to do list so I wont be running out of things to do Thank you for reading and have a nice day"}, {"post_id": 79542, "ts": "2026-10-14T15:01:58Z", "hours": 2.6258, "text": "Devlog 12 I mainly made some small help adjustments to get ready to ship What I did Added a help tab with infos and a link to the readme Made the server work on multiple workers (this is just one simple command LOL) Made all the python functions async, so it can connect to multiple users Ok, so I think I’ll get ready to ship now, there is still a ton of stuff I’ll be doing in the next version but it works for now and I want this shipped before stardance runs out. Thank you for reading, have a good one"}, {"post_id": 78880, "ts": "2026-10-11T21:08:30Z", "hours": 7.6142, "text": "Devlog 11 So, I coded a lot today, very fun stuff What I did I styled my website with tailwindcss with the help of the official documentation You can now also see the rendered videos on the site I have a joke tab on the website with jokes from here , thanks to this project where I found this awesome API I added little stuff like a very cool favicon Challenges Tailwindcss is al little messy but soooo useful Needed a little help from copilot for finding some errors as I am not that good with javascript What I’ll do next make the input more robust to user error fix a few small rendering issues make a more permanent cloudflared tunnel ship hopefully tomorrow That’s it, coding is cool, if you like, try my website here , have a nice one, thanks for reading"}, {"post_id": 78188, "ts": "2026-10-09T22:18:53Z", "hours": 6.4897, "text": "Devlog 10 Ok, so I didn’t write for some time but I have done some pretty cool stuff actually. What I did first I worked a little more on another explanatory video for school, before moving it to another project because it didn’t fit here very well Mainly I worked on getting the website working (with a lot of help from my friend perplexity) -first I made the video upload from python to next.js work on my PC then I deployed the frontend on vercel -Tried to deploy backend on render but it didn’t like manim very much so I instead put it on my Linux Laptop and it’s working now for pictures at least What I’ll do next Make the website more stable and let it upload videos too and make it look better (whoooo CSS) That’s about all, you’re welcome to try my project at manim-ochre.vercel.app"}, {"post_id": 75238, "ts": "2026-09-29T15:37:06Z", "hours": 6.1378, "text": "Devlog 9 So I didn’t write for long time because I have been busy with other projects but I have done mainly two new things while waiting for the project to get reviewed Add a new video I basically want to turn this repository into a collection of all the things I do with manim and I had to make a video about electric potential for school so I put it in there and it is quite cool and useful Start website development It appears that a python library is harder to do than I thought, so my plan is now to make a website and let my computer handle all the python. For now it is local and you can only send text to the backend but if it works it will be sooo cool. I’m using Next.js and FastAPI which I already know from a former project. That’s as they say it for now, thanks for reading, have a nice one"}, {"post_id": 69216, "ts": "2026-09-16T16:35:27Z", "hours": 2.6294, "text": "Devlog 8 I think I am finally finished now, I tried to make a standalone executable but the packaging tool didn’t like me and I didn’t like it. So I made a Pypi release!!! It was my first so I had to read through the documentation and also get a little explaining from copilot but it is actually surprisingly simple. I just had to create a folder structure a README (had it already) a pyproject-toml (configuration) a LICENSE then just build and ship finished!!! So you can very easily try my project out now just run pip install manim-derivative-plotter and use render_animation() and render_picture() but I explain all of it in the Readme Sooo, I’ll ship again now, hope it works Thanks for reading, have a nice one"}, {"post_id": 59840, "ts": "2026-09-01T20:18:53Z", "hours": 1.1686, "text": "Devlog 7 After resolving the last problem I tried to ship again however there was a bug, because I had used LaTex to show the functions in my code and you have to install a seperate programm for that. So thanks to the shipping team for pointing this out, I now changed it to Typst, which for my purposes works basically like Tex but I can put in my pyproject.toml dependencies. So that’s it, hope it works for everyone now, thank you for reading and have a good one"}, {"post_id": 59447, "ts": "2026-09-01T09:30:00Z", "hours": 0.5153, "text": "Devlog 6 In my first ship try I didn’t explain how to test the project yourself on the demo site, so I now fixed that and added the explanations from the readme to the site, thanks to the shipping team for pointing this out to me and I hope it is good now. thanks for reading, have a good one"}, {"post_id": 58280, "ts": "2026-08-30T17:27:55Z", "hours": 4.1336, "text": "Devlog 6 Okay so I wanted to ship after last time but then i decided to fix a few more errors and make my project more easily testable, so here’s what i did: Changes made the input better so you can inpu for example constants without writing x0 behind them fixed a problem with x=0, where sympy.solveset would give me infinite zeros, I made so that it gives none because it was the solution that made the most sense in keeping everything as simple as possible made thg curve indicator graph also work for lines with no curvature and lines with no turning points I made the whole thing downloadable and testable over pipx made the website design a little better -made a better Readme and commented my code That is pretty much it, thanks for reading, if anybody wants to try the project, the Readme says how it’s done, thank you for reading"}, {"post_id": 55139, "ts": "2026-08-26T16:36:38Z", "hours": 2.5172, "text": "Devlog 5 final Devlog I think, after patching the last little bugs and writing a better Readme, I had a little fight with github pages because it sometimes wouldn’t show my videos, luckily I got it to work. So my Demo is now a page with the rendered videos on it and that should hopefully work for everyone. The pictures are what the demo should look like. This has been fun and I’m amazed how fast you can create cool stuff with manim, thanks to Grant Sanderson from 3blue1brown. Right, I’ll get myself some rest and think about the next manim project I will do, thanks for reading and have a nice one."}, {"post_id": 54806, "ts": "2026-08-25T22:55:48Z", "hours": 4.4847, "text": "Devlog 4 Hello again, today I did a lot of bugfixing and little tweaks to make the animation better Bugfixes fixed a bug where some functions where only partially shown on screen solved some Transform Problems by sorting the zero points Other Stuff Made functions shown on screen more appealing by removing useless +es for example added boxes behind the text so you can read it if the functions go through there made user Input more resistant against false Inputs And I finally got Manim Sideview working correctly, before that I always had to render everything and then show it with sideview, Yay!!! Gotta sleep now, it’s 1am, thanks for reading and Good night"}, {"post_id": 54425, "ts": "2026-08-25T13:05:28Z", "hours": 2.2722, "text": "Devlog 3 Sooo after the main functionalities were finished I did everyones favourite job: Bugfixing yay!!! Here is what I did today and what I still have to do Bugfixes fixed a bug where curves werent shown because they were above/below the max y values of the coordinates fixed some division by zero stuff made custom boundaries for every function because some werent rendering because they had to render too many values outside of the screen “fixed” a weird type bug in sympy.solveset by just putting a try except there made some turning points with the same values on both sides better Animations Added the second derivative to the turning points Animation Fit zeros better To Do Make the Input of derivatives simple more flexible, user error proof Fix Problems with float Inputs Make Good Readme I will go eat lunch now, thanks for reading, have a nice day!!!"}, {"post_id": 54115, "ts": "2026-08-24T22:33:01Z", "hours": 1.5247, "text": "Devlog 2 After way tooo much work today I finished all the animations after fighting with data types for a while and I added the simple mode where it just gives you the finished picture without animations. Thank you for reading, have a nice night, I gotta sleep now"}, {"post_id": 54070, "ts": "2026-08-24T20:51:04Z", "hours": 9.3264, "text": "Devlog 1 I wanted to start creating Animations with manim for a while and this was a logical place to start because we just recently learned derivatives in school Here’s what i have so far -You can input normal polynomial expressions in the source code -They are plotted along with their first and second derivative -The program sows the zero points of all those functions -It then shows the Maxima/Minima and the Turning Points I also added some fn little tweaks like the coordinate system fitting itself to whatever function you input. What I want to do next: -Make the Animations better -Maybe add other types of functions That’s about it, thanks for reading, have a nice day"}]...
|
Title: Manim derivative plotter by @TyrannoJ | Sta Title: Manim derivative plotter by @TyrannoJ | Stardance
Devlogs:
Devlog 1 I wanted to start creating Animations with manim for a while and this was a logical place to start because we just recently learned derivatives in school Here’s what i have so far -You can input normal polynomial expressions in the source code -They are plotted along with their first and second derivative -The program sows the zero points of all those functions -It then shows the Maxima/Minima and the Turning Points I also added some fn little tweaks like the coordinate system fitting itself to whatever function you input. What I want to do next: -Make the Animations better -Maybe add other types of functions That’s about it, thanks for reading, have a nice day
Devlog 2 After way tooo much work today I finished all the animations after fighting with data types for a while and I added the simple mode where it just gives you the finished picture without animations. Thank you for reading, have a nice night, I gotta sleep now
Devlog 3 Sooo after the main functionalities were finished I did everyones favourite job: Bugfixing yay!!! Here is what I did today and what I still have to do Bugfixes fixed a bug where curves werent shown because they were above/below the max y values of the coordinates fixed some division by zero stuff made custom boundaries for every function because some werent rendering because they had to render too many values outside of the screen “fixed” a weird type bug in sympy.solveset by just putting a try except there made some turning points with the same values on both sides better Animations Added the second derivative to the turning points Animation Fit zeros better To Do Make the Input of derivatives simple more flexible, user error proof Fix Problems with float Inputs Make Good Readme I will go eat lunch now, thanks for reading, have a nice day!!!
Devlog 4 Hello again, today I did a lot of bugfixing and little tweaks to make the animation better Bugfixes fixed a bug where some functions where only partially shown on screen solved some Transform Problems by sorting the zero points Other Stuff Made functions shown on screen more appealing by removing useless +es for example added boxes behind the text so you can read it if the functions go through there made user Input more resistant against false Inputs And I finally got Manim Sideview working correctly, before that I always had to render everything and then show it with sideview, Yay!!! Gotta sleep now, it’s 1am, thanks for reading and Good night
Devlog 5 final Devlog I think, after patching the last little bugs and writing a better Readme, I had a little fight with github pages because it sometimes wouldn’t show my videos, luckily I got it to work. So my Demo is now a page with the rendered videos on it and that should hopefully work for everyone. The pictures are what the demo should look like. This has been fun and I’m amazed how fast you can create cool stuff with manim, thanks to Grant Sanderson from 3blue1brown. Right, I’ll get myself some rest and think about the next manim project I will do, thanks for reading and have a nice one.
Devlog 6 Okay so I wanted to ship after last time but then i decided to fix a few more errors and make my project more easily testable, so here’s what i did: Changes made the input better so you can inpu for example constants without writing x0 behind them fixed a problem with x=0, where sympy.solveset would give me infinite zeros, I made so that it gives none because it was the solution that made the most sense in keeping everything as simple as possible made thg curve indicator graph also work for lines with no curvature and lines with no turning points I made the whole thing downloadable and testable over pipx made the website design a little better -made a better Readme and commented my code That is pretty much it, thanks for reading, if anybody wants to try the project, the Readme says how it’s done, thank you for reading
Devlog 6 In my first ship try I didn’t explain how to test the project yourself on the demo site, so I now fixed that and added the explanations from the readme to the site, thanks to the shipping team for pointing this out to me and I hope it is good now. thanks for reading, have a good one
Devlog 7 After resolving the last problem I tried to ship again however there was a bug, because I had used LaTex to show the functions in my code and you have to install a seperate programm for that. So thanks to the shipping team for pointing this out, I now changed it to Typst, which for my purposes works basically like Tex but I can put in my pyproject.toml dependencies. So that’s it, hope it works for everyone now, thank you for reading and have a good one
Devlog 8 I think I am finally finished now, I tried to make a standalone executable but the packaging tool didn’t like me and I didn’t like it. So I made a Pypi release!!! It was my first so I had to read through the documentation and also get a little explaining from copilot but it is actually surprisingly simple. I just had to create a folder structure a README (had it already) a pyproject-toml (configuration) a LICENSE then just build and ship finished!!! So you can very easily try my project out now just run pip install manim-derivative-plotter and use render_animation() and render_picture() but I explain all of it in the Readme Sooo, I’ll ship again now, hope it works Thanks for reading, have a nice one
Devlog 9 So I didn’t write for long time because I have been busy with other projects but I have done mainly two new things while waiting for the project to get reviewed Add a new video I basically want to turn this repository into a collection of all the things I do with manim and I had to make a video about electric potential for school so I put it in there and it is quite cool and useful Start website development It appears that a python library is harder to do than I thought, so my plan is now to make a website and let my computer handle all the python. For now it is local and you can only send text to the backend but if it works it will be sooo cool. I’m using Next.js and FastAPI which I already know from a former project. That’s as they say it for now, thanks for reading, have a nice one
Devlog 10 Ok, so I didn’t write for some time but I have done some pretty cool stuff actually. What I did first I worked a little more on another explanatory video for school, before moving it to another project because it didn’t fit here very well Mainly I worked on getting the website working (with a lot of help from my friend perplexity) -first I made the video upload from python to next.js work on my PC then I deployed the frontend on vercel -Tried to deploy backend on render but it didn’t like manim very much so I instead put it on my Linux Laptop and it’s working now for pictures at least What I’ll do next Make the website more stable and let it upload videos too and make it look better (whoooo CSS) That’s about all, you’re welcome to try my project at manim-ochre.vercel.app
Devlog 11 So, I coded a lot today, very fun stuff What I did I styled my website with tailwindcss with the help of the official documentation You can now also see the rendered videos on the site I have a joke tab on the website with jokes from here , thanks to this project where I found this awesome API I added little stuff like a very cool favicon Challenges Tailwindcss is al little messy but soooo useful Needed a little help from copilot for finding some errors as I am not that good with javascript What I’ll do next make the input more robust to user error fix a few small rendering issues make a more permanent cloudflared tunnel ship hopefully tomorrow That’s it, coding is cool, if you like, try my website here , have a nice one, thanks for reading
Devlog 12 I mainly made some small help adjustments to get ready to ship What I did Added a help tab with infos and a link to the readme Made the server work on multiple workers (this is just one simple command LOL) Made all the python functions async, so it can connect to multiple users Ok, so I think I’ll get ready to ship now, there is still a ton of stuff I’ll be doing in the next version but it works for now and I want this shipped before stardance runs out. Thank you for reading, have a good one
Devlog 13 First thanks for all the amazing reviews on my last ship, I’m very happy how it turned out. Since last time I put in a few things. What I did put in a copy button on the image (mostly with AI) so user can easily put the content somwhere else check for false inputs on the frontend, because before the backend always rendered 1x when a false input was given make the help more understandable added an alt image for testing when I can’t connect to the backend What I’ll do next I have like a 15 point to do list so I wont be running out of things to do Thank you for reading and have a nice day
Ships:
Manim Derivative plotter: I started this project a week ago because I#m fascinated with 3b1b’s Animations and thougth being able to do them myself would be pretty cool, so I madde this because it was the first thing that came to mind as I had done derivatives a lot in school last year, so I just made something that can do a part of the tedious boring work for me, at least till we learn something new. Challenges At first it was a challenge to learn how exactly Manim works, but once you get the basics it is really easy to expand your knowledge because it is very logical. Then I had problems with manim sideview because it didn’t render so I had to manually render my videos through most of this project (but it was just two more clicks, so that’s okay). I also had to learn a little patience because rendering takes a long time, but I made a simple version with whih i could also test things much faster than with the long rendering animations. In the end I’m pretty proud of the logic behind the animations, especially the scaling of the axes correspnfing to the function and that I really made something I think is simple enough so I and will use it for school so it’s not just a project nobody needs but actually something useful. That’s it I think, if you want to see some of the programm outputs or test the project yourself then look in the Readme, it says there what you gotta do, i tested it and I think it should work. Thats all from me, this has been really fun, I hope you like my project and maybe someone will actually use it for school or something. Thanks for reading, have fun with the plotter :)
I updated my python project: Last ship I had made a python library for plotting polynomial functions with manim. Th most common suggestion I got by reviewers is: put in on a website for better accesability, so I did :). The website runs on next.js and vercel and is connected to a python backend on a local laptop. The core logic is still my python project from before. It was quite hard to set up the site because I first wanted to host the backend on render but it didn’t like manim so i migrated it to local. Originally I also wanted to include more of my manim projects but I moved them into another project and repo now. What was very fun was the styling with tailwincss and I quite like how it turned out, also the video saving part is quite fun as it saves one new file for each request So in summary my site has the following features: A video and a picture tool where you can let the backend give you a picture/video of a function, its derivatives and the extremes and turning points… and a little joke generator :) I hope the site works and my PC can always crash but it has run for 4 days now and I’m confident. That’s about it, thank you for reading and have a good one...
|
1792994043.3709407
|
1793080443.3709407
|
|
43469
|
Iron Mario by @Lalith | Stardance
|
Lalith
|
2
|
57.0
|
740
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-18T17:21:14Z", "hours": 46.0, "multiplier": 16.47, "payout": 740, "blessing": "neutral", "text": "What a journey. I genuinely didn’t expect this project to get this big. Iron-Mario started as a small game inspired by the old games I used to enjoy. At some point, I got carried away with the idea of building an entire arcade instead of just one game. And that’s how it ended up with 105 playable games . There are quick reaction games, puzzles, old-school classics, some completely chaotic ones, and a few bigger arcade games. I also added tournaments with five hearts, a daily 10-game challenge, scores, XP, coins, achievements, and saved progress. One of the biggest parts of this update was working on the game’s identity. I made a shared pixel-art library with environments, character sprites, UI elements, and effects. I also added six characters to Pixel Town: Milo, Jun, Bea, Nia, Ash, and Pip. They’re mostly cosmetic characters right now, but I wanted the arcade to feel like an actual little world instead of just a menu with 105 buttons. The technical side was probably the most complicated part. I had to deal with different input types, game states, restarting, saving, mobile layouts, and making sure one game wouldn’t break another. I built automated checks for the game systems and went through the individual games to find problems with their mechanics. And I definitely found problems. Some games still need more variety, some mechanics are simpler than I originally wanted, and there are things I would improve with more time. Getting a game to pass a test doesn’t automatically mean it’s fun to play. That’s something this project taught me. I also used AI-assisted development tools during this project, alongside my own planning, testing, and design decisions. I don’t want to pretend otherwise. Looking back, the project changed direction quite a few times. I experimented with different ideas, made some decisions that didn’t work out, and ended up rethinking what I actually wanted Iron-Mario to be. I’m still not completely satisfied with everything. But seeing this turn from a little experiment into a playable arcade has been pretty rewarding. The game is playable now, and I’m calling this the end of this development chapter. Not necessarily the end of Iron-Mario. If you try it, I’d genuinely love to know which games you enjoyed and which ones felt boring or frustrating. That feedback is way more useful than someone just telling me the project looks good. 🎮 Play: https://hustlenix.github.io/Iron-Mario/ 💻 Source: https://github.com/Hustlenix/Iron-Mario Thanks to everyone who followed the devlogs, tried the game, or gave feedback along the way. That’s it for this ship. ❤️", "repo": "https://github.com/Hustlenix/Iron-Mario", "demo": "https://hustlenix.github.io/Iron-Mario/"}, {"ship_num": 2, "ts": "2026-09-22T01:51:21Z", "hours": 11.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What i have made is a simple hand made mario game, in my fav theme(Iron man), and the biggest challenege wasn’t coding the gamee, it was the asssests, as i had to hand draw all of them. I am proud that i could finish my rolemodel(iron man) themed project Try it out at: https://hustlenix.github.io/Iron-Mario/", "repo": "https://github.com/Hustlenix/Iron-Mario", "demo": "https://hustlenix.github.io/Iron-Mario/"}]...
|
[{"post_id": 80734, "ts": "202 [{"post_id": 80734, "ts": "2026-10-18T17:20:14Z", "hours": 5.2547, "text": "Final Devlog: Iron-Mario. What a journey. I genuinely didn’t expect this project to get this big. Iron-Mario started as a small game inspired by the old games I used to enjoy. At some point, I got carried away with the idea of building an entire arcade instead of just one game. And that’s how it ended up with 105 playable games . There are quick reaction games, puzzles, old-school classics, some completely chaotic ones, and a few bigger arcade games. I also added tournaments with five hearts, a daily 10-game challenge, scores, XP, coins, achievements, and saved progress. One of the biggest parts of this update was working on the game’s identity. I made a shared pixel-art library with environments, character sprites, UI elements, and effects. I also added six characters to Pixel Town: Milo, Jun, Bea, Nia, Ash, and Pip. They’re mostly cosmetic characters right now, but I wanted the arcade to feel like an actual little world instead of just a menu with 105 buttons. The technical side was probably the most complicated part. I had to deal with different input types, game states, restarting, saving, mobile layouts, and making sure one game wouldn’t break another. I built automated checks for the game systems and went through the individual games to find problems with their mechanics. And I definitely found problems. Some games still need more variety, some mechanics are simpler than I originally wanted, and there are things I would improve with more time. Getting a game to pass a test doesn’t automatically mean it’s fun to play. That’s something this project taught me. I also used AI-assisted development tools during this project, alongside my own planning, testing, and design decisions. I don’t want to pretend otherwise. Looking back, the project changed direction quite a few times. I experimented with different ideas, made some decisions that didn’t work out, and ended up rethinking what I actually wanted Iron-Mario to be. I’m still not completely satisfied with everything. But seeing this turn from a little experiment into a playable arcade has been pretty rewarding. The game is playable now, and I’m calling this the end of this development chapter. Not necessarily the end of Iron-Mario. If you try it, I’d genuinely love to know which games you enjoyed and which ones felt boring or frustrating. That feedback is way more useful than someone just telling me the project looks good. 🎮 Play: https://hustlenix.github.io/Iron-Mario/ 💻 Source: https://github.com/Hustlenix/Iron-Mario Thanks to everyone who followed the devlogs, tried the game, or gave feedback along the way. That’s it for this ship. ❤️"}, {"post_id": 80318, "ts": "2026-10-17T08:47:56Z", "hours": 10.0194, "text": "The starting of the change:"}, {"post_id": 79851, "ts": "2026-10-15T16:48:50Z", "hours": 1.2397, "text": "Nah man, idk why but my ideas are many but my executions are none, because of that i change my ideas once in a while and lose my mind over it, now my idea is to recreate those old digital games like pong, tetris and stuff but with my pixl animation and a lil help from Chat JiBi-BiGi-GPT and make some money by running ads on it. first is to get my idea on to play, get audience and make money thats it! wish me luck"}, {"post_id": 79818, "ts": "2026-10-15T15:09:00Z", "hours": 1.4878, "text": "I really started working on what i said on my past devlog, which was changing the directory and after working on it for few hours, it is only showing 1.5 hr💔🥀 its okay man. anyways i have made only few assets, many more to go!!!!!!!!!!! here are the few which i made using aspertite and character genrator:"}, {"post_id": 79786, "ts": "2026-10-15T12:21:24Z", "hours": 3.0142, "text": "Hi guys, this is the turning point of my idea, where i change the whole ddirectory of my game. Iron mario isnt looking suitable for my amaizing pixl game so i am gonna name it: OnlyEducation, to bypass school desktop restrictions and you guys play my game! And my idea is to add as many nostalgic games as i could and make it a good gaming platform!"}, {"post_id": 78684, "ts": "2026-10-11T09:15:07Z", "hours": 2.99, "text": "As you can see, till now i was only using my MS paint and my time for asset genrations and stuff, which is painstackinginglt time taking and boring, but thanks to stardance, on my last ship they game me 10$ to spend in itch.io, i didnt use it much, but after buying few assets in it is is soooo easy to genrate assets. SHOUTOUT TO STARDANCE"}, {"post_id": 78045, "ts": "2026-10-09T10:45:03Z", "hours": 10.6569, "text": "Well, even thought i made soo many games, they lacked, clarity, focus, dopomine, and fun. if any one knows human game physology or smtg, please contact me. Like i dont know what i am doing, just adding 100 games in 10 hours isnt good, i gotta achive more than quantity. so i am tryna recreate old nostaliga games like subwaysurfers, temple run, agnry birds, and etc. If you have any game idea comment!!!!!!!!"}, {"post_id": 74434, "ts": "2026-09-27T11:33:45Z", "hours": 1.1883, "text": "Created my own version on dino-game based on mario and dinogame and iron man, les goooooo!"}, {"post_id": 74381, "ts": "2026-09-27T08:52:32Z", "hours": 6.3475, "text": "To make this a big, functional, production ready game i gotta scale it broder and bigger such that i get 1mil users and for that i am thinging of making my normal 7 game game into a 100 short mini games in one and make money through this!!!!!!"}, {"post_id": 73998, "ts": "2026-09-26T14:30:37Z", "hours": 3.4033, "text": "I am trying to make this website like a full on authentic game app and make money with this"}, {"post_id": 43836, "ts": "2026-08-09T08:24:02Z", "hours": 2.0347, "text": "I have this idea of replacing irom man instad of flappy bird and stuff and all of that"}, {"post_id": 43671, "ts": "2026-08-09T02:04:07Z", "hours": 6.4192, "text": "I’ve spent more than 6 hours coding, learning, building, and trial testing is it useually this hardbuilding a game? they said it will be easy😭✌🏻 please help me gand there are too many errors and stuff. and my creativity exeeded when they ased for 5 mini games, so i asked claude and it brainstromed and gave me few ideas now i am trying to add a flappy bird game in this, a classic mario game, a snake game, a simple plane shooting game, a tetris game, and that worlds first ping pong game."}, {"post_id": 41917, "ts": "2026-08-06T13:08:15Z", "hours": 0.3697, "text": "Ijust added a ending page, more like coding"}, {"post_id": 41902, "ts": "2026-08-06T12:24:45Z", "hours": 1.5389, "text": "I love you 3000"}, {"post_id": 41397, "ts": "2026-08-05T16:19:29Z", "hours": 0.9978, "text": "Starting of my very own Iron-Man themed game. Stay tuned gng"}]...
|
Title: Iron Mario by @Lalith | Stardance
Devlogs: Title: Iron Mario by @Lalith | Stardance
Devlogs:
Starting of my very own Iron-Man themed game. Stay tuned gng
I love you 3000
Ijust added a ending page, more like coding
I’ve spent more than 6 hours coding, learning, building, and trial testing is it useually this hardbuilding a game? they said it will be easy😭✌🏻 please help me gand there are too many errors and stuff. and my creativity exeeded when they ased for 5 mini games, so i asked claude and it brainstromed and gave me few ideas now i am trying to add a flappy bird game in this, a classic mario game, a snake game, a simple plane shooting game, a tetris game, and that worlds first ping pong game.
I have this idea of replacing irom man instad of flappy bird and stuff and all of that
I am trying to make this website like a full on authentic game app and make money with this
To make this a big, functional, production ready game i gotta scale it broder and bigger such that i get 1mil users and for that i am thinging of making my normal 7 game game into a 100 short mini games in one and make money through this!!!!!!
Created my own version on dino-game based on mario and dinogame and iron man, les goooooo!
Well, even thought i made soo many games, they lacked, clarity, focus, dopomine, and fun. if any one knows human game physology or smtg, please contact me. Like i dont know what i am doing, just adding 100 games in 10 hours isnt good, i gotta achive more than quantity. so i am tryna recreate old nostaliga games like subwaysurfers, temple run, agnry birds, and etc. If you have any game idea comment!!!!!!!!
As you can see, till now i was only using my MS paint and my time for asset genrations and stuff, which is painstackinginglt time taking and boring, but thanks to stardance, on my last ship they game me 10$ to spend in itch.io, i didnt use it much, but after buying few assets in it is is soooo easy to genrate assets. SHOUTOUT TO STARDANCE
Hi guys, this is the turning point of my idea, where i change the whole ddirectory of my game. Iron mario isnt looking suitable for my amaizing pixl game so i am gonna name it: OnlyEducation, to bypass school desktop restrictions and you guys play my game! And my idea is to add as many nostalgic games as i could and make it a good gaming platform!
I really started working on what i said on my past devlog, which was changing the directory and after working on it for few hours, it is only showing 1.5 hr💔🥀 its okay man. anyways i have made only few assets, many more to go!!!!!!!!!!! here are the few which i made using aspertite and character genrator:
Nah man, idk why but my ideas are many but my executions are none, because of that i change my ideas once in a while and lose my mind over it, now my idea is to recreate those old digital games like pong, tetris and stuff but with my pixl animation and a lil help from Chat JiBi-BiGi-GPT and make some money by running ads on it. first is to get my idea on to play, get audience and make money thats it! wish me luck
The starting of the change:
Final Devlog: Iron-Mario. What a journey. I genuinely didn’t expect this project to get this big. Iron-Mario started as a small game inspired by the old games I used to enjoy. At some point, I got carried away with the idea of building an entire arcade instead of just one game. And that’s how it ended up with 105 playable games . There are quick reaction games, puzzles, old-school classics, some completely chaotic ones, and a few bigger arcade games. I also added tournaments with five hearts, a daily 10-game challenge, scores, XP, coins, achievements, and saved progress. One of the biggest parts of this update was working on the game’s identity. I made a shared pixel-art library with environments, character sprites, UI elements, and effects. I also added six characters to Pixel Town: Milo, Jun, Bea, Nia, Ash, and Pip. They’re mostly cosmetic characters right now, but I wanted the arcade to feel like an actual little world instead of just a menu with 105 buttons. The technical side was probably the most complicated part. I had to deal with different input types, game states, restarting, saving, mobile layouts, and making sure one game wouldn’t break another. I built automated checks for the game systems and went through the individual games to find problems with their mechanics. And I definitely found problems. Some games still need more variety, some mechanics are simpler than I originally wanted, and there are things I would improve with more time. Getting a game to pass a test doesn’t automatically mean it’s fun to play. That’s something this project taught me. I also used AI-assisted development tools during this project, alongside my own planning, testing, and design decisions. I don’t want to pretend otherwise. Looking back, the project changed direction quite a few times. I experimented with different ideas, made some decisions that didn’t work out, and ended up rethinking what I actually wanted Iron-Mario to be. I’m still not completely satisfied with everything. But seeing this turn from a little experiment into a playable arcade has been pretty rewarding. The game is playable now, and I’m calling this the end of this development chapter. Not necessarily the end of Iron-Mario. If you try it, I’d genuinely love to know which games you enjoyed and which ones felt boring or frustrating. That feedback is way more useful than someone just telling me the project looks good. 🎮 Play: https://hustlenix.github.io/Iron-Mario/ 💻 Source: https://github.com/Hustlenix/Iron-Mario Thanks to everyone who followed the devlogs, tried the game, or gave feedback along the way. That’s it for this ship. ❤️
Ships:
What i have made is a simple hand made mario game, in my fav theme(Iron man), and the biggest challenege wasn’t coding the gamee, it was the asssests, as i had to hand draw all of them. I am proud that i could finish my rolemodel(iron man) themed project Try it out at: https://hustlenix.github.io/Iron-Mario/
What a journey. I genuinely didn’t expect this project to get this big. Iron-Mario started as a small game inspired by the old games I used to enjoy. At some point, I got carried away with the idea of building an entire arcade instead of just one game. And that’s how it ended up with 105 playable games . There are quick reaction games, puzzles, old-school classics, some completely chaotic ones, and a few bigger arcade games. I also added tournaments with five hearts, a daily 10-game challenge, scores, XP, coins, achievements, and saved progress. One of the biggest parts of this update was working on the game’s identity. I made a shared pixel-art library with environments, character sprites, UI elements, and effects. I also added six characters to Pixel Town: Milo, Jun, Bea, Nia, Ash, and Pip. They’re mostly cosmetic characters right now, but I wanted the arcade to feel like an actual little world instead of just a menu with 105 buttons. The technical side was probably the most complicated part. I had to deal with different input types, game states, restarting, saving, mobile layouts, and making sure one game wouldn’t break another. I built automated checks for the game systems and went through the individual games to find problems with their mechanics. And I definitely found problems. Some games still need more variety, some mechanics are simpler than I originally wanted, and there are things I would improve with more time. Getting a game to pass a test doesn’t automatically mean it’s fun to play. That’s something this project taught me. I also used AI-assisted development tools during this project, alongside my own planning, testing, and design decisions. I don’t want to pretend otherwise. Looking back, the project changed direction quite a few times. I experimented with different ideas, made some decisions that didn’t work out, and ended up rethinking what I actually wanted Iron-Mario to be. I’m still not completely satisfied with everything. But seeing this turn from a little experiment into a playable arcade has been pretty rewarding. The game is playable now, and I’m calling this the end of this development chapter. Not necessarily the end of Iron-Mario. If you try it, I’d genuinely love to know which games you enjoyed and which ones felt boring or frustrating. That feedback is way more useful than someone just telling me the project looks good. 🎮 Play: https://hustlenix.github.io/Iron-Mario/ 💻 Source: https://github.com/Hustlenix/Iron-Mario Thanks to everyone who followed the devlogs, tried the game, or gave feedback along the way. That’s it for this ship. ❤️...
|
1793004601.34737
|
1793091001.34737
|
|
60999
|
"Boom" Protector by @Fiskerz | Stardance
|
Fiskerz
|
1
|
45.56
|
740
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-18T23:21:57Z", "hours": 41.0, "multiplier": 18.02, "payout": 740, "blessing": "neutral", "text": "What is this? This is a tower defense game made in unity. It’s got quite a twist to it- it literaly evolves around you as you progress. Some of the features: 3 unique towers that shoot at enemies passing by in order, all in their own unique style 5 different worlds , that evolve with your play, just as enemies in each one do Tower upgrades An entire balance system with a shop to buy the upgrades A slot tower placement system that allows you to place the towers on any of the spots to your liking! A whole lore to the game All hand-painted assets , nothing here was ai generated! And so so much more! you can see the entire list in the readme file What was challenging? Well, this wasn’t my first game I’ve ever made (it’s the third..), but I really struggled with some things: The placement system . I’ve never made anything even similar to this system, so I had mostly no clue on how to make it. Once I got the hang of it, everything was fine, but it took me some real time to do it without bugs. The web version . I truly don’t get why this trivial thing was such a trouble, I had this terrible issue where no cutscenes would play in the web build, which stripped the game of a lot of it’s feel and lore. I seriously considered giving up many times as I just couldn’t fix it. But hey, I ended up solving it and now it works! Of course this entire project wouldn’t be possible without my friend @FishyDrawer , as she was the one behind all of the textures, so huge shoutout! What am I proud of? Not giving up in the tough times. It was really tempting to skip some things when they felt too difficult or overwhelming, but I ended up biting through each one and making it to the finish line. How can I try this? It’s quite simple really - just press the “Try project” button and press play on itch.io. If you can I reccomend to download the game, as the web version is not confirmed to be issue-less, but it worked fine in my case! I really hope you’ll enjoy playing and thanks for reading!", "repo": "https://github.com/Catmaster543/Evolution-game", "demo": "https://cat-master543.itch.io/boom-protector"}]...
|
[{"post_id": 71913, "ts": "202 [{"post_id": 71913, "ts": "2026-09-21T19:17:50Z", "hours": 4.5586, "text": "Planned out new features, added custom font and added dialog box guide! Alright, before I write this devlog I’ve got some things to say first- Huge and I mean HUGE thanks to all the people that rated this project, not just for the overall amazing results, but moreover the incredible constructive feedback I received! The feedback I received was truly amazing, as people didn’t complain about some feature not being to their liking as it often happens, but instead with each issue a solution, or some sort of idea! Genuine thanks to the people who rated this! . To pay ya’ll back somehow I took my time and read through each and every single review in detail and wrote down all of the complaints and ideas. Also.. real thank you to the staff for marking this as a super star project, it truly made my day! Now… onto this devlog, yay! Read through all of the reviews, marked them down and did some thinking and planning. I dedicated almost an entire hour to make sure I won’t miss any ideas and pondered a bit about how could I possibly implement them to keep the game feel similar. Added custom font . This is something I’ve been reccomended for quite a while and totally got it, so now a custom font is in use, made once again by my dear friend @FishyDrawer , soo shoutout! Added a click guide/indicator in dialog box . I did not really thought of this ever before, but it kinda makes sense- from the reviews it was a little confusing for first time players to realize they should click on the dialog box to progress. So now after you don’t click for a longer time a small text telling you to click appears, pretty neat I think! Fixed the balance visuals in the first two levels. This is a complaint I got quite often and it was a bug, not an intended feature. But hey, now it shall be fixed Began work on upgrades . This probably took up the majority of this logged time, as it’s not really a joke to rewrite the old system to this new one. But hopefully I’ll be able to add this next time! Seeing this project for the first time? This is a game that literaly evolves around you as you play. It is mainly a tower defense game, but it’s goite quite a twist to it, be sure to follow so you can try it today."}, {"post_id": 70329, "ts": "2026-09-18T23:21:14Z", "hours": 1.4536, "text": "Finally fixed the web version + ship preparations! Devlog #11 for “Boom” protector I am really glad for finally fixing this bug, that caused cutscenes to not work on the web version of the game. It was a real headscratcher to deal with to say the very least, but hey it works now :) I also prepared the project for shipping and next post shall be a ship, so see yall there! Seeing this project for the first time? This is a game that literaly evolves around you as you play. It is mainly a tower defense game, but it’s goite quite a twist to it, be sure to follow so you can try it today."}, {"post_id": 70265, "ts": "2026-09-18T20:45:37Z", "hours": 5.7008, "text": "Added all of the sound design and polishing! Devlog #10 for “Boom” Protector As you can see there is quite a bit of time logged on this one and it’s all because of one thing- but I’ll get to it later. Anyways here are some of the changes: Added the entire sound design . Just when I thought that I could go ahead and begin finishing and polishing the game up I realized an awful thing - I still haven’t solved the sound at all . So now there’s: Bg/passive music in-game Tree shooting sound Tree placed sound Projectile hitting sound Shop clicking sound Added the quit button . Yeah very impressive, I know. I just felt like mentioning it, that’s the whole reason it’s here. Translated some stuff , as some things were in czech. Added visual clue of insufficient balance . Before you just had to guess what the numbers in shop meant, now if you lack the balance to purchase a tower, it will flash red. Many, many, many bugfixes . This was one of the main focus as of here and here are some that I fixed: Issues with different screen sizes . Whenever you were to use anything else than the 1080p the game was designed for, the entirety of the ui would fall apart. Now that’s fixed. Removed debug enemies . As far as I’ve said this like 10 times already, this time they are actually gone. The bg audio not playing . Despite the fact I added sound in this update, it was already broken. And last: Uploaded the game to a new itch page and published normal + web version . Anyways that’s all for this time I think, I’m pretty tired.. Seeing this project for the first time? This is a game that literaly evolves around you as you play. It is mainly a tower defense game, but it’s goite quite a twist to it, be sure to follow so you can try it out one day."}, {"post_id": 69708, "ts": "2026-09-17T16:52:30Z", "hours": 4.3833, "text": "Added the end screen, improved the game tutorial and many bugfixes Devlog #9 for “Boom” protector Aight, since the last time I’ve made some pretty damn decently big changes, so let me go through them one by one: Added the end screen , a short cutscene with another dialog box and a choice (in the future maybe) to enter the endless mode Improved the tutorial - the interactive tutorial I’ve made last time is something I truly like, as it makes the game feel way less like a mess. Due to that I added a second part to this tutorial that tells you about the shop and how it works. Bugfixes Fade screen not covering the whole screen . A tiny stripe of whatever was underneath could be seen during the fading. This bug has been a real nerve for my eyes to look at, so I’ve decided to finally fix it. “Upgrading” towers over their max level . For whatever reason you could upgrade towers that were already at their maximum level, which would do exactly one thing: take it off your balance. No actual upgrade was done. So now this is finally patched. Skipping dialog before the game loads . I am quite unhappy with the system behind the splash screen, which is why it took me so long to patch this, but now you finally can’t skip the intro dialogue by accidentaly clicking during the splash screen. Enemies spawning before second tutorial is complete . Pretty self explanatory I think. Seeing this project for the first time? This is a game that literaly evolves around you as you play. It is mainly a tower defense game, but it’s goite quite a twist to it, be sure to follow so you can try it out one day."}, {"post_id": 69063, "ts": "2026-09-16T09:49:18Z", "hours": 4.0606, "text": "Added the loading screen, pot unlocking, proper tutorial and so much more! Devlog #8 for “Boom” protector I’ll cut the slack this time and get straight to what I’ve added, as it is quite a bit! Loading (= Updating) screen in between worlds. This finally shows the player what is going on and makes the game feel way smoother and more polished. Proper tutorial - up until now you got a few very simple lines of text and good luck figuring out the rest. Now I’ve made it that the game actually teaches you a little bit before letting you play Pot unlocking - this has been something I’ve been a bit lazy to add, but now it’s finally in. Meaning that now trees unlock with levels you gain. Due to this some wave and enemies rebalancing will have to be done, but.. it’s fine. (still beatable, but way harder) Miniature trees to the shop pots - all pots in the shop now have their own little tree in them to make them easily distinguishible and look nicer Fixed many bugs such as shop prices increasing incorrectly And that’s about it I think, be sure to follow if you find this project cool."}, {"post_id": 68608, "ts": "2026-09-15T12:06:04Z", "hours": 2.5308, "text": "Patched a whole lot of bugs Devlog #7 for “Boom” protector Since last time’s release a completely insane and game breaking bugs, thus I spent this time patching as much of them as I could. The main two most important bugs I patched were: New tower spots would never disappear and you could click on the spots, which would decrease your balance while not placing anything down, cause there was a tree already. So now they behave correctly - they no longer show up when they shouldn’t. Null’s speech problem - In the last version if you clicked before null finished speaking, he would start speaking in a language unknown even to us developers. Now he just speaks normally."}, {"post_id": 67986, "ts": "2026-09-14T10:05:03Z", "hours": 4.1336, "text": "Added in the guide to show new players around, the main menu and intro, as well as many bugfixes Devlog #6 for “Boom” Protector Since last time a lot has changed - I added quite some UI to the game, which includes Main menu, the intro and the gameover screen . Outside the UI I also patched out a lots and lots of various bugs . Also an ambient music track to play in the bg to shift up the mood quite a bit. To top it all off, many waves of enemies have been added, making the game prototype near complete. And to celebrate the game has been uploaded to itch.io . In order to match these new changes I’ve updated the projects information. If you find this game just a little curious be sure to follow!"}, {"post_id": 67232, "ts": "2026-09-13T09:13:01Z", "hours": 5.6844, "text": "Added tower upgrades and began working on main menu! Devlog #5 for Evolution game So this time I finally added the tree/towers upgrades, which took a hellish time to implement, but it works now, hey? Outside that I also added all of the worlds for the game, so now they’re complete. I also added a small settable cooldown between worlds, so it does not feel so instant and sudden. Many enemies have been added as well. And I also added all of the three trees and their stages . To top it all off I also added range for towers , just forgot to log these changes, so they’re now all in this one big chunk together."}, {"post_id": 66839, "ts": "2026-09-12T19:13:13Z", "hours": 2.4753, "text": "Added purchaseable trees in the shop + the tower placement system and more! Devlog #4 for Evolution game Since last time I added added working shop items , the entire tower placement system , auto price writing to the label and also a few bugfixes. Outside that not much added really, but this was a real head-scratcher to deal with, as I’ve never made anything like this."}, {"post_id": 66645, "ts": "2026-09-12T14:34:20Z", "hours": 3.7775, "text": "Added the first test shop UI, second world, the transitioner for it and so much more! Devlog #3 for Evolution game It’s been another while, thus it’s time to report. As of this time I added in first and basic test shop UI that gets shown at the right time and can be updated through scripts quite easily. Enemies now also despawn when they reach the end , as well as the projectiles to prevent lag over time. Along these I made some several smaller changes, but these are not all that important to mention here."}, {"post_id": 66449, "ts": "2026-09-12T09:02:27Z", "hours": 2.0083, "text": "Added first tower with projectiles, player hp and first real map Devlog #2 for Evolution game Since last time quite some changes have been made, such as adding the first test tower with working aim and projectiles that actually damage the enemies and will pick the “first” enemy. I also added Hp to the player and enemies now actually damage you if you let them pass . That’s about it for this devlog, maybe cya another time."}, {"post_id": 66215, "ts": "2026-09-11T21:57:11Z", "hours": 4.8561, "text": "Set up the project, added test enemies, added test map, added simple wave system and so much more! Devlog #1 for Evolution game Alrighty, this is a new project, so I had to spend quite a bit of time setting basic things, such as dependencies and required plugins up. Outside that I also made the github repo for the project, as well as set it up here on stardance . In this time I also managed to make the test enemy , test map with working spline and a pretty simple, yet working wave system** with a very intuitive unity ui to make the waves (which work) and things like spawning a certain amount of enemies nice and easy. I think that is about it for this one, be sure to stick around by following if you find this interesting and maybe cya sometime."}]...
|
Title: "Boom" Protector by @Fiskerz | Star Title: "Boom" Protector by @Fiskerz | Stardance
Devlogs:
Set up the project, added test enemies, added test map, added simple wave system and so much more! Devlog #1 for Evolution game Alrighty, this is a new project, so I had to spend quite a bit of time setting basic things, such as dependencies and required plugins up. Outside that I also made the github repo for the project, as well as set it up here on stardance . In this time I also managed to make the test enemy , test map with working spline and a pretty simple, yet working wave system** with a very intuitive unity ui to make the waves (which work) and things like spawning a certain amount of enemies nice and easy. I think that is about it for this one, be sure to stick around by following if you find this interesting and maybe cya sometime.
Added first tower with projectiles, player hp and first real map Devlog #2 for Evolution game Since last time quite some changes have been made, such as adding the first test tower with working aim and projectiles that actually damage the enemies and will pick the “first” enemy. I also added Hp to the player and enemies now actually damage you if you let them pass . That’s about it for this devlog, maybe cya another time.
Added the first test shop UI, second world, the transitioner for it and so much more! Devlog #3 for Evolution game It’s been another while, thus it’s time to report. As of this time I added in first and basic test shop UI that gets shown at the right time and can be updated through scripts quite easily. Enemies now also despawn when they reach the end , as well as the projectiles to prevent lag over time. Along these I made some several smaller changes, but these are not all that important to mention here.
Added purchaseable trees in the shop + the tower placement system and more! Devlog #4 for Evolution game Since last time I added added working shop items , the entire tower placement system , auto price writing to the label and also a few bugfixes. Outside that not much added really, but this was a real head-scratcher to deal with, as I’ve never made anything like this.
Added tower upgrades and began working on main menu! Devlog #5 for Evolution game So this time I finally added the tree/towers upgrades, which took a hellish time to implement, but it works now, hey? Outside that I also added all of the worlds for the game, so now they’re complete. I also added a small settable cooldown between worlds, so it does not feel so instant and sudden. Many enemies have been added as well. And I also added all of the three trees and their stages . To top it all off I also added range for towers , just forgot to log these changes, so they’re now all in this one big chunk together.
Added in the guide to show new players around, the main menu and intro, as well as many bugfixes Devlog #6 for “Boom” Protector Since last time a lot has changed - I added quite some UI to the game, which includes Main menu, the intro and the gameover screen . Outside the UI I also patched out a lots and lots of various bugs . Also an ambient music track to play in the bg to shift up the mood quite a bit. To top it all off, many waves of enemies have been added, making the game prototype near complete. And to celebrate the game has been uploaded to itch.io . In order to match these new changes I’ve updated the projects information. If you find this game just a little curious be sure to follow!
Patched a whole lot of bugs Devlog #7 for “Boom” protector Since last time’s release a completely insane and game breaking bugs, thus I spent this time patching as much of them as I could. The main two most important bugs I patched were: New tower spots would never disappear and you could click on the spots, which would decrease your balance while not placing anything down, cause there was a tree already. So now they behave correctly - they no longer show up when they shouldn’t. Null’s speech problem - In the last version if you clicked before null finished speaking, he would start speaking in a language unknown even to us developers. Now he just speaks normally.
Added the loading screen, pot unlocking, proper tutorial and so much more! Devlog #8 for “Boom” protector I’ll cut the slack this time and get straight to what I’ve added, as it is quite a bit! Loading (= Updating) screen in between worlds. This finally shows the player what is going on and makes the game feel way smoother and more polished. Proper tutorial - up until now you got a few very simple lines of text and good luck figuring out the rest. Now I’ve made it that the game actually teaches you a little bit before letting you play Pot unlocking - this has been something I’ve been a bit lazy to add, but now it’s finally in. Meaning that now trees unlock with levels you gain. Due to this some wave and enemies rebalancing will have to be done, but.. it’s fine. (still beatable, but way harder) Miniature trees to the shop pots - all pots in the shop now have their own little tree in them to make them easily distinguishible and look nicer Fixed many bugs such as shop prices increasing incorrectly And that’s about it I think, be sure to follow if you find this project cool.
Added the end screen, improved the game tutorial and many bugfixes Devlog #9 for “Boom” protector Aight, since the last time I’ve made some pretty damn decently big changes, so let me go through them one by one: Added the end screen , a short cutscene with another dialog box and a choice (in the future maybe) to enter the endless mode Improved the tutorial - the interactive tutorial I’ve made last time is something I truly like, as it makes the game feel way less like a mess. Due to that I added a second part to this tutorial that tells you about the shop and how it works. Bugfixes Fade screen not covering the whole screen . A tiny stripe of whatever was underneath could be seen during the fading. This bug has been a real nerve for my eyes to look at, so I’ve decided to finally fix it. “Upgrading” towers over their max level . For whatever reason you could upgrade towers that were already at their maximum level, which would do exactly one thing: take it off your balance. No actual upgrade was done. So now this is finally patched. Skipping dialog before the game loads . I am quite unhappy with the system behind the splash screen, which is why it took me so long to patch this, but now you finally can’t skip the intro dialogue by accidentaly clicking during the splash screen. Enemies spawning before second tutorial is complete . Pretty self explanatory I think. Seeing this project for the first time? This is a game that literaly evolves around you as you play. It is mainly a tower defense game, but it’s goite quite a twist to it, be sure to follow so you can try it out one day.
Added all of the sound design and polishing! Devlog #10 for “Boom” Protector As you can see there is quite a bit of time logged on this one and it’s all because of one thing- but I’ll get to it later. Anyways here are some of the changes: Added the entire sound design . Just when I thought that I could go ahead and begin finishing and polishing the game up I realized an awful thing - I still haven’t solved the sound at all . So now there’s: Bg/passive music in-game Tree shooting sound Tree placed sound Projectile hitting sound Shop clicking sound Added the quit button . Yeah very impressive, I know. I just felt like mentioning it, that’s the whole reason it’s here. Translated some stuff , as some things were in czech. Added visual clue of insufficient balance . Before you just had to guess what the numbers in shop meant, now if you lack the balance to purchase a tower, it will flash red. Many, many, many bugfixes . This was one of the main focus as of here and here are some that I fixed: Issues with different screen sizes . Whenever you were to use anything else than the 1080p the game was designed for, the entirety of the ui would fall apart. Now that’s fixed. Removed debug enemies . As far as I’ve said this like 10 times already, this time they are actually gone. The bg audio not playing . Despite the fact I added sound in this update, it was already broken. And last: Uploaded the game to a new itch page and published normal + web version . Anyways that’s all for this time I think, I’m pretty tired.. Seeing this project for the first time? This is a game that literaly evolves around you as you play. It is mainly a tower defense game, but it’s goite quite a twist to it, be sure to follow so you can try it out one day.
Finally fixed the web version + ship preparations! Devlog #11 for “Boom” protector I am really glad for finally fixing this bug, that caused cutscenes to not work on the web version of the game. It was a real headscratcher to deal with to say the very least, but hey it works now :) I also prepared the project for shipping and next post shall be a ship, so see yall there! Seeing this project for the first time? This is a game that literaly evolves around you as you play. It is mainly a tower defense game, but it’s goite quite a twist to it, be sure to follow so you can try it today.
Planned out new features, added custom font and added dialog box guide! Alright, before I write this devlog I’ve got some things to say first- Huge and I mean HUGE thanks to all the people that rated this project, not just for the overall amazing results, but moreover the incredible constructive feedback I received! The feedback I received was truly amazing, as people didn’t complain about some feature not being to their liking as it often happens, but instead with each issue a solution, or some sort of idea! Genuine thanks to the people who rated this! . To pay ya’ll back somehow I took my time and read through each and every single review in detail and wrote down all of the complaints and ideas. Also.. real thank you to the staff for marking this as a super star project, it truly made my day! Now… onto this devlog, yay! Read through all of the reviews, marked them down and did some thinking and planning. I dedicated almost an entire hour to make sure I won’t miss any ideas and pondered a bit about how could I possibly implement them to keep the game feel similar. Added custom font . This is something I’ve been reccomended for quite a while and totally got it, so now a custom font is in use, made once again by my dear friend @FishyDrawer , soo shoutout! Added a click guide/indicator in dialog box . I did not really thought of this ever before, but it kinda makes sense- from the reviews it was a little confusing for first time players to realize they should click on the dialog box to progress. So now after you don’t click for a longer time a small text telling you to click appears, pretty neat I think! Fixed the balance visuals in the first two levels. This is a complaint I got quite often and it was a bug, not an intended feature. But hey, now it shall be fixed Began work on upgrades . This probably took up the majority of this logged time, as it’s not really a joke to rewrite the old system to this new one. But hopefully I’ll be able to add this next time! Seeing this project for the first time? This is a game that literaly evolves around you as you play. It is mainly a tower defense game, but it’s goite quite a twist to it, be sure to follow so you can try it today.
Ships:
What is this? This is a tower defense game made in unity. It’s got quite a twist to it- it literaly evolves around you as you progress. Some of the features: 3 unique towers that shoot at enemies passing by in order, all in their own unique style 5 different worlds , that evolve with your play, just as enemies in each one do Tower upgrades An entire balance system with a shop to buy the upgrades A slot tower placement system that allows you to place the towers on any of the spots to your liking! A whole lore to the game All hand-painted assets , nothing here was ai generated! And so so much more! you can see the entire list in the readme file What was challenging? Well, this wasn’t my first game I’ve ever made (it’s the third..), but I really struggled with some things: The placement system . I’ve never made anything even similar to this system, so I had mostly no clue on how to make it. Once I got the hang of it, everything was fine, but it took me some real time to do it without bugs. The web version . I truly don’t get why this trivial thing was such a trouble, I had this terrible issue where no cutscenes would play in the web build, which stripped the game of a lot of it’s feel and lore. I seriously considered giving up many times as I just couldn’t fix it. But hey, I ended up solving it and now it works! Of course this entire project wouldn’t be possible without my friend @FishyDrawer , as she was the one behind all of the textures, so huge shoutout! What am I proud of? Not giving up in the tough times. It was really tempting to skip some things when they felt too difficult or overwhelming, but I ended up biting through each one and making it to the finish line. How can I try this? It’s quite simple really - just press the “Try project” button and press play on itch.io. If you can I reccomend to download the game, as the web version is not confirmed to be issue-less, but it worked fine in my case! I really hope you’ll enjoy playing and thanks for reading!...
|
1792961706.3787193
|
1793048106.3787193
|
|
17248
|
Wanderpin by @darshjain | Stardance
|
darshjain
|
1
|
40.0
|
735
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-16T08:35:27Z", "hours": 40.0, "multiplier": 18.23, "payout": 735, "blessing": "neutral", "text": "Wanderpin is a 3D-globe trip planner where the journey is the product, not the spreadsheet. Drop pins on a spinning night-earth, watch your route stitch together, then hit Play and fly the whole trip as a cinematic reel - gliding across the globe for long hops and dropping into real 3D terrain when two stops are close. The hardest part was making the globe-to-3D handoff feel continuous. Two heavy engines (three.js for the globe, MapLibre for terrain) had to crossfade without a tile-load flash, so I warm the 3D view in the background and only commit once it’s actually ready. I also caught the play-through reel re-rendering the entire app - globe included - on every caption tick; moving the caption into its own useSyncExternalStore so only it updates made the fly-through visibly smoother. I’m proud that it feels like a journey instead of a form: the cinematic reel, ~40k curated places that each carry a vibe and a fun fact, and one-tap sharing as a postcard, a public link, or an embeddable live globe. To try it: open the live link, search a city or just click the globe to drop pins (or start from a template like India’s Golden Triangle), then hit Play. Zoom all the way into a pin to watch it cross into street-level 3D. Built with React 19 + TypeScript, three.js, MapLibre GL, and Vercel serverless.", "repo": "https://github.com/darshnerd/wanderpin", "demo": "https://wanderpin-ecru.vercel.app/"}]...
|
[{"post_id": 9766, "ts": "2026 [{"post_id": 9766, "ts": "2026-06-16T06:22:00Z", "hours": 3.9347, "text": "Wanderpin - the first five seconds, final touchups Everything in this batch is about the moment someone lands : a blank globe is intimidating, so I built a real first-run, made it personal, and fixed a jank I’d been ignoring. A front door instead of an empty globe New visitors get a welcome dialog: Plan a trip, or Remember one you took. Either way there are starter templates (a week in Italy, around the world, a California road trip) you can drop in with one tap and start dragging stops around. Coachmarks that follow the actual UI A short guided tour spotlights real elements: search, the view toggle, Play. It measures each target’s live bounding rect, re-measures on resize and focus, flips above/below by screen half, and hides itself the moment you focus the search box so it never fights you while typing. Dismissals persist so it doesn’t nag on return visits. Where it stands Build’s green, all staged, not yet committed. Next: watch real first sessions, do people tap through a template or skip straight to search?"}, {"post_id": 9295, "ts": "2026-06-15T16:44:56Z", "hours": 4.0172, "text": "Wanderpin - getting routes to leave the ground Live: https://wanderpin-ecru.vercel.app/ One update, mostly one stubborn visual I’d twice given up on: real lifted route arcs on the 3D map. Arcs that finally hug the globe deck.gl’s ArcLayer drifts on a MapLibre globe (it only knows Web Mercator), and my earlier hand-rolled layer compiled, ran, threw zero errors, and painted nothing. The fix came from reading MapLibre’s own shaders: inject its projection prelude and call projectTileFor3D(pos, elevation) . The thing I’d missed every time - elevation is in meters above the sphere , fed through five per-frame uniforms, not a raw matrix. Then the polish fights: a z-fight speckle (fixed by not writing depth), a 50 km minimum lift that made short hops launch like fireworks, and a fat vertical wall at city zoom (now fades out past ~zoom 10). An optional day timeline New “Days” view in the trip panel. Weekend trip? You’ll never see it. Month-long? Hit “Organize into days” and stops group into collapsible days you can split, reorder, fit the globe to, or play one at a time. A day is a contiguous slice of the route, so “move to Day 3” repositions the stop and re-normalizes - the route and itinerary stay honest. Days travel on share links too. Where it stands Live at site, (Also squashed a deploy bug: one .tsx API route made Vercel type-check the whole api/ folder with no tsconfig - a tiny api/tsconfig.json fixed it.)"}, {"post_id": 9121, "ts": "2026-06-15T08:21:12Z", "hours": 5.0136, "text": "Wanderpin - the globe looked dumb on a 20 km hop, so I taught it to zoom This batch turns a Wanderpin trip from a thing on your screen into a thing you can send to a friend - with a real link preview, an embeddable globe, and a reel that finally looks good on short hops. Share a journey, for real Hit Share and you get a public link ( /t/slug ) in a box, plus Copy, the native share sheet, and WhatsApp / Instagram / X buttons. The interesting part is what happens when someone opens that link: /t/:slug is server-rendered ( api/share.ts ) and serves a dynamically generated Open Graph image ( api/og.tsx via @vercel/og ) - so pasting a Wanderpin link into a chat unfurls into a proper preview card instead of a blank rectangle. There’s an embeddable globe too: /embed/:slug renders just the spinning globe (a tiny route check in main.tsx swaps the whole app for EmbedView ), and the share dialog hands you the <iframe> snippet. Shared trips auto-expire after 7 days via a pg_cron job, so the table stays small and old links quietly die. The reel got smarter - 3D for the short hops The globe fly-through looks flat when two stops are 20 km apart - the arc is a stub and the camera barely moves. So now the Play reel checks each leg: anything under 200 km crosses into the 3D map (terrain + buildings) with a zoom picked from the distance, longer legs stay as globe arcs. It asks once before playing, and video recording stays globe-only so captures never go blank. What bit me Instagram has no web “share a link” intent (unlike WhatsApp/X). So the IG button copies the link and opens Instagram - the native share sheet handles it properly on phones. The slug kept vanishing from the URL. A shared trip was calling replaceState(\"/\") the instant it loaded, so /t/slug disappeared mid-playback and you couldn’t re-share what you were watching. Moved that reset onto the “Create yourslongs. The reel switch reused the globe↔3D handoff plumbing, and the type-checker caught a flyTo signature mismatch before it shipped - the map handle wants { zoom } , not a bare number. Where it stands It all builds clean, Try it: https://wanderpin-ecru.vercel.app/"}, {"post_id": 8858, "ts": "2026-06-14T19:05:10Z", "hours": 6.1658, "text": "Wanderpin - zoom into the world Two big things landed this week: the map went from 26 hand-picked places to ~40,000, and zooming into the globe now drops you into a real 3D city. From 26 places to 40,000 - and they all have a vibe Wanderpin used to know about 26 famous spots. Now it knows ~40k: cities, towns, UNESCO sites, landmarks, and the world’s most-visited attractions - each tagged with a one-word vibe (Coastal, Alpine, Arid, Heritage, Sacred, Volcanic…). The fun part is the vibes aren’t hand-typed. They’re derived at build time from real data: a Köppen climate raster (so Cairo reads “Arid” and Athens “Mediterranean”), distance to an actual coastline for “Coastal”, GeoNames elevation/feature codes for peaks and castles, and Wikidata’s annual-visitor numbers to rank “most visited”. Facts come from Wikipedia and UNESCO descriptions. Search is now instant and offline - type “Firenze” and Florence shows up. The fun part: zoom in and the globe becomes a city The home view is a space globe (three.js). The close-up is a different engine entirely - maplibre with 3D terrain and buildings. I wired up a level-of-detail handoff between them: zoom into a pin and it crosses from globe to 3D automatically, and zoom back out and it returns to the globe. The trick to making it not feel janky: when you start zooming in, it quietly mounts the 3D map hidden and lets it pull tiles in the background. Only once the tiles are warm does it crossfade. No blank loading flash. What broke (twice) It hung forever in preload. The crossfade waited on maplibre’s idle event to know tiles were ready - but that event sometimes never fires. The globe just kept zooming into black. Fix: commit after a 2.2s fallback even if idle is silent. The way back never worked. Zooming out in 3D wouldn’t return to the globe. Turned out map.on(\"zoom\") captured the callback once at mount - back when the view was still “globe” - so its if (view !== \"3d\") return guard killed every event forever. Fix: call the latest callback through a ref. Both are real bugs that would’ve bitten actual users on slow connections, not just test artifacts. Where it stands Globe -> 3D -> globe round-trips cleanly on both laptop and mobile, with zero console errors. Try it: https://wanderpin-ecru.vercel.app/"}, {"post_id": 8556, "ts": "2026-06-14T06:57:59Z", "hours": 3.3139, "text": "Wanderpin - Blog 5 - Update press play, watch your trip turn into a movie Live: https://wanderpin-ecru.vercel.app/ You drop a few pins on a globe and hit Play - and instead of a checklist, you get a cinematic fly-through you can actually share. This update was about chasing one idea until the app felt alive : the journey is the hero, the logistics hide in a drawer. The payoff Play used to just stop. Now it lands: the camera pulls back to frame the route, the arcs light up, and a date-stamped card counts up your distance, stops, countries and time. A little classifier scores the trip and picks the camera - a city hop zooms in, a round-the-world trip shows the marble. You also pick how you travel each leg (walk/train/flight…), which bends both the arc shape and the trip’s duration. Then three swings: export the fly-through as a video (recorded straight off the globe canvas, no server), “been there” pins that glow gold once visited, and a living globe - a warm daylight terminator plus each stop’s local time and current weather. What broke Geocode 500’d in prod, every call. Not a geocoding bug at all: type: \"module\" means Vercel runs the API as native ESM, and Node demands file extensions on imports. from \"./_nominatim\" crashed at load. One .js fixed it. The terminator looked gloomy. Darkening the night side just made an already-night map muddy. I flipped it - glow the sunlit side instead - and it finally read as “half the globe is lit.” Two suns. Every clear-sky stop showed ☀️ 06:28 · ☀️ 15° - my day marker next to the weather glyph. ngl used AI to build this image 😛"}, {"post_id": 8281, "ts": "2026-06-13T19:28:41Z", "hours": 4.5656, "text": "Wanderpin - I deleted the spreadsheet You open the app or you can :) (check it out - https://wanderpin-ecru.vercel.app/ ). A night-side Earth, city lights glowing, a slow spin. You drop a pin in Paris. Another in Tokyo. The arc draws across the globe, and right next to all of that, a panel quietly tells you your dream weighs 2.2 tonnes of CO₂ . That panel was killing the magic. This phase was about fixing it. The shift I stopped showing the numbers on the dream surface. Same numbers, just hidden one click deep behind a “Trip details” disclosure. In their place: one warm line that grows with the trip - “4 stops · 4 countries · An adventure taking shape.” You build a journey. The app reacts like it’s excited about it. Surprise me, the most fun thing the app could do, was buried under a dice icon. It’s the front door now: Take me somewhere. The empty state stopped being homework - “Your map’s a blank canvas, click to start” - and became an invitation: “Where are you dreaming of?” Drop your very first pin and the app whispers back: “Your journey begins in Santorini ✨” . Hover over a stop and a small card appears: “Why go - its iconic caldera is the rim of a colossal volcanic eruption.” Hit Play and the screen goes cinematic. Full-screen overlay, place name, vibe, progress dots, the route lighting up beneath. The trip used to be a spreadsheet. Now it’s a memory you haven’t made yet. The mobile catch Almost shipped a bug that would’ve made this look broken. On a phone, the empty-state “Take me somewhere” lives inside a bottom sheet. Tap it, and the surprise card was rendering behind the still-open sheet. To the user, nothing happened. To me, a testing pass on an iPhone-shaped viewport caught it the morning of. One-line fix. The kind that disappears in the diff but would have left every mobile user thinking the button was broken. Where it stands Empty state, surprise card, first pin, the reel - all warm now. The numbers are still there for the planners, behind one small toggle. The dreamers don’t see them at all. When Play ends, the camera pulls back, the whole route lights up, and the same numbers I just buried come surging back as a celebration - “You crossed 4 countries. Today, that’s a journey.” Same data, different feeling. The closing frame becomes a postcard you can share. The whole phase is one belief: people don’t open a travel app because they want to know how many kilometres a trip is. They open it because they want, for a minute, to imagine going somewhere. So show them the somewhere."}, {"post_id": 8043, "ts": "2026-06-13T12:44:32Z", "hours": 5.3458, "text": "Wanderpin - phase 3: real sharing, and the bug that ate an afternoon This update gave Wanderpin proper short links, a saved-trips library, and a route optimizer. But the part I’ll remember is a 100 KB mystery. Short links + a trip library Sharing used to cram the whole trip into a giant #... URL. Now there’s a tiny Supabase backend: hit Share and you get a clean …/t/aB3xY9 link that anyone can open, no login. Reads come straight from the browser (a public read policy), and writes go through a serverless function with the secret key, so nobody can scribble on the database from the client. When someone opens a shared link, the route flies stop to stop and a little “Make your own” card invites them to start their own. Click polish Spinning the globe was dropping stray pins, because react-globe.gl fires a click even at the end of a drag. Added a pointer-distance guard (under ~5px = a real click). Clicking open ocean now offers an “Add anyway” instead of a useless pin, and there’s an “Optimize route” button that reorders stops with nearest-neighbour + 2-opt to cut total distance. The bug: a 5-stop trip that was 400 KB Share kept failing in the browser with a 413 (payload too large). But the function worked fine when I hit it with curl. Same 5-stop trip, totally different size. I had the user dump their saved trip in the console. Five stops. 403,682 characters. Each stop had two mystery keys: __threeObjPoint and __threeObjLabel , ~100 KB each. Turns out react-globe.gl mutates the data objects you hand it - it bolts the entire Three.js render object (meshes, geometry, materials) straight onto your data. I was passing my live trip array to the globe, so it was quietly fattening every stop by 100 KB, which then got saved to localStorage and sent on publish. The hash link looked fine only because it re-packs specific fields, so it never saw the junk. Fix was two-fold: hand the globe throwaway copies so it scribbles on those instead of my real data, and sanitize trips to known fields on save/load (which also cleans up the bloated localStorage on next visit). Back to ~1 KB per trip. Where it stands Live at https://wanderpin-ecru.vercel.app/ - build a trip, optimize it, save it, share a short link, watch it fly. Honest caveats: shared trips are snapshots (open a link, get a copy - not live collaboration), and the globe’s three.js bundle is still the heavy chunk (lazy-loaded, so it only hits the 3D view). Lesson logged: never trust a viz library not to mutate your state."}, {"post_id": 7632, "ts": "2026-06-12T19:09:46Z", "hours": 3.2525, "text": "Wanderpin - phase 2: trips you can shape, share, and watch fly Phase 1 let you drop pins on a globe. Phase 2 turns that into an actual trip planner: reorder stops, edit them, share a link, and hit Play to watch the camera fly your whole route. Play: the globe earns its keep The feature I’m happiest with. There’s now a Play button that flies the camera stop to stop along your route, advancing the highlighted pin as it goes. On the 3D globe it looks the way I wanted the whole app to feel. The nice surprise: it was almost free. Back in phase 1 both the globe and the flat map exposed the same tiny flyTo handle. So the tour loop doesn’t know or care which view you’re on Editing, sharing, exporting Reorder by dragging (dnd-kit), with the route redrawing live. The drag handle is the only draggable bit, so dragging never fights tapping a stop to edit it. Edit a stop inline — rename, swap the emoji, add a note. Undo on remove and “clear all” via the toast, because I deleted my own trip twice testing it. Share builds a link with the whole trip compressed into the URL (lz-string), no backend. Open it anywhere and the trip loads. IDs are regenerated on import so a shared trip never collides with one you already have. Export to JSON or GPX, so a route can open in Google Earth. Where it stands Live at https://wanderpin-ecru.vercel.app/ . Every phase builds clean ( tsc + Vite) and deploys to Vercel on push. The loop now: build a trip, reorder and annotate it, watch it fly, share the link."}, {"post_id": 7419, "ts": "2026-06-12T11:12:40Z", "hours": 4.6761, "text": "Wanderpin - first build Check it out yourself -> https://wanderpin-ecru.vercel.app/ A little travel app where you drop pins on a spinning 3D globe (or a flat map if you prefer), and it stitches them into a trip with distances and country counts. Here’s where it’s at after the first couple of sessions. What it does so far Globe + map, same data. A 3D night-earth globe (three.js via react-globe.gl) with glowing pins and animated arcs between stops, and a 2D Leaflet map with a dashed route line. One toggle swaps between them - they render off the same trip array. Search and click to add. Type a city and it geocodes through OpenStreetMap’s Nominatim; or just click anywhere on the map and it reverse-geocodes the spot into a named pin. Surprise me. A pile of hand-picked destinations, each with a fun fact and a vibe, for when you don’t know where you want to go. It remembers. Trip, view, and “is this still the sample” all persist to localStorage. First-time visitors get a seeded Paris -> Rome -> Cairo route so the app isn’t empty on load. Spent a bit making the Nominatim calls polite: searches are debounced so a fast typer doesn’t fire a request per keystroke. Where it stands The core loop works end to end: search or click -> pin lands on globe and map -> trip panel updates distance (haversine) and country count -> reload and it’s all still there. Next up is editing/reordering stops and tidying the mobile layout"}]...
|
Title: Wanderpin by @darshjain | Stardance
Devlog Title: Wanderpin by @darshjain | Stardance
Devlogs:
Wanderpin - first build Check it out yourself -> https://wanderpin-ecru.vercel.app/ A little travel app where you drop pins on a spinning 3D globe (or a flat map if you prefer), and it stitches them into a trip with distances and country counts. Here’s where it’s at after the first couple of sessions. What it does so far Globe + map, same data. A 3D night-earth globe (three.js via react-globe.gl) with glowing pins and animated arcs between stops, and a 2D Leaflet map with a dashed route line. One toggle swaps between them - they render off the same trip array. Search and click to add. Type a city and it geocodes through OpenStreetMap’s Nominatim; or just click anywhere on the map and it reverse-geocodes the spot into a named pin. Surprise me. A pile of hand-picked destinations, each with a fun fact and a vibe, for when you don’t know where you want to go. It remembers. Trip, view, and “is this still the sample” all persist to localStorage. First-time visitors get a seeded Paris -> Rome -> Cairo route so the app isn’t empty on load. Spent a bit making the Nominatim calls polite: searches are debounced so a fast typer doesn’t fire a request per keystroke. Where it stands The core loop works end to end: search or click -> pin lands on globe and map -> trip panel updates distance (haversine) and country count -> reload and it’s all still there. Next up is editing/reordering stops and tidying the mobile layout
Wanderpin - phase 2: trips you can shape, share, and watch fly Phase 1 let you drop pins on a globe. Phase 2 turns that into an actual trip planner: reorder stops, edit them, share a link, and hit Play to watch the camera fly your whole route. Play: the globe earns its keep The feature I’m happiest with. There’s now a Play button that flies the camera stop to stop along your route, advancing the highlighted pin as it goes. On the 3D globe it looks the way I wanted the whole app to feel. The nice surprise: it was almost free. Back in phase 1 both the globe and the flat map exposed the same tiny flyTo handle. So the tour loop doesn’t know or care which view you’re on Editing, sharing, exporting Reorder by dragging (dnd-kit), with the route redrawing live. The drag handle is the only draggable bit, so dragging never fights tapping a stop to edit it. Edit a stop inline — rename, swap the emoji, add a note. Undo on remove and “clear all” via the toast, because I deleted my own trip twice testing it. Share builds a link with the whole trip compressed into the URL (lz-string), no backend. Open it anywhere and the trip loads. IDs are regenerated on import so a shared trip never collides with one you already have. Export to JSON or GPX, so a route can open in Google Earth. Where it stands Live at https://wanderpin-ecru.vercel.app/ . Every phase builds clean ( tsc + Vite) and deploys to Vercel on push. The loop now: build a trip, reorder and annotate it, watch it fly, share the link.
Wanderpin - phase 3: real sharing, and the bug that ate an afternoon This update gave Wanderpin proper short links, a saved-trips library, and a route optimizer. But the part I’ll remember is a 100 KB mystery. Short links + a trip library Sharing used to cram the whole trip into a giant #... URL. Now there’s a tiny Supabase backend: hit Share and you get a clean …/t/aB3xY9 link that anyone can open, no login. Reads come straight from the browser (a public read policy), and writes go through a serverless function with the secret key, so nobody can scribble on the database from the client. When someone opens a shared link, the route flies stop to stop and a little “Make your own” card invites them to start their own. Click polish Spinning the globe was dropping stray pins, because react-globe.gl fires a click even at the end of a drag. Added a pointer-distance guard (under ~5px = a real click). Clicking open ocean now offers an “Add anyway” instead of a useless pin, and there’s an “Optimize route” button that reorders stops with nearest-neighbour + 2-opt to cut total distance. The bug: a 5-stop trip that was 400 KB Share kept failing in the browser with a 413 (payload too large). But the function worked fine when I hit it with curl. Same 5-stop trip, totally different size. I had the user dump their saved trip in the console. Five stops. 403,682 characters. Each stop had two mystery keys: __threeObjPoint and __threeObjLabel , ~100 KB each. Turns out react-globe.gl mutates the data objects you hand it - it bolts the entire Three.js render object (meshes, geometry, materials) straight onto your data. I was passing my live trip array to the globe, so it was quietly fattening every stop by 100 KB, which then got saved to localStorage and sent on publish. The hash link looked fine only because it re-packs specific fields, so it never saw the junk. Fix was two-fold: hand the globe throwaway copies so it scribbles on those instead of my real data, and sanitize trips to known fields on save/load (which also cleans up the bloated localStorage on next visit). Back to ~1 KB per trip. Where it stands Live at https://wanderpin-ecru.vercel.app/ - build a trip, optimize it, save it, share a short link, watch it fly. Honest caveats: shared trips are snapshots (open a link, get a copy - not live collaboration), and the globe’s three.js bundle is still the heavy chunk (lazy-loaded, so it only hits the 3D view). Lesson logged: never trust a viz library not to mutate your state.
Wanderpin - I deleted the spreadsheet You open the app or you can :) (check it out - https://wanderpin-ecru.vercel.app/ ). A night-side Earth, city lights glowing, a slow spin. You drop a pin in Paris. Another in Tokyo. The arc draws across the globe, and right next to all of that, a panel quietly tells you your dream weighs 2.2 tonnes of CO₂ . That panel was killing the magic. This phase was about fixing it. The shift I stopped showing the numbers on the dream surface. Same numbers, just hidden one click deep behind a “Trip details” disclosure. In their place: one warm line that grows with the trip - “4 stops · 4 countries · An adventure taking shape.” You build a journey. The app reacts like it’s excited about it. Surprise me, the most fun thing the app could do, was buried under a dice icon. It’s the front door now: Take me somewhere. The empty state stopped being homework - “Your map’s a blank canvas, click to start” - and became an invitation: “Where are you dreaming of?” Drop your very first pin and the app whispers back: “Your journey begins in Santorini ✨” . Hover over a stop and a small card appears: “Why go - its iconic caldera is the rim of a colossal volcanic eruption.” Hit Play and the screen goes cinematic. Full-screen overlay, place name, vibe, progress dots, the route lighting up beneath. The trip used to be a spreadsheet. Now it’s a memory you haven’t made yet. The mobile catch Almost shipped a bug that would’ve made this look broken. On a phone, the empty-state “Take me somewhere” lives inside a bottom sheet. Tap it, and the surprise card was rendering behind the still-open sheet. To the user, nothing happened. To me, a testing pass on an iPhone-shaped viewport caught it the morning of. One-line fix. The kind that disappears in the diff but would have left every mobile user thinking the button was broken. Where it stands Empty state, surprise card, first pin, the reel - all warm now. The numbers are still there for the planners, behind one small toggle. The dreamers don’t see them at all. When Play ends, the camera pulls back, the whole route lights up, and the same numbers I just buried come surging back as a celebration - “You crossed 4 countries. Today, that’s a journey.” Same data, different feeling. The closing frame becomes a postcard you can share. The whole phase is one belief: people don’t open a travel app because they want to know how many kilometres a trip is. They open it because they want, for a minute, to imagine going somewhere. So show them the somewhere.
Wanderpin - Blog 5 - Update press play, watch your trip turn into a movie Live: https://wanderpin-ecru.vercel.app/ You drop a few pins on a globe and hit Play - and instead of a checklist, you get a cinematic fly-through you can actually share. This update was about chasing one idea until the app felt alive : the journey is the hero, the logistics hide in a drawer. The payoff Play used to just stop. Now it lands: the camera pulls back to frame the route, the arcs light up, and a date-stamped card counts up your distance, stops, countries and time. A little classifier scores the trip and picks the camera - a city hop zooms in, a round-the-world trip shows the marble. You also pick how you travel each leg (walk/train/flight…), which bends both the arc shape and the trip’s duration. Then three swings: export the fly-through as a video (recorded straight off the globe canvas, no server), “been there” pins that glow gold once visited, and a living globe - a warm daylight terminator plus each stop’s local time and current weather. What broke Geocode 500’d in prod, every call. Not a geocoding bug at all: type: "module" means Vercel runs the API as native ESM, and Node demands file extensions on imports. from "./_nominatim" crashed at load. One .js fixed it. The terminator looked gloomy. Darkening the night side just made an already-night map muddy. I flipped it - glow the sunlit side instead - and it finally read as “half the globe is lit.” Two suns. Every clear-sky stop showed ☀️ 06:28 · ☀️ 15° - my day marker next to the weather glyph. ngl used AI to build this image 😛
Wanderpin - zoom into the world Two big things landed this week: the map went from 26 hand-picked places to ~40,000, and zooming into the globe now drops you into a real 3D city. From 26 places to 40,000 - and they all have a vibe Wanderpin used to know about 26 famous spots. Now it knows ~40k: cities, towns, UNESCO sites, landmarks, and the world’s most-visited attractions - each tagged with a one-word vibe (Coastal, Alpine, Arid, Heritage, Sacred, Volcanic…). The fun part is the vibes aren’t hand-typed. They’re derived at build time from real data: a Köppen climate raster (so Cairo reads “Arid” and Athens “Mediterranean”), distance to an actual coastline for “Coastal”, GeoNames elevation/feature codes for peaks and castles, and Wikidata’s annual-visitor numbers to rank “most visited”. Facts come from Wikipedia and UNESCO descriptions. Search is now instant and offline - type “Firenze” and Florence shows up. The fun part: zoom in and the globe becomes a city The home view is a space globe (three.js). The close-up is a different engine entirely - maplibre with 3D terrain and buildings. I wired up a level-of-detail handoff between them: zoom into a pin and it crosses from globe to 3D automatically, and zoom back out and it returns to the globe. The trick to making it not feel janky: when you start zooming in, it quietly mounts the 3D map hidden and lets it pull tiles in the background. Only once the tiles are warm does it crossfade. No blank loading flash. What broke (twice) It hung forever in preload. The crossfade waited on maplibre’s idle event to know tiles were ready - but that event sometimes never fires. The globe just kept zooming into black. Fix: commit after a 2.2s fallback even if idle is silent. The way back never worked. Zooming out in 3D wouldn’t return to the globe. Turned out map.on("zoom") captured the callback once at mount - back when the view was still “globe” - so its if (view !== "3d") return guard killed every event forever. Fix: call the latest callback through a ref. Both are real bugs that would’ve bitten actual users on slow connections, not just test artifacts. Where it stands Globe -> 3D -> globe round-trips cleanly on both laptop and mobile, with zero console errors. Try it: https://wanderpin-ecru.vercel.app/
Wanderpin - the globe looked dumb on a 20 km hop, so I taught it to zoom This batch turns a Wanderpin trip from a thing on your screen into a thing you can send to a friend - with a real link preview, an embeddable globe, and a reel that finally looks good on short hops. Share a journey, for real Hit Share and you get a public link ( /t/slug ) in a box, plus Copy, the native share sheet, and WhatsApp / Instagram / X buttons. The interesting part is what happens when someone opens that link: /t/:slug is server-rendered ( api/share.ts ) and serves a dynamically generated Open Graph image ( api/og.tsx via @vercel/og ) - so pasting a Wanderpin link into a chat unfurls into a proper preview card instead of a blank rectangle. There’s an embeddable globe too: /embed/:slug renders just the spinning globe (a tiny route check in main.tsx swaps the whole app for EmbedView ), and the share dialog hands you the <iframe> snippet. Shared trips auto-expire after 7 days via a pg_cron job, so the table stays small and old links quietly die. The reel got smarter - 3D for the short hops The globe fly-through looks flat when two stops are 20 km apart - the arc is a stub and the camera barely moves. So now the Play reel checks each leg: anything under 200 km crosses into the 3D map (terrain + buildings) with a zoom picked from the distance, longer legs stay as globe arcs. It asks once before playing, and video recording stays globe-only so captures never go blank. What bit me Instagram has no web “share a link” intent (unlike WhatsApp/X). So the IG button copies the link and opens Instagram - the native share sheet handles it properly on phones. The slug kept vanishing from the URL. A shared trip was calling replaceState("/") the instant it loaded, so /t/slug disappeared mid-playback and you couldn’t re-share what you were watching. Moved that reset onto the “Create yourslongs. The reel switch reused the globe↔3D handoff plumbing, and the type-checker caught a flyTo signature mismatch before it shipped - the map handle wants { zoom } , not a bare number. Where it stands It all builds clean, Try it: https://wanderpin-ecru.vercel.app/
Wanderpin - getting routes to leave the ground Live: https://wanderpin-ecru.vercel.app/ One update, mostly one stubborn visual I’d twice given up on: real lifted route arcs on the 3D map. Arcs that finally hug the globe deck.gl’s ArcLayer drifts on a MapLibre globe (it only knows Web Mercator), and my earlier hand-rolled layer compiled, ran, threw zero errors, and painted nothing. The fix came from reading MapLibre’s own shaders: inject its projection prelude and call projectTileFor3D(pos, elevation) . The thing I’d missed every time - elevation is in meters above the sphere , fed through five per-frame uniforms, not a raw matrix. Then the polish fights: a z-fight speckle (fixed by not writing depth), a 50 km minimum lift that made short hops launch like fireworks, and a fat vertical wall at city zoom (now fades out past ~zoom 10). An optional day timeline New “Days” view in the trip panel. Weekend trip? You’ll never see it. Month-long? Hit “Organize into days” and stops group into collapsible days you can split, reorder, fit the globe to, or play one at a time. A day is a contiguous slice of the route, so “move to Day 3” repositions the stop and re-normalizes - the route and itinerary stay honest. Days travel on share links too. Where it stands Live at site, (Also squashed a deploy bug: one .tsx API route made Vercel type-check the whole api/ folder with no tsconfig - a tiny api/tsconfig.json fixed it.)
Wanderpin - the first five seconds, final touchups Everything in this batch is about the moment someone lands : a blank globe is intimidating, so I built a real first-run, made it personal, and fixed a jank I’d been ignoring. A front door instead of an empty globe New visitors get a welcome dialog: Plan a trip, or Remember one you took. Either way there are starter templates (a week in Italy, around the world, a California road trip) you can drop in with one tap and start dragging stops around. Coachmarks that follow the actual UI A short guided tour spotlights real elements: search, the view toggle, Play. It measures each target’s live bounding rect, re-measures on resize and focus, flips above/below by screen half, and hides itself the moment you focus the search box so it never fights you while typing. Dismissals persist so it doesn’t nag on return visits. Where it stands Build’s green, all staged, not yet committed. Next: watch real first sessions, do people tap through a template or skip straight to search?
Ships:
Wanderpin is a 3D-globe trip planner where the journey is the product, not the spreadsheet. Drop pins on a spinning night-earth, watch your route stitch together, then hit Play and fly the whole trip as a cinematic reel - gliding across the globe for long hops and dropping into real 3D terrain when two stops are close. The hardest part was making the globe-to-3D handoff feel continuous. Two heavy engines (three.js for the globe, MapLibre for terrain) had to crossfade without a tile-load flash, so I warm the 3D view in the background and only commit once it’s actually ready. I also caught the play-through reel re-rendering the entire app - globe included - on every caption tick; moving the caption into its own useSyncExternalStore so only it updates made the fly-through visibly smoother. I’m proud that it feels like a journey instead of a form: the cinematic reel, ~40k curated places that each carry a vibe and a fun fact, and one-tap sharing as a postcard, a public link, or an embeddable live globe. To try it: open the live link, search a city or just click the globe to drop pins (or start from a template like India’s Golden Triangle), then hit Play. Zoom all the way into a pin to watch it cross into street-level 3D. Built with React 19 + TypeScript, three.js, MapLibre GL, and Vercel serverless....
|
1792878485.7195795
|
1793742485.7195795
|
|
16
|
DeepPly by @DarshJ | Stardance
|
DarshJ
|
1
|
42.39
|
732
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-16T08:40:40Z", "hours": 40.0, "multiplier": 18.5, "payout": 732, "blessing": "neutral", "text": "This is the first ship of a student chess training platform I’m making based on the problems I faced myself as a FIDE rated chess player. I had been working on this before but the code was kinda too messy, so through this ship I made the codebase cleaner, more robust, removed excess architecture like the stockfish worker part. I didn’t expect it to take this long but ig its finally done.", "repo": "https://github.com/someonewhoexists1210/DeepPly", "demo": "https://www.deepply.com/"}]...
|
[{"post_id": 49136, "ts": "202 [{"post_id": 49136, "ts": "2026-08-17T19:27:33Z", "hours": 2.3886, "text": "Updated the UI Before the ui was made by ai cuz I kinda hated frontend coding, but I thought this should be more human so I changed the ui. Didn’t take a whole lot of time cuz I preplanned the new coloring n all and what changes I wanna make"}, {"post_id": 47993, "ts": "2026-08-16T08:36:11Z", "hours": 0.6872, "text": "nvrm this is the last one um I was testing it one more time as a sanity check with a new game and it flagged like all the moves, so I had to correct the mistake flagging logic so that it doesn’t highlight all moves only the ones which are not acceptable but still shows insights for ones which still deviate from the plan. 15-20 mins were spent debugging why the page randomly gave an error when all I forgot was a single ?. fml"}, {"post_id": 47927, "ts": "2026-08-16T06:11:32Z", "hours": 0.8997, "text": "DONEEE Ok so I’m finally done with this project, or at least a milestone. The last problems I was having was that first it said that a specific directory didn’t exist even though it clearly did (the result was cached so thats why it showed that error), and second, position data wasn’t being fed into the llm (the score was changing based on side to move so they weren’t flagged and therefore left out). Now I can finally ship thiss!!"}, {"post_id": 47682, "ts": "2026-08-15T19:16:51Z", "hours": 9.7733, "text": "Second Last Devloggg Ok so deploying took way longer than expected cuz first the docker setup was not that good. Then the problem was that I needed to make scripts for setting up the codebase on the new vps n all, so that took a hugeeee chunk of my time. Then as we all know, theres no way it would work the first time. First, my caddy and django static files setup made my life hell, but somehow I got it fixed idek how atp I think it was some problem with my Caddy config. Next the persist api code, apparently I completely forgot abt integrating syzygy into it. But then I ran into 403 errors downloading the tablebase files from the directories so I solved that too. Now that is running all good but there is one last error im getting and im close to 10h on the devlog here so imma solve that next and we will be good to go!"}, {"post_id": 37614, "ts": "2026-07-30T14:04:27Z", "hours": 8.4825, "text": "Integrated all 3 servers Ok so umm long devlog, but I finally got the full thing working. Wasnt supposed to take so long, but I ran into so many bugs and errors that it took me 8 FRICKiNG HOURS to track and resolve. Also I added docker support to my codebase to make my life easier so thats a plus ig. Now I just have to deploy"}, {"post_id": 32278, "ts": "2026-07-21T10:48:52Z", "hours": 2.5125, "text": "PersistApi Since the stockfish wasm was too slow, i made an api to store all the positions analyzed like i had before with the stockfish worker. I decided to use ai for this cuz i alr made it before and kinda needed to complete this fast"}, {"post_id": 25681, "ts": "2026-07-10T03:10:32Z", "hours": 5.6594, "text": "Added stockfish wasm on frontend Connected stockfish to the frontend and can now send all eval data to the backend. idk why it took me so long i was kinda distracted half the time lmao. Oh wait, I had to make some fixes in the backend and frontend cuz it had so many bugs because I forgot to actually run the backend to test. Prob because I thought it was too much hassle to migrate everything n all"}, {"post_id": 22674, "ts": "2026-07-05T07:08:50Z", "hours": 3.6478, "text": "Removal of stockfish server In this session I removed one of the most expensive parts of running DeepPly, which was the stockfish server. Initially, I had batched all stockfish analyses to a cloud server with multiple stockfish instances. To reduce analysis time, I used a persistent position db to store all previously analyzed positions and I had to use a at least 4 cpu core server. Now, the stockfish analysis can be done on the users computer directly, which is how top sites like chess.com and lichess do it. Im done with the django side of it, and will do the client side next session. Also I added django-environ for robust environment variable handling, started using logging library in 2 files as well."}, {"post_id": 17731, "ts": "2026-06-28T17:22:01Z", "hours": 3.5381, "text": "More cleanup I think im gonna have to do this for a while. Today I cleaned up the lichess import code, to make it less error prone. Rn the main issue was that I wasnt using .get, so it would throw errors if key wasnt found, now it handles much better. Although a lot of time was spent on changing the game model as I wanted more info and better indexing n all. I think next session will be more cleanup and making the code look actually production level before I move on with the ui changes"}, {"post_id": 16130, "ts": "2026-06-26T07:03:26Z", "hours": 4.3664, "text": "Cleaning up task management code When I shipped during flavortown, the code for handling and executing analysis was kinda messy, so I streamlined it to highlight the task status n all using only my model instead of celery’s task result, and made the updating part more robust and removed any potential race conditions"}]...
|
Title: DeepPly by @DarshJ | Stardance
Devlogs:
Cl Title: DeepPly by @DarshJ | Stardance
Devlogs:
Cleaning up task management code When I shipped during flavortown, the code for handling and executing analysis was kinda messy, so I streamlined it to highlight the task status n all using only my model instead of celery’s task result, and made the updating part more robust and removed any potential race conditions
More cleanup I think im gonna have to do this for a while. Today I cleaned up the lichess import code, to make it less error prone. Rn the main issue was that I wasnt using .get, so it would throw errors if key wasnt found, now it handles much better. Although a lot of time was spent on changing the game model as I wanted more info and better indexing n all. I think next session will be more cleanup and making the code look actually production level before I move on with the ui changes
Removal of stockfish server In this session I removed one of the most expensive parts of running DeepPly, which was the stockfish server. Initially, I had batched all stockfish analyses to a cloud server with multiple stockfish instances. To reduce analysis time, I used a persistent position db to store all previously analyzed positions and I had to use a at least 4 cpu core server. Now, the stockfish analysis can be done on the users computer directly, which is how top sites like chess.com and lichess do it. Im done with the django side of it, and will do the client side next session. Also I added django-environ for robust environment variable handling, started using logging library in 2 files as well.
Added stockfish wasm on frontend Connected stockfish to the frontend and can now send all eval data to the backend. idk why it took me so long i was kinda distracted half the time lmao. Oh wait, I had to make some fixes in the backend and frontend cuz it had so many bugs because I forgot to actually run the backend to test. Prob because I thought it was too much hassle to migrate everything n all
PersistApi Since the stockfish wasm was too slow, i made an api to store all the positions analyzed like i had before with the stockfish worker. I decided to use ai for this cuz i alr made it before and kinda needed to complete this fast
Integrated all 3 servers Ok so umm long devlog, but I finally got the full thing working. Wasnt supposed to take so long, but I ran into so many bugs and errors that it took me 8 FRICKiNG HOURS to track and resolve. Also I added docker support to my codebase to make my life easier so thats a plus ig. Now I just have to deploy
Second Last Devloggg Ok so deploying took way longer than expected cuz first the docker setup was not that good. Then the problem was that I needed to make scripts for setting up the codebase on the new vps n all, so that took a hugeeee chunk of my time. Then as we all know, theres no way it would work the first time. First, my caddy and django static files setup made my life hell, but somehow I got it fixed idek how atp I think it was some problem with my Caddy config. Next the persist api code, apparently I completely forgot abt integrating syzygy into it. But then I ran into 403 errors downloading the tablebase files from the directories so I solved that too. Now that is running all good but there is one last error im getting and im close to 10h on the devlog here so imma solve that next and we will be good to go!
DONEEE Ok so I’m finally done with this project, or at least a milestone. The last problems I was having was that first it said that a specific directory didn’t exist even though it clearly did (the result was cached so thats why it showed that error), and second, position data wasn’t being fed into the llm (the score was changing based on side to move so they weren’t flagged and therefore left out). Now I can finally ship thiss!!
nvrm this is the last one um I was testing it one more time as a sanity check with a new game and it flagged like all the moves, so I had to correct the mistake flagging logic so that it doesn’t highlight all moves only the ones which are not acceptable but still shows insights for ones which still deviate from the plan. 15-20 mins were spent debugging why the page randomly gave an error when all I forgot was a single ?. fml
Updated the UI Before the ui was made by ai cuz I kinda hated frontend coding, but I thought this should be more human so I changed the ui. Didn’t take a whole lot of time cuz I preplanned the new coloring n all and what changes I wanna make
Ships:
This is the first ship of a student chess training platform I’m making based on the problems I faced myself as a FIDE rated chess player. I had been working on this before but the code was kinda too messy, so through this ship I made the codebase cleaner, more robust, removed excess architecture like the stockfish worker part. I didn’t expect it to take this long but ig its finally done....
|
1792997474.5207913
|
1793083874.5207913
|
|
15271
|
Voltchess by @jithesh_sarvin | Stardance
|
|
1
|
66.09
|
723
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-16T14:41:02Z", "hours": 62.0, "multiplier": 12.02, "payout": 723, "blessing": "neutral", "text": "if you don’t play chess user (jitheshsarvin) as the username in chess.com to tryout the analysis feature. I made a free chess game review tool like chess.com but better. I added new features with stockfish analysis, move classification and even additional metrics such as the position domination. For new user there is a tutorial. I added a backend for people to save their reports. (note the sign in does not work for regular users). Other features that i added of seo optimization and puzzles and play features to top it off.", "repo": "https://github.com/Lunarcolony/VoltChess", "demo": "https://www.voltchess.me"}]...
|
[{"post_id": 13941, "ts": "202 [{"post_id": 13941, "ts": "2026-06-22T21:40:10Z", "hours": 2.025, "text": "added debugging features"}, {"post_id": 12740, "ts": "2026-06-20T20:35:08Z", "hours": 2.0619, "text": "Created a whole couch hub which runs in a raspberry pi, which allows a coach to add multiple students and analyze and create game reports for the moth"}, {"post_id": 9969, "ts": "2026-06-16T14:35:51Z", "hours": 11.3247, "text": "trained a machine learning algorithm that could predict the future moves in threads. I had to do a lot of troubleshooting to fix the training process and i trained the couch model for about 5 hours"}, {"post_id": 9022, "ts": "2026-06-15T01:39:23Z", "hours": 10.7403, "text": "Created a backend for the website so that the users could sign in. I am changing focus to academy’s to get users. They could log in add their student and it generates reports automatically for each student. Also i have fixed a little bit of the ui to make is more clear and usable for others. I am using vercel to host the from end but i am using a raspberry pi to run the backend locally and run a Cloudflare tunnel to connect these two."}, {"post_id": 8677, "ts": "2026-06-14T12:37:04Z", "hours": 9.1492, "text": "I added a puzzle page which uses stock fish and a custom trained ml algorithm to find mate in two puzzles in complex position. It also takes in real games a input to improve its puzzles every time( try in out in voltchess.me"}, {"post_id": 8100, "ts": "2026-06-13T14:57:32Z", "hours": 9.0711, "text": "implemented a stockfish tab that runs in the browser of the user to reduce the servers stress"}, {"post_id": 7858, "ts": "2026-06-13T03:13:39Z", "hours": 1.0306, "text": "Added blogs and other text to increase seo optimization. I also integrated this new color theme which i asked ai to do it. In my opinion the color theme is mid and it took it only 10 seconds to do it which saved me a lot of work."}, {"post_id": 7693, "ts": "2026-06-12T21:01:55Z", "hours": 1.7822, "text": "Devlog-5 I focused more on marking my getting getting feedback from the users and improving some small bugs and ui and by this process I was able to receive 140 unique users in 2 days and more than 50 new users in the past 12 hours( check out the website - https://www.voltchess.me )"}, {"post_id": 7449, "ts": "2026-06-12T12:41:54Z", "hours": 9.2467, "text": "Dev log-4 added the ability to load a chess game using chess.com api and lichess ai. And integrated stockfish in the browser to analyze the games. Create a simple algorithm to predict accuracy based on their mistakes( which are calculated by sudden movements in eval) try it out at https://www.voltchess.me"}, {"post_id": 6803, "ts": "2026-06-11T12:27:05Z", "hours": 7.3647, "text": "Devlog-3 I deployed this website to Vercel and did some marketing to see how many people would be willing to use my website. As per thier views , it is lower than what i expected and they never returned. Based on these comments, I improved my ui and added new features such as game review but it is still buggy so i did not publish that."}, {"post_id": 6622, "ts": "2026-06-11T03:27:17Z", "hours": 1.6131, "text": "Devlog-2 I have worked to create a new side panel which is ridged for pc and is like a dropdown menu for phones. I also have routed 4 different pages analysis tab has the one with the chess board. I have designed my own logo to go on top to finish it off. I made black and gold color theme to make it feel premium"}, {"post_id": 6494, "ts": "2026-06-10T22:17:53Z", "hours": 0.9517, "text": "Devlog 1 Today i was able to explore different options to create a chessboard using typescript. A really important step to take is what tools and programs i chose to use. I chose vite because of its clean ui and deployments"}]...
|
Title: Voltchess by @jithesh_sarvin | Stardance
D Title: Voltchess by @jithesh_sarvin | Stardance
Devlogs:
Devlog 1 Today i was able to explore different options to create a chessboard using typescript. A really important step to take is what tools and programs i chose to use. I chose vite because of its clean ui and deployments
Devlog-2 I have worked to create a new side panel which is ridged for pc and is like a dropdown menu for phones. I also have routed 4 different pages analysis tab has the one with the chess board. I have designed my own logo to go on top to finish it off. I made black and gold color theme to make it feel premium
Devlog-3 I deployed this website to Vercel and did some marketing to see how many people would be willing to use my website. As per thier views , it is lower than what i expected and they never returned. Based on these comments, I improved my ui and added new features such as game review but it is still buggy so i did not publish that.
Dev log-4 added the ability to load a chess game using chess.com api and lichess ai. And integrated stockfish in the browser to analyze the games. Create a simple algorithm to predict accuracy based on their mistakes( which are calculated by sudden movements in eval) try it out at https://www.voltchess.me
Devlog-5 I focused more on marking my getting getting feedback from the users and improving some small bugs and ui and by this process I was able to receive 140 unique users in 2 days and more than 50 new users in the past 12 hours( check out the website - https://www.voltchess.me )
Added blogs and other text to increase seo optimization. I also integrated this new color theme which i asked ai to do it. In my opinion the color theme is mid and it took it only 10 seconds to do it which saved me a lot of work.
implemented a stockfish tab that runs in the browser of the user to reduce the servers stress
I added a puzzle page which uses stock fish and a custom trained ml algorithm to find mate in two puzzles in complex position. It also takes in real games a input to improve its puzzles every time( try in out in voltchess.me
Created a backend for the website so that the users could sign in. I am changing focus to academy’s to get users. They could log in add their student and it generates reports automatically for each student. Also i have fixed a little bit of the ui to make is more clear and usable for others. I am using vercel to host the from end but i am using a raspberry pi to run the backend locally and run a Cloudflare tunnel to connect these two.
trained a machine learning algorithm that could predict the future moves in threads. I had to do a lot of troubleshooting to fix the training process and i trained the couch model for about 5 hours
Created a whole couch hub which runs in a raspberry pi, which allows a coach to add multiple students and analyze and create game reports for the moth
added debugging features
Ships:
if you don’t play chess user (jitheshsarvin) as the username in chess.com to tryout the analysis feature. I made a free chess game review tool like chess.com but better. I added new features with stockfish analysis, move classification and even additional metrics such as the position domination. For new user there is a tutorial. I added a backend for people to save their reports. (note the sign in does not work for regular users). Other features that i added of seo optimization and puzzles and play features to top it off....
|
1792993897.6583104
|
1793080297.6583104
|
|
409
|
Personal Website (brian.re) by @brian | Stardance
|
brian
|
2
|
44.0
|
714
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-03T01:04:35Z", "hours": 15.0, "multiplier": 13.22, "payout": 197, "blessing": "neutral", "text": "I made great progress on my personal website by completely transforming the page design, featuring a nicer color scheme, warmer font, improved blog post typography, and many other little changes! I also introduced a new projects page (with a preview on the homepage), and made some big organizational changes in the codebase to follow DRY. I’m really proud of the new design, as I think it better represents me and is much more welcoming. I also learned that a couple simple color and font changes can have a HUGE impact on the design of your website and its friendliness. I learned a lot from the feedback on my previous ships and I’m excited to present this version of my site!", "repo": "https://github.com/brianwalczak/website", "demo": "https://brian.re"}, {"ship_num": 2, "ts": "2026-06-23T19:05:26Z", "hours": 29.0, "multiplier": 18.97, "payout": 517, "blessing": "neutral", "text": "I made massive improvements to my website status system by building a custom web client that allows me to map statuses based on the app I’m using! I also added a printer system to my website which allows users to print out a message of their choice right on my desk. For me, the most challenging part was definitely the web design (I suck at front-end work…), but I’m really proud of how the client ended up turning out :D", "repo": "https://github.com/brianwalczak/website", "demo": "https://brian.re"}]...
|
[{"post_id": 21210, "ts": "202 [{"post_id": 21210, "ts": "2026-07-03T00:56:42Z", "hours": 1.3636, "text": "I spent a while testing out all the functionality on my website (including on mobile devices) and made a variety of minor page fixes! I also improved the old 404 page to use my new page design."}, {"post_id": 20518, "ts": "2026-07-02T04:09:53Z", "hours": 0.5917, "text": "I created a project card component and added a featured projects section on the home screen! I also moved all database query functions into dedicated projects.ts and blog.ts modules so they can be reused across the codebase."}, {"post_id": 20313, "ts": "2026-07-01T21:39:33Z", "hours": 2.49, "text": "I noticed that as I’ve been adding more pages, the navbar on mobile is becoming more and more crammed, so I created a simple hamburger navigation menu for smaller screens! Besides that, I added 5-minute caching for projects and blog posts (since database reads are a lil’ slow) using Next.js’ unstable_cache function, and cleaned up the rest of the SVGs across the codebase to their own icon file in components/icons . Almost ready to ship :D just gonna add a “featured projects” section on the homepage!"}, {"post_id": 18172, "ts": "2026-06-29T06:31:28Z", "hours": 3.3758, "text": "I finished adding a projects page and created a Payload collection so I don’t need to hard code them! I also added Payload email functionality for password resets, cleaned up the environment variable setup, and upgraded all dependencies. Payload has lacked official support for Next.js v16 for quite some time now, but it’s finally here!!"}, {"post_id": 17868, "ts": "2026-06-28T20:08:41Z", "hours": 1.1678, "text": "Made some big organizational changes! I moved all of the icons in Skills.tsx and constants.tsx (contact links, footer links, etc.) into designated tsx files for reusability. I also DRY’d out the skills data by assigning it in constants.tsx and mapping over it! Besides that, I just made a couple bug fixes and ran prettier. Making the projects page next!"}, {"post_id": 17317, "ts": "2026-06-28T01:17:23Z", "hours": 0.9367, "text": "I added a nice fade animation when switching between skill tabs! I also added a favicon by pointing the source to my GitHub profile picture URL, and fixed a few more bugs."}, {"post_id": 17101, "ts": "2026-06-27T19:25:02Z", "hours": 0.5861, "text": "I finished updating both the music player and the printer modal to use our new color scheme!"}, {"post_id": 16050, "ts": "2026-06-26T02:28:32Z", "hours": 1.9175, "text": "I ditched @tailwindcss/typography and completely transformed the styling of blog posts! Spent the past 2 hours designing custom CSS to pair with Payload’s RichText output. Super happy with the results. Codeblocks look amazing now! Next step will be fixing the music player and printer modal to have them use our new color scheme."}, {"post_id": 16009, "ts": "2026-06-26T00:05:39Z", "hours": 2.5, "text": "I’ve been thinking about the website for a while, and figured there’s just so much wrong with it. The color scheme is incredibly generic and boring, and it seems more like a product landing page than a personal website. So after a little over 2 hours of experimenting with different hues, and creating custom Tailwind classes to use across the website, I made some big changes! The website looks much more cozy now and features a nice navy blue design with a new font. I also scrapped the old grid background since it’s pretty generic. I’m incredibly happy about the new font and I think it makes the website much more inviting (I found it here )! Next step will be fixing blog posts since they’re really messy with Tailwind Typography."}, {"post_id": 11051, "ts": "2026-06-18T02:37:29Z", "hours": 4.9867, "text": "I added a printer section on my website and a modal to enter in the message! I also added filtering to block any inappropriate content using obscenity , rate limiting with Redis to limit each IP address to 1 successful request per 24 hours, and implemented VPN/Proxy checks with proxycheck.io. Generally I’m strictly against VPN blocking, but unfortunately in my case I think it’s the only effective way to prevent abuse (I want to be able to sleep at night ). Besides those changes, I also installed and ran prettier in the repo, and added basic Vercel analytics to see how many page visits I’m getting!"}, {"post_id": 7850, "ts": "2026-06-13T02:50:48Z", "hours": 3.6847, "text": "Finished implementing a printer module in the client to facilitate message printing! It uses Redis to store the messages as well, and the client polls every 30 seconds to pop the values and print them out. I also made some major Redis command optimizations by using Lua execution for the printer module and a Hash structure for the status. I was able to drastically minimize the amount of commands necessary to sync the status and fetch new printer messages, which is definitely a huge plus considering there’s a monthly command limit on the free plan. Time to build a messages input box on the website!"}, {"post_id": 7249, "ts": "2026-06-12T02:51:26Z", "hours": 4.0889, "text": "I’ve finally finished with the Settings page! I also made a few more bug fixes, removed the custom fonts (they look worse), made some security improvements for the Electron app (removed sandbox and nodeIntegration ), and refactored the onboarding/settings validation and flow. Added a noice fade-in animation on the loading screen too! I decided against a Devices page since it’s honestly unnecessary. If I really need to see the list of devices, I can just read the Redis status key. My next idea was adding some cool label printer functionality! I have a shipping label printer and hundreds of unused sticky labels, so I thought it would be cool if I added a message box on my website that would print out these messages right on my desk!"}, {"post_id": 6546, "ts": "2026-06-11T00:06:58Z", "hours": 0.7439, "text": "I finished updating the website to properly parse the status data, and now it displays properly, yay! The website backend fetches the status key from the Redis database, goes through each record, and sets the status of the device with the lowest priority number (a lower number means higher priority)."}, {"post_id": 5986, "ts": "2026-06-10T01:21:01Z", "hours": 2.6508, "text": "I’ve finished adding the Mappings page! I can now add a new application by its name and customize the status displayed when the app window is in focus. Next step will be implementing the new status JSON structure into the website itself… so we can actually start using it!"}, {"post_id": 4701, "ts": "2026-06-08T03:56:41Z", "hours": 2.1, "text": "I’ve made huge changes to the overall project folder structure so the codebase stays organized! I also added windowless functionality (to keep running in the background), open at login (incl. for Linux), and renamed some functions as well for better clarity :D"}, {"post_id": 3930, "ts": "2026-06-07T01:40:40Z", "hours": 2.8572, "text": "The Status page is finally complete! I finished building the UI and added the main process logic as well to handle manual overrides, invisible mode, and serve live updates to the renderer process every 30 seconds! I also added the get-windows library to find the currently active window and check if there’s a corresponding mapping (which I’ll be adding next in the Mappings page!). Installed and ran eslint + prettier as well :)"}, {"post_id": 2943, "ts": "2026-06-05T21:03:25Z", "hours": 2.2994, "text": "Currently working on the Status page of the UI, which will feature an overview of the live status, as well as the option to enter a manual override or appear invisible. I’ll still need to work on the logic in the main process that checks for open applications to update my status properly."}, {"post_id": 2570, "ts": "2026-06-05T04:23:23Z", "hours": 2.6528, "text": "Finally finished adding an onboarding flow where I configure my settings like device ID, priority, and Redis API credentials! When starting up the client now, it checks if the settings are valid, and if they aren’t, the onboarding flow is opened. Before saving the new configuration, the main process attempts to establish a connection with the Redis API first to ensure the credentials are valid. Next step will be building the actual dashboard."}, {"post_id": 2354, "ts": "2026-06-04T20:04:49Z", "hours": 1.6517, "text": "Forgot to devlog! So far I’ve built the core of the Electron app, and added a super simple interface just for testing to make sure Redis is working (it is!). Next steps will be creating an onboarding flow where I can input the Redis credentials and customize my settings upon installation!"}, {"post_id": 1810, "ts": "2026-06-04T01:03:49Z", "hours": 0.9306, "text": "First devlog! I decided that I’ll build a lightweight client to report my status instead of relying on Hackatime and Slack presence to guess (which is what my website has been doing before :/). So far I’ve migrated the /api/status endpoint to read a Redis database, which will be updated by the client to transmit my status! I’ll be writing the client in Electron next! Had to create a new repository for it, which you can find here: https://github.com/brianwalczak/cabin-client"}]...
|
Title: Personal Website (brian.re) by @brian | Sta Title: Personal Website (brian.re) by @brian | Stardance
Devlogs:
First devlog! I decided that I’ll build a lightweight client to report my status instead of relying on Hackatime and Slack presence to guess (which is what my website has been doing before :/). So far I’ve migrated the /api/status endpoint to read a Redis database, which will be updated by the client to transmit my status! I’ll be writing the client in Electron next! Had to create a new repository for it, which you can find here: https://github.com/brianwalczak/cabin-client
Forgot to devlog! So far I’ve built the core of the Electron app, and added a super simple interface just for testing to make sure Redis is working (it is!). Next steps will be creating an onboarding flow where I can input the Redis credentials and customize my settings upon installation!
Finally finished adding an onboarding flow where I configure my settings like device ID, priority, and Redis API credentials! When starting up the client now, it checks if the settings are valid, and if they aren’t, the onboarding flow is opened. Before saving the new configuration, the main process attempts to establish a connection with the Redis API first to ensure the credentials are valid. Next step will be building the actual dashboard.
Currently working on the Status page of the UI, which will feature an overview of the live status, as well as the option to enter a manual override or appear invisible. I’ll still need to work on the logic in the main process that checks for open applications to update my status properly.
The Status page is finally complete! I finished building the UI and added the main process logic as well to handle manual overrides, invisible mode, and serve live updates to the renderer process every 30 seconds! I also added the get-windows library to find the currently active window and check if there’s a corresponding mapping (which I’ll be adding next in the Mappings page!). Installed and ran eslint + prettier as well :)
I’ve made huge changes to the overall project folder structure so the codebase stays organized! I also added windowless functionality (to keep running in the background), open at login (incl. for Linux), and renamed some functions as well for better clarity :D
I’ve finished adding the Mappings page! I can now add a new application by its name and customize the status displayed when the app window is in focus. Next step will be implementing the new status JSON structure into the website itself… so we can actually start using it!
I finished updating the website to properly parse the status data, and now it displays properly, yay! The website backend fetches the status key from the Redis database, goes through each record, and sets the status of the device with the lowest priority number (a lower number means higher priority).
I’ve finally finished with the Settings page! I also made a few more bug fixes, removed the custom fonts (they look worse), made some security improvements for the Electron app (removed sandbox and nodeIntegration ), and refactored the onboarding/settings validation and flow. Added a noice fade-in animation on the loading screen too! I decided against a Devices page since it’s honestly unnecessary. If I really need to see the list of devices, I can just read the Redis status key. My next idea was adding some cool label printer functionality! I have a shipping label printer and hundreds of unused sticky labels, so I thought it would be cool if I added a message box on my website that would print out these messages right on my desk!
Finished implementing a printer module in the client to facilitate message printing! It uses Redis to store the messages as well, and the client polls every 30 seconds to pop the values and print them out. I also made some major Redis command optimizations by using Lua execution for the printer module and a Hash structure for the status. I was able to drastically minimize the amount of commands necessary to sync the status and fetch new printer messages, which is definitely a huge plus considering there’s a monthly command limit on the free plan. Time to build a messages input box on the website!
I added a printer section on my website and a modal to enter in the message! I also added filtering to block any inappropriate content using obscenity , rate limiting with Redis to limit each IP address to 1 successful request per 24 hours, and implemented VPN/Proxy checks with proxycheck.io. Generally I’m strictly against VPN blocking, but unfortunately in my case I think it’s the only effective way to prevent abuse (I want to be able to sleep at night ). Besides those changes, I also installed and ran prettier in the repo, and added basic Vercel analytics to see how many page visits I’m getting!
I’ve been thinking about the website for a while, and figured there’s just so much wrong with it. The color scheme is incredibly generic and boring, and it seems more like a product landing page than a personal website. So after a little over 2 hours of experimenting with different hues, and creating custom Tailwind classes to use across the website, I made some big changes! The website looks much more cozy now and features a nice navy blue design with a new font. I also scrapped the old grid background since it’s pretty generic. I’m incredibly happy about the new font and I think it makes the website much more inviting (I found it here )! Next step will be fixing blog posts since they’re really messy with Tailwind Typography.
I ditched @tailwindcss/typography and completely transformed the styling of blog posts! Spent the past 2 hours designing custom CSS to pair with Payload’s RichText output. Super happy with the results. Codeblocks look amazing now! Next step will be fixing the music player and printer modal to have them use our new color scheme.
I finished updating both the music player and the printer modal to use our new color scheme!
I added a nice fade animation when switching between skill tabs! I also added a favicon by pointing the source to my GitHub profile picture URL, and fixed a few more bugs.
Made some big organizational changes! I moved all of the icons in Skills.tsx and constants.tsx (contact links, footer links, etc.) into designated tsx files for reusability. I also DRY’d out the skills data by assigning it in constants.tsx and mapping over it! Besides that, I just made a couple bug fixes and ran prettier. Making the projects page next!
I finished adding a projects page and created a Payload collection so I don’t need to hard code them! I also added Payload email functionality for password resets, cleaned up the environment variable setup, and upgraded all dependencies. Payload has lacked official support for Next.js v16 for quite some time now, but it’s finally here!!
I noticed that as I’ve been adding more pages, the navbar on mobile is becoming more and more crammed, so I created a simple hamburger navigation menu for smaller screens! Besides that, I added 5-minute caching for projects and blog posts (since database reads are a lil’ slow) using Next.js’ unstable_cache function, and cleaned up the rest of the SVGs across the codebase to their own icon file in components/icons . Almost ready to ship :D just gonna add a “featured projects” section on the homepage!
I created a project card component and added a featured projects section on the home screen! I also moved all database query functions into dedicated projects.ts and blog.ts modules so they can be reused across the codebase.
I spent a while testing out all the functionality on my website (including on mobile devices) and made a variety of minor page fixes! I also improved the old 404 page to use my new page design.
Ships:
I made massive improvements to my website status system by building a custom web client that allows me to map statuses based on the app I’m using! I also added a printer system to my website which allows users to print out a message of their choice right on my desk. For me, the most challenging part was definitely the web design (I suck at front-end work…), but I’m really proud of how the client ended up turning out :D
I made great progress on my personal website by completely transforming the page design, featuring a nicer color scheme, warmer font, improved blog post typography, and many other little changes! I also introduced a new projects page (with a preview on the homepage), and made some big organizational changes in the codebase to follow DRY. I’m really proud of the new design, as I think it better represents me and is much more welcoming. I also learned that a couple simple color and font changes can have a HUGE impact on the design of your website and its friendliness. I learned a lot from the feedback on my previous ships and I’m excited to present this version of my site!...
|
1792997455.2600768
|
1793083855.2600768
|
|
52605
|
actionator by @evmaagca | Stardance
|
evmaagca
|
1
|
41.27
|
711
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-09T22:17:28Z", "hours": 41.0, "multiplier": 17.32, "payout": 711, "blessing": "neutral", "text": "#13 all of the features of this game: The player can move, attack, dash, use charged attacks, and build combos while managing their health and stamina. Players can collect apples, earn points, open chests, and find upgrades throughout the levels. The game includes different terrain, enemies, sound effects, animations, and visual effects to make the gameplay more engaging. There is also a timer and high score system that tracks how far and how quickly the player gets. The game has a title screen, pause menu, controls, credits, run results, and achievement menu where players can see their accomplishments. The overall goal is to survive as long as possible and reach Level 15. finally finished what I believe as my favorite coding project! I am so proud of this game and it is the first one I can truly call a success. I learned so much when making this and am hoping to continue with this knowledge on the next game. my final question is “how far can you go?”", "repo": "https://github.com/evacoffee/actionator", "demo": "https://evmaagca.itch.io/actionatior"}]...
|
[{"post_id": 68843, "ts": "202 [{"post_id": 68843, "ts": "2026-09-15T20:58:50Z", "hours": 0.2667, "text": "#14 just rewrote some code that was bothering me, also I forgot to write why I made this code, I’m hoping to get a Bambu Lab A1 3D printer to help bring parts of the project into the real world. If you’re rating my project, any support toward helping me reach that goal would mean a lot! Thank you in advance!"}, {"post_id": 65010, "ts": "2026-09-09T20:00:19Z", "hours": 7.0094, "text": "#12 completely updated the title screen (now has moving slime!! + buttons for other stuff (still kinda bad) will update again"}, {"post_id": 63138, "ts": "2026-09-06T19:31:16Z", "hours": 4.5922, "text": "#11 added heartbeatsound, bestscore/bestlevel, created combo score thingy, fixed double attack, added chests + upgrades in them"}, {"post_id": 61183, "ts": "2026-09-04T00:00:21Z", "hours": 6.0297, "text": "#10 added 2 levels, added feature where you gain a heart after 5 apples, added flickering during dashing + no damage when dashing, redid player, fixed the apple collection and scoring system, added a end of run screen with stats, added paused menu, added title screen, added stamina bar, added dashes and a second stronger attack"}, {"post_id": 59523, "ts": "2026-09-01T12:07:31Z", "hours": 4.0561, "text": "#9 added another level and tried (key word tried) to add collectables with a score hud for like 2 hours straight until i realized i just forgot to capitalize something"}, {"post_id": 58069, "ts": "2026-08-30T12:41:24Z", "hours": 2.5608, "text": "#8 added 2 more levels, more notes, changed the music, fixed a bug that was hindering the loading of levels and fixed (again) the textboxes"}, {"post_id": 56988, "ts": "2026-08-29T01:33:08Z", "hours": 3.47, "text": "#7 added 2 more levels, also added words to some levels using canvaslayer, panels and layers!!"}, {"post_id": 55295, "ts": "2026-08-27T01:16:44Z", "hours": 1.3264, "text": "#6 kind of short but I added 2 more levels and fixed a few more bugs with the nodes :0"}, {"post_id": 55159, "ts": "2026-08-26T17:09:10Z", "hours": 2.4722, "text": "#5 added more levels, fixed some music bugs, and added level numbers on the levels themselves"}, {"post_id": 54972, "ts": "2026-08-26T12:27:23Z", "hours": 2.1908, "text": "#4 added hearts after killing slimes, added bg music and added more levels with water"}, {"post_id": 54072, "ts": "2026-08-24T20:54:04Z", "hours": 2.8656, "text": "#3 added player health & damage, created a fading black and white screen between levels and added 2 more levels (there are more to the scripts not just what i uploaded)"}, {"post_id": 52713, "ts": "2026-08-23T00:55:19Z", "hours": 1.5569, "text": "#2 added the tilemaplayer, the level itself, and the foliage around it!"}, {"post_id": 52004, "ts": "2026-08-22T00:56:02Z", "hours": 2.9169, "text": "#1 adding character/slime/config movements basically all i did was add all the main entities, added sword, combat system & attack hitbox, and player/enemy movement and animation."}]...
|
Title: actionator by @evmaagca | Stardance
Devlog Title: actionator by @evmaagca | Stardance
Devlogs:
#1 adding character/slime/config movements basically all i did was add all the main entities, added sword, combat system & attack hitbox, and player/enemy movement and animation.
#2 added the tilemaplayer, the level itself, and the foliage around it!
#3 added player health & damage, created a fading black and white screen between levels and added 2 more levels (there are more to the scripts not just what i uploaded)
#4 added hearts after killing slimes, added bg music and added more levels with water
#5 added more levels, fixed some music bugs, and added level numbers on the levels themselves
#6 kind of short but I added 2 more levels and fixed a few more bugs with the nodes :0
#7 added 2 more levels, also added words to some levels using canvaslayer, panels and layers!!
#8 added 2 more levels, more notes, changed the music, fixed a bug that was hindering the loading of levels and fixed (again) the textboxes
#9 added another level and tried (key word tried) to add collectables with a score hud for like 2 hours straight until i realized i just forgot to capitalize something
#10 added 2 levels, added feature where you gain a heart after 5 apples, added flickering during dashing + no damage when dashing, redid player, fixed the apple collection and scoring system, added a end of run screen with stats, added paused menu, added title screen, added stamina bar, added dashes and a second stronger attack
#11 added heartbeatsound, bestscore/bestlevel, created combo score thingy, fixed double attack, added chests + upgrades in them
#12 completely updated the title screen (now has moving slime!! + buttons for other stuff (still kinda bad) will update again
#14 just rewrote some code that was bothering me, also I forgot to write why I made this code, I’m hoping to get a Bambu Lab A1 3D printer to help bring parts of the project into the real world. If you’re rating my project, any support toward helping me reach that goal would mean a lot! Thank you in advance!
Ships:
#13 all of the features of this game: The player can move, attack, dash, use charged attacks, and build combos while managing their health and stamina. Players can collect apples, earn points, open chests, and find upgrades throughout the levels. The game includes different terrain, enemies, sound effects, animations, and visual effects to make the gameplay more engaging. There is also a timer and high score system that tracks how far and how quickly the player gets. The game has a title screen, pause menu, controls, credits, run results, and achievement menu where players can see their accomplishments. The overall goal is to survive as long as possible and reach Level 15. finally finished what I believe as my favorite coding project! I am so proud of this game and it is the first one I can truly call a success. I learned so much when making this and am hoping to continue with this knowledge on the next game. my final question is “how far can you go?”...
|
1792986889.7140074
|
1793073289.7140074
|
|
17855
|
Resource-Screening by @shashi93 | Stardance
|
shashi93
|
2
|
73.0
|
706
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-19T02:47:30Z", "hours": 20.0, "multiplier": 14.66, "payout": 287, "blessing": "neutral", "text": "I have a whole bunch of resource packs installed, and managing all of them was a pain. So I decided, why not make a mod to help me do that? To test my mod: Ensure you have some resourcepacks installed, and they should contain custom textures for leaves (I recommend Faithful, Barebones and Motschen’s better leaves). After which, get into a minecraft world, and possibly place some leaves in front of you. Then go into the resourcepacks settings and change the textures. Each dropdown controls a specific leaf texture, as you can see via the texture renderer on top. If you have more than two resourcepacks, the last one may be hidden by the texture renderer, so you can just click through the texture renderer to activate it. Have fun customising textures, I plan to add more functionality soon! :) ✌️", "repo": "https://github.com/shushi93/Resource-Screening", "demo": "https://modrinth.com/mod/resource-screening"}, {"ship_num": 2, "ts": "2026-08-23T05:26:47Z", "hours": 53.0, "multiplier": 8.74, "payout": 419, "blessing": "neutral", "text": "Does some simple texture swapping. I’m getting into individual textures now. Learning Java definitely took a lot of the time, but I’m happy I got something working.", "repo": "https://github.com/shushi93/Resource-Screening", "demo": "https://modrinth.com/mod/resource-screening"}]...
|
[{"post_id": 70382, "ts": "202 [{"post_id": 70382, "ts": "2026-09-19T02:41:48Z", "hours": 3.9581, "text": "Almost ready for second ship! The UI is terrible, but I think for now it works. There are still a few bugs with the UI I plan to fix later. The main part of this devlog is that, i changed the layout of the dropdowns, and I created a menu to show the currently selected texture, so it’s easier to see what you’re changing from and to. I fixed some minor bugs with the dropdownlist, and overall, I’m quite happy with how it turned out. Some reviewers didn’t fully understand my mod, so I’ll put some actually better usage instructions in the ship message. Some guy also said my project was completely AI :/ (it’s not), but i accidentally clicked accept payout instead of flagging the review, while going to the bad review. Oh well. I do wan’t to mention that I did use AI for guidance, but it did not code my mod for me. That’s about it After my second ship, I doubt I can continue developing my mod, because my finals are in like 2 days (and i’m doing anything but studying for it, so hope you enjoy my mod, as it is now! ✌️"}, {"post_id": 67183, "ts": "2026-09-13T07:44:50Z", "hours": 2.8153, "text": "More file shenanigans! I managed to persist the saved options to the config file, and changed the buttons to dropdowns Some ui stuff still needs fixing but it’s gone relatively alright My ship is still in the process of getting verified, but my project shld be shipped soon!"}, {"post_id": 65304, "ts": "2026-09-10T11:12:17Z", "hours": 2.3964, "text": "dropdown list works >< last time i did this, it took me 30h also what do you think of my highlight, instead of just making the blue border brighter and whiter, i decided to make it redder, to stand out, does it look good? as you can see, there is an error with the dropdown list, as when i pressed the last option, it didnt register (closer to the end of the video) because the button behind it, b9 was getting clicked instead I doub’t this will be a problem (at least for current me), since i dont think the dropdown lists should be ontop of smth else, hopefully but oh well, when it comes to that ill figure it out edit: argh i just realised i haven’t finished scrolling behaviour i’ll get to work on that now my previous ship is still not verified bcos modrinth still havent reviewed my mod (it’s been 3 weeks) ( ˘︹˘ ) so i submitted it to curseforge I’ll update my mod with the newest features and then reship"}, {"post_id": 63331, "ts": "2026-09-07T03:00:09Z", "hours": 4.9131, "text": "basic texture swapping After actl not too much pain, I got basic texture swapping done. I created a helper class to handle all my texture swapping logic, and it works quite neatly. I do hate File I/O in any programming language, but my mod kind of revolves around FIle I/O, and honestly, even though I got some super unhelpful error messages (I got empty error messages), I somehow managed to pull through Some things I have yet to work on: fix ui to allow all installed packs (currently for testing I just use Motchsens better leaves, since it’s a small pack) allow not just textures but also block models to be hotswapped pray modrinth reviews my project so i can ship it ✌️"}, {"post_id": 57025, "ts": "2026-08-29T03:09:48Z", "hours": 5.4767, "text": "I spent a while learning Java nio and managed to get the names of all the texture packs and the textures inside of them i also created doogile.zip (as requested by my friend), that will serve as the main way to select individual textures just a simple devlog to catch you guys up to what i’ve been doing"}, {"post_id": 52817, "ts": "2026-08-23T05:14:18Z", "hours": 5.5578, "text": "Swapping textures i finally, after like 5h managed to swap between bare bones & faithful x64 yipee I think imma ship the project now you can download from the releases page B1 switches to bare bones B2 switches to faithful there are some minor bugs i need to iron out but for now, i think a first ship is due took way too long to get here but oh well now i gotta figure out that individual texture thing"}, {"post_id": 47428, "ts": "2026-08-15T11:07:54Z", "hours": 9.4294, "text": "Part 14 The first Part of Part 14 was an extension of JavaFX, where I learnt how to draw charts using JavaFX. Overall, not a too hard topic. One small funny error I spent a bit of time on was on the second exercise, where after an egregious amount of time writing code, my chart showed up. However, since I used an absolute path for the tsv data file, when I submitted that code to the server, it showed an error. Then after a lot of debugging, I remembered a previous exercise, where I had to remove the absolute path before it worked, and when I did that, it worked perfectly. Then, I spent a good bit of time cleaning up my jdk installation, before resuming pain Java. On the next exercise, I needed to create a line chart that shows the amount of savings over time, and this was more pain than I’ve ever experienced. Creating the components was easy, but the formula for plotting the points, yea that was pure torture. 2h of trying, and I finally caved. I thought I was good at math but oh well, asked AI what I was doing wrong, and apparently, I was off-by-one in my data plotting & my formula was adding the savings too many times. Absolute headache going through that, but at least I was finally able to overcome it. And then another problem sprang up. There was an index out of bounds error when running the tests, and I asked the discord server why this was happening, and basically, I was missing 4 lines of code, that is essentially just styling the program, which caused that. yea true pain. I also went on a journey of remaking Aseprite (well not really), and I copied Andy Warhol and remade the Mona Lisa. I almost got it first try, except for one thing. See, humans cant see minute pixel colour differences, but computers can. Not so long story short, due to pixel overwrites from integer truncation, the pixel colour values were just ever so slightly off, that the tests were failing. After previous traumatic events, I caved and asked AI what was wrong, and basically the loop incrementer supplied by the base program was wrong, and it fixed it. It’s fun to leave the boring stuff to AI, and the fun stuff for me. I then followed the step-by-step guideline on remaking Asteroids by Atari, and I think it went ok. I’m most excited right now because finally I complete the Java MOOC course, and I can start work on my mod. But I’m also quite scared/anxious, because I don’t even know where to start now, after so long of not working on my mod. but i’ll figure it out, hopefully. and im also gonna take this time to ask for any name reccomendations, or do you think i should just go with resource-screening ^____^ ✌️"}, {"post_id": 38605, "ts": "2026-08-01T02:43:31Z", "hours": 6.0253, "text": "JavaFX JavaFX was interesting, and I’m not too sure how I want to feel about it. I’ve not much to say about this part. Minecraft doesn’t actually use JavaFX, so this part was just slightly useless, but there are some similarities to Minecraft’s rendering system (Lightweight Java Game Library) that I can use to make my mod. I’m most exited for Part 14, where I learn about Maven, since it’s a Java topic I know not much about. Most importantly, after Part 14, I get to finally work on my mod. One interesting thing about this part is that I switched to IntelliJ since it was easier to work with JavaFX on it than on VSCode. Setting up JavaFX just to start working on this part was painful, but I’m happy that I got it working For now, enjoy the TicTacToe Application, and the horrendous if-condition that ends the game :) and sorry this devlog is lowk kinda mid, im tired and don’t feel like writing rn but oh well ✌️"}, {"post_id": 28054, "ts": "2026-07-14T02:22:28Z", "hours": 3.9286, "text": "2 more parts to go >”< Finally learnt type parameters (those things inside the <> ) Learnt to make my own implementation of ArrayList and HashMap and 2d arrays (which are and have always been painful) I also decided to try something new this time, I turned on Copilot Code Completion. (cus it’s cool to see the ghost text) . it was genuinely painful at first, and i want to like it but i also rlly hate it sometimes. i got somewhat used to it, then i turned it off, cus it felt like cheating for some of the exercises. I turned it off on the last exercise (deciding the pain was not worth it) and went into even bigger pain, cus 2d arrays. When doing the last exercise (Magic Square), i lowk blanked out and did not feel like doing Java, but i persevered thru anyways. Specifically, when it came to calculating diagonals of the square, cus i didnt know how to do that. I did some brainstorming, found out it’s actually super simple and somehow managed to get it right. (actl i just realized my program is broken for all values above 5, but uh im not fixing it _ ) ooh and uh, anyone got suggestions for my mod name, since im 2 parts away from working on it? (current name is resource-screening btw, but i think its cringy) ✌️"}, {"post_id": 25039, "ts": "2026-07-08T23:48:50Z", "hours": 3.4086, "text": "pain in part 11/14, i learnt about class diagrams (among other things), and in all the time I’ve ever done programming, ive never used it. i still thinks its super useless (unless someone reading this strongly disagrees). i can see a niche use case where class diagrams could be useful, but imo, it isn’t useful for me. i also did packages, which i already know about, and they are quite easy, so it wasn’t much of a problem for me. I also learnt about Exceptions, and how to throw them. learnt to write to a file and finished this part. and i also learnt one thing more. I absolutely HATE unit tests. The exercises had tests I needed to pass, and omw they were so annoying. I miss ONE space and the entire thing fails. genuinely pmo. My friend said unit tests are useful in some scenarios but are also a pain and ig, having an automated checker is useful but still, I’ll hate them with every fiber in my body. yea that’s it. I hated that one exercise which took me an hour because I missed one line of output. ✌️"}, {"post_id": 21892, "ts": "2026-07-04T02:12:00Z", "hours": 3.6606, "text": "Part 10 DevLog Part 10 finished, wheeeeee (I’m (slowly) losing my mind)} In Part 10, I learnt about Java .stream(). Initially, i thought streams were useless since it was easier to use a for-each loop (still my goat), but recently, i began using streams since its more compact and easier to read. I also learnt to make a custom comparator, brushed up on regex again, learnt of enums and Iterator. i do still think iterator class is mostly useful, unless you need to go thru a list and delete elements from them. streams were genuinely painful when i first started doing them. i for the life of me cld not figure out how to use them properly. now i’m semi-confident in using them (i think), and they are useful in some scenarios. (wish i cld show better screenshots but this is all i got sry) ✌️"}, {"post_id": 18149, "ts": "2026-06-29T05:14:06Z", "hours": 0.5469, "text": "Just redid my README, i still think its not that good so if anyone has any suggestions, please leave a comment. tks ✌️"}, {"post_id": 18105, "ts": "2026-06-29T03:19:35Z", "hours": 3.9225, "text": "Finished Part 9/14 of the Java MOOC. I learnt about Interfaces and Abstract methods, how to extend classes and implement methods etc. I learnt how there can be used with Polymorphism to make the program more versatile too. yea i got nothing much else to add. quite hyped to almost be done with this course and start on my mod. it shld be less painful than before right? ✌️ ts so gay PS: quick edit, after this im gna spend some time making my README better cus it sucks rn. ill devlog that after im done"}, {"post_id": 14297, "ts": "2026-06-23T11:22:30Z", "hours": 1.5067, "text": "Completed Part 8 in record time wth. I have no idea how I just completed Part 8 in just 2 days. Actually wait, I do. I skipped the first 5 exercises since they are just a recap of Java Programming I (might do them after if I want to get the certificate). Just learnt HashMaps in Part 8. I’ve got no interesting output to show, so enjoy these 2 pictures. I also learnt that VSCode allows you to generate Getters & Setters, or Contructors for field variables, equals() & hashMap() overrides etc. which is like just so cool. cld’ve saved me so much time. I’ll now move on to Part 9, which makes me one step closer to making my mod. cya ✌️✌️"}, {"post_id": 13626, "ts": "2026-06-22T11:02:12Z", "hours": 14.7986, "text": "I just finished Java Programming I of the Java MOOC course by University of Helsinki. I was allowed to log hours spent learning for my project (the Minecraft Mod), so I did :) Initially, I decided to be stupid and make a Minecraft Mod without learning Java (biggest mistake) and that caused me eternal pain. I’m not sure why I did that, so I then decided to actually learn Java. I’ll probably DevLog every time I finish 1 part of the course, or whenever I feel like it lol, but yea here’s 14h logged then. It’s just a screenshot cus I was too lazy to record a video. The screenshot shows one of the exercises I did for the course, the second last exercise of the Java Programming I course. After this, I move to Java Programming II course. After I finish that, I’ll work on my mod, I guess it’s long time due by now. Hopefully it goes better than before (wish me luck). I think that’s it (holy yap) ✌️"}]...
|
Title: Resource-Screening by @shashi93 | Stardance Title: Resource-Screening by @shashi93 | Stardance
Devlogs:
I just finished Java Programming I of the Java MOOC course by University of Helsinki. I was allowed to log hours spent learning for my project (the Minecraft Mod), so I did :) Initially, I decided to be stupid and make a Minecraft Mod without learning Java (biggest mistake) and that caused me eternal pain. I’m not sure why I did that, so I then decided to actually learn Java. I’ll probably DevLog every time I finish 1 part of the course, or whenever I feel like it lol, but yea here’s 14h logged then. It’s just a screenshot cus I was too lazy to record a video. The screenshot shows one of the exercises I did for the course, the second last exercise of the Java Programming I course. After this, I move to Java Programming II course. After I finish that, I’ll work on my mod, I guess it’s long time due by now. Hopefully it goes better than before (wish me luck). I think that’s it (holy yap) ✌️
Completed Part 8 in record time wth. I have no idea how I just completed Part 8 in just 2 days. Actually wait, I do. I skipped the first 5 exercises since they are just a recap of Java Programming I (might do them after if I want to get the certificate). Just learnt HashMaps in Part 8. I’ve got no interesting output to show, so enjoy these 2 pictures. I also learnt that VSCode allows you to generate Getters & Setters, or Contructors for field variables, equals() & hashMap() overrides etc. which is like just so cool. cld’ve saved me so much time. I’ll now move on to Part 9, which makes me one step closer to making my mod. cya ✌️✌️
Finished Part 9/14 of the Java MOOC. I learnt about Interfaces and Abstract methods, how to extend classes and implement methods etc. I learnt how there can be used with Polymorphism to make the program more versatile too. yea i got nothing much else to add. quite hyped to almost be done with this course and start on my mod. it shld be less painful than before right? ✌️ ts so gay PS: quick edit, after this im gna spend some time making my README better cus it sucks rn. ill devlog that after im done
Just redid my README, i still think its not that good so if anyone has any suggestions, please leave a comment. tks ✌️
Part 10 DevLog Part 10 finished, wheeeeee (I’m (slowly) losing my mind)} In Part 10, I learnt about Java .stream(). Initially, i thought streams were useless since it was easier to use a for-each loop (still my goat), but recently, i began using streams since its more compact and easier to read. I also learnt to make a custom comparator, brushed up on regex again, learnt of enums and Iterator. i do still think iterator class is mostly useful, unless you need to go thru a list and delete elements from them. streams were genuinely painful when i first started doing them. i for the life of me cld not figure out how to use them properly. now i’m semi-confident in using them (i think), and they are useful in some scenarios. (wish i cld show better screenshots but this is all i got sry) ✌️
pain in part 11/14, i learnt about class diagrams (among other things), and in all the time I’ve ever done programming, ive never used it. i still thinks its super useless (unless someone reading this strongly disagrees). i can see a niche use case where class diagrams could be useful, but imo, it isn’t useful for me. i also did packages, which i already know about, and they are quite easy, so it wasn’t much of a problem for me. I also learnt about Exceptions, and how to throw them. learnt to write to a file and finished this part. and i also learnt one thing more. I absolutely HATE unit tests. The exercises had tests I needed to pass, and omw they were so annoying. I miss ONE space and the entire thing fails. genuinely pmo. My friend said unit tests are useful in some scenarios but are also a pain and ig, having an automated checker is useful but still, I’ll hate them with every fiber in my body. yea that’s it. I hated that one exercise which took me an hour because I missed one line of output. ✌️
2 more parts to go >”< Finally learnt type parameters (those things inside the <> ) Learnt to make my own implementation of ArrayList and HashMap and 2d arrays (which are and have always been painful) I also decided to try something new this time, I turned on Copilot Code Completion. (cus it’s cool to see the ghost text) . it was genuinely painful at first, and i want to like it but i also rlly hate it sometimes. i got somewhat used to it, then i turned it off, cus it felt like cheating for some of the exercises. I turned it off on the last exercise (deciding the pain was not worth it) and went into even bigger pain, cus 2d arrays. When doing the last exercise (Magic Square), i lowk blanked out and did not feel like doing Java, but i persevered thru anyways. Specifically, when it came to calculating diagonals of the square, cus i didnt know how to do that. I did some brainstorming, found out it’s actually super simple and somehow managed to get it right. (actl i just realized my program is broken for all values above 5, but uh im not fixing it _ ) ooh and uh, anyone got suggestions for my mod name, since im 2 parts away from working on it? (current name is resource-screening btw, but i think its cringy) ✌️
JavaFX JavaFX was interesting, and I’m not too sure how I want to feel about it. I’ve not much to say about this part. Minecraft doesn’t actually use JavaFX, so this part was just slightly useless, but there are some similarities to Minecraft’s rendering system (Lightweight Java Game Library) that I can use to make my mod. I’m most exited for Part 14, where I learn about Maven, since it’s a Java topic I know not much about. Most importantly, after Part 14, I get to finally work on my mod. One interesting thing about this part is that I switched to IntelliJ since it was easier to work with JavaFX on it than on VSCode. Setting up JavaFX just to start working on this part was painful, but I’m happy that I got it working For now, enjoy the TicTacToe Application, and the horrendous if-condition that ends the game :) and sorry this devlog is lowk kinda mid, im tired and don’t feel like writing rn but oh well ✌️
Part 14 The first Part of Part 14 was an extension of JavaFX, where I learnt how to draw charts using JavaFX. Overall, not a too hard topic. One small funny error I spent a bit of time on was on the second exercise, where after an egregious amount of time writing code, my chart showed up. However, since I used an absolute path for the tsv data file, when I submitted that code to the server, it showed an error. Then after a lot of debugging, I remembered a previous exercise, where I had to remove the absolute path before it worked, and when I did that, it worked perfectly. Then, I spent a good bit of time cleaning up my jdk installation, before resuming pain Java. On the next exercise, I needed to create a line chart that shows the amount of savings over time, and this was more pain than I’ve ever experienced. Creating the components was easy, but the formula for plotting the points, yea that was pure torture. 2h of trying, and I finally caved. I thought I was good at math but oh well, asked AI what I was doing wrong, and apparently, I was off-by-one in my data plotting & my formula was adding the savings too many times. Absolute headache going through that, but at least I was finally able to overcome it. And then another problem sprang up. There was an index out of bounds error when running the tests, and I asked the discord server why this was happening, and basically, I was missing 4 lines of code, that is essentially just styling the program, which caused that. yea true pain. I also went on a journey of remaking Aseprite (well not really), and I copied Andy Warhol and remade the Mona Lisa. I almost got it first try, except for one thing. See, humans cant see minute pixel colour differences, but computers can. Not so long story short, due to pixel overwrites from integer truncation, the pixel colour values were just ever so slightly off, that the tests were failing. After previous traumatic events, I caved and asked AI what was wrong, and basically the loop incrementer supplied by the base program was wrong, and it fixed it. It’s fun to leave the boring stuff to AI, and the fun stuff for me. I then followed the step-by-step guideline on remaking Asteroids by Atari, and I think it went ok. I’m most excited right now because finally I complete the Java MOOC course, and I can start work on my mod. But I’m also quite scared/anxious, because I don’t even know where to start now, after so long of not working on my mod. but i’ll figure it out, hopefully. and im also gonna take this time to ask for any name reccomendations, or do you think i should just go with resource-screening ^____^ ✌️
Swapping textures i finally, after like 5h managed to swap between bare bones & faithful x64 yipee I think imma ship the project now you can download from the releases page B1 switches to bare bones B2 switches to faithful there are some minor bugs i need to iron out but for now, i think a first ship is due took way too long to get here but oh well now i gotta figure out that individual texture thing
I spent a while learning Java nio and managed to get the names of all the texture packs and the textures inside of them i also created doogile.zip (as requested by my friend), that will serve as the main way to select individual textures just a simple devlog to catch you guys up to what i’ve been doing
basic texture swapping After actl not too much pain, I got basic texture swapping done. I created a helper class to handle all my texture swapping logic, and it works quite neatly. I do hate File I/O in any programming language, but my mod kind of revolves around FIle I/O, and honestly, even though I got some super unhelpful error messages (I got empty error messages), I somehow managed to pull through Some things I have yet to work on: fix ui to allow all installed packs (currently for testing I just use Motchsens better leaves, since it’s a small pack) allow not just textures but also block models to be hotswapped pray modrinth reviews my project so i can ship it ✌️
dropdown list works >< last time i did this, it took me 30h also what do you think of my highlight, instead of just making the blue border brighter and whiter, i decided to make it redder, to stand out, does it look good? as you can see, there is an error with the dropdown list, as when i pressed the last option, it didnt register (closer to the end of the video) because the button behind it, b9 was getting clicked instead I doub’t this will be a problem (at least for current me), since i dont think the dropdown lists should be ontop of smth else, hopefully but oh well, when it comes to that ill figure it out edit: argh i just realised i haven’t finished scrolling behaviour i’ll get to work on that now my previous ship is still not verified bcos modrinth still havent reviewed my mod (it’s been 3 weeks) ( ˘︹˘ ) so i submitted it to curseforge I’ll update my mod with the newest features and then reship
More file shenanigans! I managed to persist the saved options to the config file, and changed the buttons to dropdowns Some ui stuff still needs fixing but it’s gone relatively alright My ship is still in the process of getting verified, but my project shld be shipped soon!
Almost ready for second ship! The UI is terrible, but I think for now it works. There are still a few bugs with the UI I plan to fix later. The main part of this devlog is that, i changed the layout of the dropdowns, and I created a menu to show the currently selected texture, so it’s easier to see what you’re changing from and to. I fixed some minor bugs with the dropdownlist, and overall, I’m quite happy with how it turned out. Some reviewers didn’t fully understand my mod, so I’ll put some actually better usage instructions in the ship message. Some guy also said my project was completely AI :/ (it’s not), but i accidentally clicked accept payout instead of flagging the review, while going to the bad review. Oh well. I do wan’t to mention that I did use AI for guidance, but it did not code my mod for me. That’s about it After my second ship, I doubt I can continue developing my mod, because my finals are in like 2 days (and i’m doing anything but studying for it, so hope you enjoy my mod, as it is now! ✌️
Ships:
Does some simple texture swapping. I’m getting into individual textures now. Learning Java definitely took a lot of the time, but I’m happy I got something working.
I have a whole bunch of resource packs installed, and managing all of them was a pain. So I decided, why not make a mod to help me do that? To test my mod: Ensure you have some resourcepacks installed, and they should contain custom textures for leaves (I recommend Faithful, Barebones and Motschen’s better leaves). After which, get into a minecraft world, and possibly place some leaves in front of you. Then go into the resourcepacks settings and change the textures. Each dropdown controls a specific leaf texture, as you can see via the texture renderer on top. If you have more than two resourcepacks, the last one may be hidden by the texture renderer, so you can just click through the texture renderer to activate it. Have fun customising textures, I plan to add more functionality soon! :) ✌️...
|
1793000959.7805867
|
1793087359.7805867
|
|
39296
|
MNT ~ Minimal New Tab by @wtfisquantum | Stardance
|
wtfisquantum
|
4
|
91.28
|
706
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-09T16:55:29Z", "hours": 58.0, "multiplier": 15.51, "payout": 589, "blessing": "neutral", "text": "I built MNT ~ Minimal New Tab , a customizable browser dashboard that has grown into something much bigger than a simple new tab page. It brings together multi-search engine support, todos, website shortcuts, technology news, a dynamic Leaflet map background, laptop battery information, RGB mode, custom backgrounds and now a built-in music player, all in one place. The biggest challenge was getting all these features to work together without making the interface feel cluttered or slow. I spent a lot of time building reusable components, handling local storage, integrating APIs, fixing map issues and refining the overall UI. One of my favourite parts was designing the music player with a glassmorphism-inspired interface, rotating album artwork and animated equalizer. I also converted the project into a standalone PWA, so you can install it and use it more like a lightweight desktop app instead of opening it through the browser every time. I’m most proud of how customizable the whole experience has become. You can personalize your background, enable RGB effects, organize your tasks and shortcuts, check your battery status and listen to music without constantly switching between different applications. I’ve put a lot of time into this project, and seeing all these separate ideas finally come together feels genuinely rewarding. To try it out: open the website and explore the dashboard. Switch between search engines, add some todos and shortcuts, experiment with RGB mode, upload your own background and try the built-in music player. You can also install it as a PWA for a more app-like experience. Your saved preferences and customizations are stored locally in your browser. I’d genuinely appreciate it if you gave the project a try and left an honest rating and some feedback! ❤️ Last time, I received some decent feedback, but I’m hoping this version reaches a few more people. If you enjoy using it, a good rating and a follow would mean a lot and help me figure out what to improve next. I’ve still got plenty of ideas for future updates, but for now, I’m really happy with how MNT has turned out. Thanks for checking it out! :)", "repo": "https://github.com/wtfisquantum/minimal-new-tab", "demo": "https://minimal-new-tab.vercel.app/"}, {"ship_num": 2, "ts": "2026-08-28T04:14:07Z", "hours": 6.0, "multiplier": 11.58, "payout": 69, "blessing": "neutral", "text": "I built MNT ~ Minimal New Tab , a clean and customizable browser new tab experience designed to turn the default blank page into a useful everyday dashboard. It combines multi-search engine support, a Todo Manager, customizable website shortcuts, a latest news feed and a dynamic location-aware Leaflet background into a single minimal interface. The biggest challenge was bringing all these independent features together without making the interface feel cluttered. I spent a lot of time working on reusable components, persistent local storage, search engine switching, API integrations and the dynamic map background while keeping the overall design minimal and responsive. I’m most proud of how the project evolved from a simple new tab concept into something that I can actually see myself using every day. The dashboard remembers your tasks, shortcuts and preferences locally, lets you quickly switch between search engines, keeps you updated with recent technology news and adds a dynamic map background based on your location. To test it, simply open the website and start using it as a new tab. Try switching between the different search engines, add a few todos and shortcuts, check out the latest news and reload the page to see how your saved data persists. The map background will also adapt to your approximate location. I’ve really enjoyed building this one and there are still a bunch of ideas I want to experiment with in future updates. If you get a chance to try it out, I’d really appreciate some feedback and a good rating! ❤️ last time i got some decent feedback on my project, but it was still pretty limited, so i’m hoping this one reaches a few more people. i genuinely enjoy building projects that are actually useful in everyday workflows, and i hope that comes across in this one. if you like the project, consider following it and leaving a rating. every bit of feedback helps me figure out what to improve next. thank you! :)", "repo": "https://github.com/wtfisquantum/minimal-new-tab", "demo": "https://minimal-new-tab.vercel.app/"}, {"ship_num": 3, "ts": "2026-08-02T14:23:18Z", "hours": 4.0, "multiplier": 11.23, "payout": 48, "blessing": "neutral", "text": "I built Minimal New Tab , a modern and customizable browser start page that combines productivity, quick search and useful everyday tools into a single clean dashboard. Instead of opening a blank new tab, users get a personalized workspace where they can search the web using multiple search engines, manage todos, save their favorite websites as quick-access shortcuts, read the latest news and enjoy a dynamic location-aware background powered by Leaflet. One of the biggest challenges was keeping all of these independent features connected while maintaining a clean and consistent user experience. I spent a lot of time designing reusable components, refining the UI, handling local persistence for todos and shortcuts, integrating multiple APIs and making sure everything worked smoothly together. Another fun challenge was rendering a dynamic Leaflet map in the background based on the user’s current IP location without taking away from the minimal design. I’m most proud of how the project evolved from a simple browser homepage into something that feels genuinely useful every day. It isn’t just another new tab page—it becomes a small personal dashboard that remembers your preferences, helps you stay organized and keeps commonly used information just one click away. To test the project, simply install or open it as your new tab page. Try searching with different search engines, create a few todos, add and edit homepage shortcuts, browse the latest news and explore how the background automatically adapts using your current location. Everything is stored locally, so your tasks and shortcuts will still be there the next time you open your browser. I hope you enjoy using it as much as I enjoyed building it. Feedback and suggestions are always welcome, and I already have plenty of ideas planned for future updates!", "repo": "https://github.com/wtfisquantum/minimal-new-tab", "demo": "https://minimal-new-tab.vercel.app/"}, {"ship_num": 4, "ts": "2026-07-27T18:44:14Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Wrapped up a number of remaining fixes and gave the overall interface another round of polishing Refined the search bar with a cleaner layout and improved interactions to make searching feel more natural Finalized the cyclic search engine toggle and ensured switching between providers works reliably Improved parts of the backend logic and cleaned up the codebase to make future development easier Continued implementing a few upcoming features, including the taskbar workflow and additional new tab interactions Expanded the search functionality inside the new tab experience and polished the overall user flow Switched the project typography to Rubik and made several CSS refinements for a cleaner, more modern appearance Updated and reorganized the project README with setup instructions, features and screenshots Finished another complete testing pass, fixed a handful of minor bugs and cleaned up leftover code Finally reached a point where the project is ready to publish 🚀 really happy with how this version turned out. i’ve still got a bunch of ideas i want to experiment with, but for now it’s time to ship and start collecting feedback before working on the next set of features :)", "repo": "https://github.com/wtfisquantum/minimal-new-tab", "demo": "https://minimal-new-tab.vercel.app/"}]...
|
[{"post_id": 81838, "ts": "202 [{"post_id": 81838, "ts": "2026-10-22T17:59:11Z", "hours": 9.1289, "text": "working on it will write after finishing"}, {"post_id": 80198, "ts": "2026-10-16T17:40:17Z", "hours": 11.1494, "text": "will edit it"}, {"post_id": 78114, "ts": "2026-10-09T16:27:01Z", "hours": 20.5025, "text": "finally got the built-in music player working, and honestly, this might be my favourite addition to MNT so far. the idea is simple: you shouldn’t need to open spotify or another music app just to find and play the music you want. search for a track directly inside your dashboard and enjoy your music without leaving your workspace spent quite a bit of time researching music APIs, figuring out the integration and building the entire player experience from scratch. getting the search, track information and playback flow to work together properly took more effort than i initially expected designed a dedicated music player interface that fits naturally into the existing MNT aesthetic instead of looking like an external widget pasted into the dashboard implemented a glassmorphism-inspired UI with translucent surfaces, subtle blur effects and layered elements to give the player a more polished, modern appearance added a rotating circular album-art design that gives the player that classic spinning CD vibe while music is playing also implemented an animated audio equalizer to make the interface feel more alive and provide visual feedback during playback refined the component layout, spacing, typography and animations to make everything feel cohesive with the rest of the dashboard fixed a few remaining issues across the PWA, polished some existing interactions and made sure the new music player fits properly into the standalone app experience did another round of testing and cleanup to make the overall application feel more complete, with search, productivity tools, customization, RGB mode and music all accessible from one place ngl, this took a lot longer than i expected, and i’ve now spent around 20 hours on this project, but trust me, this feature was worth it :’) MNT started as a minimal new tab page, but it’s slowly turning into my own little personal workspace. no need to keep opening different apps for every little thing when i can bring the useful stuff together in one place. finally wrapped up this update, fixed the remaining bugs and got everything ready in the standalone PWA. hope you enjoy using it as much as i enjoyed building it! if you get a chance to try it out, i’d really appreciate a rating and some feedback. ❤️"}, {"post_id": 73713, "ts": "2026-09-25T19:28:42Z", "hours": 11.1631, "text": "continued working on the customization system and finished the custom background flow properly, so users can now add their own images and use them directly as the dashboard background also made sure the custom background works nicely with the existing rgb mode , so the background can still have the rgb lighting effects on top of it without breaking the overall look after getting the customization side working, i converted the whole project into a proper standalone PWA this means MNT can now be installed and used more like an actual lightweight desktop app instead of having to keep opening it through the browser every time added the necessary PWA setup and made sure the application can run independently while still keeping all the existing local data, preferences and customizations intact honestly this makes the whole idea of MNT make much more sense to me now. instead of opening a browser just to start doing everything, you can just open MNT directly and have your search, todos, shortcuts, news, map, battery info and custom dashboard all sitting there in one lightweight app i’m still working on a few more ideas to push this further. one of the things i’m experimenting with is adding a proper music player directly into MNT so you can play your own songs from the same dashboard instead of having to open another service every time basically trying to slowly turn this from a new tab page into a small personal desktop workspace :D there’s still a lot more i want to add, but the standalone PWA setup feels like a pretty big step for the project. more features coming soon :)"}, {"post_id": 68606, "ts": "2026-09-15T11:55:52Z", "hours": 6.6394, "text": "Started working on a new godmode feature for the dashboard, basically taking the customization side of the new tab a step further and giving users much more control over how everything looks also went back to the existing rgb mode and improved it with smoother transitions and better color handling so it feels more like an actual ambient rgb setup instead of just a simple color effect the biggest thing i worked on this time was a custom background uploader . built the uploader from scratch so users can pick their own image and use it directly as the new tab background instead of relying on a server or uploading the image somewhere externally, the selected image is converted to base64 and stored locally in the browser , which means the background stays available even after closing and reopening the new tab spent quite a bit of time making the loading process efficient so larger background images don’t make the whole dashboard feel slow or unusable. the image is loaded directly from local storage and rendered back into the background whenever the page starts added the required state handling around uploading, replacing and restoring the custom background so switching between the default background and a personal image doesn’t break the rest of the dashboard honestly this was probably the most fun feature i’ve built for MNT so far. seeing the entire dashboard transform just by dropping in a custom image makes it feel much more like an actual personal workspace rather than just another new tab page :) i’m also working on another part of the godmode system where users will be able to customize individual cards, backgrounds and other visual parts of the dashboard through a dedicated sidebar the sidebar customization system is still in progress, but the basic structure is already being worked on and i’m hoping to make the whole dashboard feel almost completely customizable in the next few updates there’s still a lot more to build around this, but honestly MNT is starting to become way more interesting than what i originally planned it to be :D"}, {"post_id": 66383, "ts": "2026-09-12T05:59:42Z", "hours": 1.3456, "text": "added a fun little rgb mode to the new tab because why not :) the idea is to make the dashboard blend in with your rgb setup, so if you have rgb lights on your keyboard, mouse or pc, you can match the new tab’s colors with them and get that full rgb setup vibe kept it as a purely visual feature with some subtle color effects so it still feels like the same minimal dashboard underneath honestly added this mostly because it looked cool and i wanted to have a little fun with the project :D"}, {"post_id": 66088, "ts": "2026-09-11T17:44:11Z", "hours": 17.8528, "text": "went a little overboard with this one and spent quite a lot of time improving the project after getting feedback that it could use a bit more depth and functionality expanded the news section so it no longer shows just a single article. added a proper news carousel with navigation controls, indicators and multiple stories that can be browsed directly from the dashboard getting the carousel to fit naturally into the existing minimal design was actually more annoying than expected. had to rework the layout, add the bottom indicators and build separate previous/next controls without making the section feel too heavy added subtle fade-in animations while switching between news stories so the content transitions feel smoother instead of changing instantly replaced the old Leaflet background tile layer after the previous provider’s API access stopped working due to an expired key. switched the project over to a different tile source and reconfigured the map so the location-aware background keeps working spent some time testing the map again after the tile provider change and made sure the new layer still works properly with the existing location detection and background setup added one of the more personal features to the dashboard too: a small laptop battery status panel in the top section that shows the current battery percentage, charging state and other available battery information the idea was pretty simple because my laptop’s battery is absolutely cooked and drains way too quickly 😭 so now i can just glance at the new tab and immediately see how much battery i have left and whether it’s charging also polished a bunch of smaller UI details around these features, cleaned up some component logic and made sure the new additions still fit the original minimal design instead of turning the dashboard into a completely overloaded interface spent the remaining time testing the updated dashboard and fixing small rendering and animation issues that came up while putting everything together there’s actually another feature i’m working on right now which i’m pretty excited about, but i’ll save that one for the next devlog. hopefully i can get it finished soon and add it to the project properly :) and yes, the ultimate goal is still getting that macbook somehow, so apparently even my new tab page is now part of the grind :)"}, {"post_id": 56385, "ts": "2026-08-28T04:12:55Z", "hours": 5.9658, "text": "Continued polishing the dashboard and worked on making the dynamic background experience more reliable Improved the Leaflet map integration and fixed the issue where map state and configuration were not being persisted properly between sessions Added local persistence for the relevant map and user preferences so the new tab experience can retain its previous state instead of resetting everything on every reload Refined several existing components and cleaned up their internal logic to make them easier to reuse across the dashboard Improved the styling of the search section, shortcuts and other dashboard elements with better spacing, typography and alignment Made a few adjustments to the background map so it stays visually subtle while still providing the location-aware effect behind the interface Fixed some small state and rendering issues that appeared when switching between different sections and reopening the new tab Added a few minor interaction improvements across the dashboard and cleaned up some leftover CSS and component logic Spent some time testing the complete flow with fresh sessions and existing local data to make sure the application behaves consistently in both cases Overall, focused this session on making the existing features feel more polished, persistent and reliable rather than adding another major feature"}, {"post_id": 39496, "ts": "2026-08-02T14:16:38Z", "hours": 4.2475, "text": "Expanded the project by introducing a personal productivity layer , making it more than just an IP intelligence dashboard. Started building features that users can actually interact with every day instead of only performing IP lookups. Implemented a complete Todo Manager where users can: Create new tasks Edit existing tasks Mark tasks as completed with visual feedback Delete completed or unnecessary tasks Persist everything locally so tasks remain available even after refreshing or reopening the application Designed the todo interface to blend naturally with the rest of the application, keeping the same cards, spacing, typography and interaction patterns so it feels like a native part of the dashboard rather than an additional widget. Added a customizable Homescreen Shortcuts section that allows users to save frequently visited websites directly inside the dashboard. The feature supports: Adding custom shortcuts Editing existing shortcuts Removing shortcuts Local persistence using browser storage so every user’s personalized workspace is restored automatically Refined the component architecture behind these new modules to keep the codebase modular and easier to extend with additional dashboard widgets in future updates. Improved the visual consistency across the entire application by revisiting spacing, typography, borders, hover effects and component alignment. Focused on making every section feel like part of one cohesive experience instead of multiple independent pages. Reworked the dashboard background by replacing static visuals with a dynamic location-aware experience . The application now automatically fetches the user’s current public IP, determines the approximate location and renders the corresponding Leaflet map directly in the background. Fine-tuned the map presentation so it acts as a subtle visual element rather than distracting from the main interface, creating a cleaner and more immersive experience while still giving each user a unique background based on their own location. Performed another round of UI polish, bug fixes and responsiveness improvements to ensure the newly added dashboard features work smoothly across different screen sizes and integrate seamlessly with the existing lookup workflow. This update mainly focused on transforming the project from a simple networking utility into a more customizable and interactive dashboard while preserving the educational and technical foundation of the original idea."}, {"post_id": 35949, "ts": "2026-07-27T18:40:34Z", "hours": 0.7731, "text": "Wrapped up a number of remaining fixes and gave the overall interface another round of polishing Refined the search bar with a cleaner layout and improved interactions to make searching feel more natural Finalized the cyclic search engine toggle and ensured switching between providers works reliably Improved parts of the backend logic and cleaned up the codebase to make future development easier Continued implementing a few upcoming features, including the taskbar workflow and additional new tab interactions Expanded the search functionality inside the new tab experience and polished the overall user flow Switched the project typography to Rubik and made several CSS refinements for a cleaner, more modern appearance Updated and reorganized the project README with setup instructions, features and screenshots Finished another complete testing pass, fixed a handful of minor bugs and cleaned up leftover code Finally reached a point where the project is ready to publish 🚀 really happy with how this version turned out. i’ve still got a bunch of ideas i want to experiment with, but for now it’s time to ship and start collecting feedback before working on the next set of features :)"}, {"post_id": 35767, "ts": "2026-07-27T12:28:19Z", "hours": 0.7803, "text": "Integrated the news fetching system using the Inshorts API to retrieve the latest technology news dynamically Connected the frontend with the API layer and implemented the initial data fetching workflow for displaying fresh headlines Refined the overall interface with several UI improvements, tweaking the layout and styling to give it a cleaner, more “new tab” inspired appearance Polished the CSS across multiple sections to improve spacing, visual consistency and readability Added persistent search engine preferences using localStorage , allowing the selected search provider to remain the default even after reopening the application Improved state initialization so previously saved preferences are restored automatically on page load Performed another round of cleanup and minor refinements while preparing the remaining features for the next development session"}, {"post_id": 35348, "ts": "2026-07-26T17:53:46Z", "hours": 0.5492, "text": "Continued building the projects reusable UI foundation by implementing a few additional shared components and polishing their styling for a more consistent look and feel Built the primary search section that will act as the core interaction point of the application Implemented support for multiple search engines, including: Google DuckDuckGo Bing Added the corresponding search URL generation logic for each provider so queries are routed correctly Developed a cyclic search engine selector that loops through the available providers with each click instead of relying on a traditional dropdown Refined the component state management to ensure the active search engine updates seamlessly throughout the interface Started integrating the external API that powers the application’s backend workflow and completed the initial implementation along with part of the request handling logic Cleaned up the surrounding code while preparing the remaining API integration for the next development session"}, {"post_id": 35277, "ts": "2026-07-26T16:11:44Z", "hours": 0.6456, "text": "started setting up the project from scratch today using the latest version of vite and cleaned out all the default boilerplate to keep the codebase lightweight. configured tailwindcss and organized the initial project structure so everything is ready for building the actual application. after getting the foundation in place, i started designing and implementing a few reusable ui components that will be used throughout the project. built things like a digital clock component, pill badges, section headers and a few other shared elements while focusing on keeping the design clean, consistent and easy to extend. this should make building the rest of the interface much faster as the project grows."}]...
|
Title: MNT ~ Minimal New Tab by @wtfisquantum | St Title: MNT ~ Minimal New Tab by @wtfisquantum | Stardance
Devlogs:
started setting up the project from scratch today using the latest version of vite and cleaned out all the default boilerplate to keep the codebase lightweight. configured tailwindcss and organized the initial project structure so everything is ready for building the actual application. after getting the foundation in place, i started designing and implementing a few reusable ui components that will be used throughout the project. built things like a digital clock component, pill badges, section headers and a few other shared elements while focusing on keeping the design clean, consistent and easy to extend. this should make building the rest of the interface much faster as the project grows.
Continued building the projects reusable UI foundation by implementing a few additional shared components and polishing their styling for a more consistent look and feel Built the primary search section that will act as the core interaction point of the application Implemented support for multiple search engines, including: Google DuckDuckGo Bing Added the corresponding search URL generation logic for each provider so queries are routed correctly Developed a cyclic search engine selector that loops through the available providers with each click instead of relying on a traditional dropdown Refined the component state management to ensure the active search engine updates seamlessly throughout the interface Started integrating the external API that powers the application’s backend workflow and completed the initial implementation along with part of the request handling logic Cleaned up the surrounding code while preparing the remaining API integration for the next development session
Integrated the news fetching system using the Inshorts API to retrieve the latest technology news dynamically Connected the frontend with the API layer and implemented the initial data fetching workflow for displaying fresh headlines Refined the overall interface with several UI improvements, tweaking the layout and styling to give it a cleaner, more “new tab” inspired appearance Polished the CSS across multiple sections to improve spacing, visual consistency and readability Added persistent search engine preferences using localStorage , allowing the selected search provider to remain the default even after reopening the application Improved state initialization so previously saved preferences are restored automatically on page load Performed another round of cleanup and minor refinements while preparing the remaining features for the next development session
Wrapped up a number of remaining fixes and gave the overall interface another round of polishing Refined the search bar with a cleaner layout and improved interactions to make searching feel more natural Finalized the cyclic search engine toggle and ensured switching between providers works reliably Improved parts of the backend logic and cleaned up the codebase to make future development easier Continued implementing a few upcoming features, including the taskbar workflow and additional new tab interactions Expanded the search functionality inside the new tab experience and polished the overall user flow Switched the project typography to Rubik and made several CSS refinements for a cleaner, more modern appearance Updated and reorganized the project README with setup instructions, features and screenshots Finished another complete testing pass, fixed a handful of minor bugs and cleaned up leftover code Finally reached a point where the project is ready to publish 🚀 really happy with how this version turned out. i’ve still got a bunch of ideas i want to experiment with, but for now it’s time to ship and start collecting feedback before working on the next set of features :)
Expanded the project by introducing a personal productivity layer , making it more than just an IP intelligence dashboard. Started building features that users can actually interact with every day instead of only performing IP lookups. Implemented a complete Todo Manager where users can: Create new tasks Edit existing tasks Mark tasks as completed with visual feedback Delete completed or unnecessary tasks Persist everything locally so tasks remain available even after refreshing or reopening the application Designed the todo interface to blend naturally with the rest of the application, keeping the same cards, spacing, typography and interaction patterns so it feels like a native part of the dashboard rather than an additional widget. Added a customizable Homescreen Shortcuts section that allows users to save frequently visited websites directly inside the dashboard. The feature supports: Adding custom shortcuts Editing existing shortcuts Removing shortcuts Local persistence using browser storage so every user’s personalized workspace is restored automatically Refined the component architecture behind these new modules to keep the codebase modular and easier to extend with additional dashboard widgets in future updates. Improved the visual consistency across the entire application by revisiting spacing, typography, borders, hover effects and component alignment. Focused on making every section feel like part of one cohesive experience instead of multiple independent pages. Reworked the dashboard background by replacing static visuals with a dynamic location-aware experience . The application now automatically fetches the user’s current public IP, determines the approximate location and renders the corresponding Leaflet map directly in the background. Fine-tuned the map presentation so it acts as a subtle visual element rather than distracting from the main interface, creating a cleaner and more immersive experience while still giving each user a unique background based on their own location. Performed another round of UI polish, bug fixes and responsiveness improvements to ensure the newly added dashboard features work smoothly across different screen sizes and integrate seamlessly with the existing lookup workflow. This update mainly focused on transforming the project from a simple networking utility into a more customizable and interactive dashboard while preserving the educational and technical foundation of the original idea.
Continued polishing the dashboard and worked on making the dynamic background experience more reliable Improved the Leaflet map integration and fixed the issue where map state and configuration were not being persisted properly between sessions Added local persistence for the relevant map and user preferences so the new tab experience can retain its previous state instead of resetting everything on every reload Refined several existing components and cleaned up their internal logic to make them easier to reuse across the dashboard Improved the styling of the search section, shortcuts and other dashboard elements with better spacing, typography and alignment Made a few adjustments to the background map so it stays visually subtle while still providing the location-aware effect behind the interface Fixed some small state and rendering issues that appeared when switching between different sections and reopening the new tab Added a few minor interaction improvements across the dashboard and cleaned up some leftover CSS and component logic Spent some time testing the complete flow with fresh sessions and existing local data to make sure the application behaves consistently in both cases Overall, focused this session on making the existing features feel more polished, persistent and reliable rather than adding another major feature
went a little overboard with this one and spent quite a lot of time improving the project after getting feedback that it could use a bit more depth and functionality expanded the news section so it no longer shows just a single article. added a proper news carousel with navigation controls, indicators and multiple stories that can be browsed directly from the dashboard getting the carousel to fit naturally into the existing minimal design was actually more annoying than expected. had to rework the layout, add the bottom indicators and build separate previous/next controls without making the section feel too heavy added subtle fade-in animations while switching between news stories so the content transitions feel smoother instead of changing instantly replaced the old Leaflet background tile layer after the previous provider’s API access stopped working due to an expired key. switched the project over to a different tile source and reconfigured the map so the location-aware background keeps working spent some time testing the map again after the tile provider change and made sure the new layer still works properly with the existing location detection and background setup added one of the more personal features to the dashboard too: a small laptop battery status panel in the top section that shows the current battery percentage, charging state and other available battery information the idea was pretty simple because my laptop’s battery is absolutely cooked and drains way too quickly 😭 so now i can just glance at the new tab and immediately see how much battery i have left and whether it’s charging also polished a bunch of smaller UI details around these features, cleaned up some component logic and made sure the new additions still fit the original minimal design instead of turning the dashboard into a completely overloaded interface spent the remaining time testing the updated dashboard and fixing small rendering and animation issues that came up while putting everything together there’s actually another feature i’m working on right now which i’m pretty excited about, but i’ll save that one for the next devlog. hopefully i can get it finished soon and add it to the project properly :) and yes, the ultimate goal is still getting that macbook somehow, so apparently even my new tab page is now part of the grind :)
added a fun little rgb mode to the new tab because why not :) the idea is to make the dashboard blend in with your rgb setup, so if you have rgb lights on your keyboard, mouse or pc, you can match the new tab’s colors with them and get that full rgb setup vibe kept it as a purely visual feature with some subtle color effects so it still feels like the same minimal dashboard underneath honestly added this mostly because it looked cool and i wanted to have a little fun with the project :D
Started working on a new godmode feature for the dashboard, basically taking the customization side of the new tab a step further and giving users much more control over how everything looks also went back to the existing rgb mode and improved it with smoother transitions and better color handling so it feels more like an actual ambient rgb setup instead of just a simple color effect the biggest thing i worked on this time was a custom background uploader . built the uploader from scratch so users can pick their own image and use it directly as the new tab background instead of relying on a server or uploading the image somewhere externally, the selected image is converted to base64 and stored locally in the browser , which means the background stays available even after closing and reopening the new tab spent quite a bit of time making the loading process efficient so larger background images don’t make the whole dashboard feel slow or unusable. the image is loaded directly from local storage and rendered back into the background whenever the page starts added the required state handling around uploading, replacing and restoring the custom background so switching between the default background and a personal image doesn’t break the rest of the dashboard honestly this was probably the most fun feature i’ve built for MNT so far. seeing the entire dashboard transform just by dropping in a custom image makes it feel much more like an actual personal workspace rather than just another new tab page :) i’m also working on another part of the godmode system where users will be able to customize individual cards, backgrounds and other visual parts of the dashboard through a dedicated sidebar the sidebar customization system is still in progress, but the basic structure is already being worked on and i’m hoping to make the whole dashboard feel almost completely customizable in the next few updates there’s still a lot more to build around this, but honestly MNT is starting to become way more interesting than what i originally planned it to be :D
continued working on the customization system and finished the custom background flow properly, so users can now add their own images and use them directly as the dashboard background also made sure the custom background works nicely with the existing rgb mode , so the background can still have the rgb lighting effects on top of it without breaking the overall look after getting the customization side working, i converted the whole project into a proper standalone PWA this means MNT can now be installed and used more like an actual lightweight desktop app instead of having to keep opening it through the browser every time added the necessary PWA setup and made sure the application can run independently while still keeping all the existing local data, preferences and customizations intact honestly this makes the whole idea of MNT make much more sense to me now. instead of opening a browser just to start doing everything, you can just open MNT directly and have your search, todos, shortcuts, news, map, battery info and custom dashboard all sitting there in one lightweight app i’m still working on a few more ideas to push this further. one of the things i’m experimenting with is adding a proper music player directly into MNT so you can play your own songs from the same dashboard instead of having to open another service every time basically trying to slowly turn this from a new tab page into a small personal desktop workspace :D there’s still a lot more i want to add, but the standalone PWA setup feels like a pretty big step for the project. more features coming soon :)
finally got the built-in music player working, and honestly, this might be my favourite addition to MNT so far. the idea is simple: you shouldn’t need to open spotify or another music app just to find and play the music you want. search for a track directly inside your dashboard and enjoy your music without leaving your workspace spent quite a bit of time researching music APIs, figuring out the integration and building the entire player experience from scratch. getting the search, track information and playback flow to work together properly took more effort than i initially expected designed a dedicated music player interface that fits naturally into the existing MNT aesthetic instead of looking like an external widget pasted into the dashboard implemented a glassmorphism-inspired UI with translucent surfaces, subtle blur effects and layered elements to give the player a more polished, modern appearance added a rotating circular album-art design that gives the player that classic spinning CD vibe while music is playing also implemented an animated audio equalizer to make the interface feel more alive and provide visual feedback during playback refined the component layout, spacing, typography and animations to make everything feel cohesive with the rest of the dashboard fixed a few remaining issues across the PWA, polished some existing interactions and made sure the new music player fits properly into the standalone app experience did another round of testing and cleanup to make the overall application feel more complete, with search, productivity tools, customization, RGB mode and music all accessible from one place ngl, this took a lot longer than i expected, and i’ve now spent around 20 hours on this project, but trust me, this feature was worth it :’) MNT started as a minimal new tab page, but it’s slowly turning into my own little personal workspace. no need to keep opening different apps for every little thing when i can bring the useful stuff together in one place. finally wrapped up this update, fixed the remaining bugs and got everything ready in the standalone PWA. hope you enjoy using it as much as i enjoyed building it! if you get a chance to try it out, i’d really appreciate a rating and some feedback. ❤️
will edit it
working on it will write after finishing
Ships:
Wrapped up a number of remaining fixes and gave the overall interface another round of polishing Refined the search bar with a cleaner layout and improved interactions to make searching feel more natural Finalized the cyclic search engine toggle and ensured switching between providers works reliably Improved parts of the backend logic and cleaned up the codebase to make future development easier Continued implementing a few upcoming features, including the taskbar workflow and additional new tab interactions Expanded the search functionality inside the new tab experience and polished the overall user flow Switched the project typography to Rubik and made several CSS refinements for a cleaner, more modern appearance Updated and reorganized the project README with setup instructions, features and screenshots Finished another complete testing pass, fixed a handful of minor bugs and cleaned up leftover code Finally reached a point where the project is ready to publish 🚀 really happy with how this version turned out. i’ve still got a bunch of ideas i want to experiment with, but for now it’s time to ship and start collecting feedback before working on the next set of features :)
I built Minimal New Tab , a modern and customizable browser start page that combines productivity, quick search and useful everyday tools into a single clean dashboard. Instead of opening a blank new tab, users get a personalized workspace where they can search the web using multiple search engines, manage todos, save their favorite websites as quick-access shortcuts, read the latest news and enjoy a dynamic location-aware background powered by Leaflet. One of the biggest challenges was keeping all of these independent features connected while maintaining a clean and consistent user experience. I spent a lot of time designing reusable components, refining the UI, handling local persistence for todos and shortcuts, integrating multiple APIs and making sure everything worked smoothly together. Another fun challenge was rendering a dynamic Leaflet map in the background based on the user’s current IP location without taking away from the minimal design. I’m most proud of how the project evolved from a simple browser homepage into something that feels genuinely useful every day. It isn’t just another new tab page—it becomes a small personal dashboard that remembers your preferences, helps you stay organized and keeps commonly used information just one click away. To test the project, simply install or open it as your new tab page. Try searching with different search engines, create a few todos, add and edit homepage shortcuts, browse the latest news and explore how the background automatically adapts using your current location. Everything is stored locally, so your tasks and shortcuts will still be there the next time you open your browser. I hope you enjoy using it as much as I enjoyed building it. Feedback and suggestions are always welcome, and I already have plenty of ideas planned for future updates!
I built MNT ~ Minimal New Tab , a clean and customizable browser new tab experience designed to turn the default blank page into a useful everyday dashboard. It combines multi-search engine support, a Todo Manager, customizable website shortcuts, a latest news feed and a dynamic location-aware Leaflet background into a single minimal interface. The biggest challenge was bringing all these independent features together without making the interface feel cluttered. I spent a lot of time working on reusable components, persistent local storage, search engine switching, API integrations and the dynamic map background while keeping the overall design minimal and responsive. I’m most proud of how the project evolved from a simple new tab concept into something that I can actually see myself using every day. The dashboard remembers your tasks, shortcuts and preferences locally, lets you quickly switch between search engines, keeps you updated with recent technology news and adds a dynamic map background based on your location. To test it, simply open the website and start using it as a new tab. Try switching between the different search engines, add a few todos and shortcuts, check out the latest news and reload the page to see how your saved data persists. The map background will also adapt to your approximate location. I’ve really enjoyed building this one and there are still a bunch of ideas I want to experiment with in future updates. If you get a chance to try it out, I’d really appreciate some feedback and a good rating! ❤️ last time i got some decent feedback on my project, but it was still pretty limited, so i’m hoping this one reaches a few more people. i genuinely enjoy building projects that are actually useful in everyday workflows, and i hope that comes across in this one. if you like the project, consider following it and leaving a rating. every bit of feedback helps me figure out what to improve next. thank you! :)
I built MNT ~ Minimal New Tab , a customizable browser dashboard that has grown into something much bigger than a simple new tab page. It brings together multi-search engine support, todos, website shortcuts, technology news, a dynamic Leaflet map background, laptop battery information, RGB mode, custom backgrounds and now a built-in music player, all in one place. The biggest challenge was getting all these features to work together without making the interface feel cluttered or slow. I spent a lot of time building reusable components, handling local storage, integrating APIs, fixing map issues and refining the overall UI. One of my favourite parts was designing the music player with a glassmorphism-inspired interface, rotating album artwork and animated equalizer. I also converted the project into a standalone PWA, so you can install it and use it more like a lightweight desktop app instead of opening it through the browser every time. I’m most proud of how customizable the whole experience has become. You can personalize your background, enable RGB effects, organize your tasks and shortcuts, check your battery status and listen to music without constantly switching between different applications. I’ve put a lot of time into this project, and seeing all these separate ideas finally come together feels genuinely rewarding. To try it out: open the website and explore the dashboard. Switch between search engines, add some todos and shortcuts, experiment with RGB mode, upload your own background and try the built-in music player. You can also install it as a PWA for a more app-like experience. Your saved preferences and customizations are stored locally in your browser. I’d genuinely appreciate it if you gave the project a try and left an honest rating and some feedback! ❤️ Last time, I received some decent feedback, but I’m hoping this version reaches a few more people. If you enjoy using it, a good rating and a follow would mean a lot and help me figure out what to improve next. I’ve still got plenty of ideas for future updates, but for now, I’m really happy with how MNT has turned out. Thanks for checking it out! :)...
|
1792961472.8897545
|
1793047872.8897545
|
|
38467
|
Deci by @ethmarks | Stardance
|
ethmarks
|
1
|
37.0
|
704
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-03T20:32:24Z", "hours": 37.0, "multiplier": 18.81, "payout": 704, "blessing": "neutral", "text": "Deci: a terminal text editor based on nano It’s a fully-functional text editor that can be used to create and edit all types of text files. It has unique behavior for 112 keybinds, cursor movement modeled on Zed and VS Code, integrated Markdown previewing, and an undo/redo buffer.", "repo": "https://github.com/ethmarks/deci", "demo": "https://ethmarks.github.io/deci/"}]...
|
[{"post_id": 40360, "ts": "202 [{"post_id": 40360, "ts": "2026-08-03T20:16:13Z", "hours": 0.2953, "text": "This devlog was written using deci ! watch the devlog video to watch me type it install deci from https://github.com/ethmarks/deci/releases enjoy!"}, {"post_id": 40332, "ts": "2026-08-03T19:30:47Z", "hours": 2.1261, "text": "v1.0.0 release! Yay! I added the following stuff: a new screenshot gallery to the site --version and --help commands to the CLI small tweaks to the readme text in the center of the header that says what file is open I’ll write the next devlog using deci ."}, {"post_id": 38485, "ts": "2026-07-31T21:52:34Z", "hours": 3.7039, "text": "I finished the README, did some bugfixes and refactors, and made a demo gif using VHS . Unless I think of more features to add, this will probably be my second-to-last devlog. I’m still planning on writing my final devlog before shipping using deci ."}, {"post_id": 37849, "ts": "2026-07-30T20:18:20Z", "hours": 2.9711, "text": "I wrote a first draft of the README. I’m pretty happy with it so far. I still need to add a “How it Works” section, though. Oh and I also expanded the help screen to add more info."}, {"post_id": 36853, "ts": "2026-07-29T05:28:47Z", "hours": 2.1239, "text": "I added undo and redo! Basically, every mutative keystroke (e.g. space or backspace) makes a snapshot of the current lines and editor position and adds it to the history slice. When you press ctrl+z , it decrements historyIndex and replaces the current lines and cursor position with history[historyIndex] . ctrl+y does the same thing but the opposite. Oh and I also added word-skipping cursor movement. If you press ctrl+left or ctrl+right , the cursor will move in that direction until it reaches a delimiter (e.g. a space or a punctuation). It took embarrassingly long to get it to work perfectly. There’s a bunch of little edge case behaviors for cursor caret movement that are really subtle and kinda unintuitive, but which you’re so used to from writing text on computers that you can instantly spot if it’s not quite correct. I think that next I’ll start working on the README."}, {"post_id": 36245, "ts": "2026-07-28T06:29:29Z", "hours": 2.0408, "text": "I added markdown previewing! Just press ctrl+p , and it’ll switch to a new screen and render the current editor content as markdown with Glamour . The screenshot for this devlog is what the current README looks like when previewed. It obviously works best with markdown files, but I’ve been unable to make it throw an error, even when I try to render .go files and whatnot that are definitely not markdown. I guess markdown is a pretty permissive spec. I also added goreleaser , so it should automatically build binaries and release them for each new version now. You can check it out at https://github.com/ethmarks/deci/releases . I think that deci is pretty close to finished. I honestly can’t think of much more to add. I still need to add that undo buffer that I promised in the first devlog, and write a README and better docs, but that’s basically it. How exciting!"}, {"post_id": 36189, "ts": "2026-07-28T03:29:37Z", "hours": 3.5586, "text": "I refactored the rendering code so that it doesn’t break styled content. I realized earlier today that there was absolutely zero reason for me to use a grid data structure in the rendering logic. The rendering pipeline went something like this: input a bunch of lines create a blank 2D grid of characters, one for each character in the terminal iterate over every single cell in that grid and set it to the relevant character from the input lines join all the columns in each row of the grid together into one line each join all lines together into one big string output the string for rendering Using an extra intermediate dimension of data storage didn’t actually do anything except use way more memory and make it very difficult to use non-ASCII characters. So I redesigned it and the new rendering pipeline works more like this: input a bunch of lines create a slice of blank lines, one for each row in the terminal trim the relevant input line and insert it into the slice join all the lines together into one big string output the string for rendering This way is much simpler, and also much more memory efficient i think. Plus, the new pipleine lets me used styled text. Before, when I tried out Lipgloss’s Border feature on the help page, the border was composed entirely of â characters. Idk why. I think it because each grid cell only used the first byte and didn’t consider the invisible ANSI characters. But the new one slices it safely using Charm’s ansi package, so it’s safe to use styled lines. I used the new pipeline to make the help page more colorful and aesthetic. I made each character of the “deci” ASCII art be a different color to distinguish them, because a friend pointed out that the c and the i are really close together so it kinda looks like it says “ded”. Soon, I should be able to add markdown previewing. It shouldn’t even be that much work (famous last words)."}, {"post_id": 35853, "ts": "2026-07-27T15:44:58Z", "hours": 0.4247, "text": "Just a small change this devlog. I added a keybind to change the cursor shape. The default is now block (it was bar before, but that seemed kinda un-nano), and you can toggle it to bar and then underline using alt+c . I also added optional anonymous condition functions to the keybind struct, so I can toggle whether a keybind is visible or not. For example, the “Write Out” keybind is only visible on the editor screen because there’s no reason to write out the help screen."}, {"post_id": 35620, "ts": "2026-07-27T05:10:46Z", "hours": 3.4664, "text": "I’ve added a help screen and a keybind info bar! For the help screen, I had to majorly refactor how line data is stored. Previously, there was just one big lines slice that was instantiated from the file content, directly written to to process keystrokes, and directly read from to render the view. But now I’ve moved most of that functionality to a separate editorLines variable, and lines is now a pointer that can be hotswapped. So when the user switches to the help screen, I just change the lines pointer from editorLines to helpLines , and voila everything works. As a bonus, this modular system should make it pretty easy to add markdown previews later. I made the ASCII art “deci” logo in the help page using the Colossal font for FIGlet , which is the same font that nano uses for the ASCII art on its home page. I think it looks pretty good. I’m also leaning into the slogan “your second-to-last next editor”. It’s a self-deprecating play on Zed ’s slogan that I made up for the first devlog. But I’m really proud of it so I put it on the website and in the help screen. The keybind info bar was pretty simple to make. The only thing worth remarking on is that it automatically limits the displayed keybinds to the width of the terminal screen, just like nano . Speaking of which, did you know that nano has 66 keybinds? I counted. I had to stretch a terminal window across two 1080p monitors and scale the font size down to 58% in order to see all of them. Currently, deci has 3 keybinds. I’ll need to think of more keybinds, because that’s embarrassing. Maybe a toggle between block mode and bar mode for the cursor."}, {"post_id": 34952, "ts": "2026-07-26T02:18:35Z", "hours": 1.1294, "text": "I published some binaries on GitHub releases and also made a webpage. The webpage is live at https://ethmarks.github.io/deci/ . I made it using the Lume Tufte theme that I made on Stardance back in June: https://stardance.hackclub.com/projects/18206 . It’s still a WIP, but it doesn’t need to be complicated. I don’t think that I really need to put anything on the website other than installation instructions and some screenshots. I just used the GOOS and GOARCH flags of go build to make the binaries. For the v0.1.0 release, I published binaries for x86 Linux, ARM MacOS, and x86 Windows. I might add support for more platforms later. Meanwhile, if I didn’t make a binary for your platform, you can always just build it from source: git clone https://github.com/ethmarks/deci.git cd deci go build I do all of my developing work on Linux, so I’ve tested deci pretty thoroughly on Linux. I do have a Windows laptop, but I’ve misplaced the charging cable for it and it’s out of battery, so I can’t test it on Windows right now. I don’t even own an Apple device, so there’s no way I can test on MacOS. There’s a pretty good chance that you’re reading this devlog on Windows or MacOS right now. If you are, I’d really appreciate it if you could try out deci and let me know if it works."}, {"post_id": 34886, "ts": "2026-07-25T23:30:19Z", "hours": 2.2047, "text": "Scrolling! If you move the cursor all the way to the bottom of the screen, it’ll shift the viewport down. And the opposite if you move the cursor to the top. This took forever to get right. I kept breaking other things because I had juggle three different “perspectives”: the grid of characters output to the screen, the slice of the grid that’s the viewport, and the actual lines of the file. But it all works now. I think next I might work on getting a demo set up. Most of the CLI binaries that I’ve downloaded before have used GitHub Releases, so I guess I should figure out how to make those work."}, {"post_id": 34409, "ts": "2026-07-25T02:55:51Z", "hours": 1.1492, "text": "Line numbers! Yay! It took a few attempts to get the Lipgloss structure right. For a while, it either wouldn’t highlight the line number of the active line, or it would only highlight the line number of the active line. But I got it working in the end."}, {"post_id": 34321, "ts": "2026-07-24T22:29:32Z", "hours": 2.3278, "text": "So Lipgloss is like powerful . Wow. I was using Lipgloss to style the status bar (more on that in a bit), and I took some time to actually read through the docs. I’d used the picocolors before, which is a JS package that makes working with ANSI codes easier. I had assumed that Lipgloss was kind of like that: you just type lipgloss.Blue rather than \\x1b[34m . But it can do all sorts of stuff like borders and padding and centering and compositing and enumeration and like a bajillion other things. I don’t understand how the Lipgloss codebase is only ~12,000 lines; based on how powerful it is, it feels like it should be much bigger. Anyways, I added active line highlighting and a status bar. Right now, I’ve just made the status bar barf out info about the most recent keypress. For example: “inserted ‘a’ at 4:2” “split line 4 to line 5” “merged line 5 with 4” …et cetera I might decide to make the status bar a bit less talkative later, but for now it’s useful for debugging. Next, I’m going to work on adding line numbers. I also might decide to refactor the text rendering to use Lipgloss layers."}, {"post_id": 34225, "ts": "2026-07-24T19:03:14Z", "hours": 1.7628, "text": "I’ve found something that I really like about Go compared to TypeScript: you don’t need to import identifiers (e.g. functions) from other files if they’re all part of the some package. I did a big refactor to split the 400-line behemoth main.go into a handful of smaller files. I was fully expecting to have to import each and every constant, type, and function between files. But I didn’t have to! Because every file is part of the main package, they all use the same namespace or something. I defined the statusMsg struct in update.go , but I can just instantiate a statusMsg literal in file.go without any imports or anything! This is a really cool language feature. 10/10. Anyways, apart from the big refactor, I did the following: the cursor is now the actual terminal cursor rather than a fake drawn-on cursor. if you use left arrow at the start of a line, the cursor moves to the end of the line above. if you use right arrow at the end of a line, the cursor moves to the start of the line below. delete! It’s exactly like backspace but in the opposite direction. tab! As mentioned, deci operates on a strict “1 character = 1 byte = 1 column’ basis because I don’t wanna deal with Unicode, so properly implementing tabs was out of the question. Instead, I just made the tab key instantly insert 4 spaces. None of this stuff was on last devlog’s list of features to implement. I just kept noticing that these behaviors were missing while playtesting, so I implemented them. Next up is the aesthetic stuff like the status bar that I promised last devlog."}, {"post_id": 33907, "ts": "2026-07-24T06:27:25Z", "hours": 3.3394, "text": "Hi again! The past three hours have been a manic frenzy of adding features. I’m starting to get the hang of Go. I’m not used to working so quickly, but working on this project is surprisingly exciting. New features: backspace! If you press backspace, it’ll either delete the character immediately before your cursor, or if you’re at the beginning of a line, it’ll merge current line with the previous one and then shift all other lines upwards. enter! If you press enter, it’ll bifurcate the current line and split the right half onto a new line. the cursor will now stop going out of bounds. It automatically clamps the mouse X position to the max length of the current line. the top row is now reserved for a nano -style header that currently says deci 0.0.1 on the left and by @ethmarks on the right. the cursor now highlights the character under it rather than replacing it with a solid white square. plus lots of bugfixes, mainly fixing bugs that I added while adding the other features mentioned in this list. Features I want to add next: highlighting the active line by lightening the background color a status bar line numbers a keybind info bar Oh, and I’ve decided that deci is ASCII-only. Go is weird about counting characters if they occupy more than one byte, so it would be a huge pain to add support for Unicode and would probably lead to a bajillion bugs. To make sure you understand what I mean about the ASCII thing, I’ll provide an example: the hamster emoji is 1 character, it occupies 2 columns in the terminal, and it’s made of 4 bytes. Because of the last part, len(\"🐹\") returns 4 in Go, so any string with a hamster emoji in it will appear to have 3 more characters and occupy 2 more columns than it actually does. Making sure that the code reliably distinguishes between those three very similar concepts would be really challenging, and the only benefit would be that you could use emojis and non-Latin characters in deci . I don’t really think that it’s worth it. deci is shaping up shockingly quickly. I almost could have written this devlog in deci , though the lack of horizontal or vertical scrolling would probably prevent me from actually writing the full thing."}, {"post_id": 33830, "ts": "2026-07-24T02:10:29Z", "hours": 4.0542, "text": "I stayed up late into the night yesterday reading docs for Go and Bubble Tea. Here are the ones I read: https://go.dev/tour https://learnxinyminutes.com/go https://pkg.go.dev/charm.land/bubbletea/ [email protected] #readme-tutorial https://github.com/charmbracelet/bubbletea/tree/main/tutorials/commands So far, my overall impressions are “wow, Go kinda sucks compared to TypeScript”. Maybe it’s just that I’m only scratching the surface and I’ve yet to see the true advantages of Go, but so far I am unimpressed. It’s just much more restrictive and much less expressive than TypeScript while simultaneously somehow being more prone to runtime panics, at least from my small amount of experience. Anyways, I’ve also gotten a decent amount of work done. deci can now kind of edit files. Watch the video below for a demonstration. Things that work: reading files creating files if they don’t exist transforming the lines of a file into a slice (Go’s version of dynamic-length arrays) of strings displaying the lines on screen moving the cursor around displaying the cursor preventing the cursor from going out of bounds inserting characters onto the current line at the cursor position displaying a line of status text writing lines to the file Things that might seem like they would work based on the list above, but actually don’t: backspaces creating new lines (aka enter) scrolling through a file displaying the cursor when it isn’t directly over an existing character preventing the cursor from going out of bounds when it goes above or below a line that’s longer than its neighbors other subtle cursor behaviors that are difficult to describe that we take for granted in editors but are surprisingly difficult to implement There’s still a lot to do. It might seem like I’ve made a lot of progress but I doubt that I’m even 10% of the way done."}, {"post_id": 33216, "ts": "2026-07-22T22:32:37Z", "hours": 0.7678, "text": "Are you tired of using actual editors, but nano is still too feature-rich and stable for you? Introducing deci , your second-to-last next editor I’m making this because I want to learn the Go lang. I’ve heard that Bubble Tea is the best of the best for making TUIs, but I’ve never used it because it requires using Go. Since I want to learn Go anyways, I figured that I’d give Bubble Tea a shot. I was trying to think of what kind of TUI to make, and a nano/vim/helix style text editor was the first thing that sprang to my mind. Obviously, my editor won’t have as many features as even nano (which is quite a low bar). I intend to have text rendering, file reading and writing, character insertion and deletion, an undo buffer, and maybe some other stuff. Don’t hold me to this, but I might even implement markdown previewing via wrapping the Glamour utility . The goal that I’m setting for myself is to write my final devlog for deci using deci itself. Anyways, the name deci comes from the Metric prefix Deci , meaning 10^-1. nano comes from Nano , meaning 10^-9. It’s a bit of wordplay: The Deci prefix is far larger than Nano, and I expect that the deci binary will be much heavier than the nano binary because it has to bundle the Go runtime which is like 3-10 MB. Deci is not a very commonly used prefix. There’s basically nothing that uses Deci other than decibels and deciliters, and the “deci” in both of those terms is easy to miss (did you know that decibels are based on Bels? Also, the wikipedia page for Bel redirects to decibel). Nano, on the other hand is extremely common; everybody knows about nanobots and that “nano” means “very small”. Likewise, nobody except you, me, and a handful of other people know about deci editor, but tons of people know about nano . Anyways, all that I’ve done so far is come up with a plan, write the stub README, and make the terrible banner that you see below. Next, I’m going to install Go and start reading the Bubble Tea docs."}]...
|
Title: Deci by @ethmarks | Stardance
Devlogs:
Are Title: Deci by @ethmarks | Stardance
Devlogs:
Are you tired of using actual editors, but nano is still too feature-rich and stable for you? Introducing deci , your second-to-last next editor I’m making this because I want to learn the Go lang. I’ve heard that Bubble Tea is the best of the best for making TUIs, but I’ve never used it because it requires using Go. Since I want to learn Go anyways, I figured that I’d give Bubble Tea a shot. I was trying to think of what kind of TUI to make, and a nano/vim/helix style text editor was the first thing that sprang to my mind. Obviously, my editor won’t have as many features as even nano (which is quite a low bar). I intend to have text rendering, file reading and writing, character insertion and deletion, an undo buffer, and maybe some other stuff. Don’t hold me to this, but I might even implement markdown previewing via wrapping the Glamour utility . The goal that I’m setting for myself is to write my final devlog for deci using deci itself. Anyways, the name deci comes from the Metric prefix Deci , meaning 10^-1. nano comes from Nano , meaning 10^-9. It’s a bit of wordplay: The Deci prefix is far larger than Nano, and I expect that the deci binary will be much heavier than the nano binary because it has to bundle the Go runtime which is like 3-10 MB. Deci is not a very commonly used prefix. There’s basically nothing that uses Deci other than decibels and deciliters, and the “deci” in both of those terms is easy to miss (did you know that decibels are based on Bels? Also, the wikipedia page for Bel redirects to decibel). Nano, on the other hand is extremely common; everybody knows about nanobots and that “nano” means “very small”. Likewise, nobody except you, me, and a handful of other people know about deci editor, but tons of people know about nano . Anyways, all that I’ve done so far is come up with a plan, write the stub README, and make the terrible banner that you see below. Next, I’m going to install Go and start reading the Bubble Tea docs.
I stayed up late into the night yesterday reading docs for Go and Bubble Tea. Here are the ones I read: https://go.dev/tour https://learnxinyminutes.com/go https://pkg.go.dev/charm.land/bubbletea/ [email protected] #readme-tutorial https://github.com/charmbracelet/bubbletea/tree/main/tutorials/commands So far, my overall impressions are “wow, Go kinda sucks compared to TypeScript”. Maybe it’s just that I’m only scratching the surface and I’ve yet to see the true advantages of Go, but so far I am unimpressed. It’s just much more restrictive and much less expressive than TypeScript while simultaneously somehow being more prone to runtime panics, at least from my small amount of experience. Anyways, I’ve also gotten a decent amount of work done. deci can now kind of edit files. Watch the video below for a demonstration. Things that work: reading files creating files if they don’t exist transforming the lines of a file into a slice (Go’s version of dynamic-length arrays) of strings displaying the lines on screen moving the cursor around displaying the cursor preventing the cursor from going out of bounds inserting characters onto the current line at the cursor position displaying a line of status text writing lines to the file Things that might seem like they would work based on the list above, but actually don’t: backspaces creating new lines (aka enter) scrolling through a file displaying the cursor when it isn’t directly over an existing character preventing the cursor from going out of bounds when it goes above or below a line that’s longer than its neighbors other subtle cursor behaviors that are difficult to describe that we take for granted in editors but are surprisingly difficult to implement There’s still a lot to do. It might seem like I’ve made a lot of progress but I doubt that I’m even 10% of the way done.
Hi again! The past three hours have been a manic frenzy of adding features. I’m starting to get the hang of Go. I’m not used to working so quickly, but working on this project is surprisingly exciting. New features: backspace! If you press backspace, it’ll either delete the character immediately before your cursor, or if you’re at the beginning of a line, it’ll merge current line with the previous one and then shift all other lines upwards. enter! If you press enter, it’ll bifurcate the current line and split the right half onto a new line. the cursor will now stop going out of bounds. It automatically clamps the mouse X position to the max length of the current line. the top row is now reserved for a nano -style header that currently says deci 0.0.1 on the left and by @ethmarks on the right. the cursor now highlights the character under it rather than replacing it with a solid white square. plus lots of bugfixes, mainly fixing bugs that I added while adding the other features mentioned in this list. Features I want to add next: highlighting the active line by lightening the background color a status bar line numbers a keybind info bar Oh, and I’ve decided that deci is ASCII-only. Go is weird about counting characters if they occupy more than one byte, so it would be a huge pain to add support for Unicode and would probably lead to a bajillion bugs. To make sure you understand what I mean about the ASCII thing, I’ll provide an example: the hamster emoji is 1 character, it occupies 2 columns in the terminal, and it’s made of 4 bytes. Because of the last part, len("🐹") returns 4 in Go, so any string with a hamster emoji in it will appear to have 3 more characters and occupy 2 more columns than it actually does. Making sure that the code reliably distinguishes between those three very similar concepts would be really challenging, and the only benefit would be that you could use emojis and non-Latin characters in deci . I don’t really think that it’s worth it. deci is shaping up shockingly quickly. I almost could have written this devlog in deci , though the lack of horizontal or vertical scrolling would probably prevent me from actually writing the full thing.
I’ve found something that I really like about Go compared to TypeScript: you don’t need to import identifiers (e.g. functions) from other files if they’re all part of the some package. I did a big refactor to split the 400-line behemoth main.go into a handful of smaller files. I was fully expecting to have to import each and every constant, type, and function between files. But I didn’t have to! Because every file is part of the main package, they all use the same namespace or something. I defined the statusMsg struct in update.go , but I can just instantiate a statusMsg literal in file.go without any imports or anything! This is a really cool language feature. 10/10. Anyways, apart from the big refactor, I did the following: the cursor is now the actual terminal cursor rather than a fake drawn-on cursor. if you use left arrow at the start of a line, the cursor moves to the end of the line above. if you use right arrow at the end of a line, the cursor moves to the start of the line below. delete! It’s exactly like backspace but in the opposite direction. tab! As mentioned, deci operates on a strict “1 character = 1 byte = 1 column’ basis because I don’t wanna deal with Unicode, so properly implementing tabs was out of the question. Instead, I just made the tab key instantly insert 4 spaces. None of this stuff was on last devlog’s list of features to implement. I just kept noticing that these behaviors were missing while playtesting, so I implemented them. Next up is the aesthetic stuff like the status bar that I promised last devlog.
So Lipgloss is like powerful . Wow. I was using Lipgloss to style the status bar (more on that in a bit), and I took some time to actually read through the docs. I’d used the picocolors before, which is a JS package that makes working with ANSI codes easier. I had assumed that Lipgloss was kind of like that: you just type lipgloss.Blue rather than \x1b[34m . But it can do all sorts of stuff like borders and padding and centering and compositing and enumeration and like a bajillion other things. I don’t understand how the Lipgloss codebase is only ~12,000 lines; based on how powerful it is, it feels like it should be much bigger. Anyways, I added active line highlighting and a status bar. Right now, I’ve just made the status bar barf out info about the most recent keypress. For example: “inserted ‘a’ at 4:2” “split line 4 to line 5” “merged line 5 with 4” …et cetera I might decide to make the status bar a bit less talkative later, but for now it’s useful for debugging. Next, I’m going to work on adding line numbers. I also might decide to refactor the text rendering to use Lipgloss layers.
Line numbers! Yay! It took a few attempts to get the Lipgloss structure right. For a while, it either wouldn’t highlight the line number of the active line, or it would only highlight the line number of the active line. But I got it working in the end.
Scrolling! If you move the cursor all the way to the bottom of the screen, it’ll shift the viewport down. And the opposite if you move the cursor to the top. This took forever to get right. I kept breaking other things because I had juggle three different “perspectives”: the grid of characters output to the screen, the slice of the grid that’s the viewport, and the actual lines of the file. But it all works now. I think next I might work on getting a demo set up. Most of the CLI binaries that I’ve downloaded before have used GitHub Releases, so I guess I should figure out how to make those work.
I published some binaries on GitHub releases and also made a webpage. The webpage is live at https://ethmarks.github.io/deci/ . I made it using the Lume Tufte theme that I made on Stardance back in June: https://stardance.hackclub.com/projects/18206 . It’s still a WIP, but it doesn’t need to be complicated. I don’t think that I really need to put anything on the website other than installation instructions and some screenshots. I just used the GOOS and GOARCH flags of go build to make the binaries. For the v0.1.0 release, I published binaries for x86 Linux, ARM MacOS, and x86 Windows. I might add support for more platforms later. Meanwhile, if I didn’t make a binary for your platform, you can always just build it from source: git clone https://github.com/ethmarks/deci.git cd deci go build I do all of my developing work on Linux, so I’ve tested deci pretty thoroughly on Linux. I do have a Windows laptop, but I’ve misplaced the charging cable for it and it’s out of battery, so I can’t test it on Windows right now. I don’t even own an Apple device, so there’s no way I can test on MacOS. There’s a pretty good chance that you’re reading this devlog on Windows or MacOS right now. If you are, I’d really appreciate it if you could try out deci and let me know if it works.
I’ve added a help screen and a keybind info bar! For the help screen, I had to majorly refactor how line data is stored. Previously, there was just one big lines slice that was instantiated from the file content, directly written to to process keystrokes, and directly read from to render the view. But now I’ve moved most of that functionality to a separate editorLines variable, and lines is now a pointer that can be hotswapped. So when the user switches to the help screen, I just change the lines pointer from editorLines to helpLines , and voila everything works. As a bonus, this modular system should make it pretty easy to add markdown previews later. I made the ASCII art “deci” logo in the help page using the Colossal font for FIGlet , which is the same font that nano uses for the ASCII art on its home page. I think it looks pretty good. I’m also leaning into the slogan “your second-to-last next editor”. It’s a self-deprecating play on Zed ’s slogan that I made up for the first devlog. But I’m really proud of it so I put it on the website and in the help screen. The keybind info bar was pretty simple to make. The only thing worth remarking on is that it automatically limits the displayed keybinds to the width of the terminal screen, just like nano . Speaking of which, did you know that nano has 66 keybinds? I counted. I had to stretch a terminal window across two 1080p monitors and scale the font size down to 58% in order to see all of them. Currently, deci has 3 keybinds. I’ll need to think of more keybinds, because that’s embarrassing. Maybe a toggle between block mode and bar mode for the cursor.
Just a small change this devlog. I added a keybind to change the cursor shape. The default is now block (it was bar before, but that seemed kinda un-nano), and you can toggle it to bar and then underline using alt+c . I also added optional anonymous condition functions to the keybind struct, so I can toggle whether a keybind is visible or not. For example, the “Write Out” keybind is only visible on the editor screen because there’s no reason to write out the help screen.
I refactored the rendering code so that it doesn’t break styled content. I realized earlier today that there was absolutely zero reason for me to use a grid data structure in the rendering logic. The rendering pipeline went something like this: input a bunch of lines create a blank 2D grid of characters, one for each character in the terminal iterate over every single cell in that grid and set it to the relevant character from the input lines join all the columns in each row of the grid together into one line each join all lines together into one big string output the string for rendering Using an extra intermediate dimension of data storage didn’t actually do anything except use way more memory and make it very difficult to use non-ASCII characters. So I redesigned it and the new rendering pipeline works more like this: input a bunch of lines create a slice of blank lines, one for each row in the terminal trim the relevant input line and insert it into the slice join all the lines together into one big string output the string for rendering This way is much simpler, and also much more memory efficient i think. Plus, the new pipleine lets me used styled text. Before, when I tried out Lipgloss’s Border feature on the help page, the border was composed entirely of â characters. Idk why. I think it because each grid cell only used the first byte and didn’t consider the invisible ANSI characters. But the new one slices it safely using Charm’s ansi package, so it’s safe to use styled lines. I used the new pipeline to make the help page more colorful and aesthetic. I made each character of the “deci” ASCII art be a different color to distinguish them, because a friend pointed out that the c and the i are really close together so it kinda looks like it says “ded”. Soon, I should be able to add markdown previewing. It shouldn’t even be that much work (famous last words).
I added markdown previewing! Just press ctrl+p , and it’ll switch to a new screen and render the current editor content as markdown with Glamour . The screenshot for this devlog is what the current README looks like when previewed. It obviously works best with markdown files, but I’ve been unable to make it throw an error, even when I try to render .go files and whatnot that are definitely not markdown. I guess markdown is a pretty permissive spec. I also added goreleaser , so it should automatically build binaries and release them for each new version now. You can check it out at https://github.com/ethmarks/deci/releases . I think that deci is pretty close to finished. I honestly can’t think of much more to add. I still need to add that undo buffer that I promised in the first devlog, and write a README and better docs, but that’s basically it. How exciting!
I added undo and redo! Basically, every mutative keystroke (e.g. space or backspace) makes a snapshot of the current lines and editor position and adds it to the history slice. When you press ctrl+z , it decrements historyIndex and replaces the current lines and cursor position with history[historyIndex] . ctrl+y does the same thing but the opposite. Oh and I also added word-skipping cursor movement. If you press ctrl+left or ctrl+right , the cursor will move in that direction until it reaches a delimiter (e.g. a space or a punctuation). It took embarrassingly long to get it to work perfectly. There’s a bunch of little edge case behaviors for cursor caret movement that are really subtle and kinda unintuitive, but which you’re so used to from writing text on computers that you can instantly spot if it’s not quite correct. I think that next I’ll start working on the README.
I wrote a first draft of the README. I’m pretty happy with it so far. I still need to add a “How it Works” section, though. Oh and I also expanded the help screen to add more info.
I finished the README, did some bugfixes and refactors, and made a demo gif using VHS . Unless I think of more features to add, this will probably be my second-to-last devlog. I’m still planning on writing my final devlog before shipping using deci .
v1.0.0 release! Yay! I added the following stuff: a new screenshot gallery to the site --version and --help commands to the CLI small tweaks to the readme text in the center of the header that says what file is open I’ll write the next devlog using deci .
This devlog was written using deci ! watch the devlog video to watch me type it install deci from https://github.com/ethmarks/deci/releases enjoy!
Ships:
Deci: a terminal text editor based on nano It’s a fully-functional text editor that can be used to create and edit all types of text files. It has unique behavior for 112 keybinds, cursor movement modeled on Zed and VS Code, integrated Markdown previewing, and an undo/redo buffer....
|
1792997819.6219316
|
1793084219.6219316
|
|
4738
|
PICOLATOR V2 by @fedi41 | Stardance
|
fedi41
|
1
|
71.72
|
702
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-27T09:01:35Z", "hours": 51.0, "multiplier": 13.73, "payout": 702, "blessing": "neutral", "text": "PICOLATOR v2.1 Beta This is the first ship of my big project: Picolator . Picolator is a handheld device powered by a Raspberry Pi Pico, running a custom operating system that I wrote from scratch in C++. 🧩 Features At this stage, Picolator includes: 🎮 PicoDino A simple remake of the classic dinosaur runner game. 🖥️ Custom UI Engine A lightweight interface system with different blend modes and a modular structure. 🧭 Main Menu System An app launcher for navigating between installed applications. ⚙️ Settings App A basic settings interface for system configuration. 🎨 Theming Support Custom themes based on Tailwind-style color palettes. 🚀 Status This is an early beta release. More features, apps, and improvements are planned for future updates.", "repo": "https://github.com/fedi41/picolator2", "demo": "https://fedi41.github.io/picolator/"}]...
|
[{"post_id": 70207, "ts": "202 [{"post_id": 70207, "ts": "2026-09-18T18:17:53Z", "hours": 2.8942, "text": "Simple taskbar! Added a simple status bar to the picolator! At the time its very minimal, but later it will show more stuff. How it works The status bat shows the currently running app by accessing the Navigator class. It is displayed over the current app, but before the all the features. Why I did it I thought that it would be nice to always know which app you are in, and because I dont want to put a header in each app, a status bar is the best solution. Also, I can later use it to show other stuff so its just nice to have :D Whats about the AI chat app I never finished? well… its still not finished idk if it ever will be finished. Conclusion I actually did varios stuff, but the most major change I made was the status bar so I post it here. Thanks for reading btw XD"}, {"post_id": 65203, "ts": "2026-09-10T05:18:26Z", "hours": 5.0075, "text": "5 Hours for almost nothing xD well its been very long time, I’ve been working on the AI app all this time… I almost made it so you can enter your own api key, but like always it isnt saving properly and is just not working. I also improved the AI chat a bit, made so it shows the errors, only for it to always show “UNKNOWN ERROR”. It kinda looks that the project is a bit dead a the time, I dont know if I will be posting so often. Other things that are not related to the project I switched to arch btw And I am finally comfortable with neovim :D"}, {"post_id": 46720, "ts": "2026-08-14T05:11:48Z", "hours": 2.1681, "text": "AI on the pico!! AI chat app is working!! What I did: Made the ui (pretty simple) Added a keyboard for input made some placehgolder functions to send promt and receive them What AI did for me all the api connection logic (The Mistral.h file) It was too complicated for me XD… How I did it: I used the mistral API made a simle app on the picolator for it thats it ) What I will do next -> make so you can enter your own api key (without recompiling) make so u can scroll through long responses Next ideas for the project… redisign some parts of the ui (I dont like that headings take up so much space) make a paint app ?"}, {"post_id": 44438, "ts": "2026-08-10T05:58:36Z", "hours": 0.2722, "text": "Serial logging works! I just replaced me custom logger with the Serial one ) Now I can work on the AI chat app !"}, {"post_id": 44423, "ts": "2026-08-10T05:36:44Z", "hours": 2.4386, "text": "Devlog ig Well this two hours I been trying to make an AI chat app. Meanwhile, I realized, that my custom log system kinda sucks, so I will be just using the classic Serial output for logging, and completly remove my custom logger. Problems with the logger logs are hard to read (very small) if u enable the log display feature, the rendering gets slower gives no errors, I only know at witch step the program stopped uses much RAM with serial logging, all of this issues will be fixed. And I can finally see what error it throws! although it doesnt tell much in the error… terminate called after throwing an instance of 'std::out_of_range' what(): And sorry for the long break… I will try to code more now!"}, {"post_id": 33077, "ts": "2026-07-22T17:38:04Z", "hours": 1.1644, "text": "pico-Stardance :P Tried rendering the stardance logo on the Picolator ) I actually wanted to work on the AI chat app, but instead of locking in, I just procrastineted and made this :3 But a least it looks cool XD Btw it took me so long, because I am trying to learn vim, and I am not really good at it ) Well ig see u next devlog"}, {"post_id": 31835, "ts": "2026-07-20T15:06:50Z", "hours": 0.7833, "text": "picoFETCH ig its working ) I added a simple fetch app, simmular to neofetch ) It displays: the board name (on compilation) chip name clock speed free RAM (not prezise) SDK version chip id WiFi connection status btw this all runs on a simple rpi pico 2w with a diplay ) check out my other devlogs to see what this thing can do"}, {"post_id": 31737, "ts": "2026-07-20T11:37:26Z", "hours": 0.7644, "text": "WiFi on the Picolator I managed to connect WiFi to the pico! The password and the SSID are saved in the flash! I will update the wifi settings UI someday, It looks horrible XD. And guess what? I will do a PICOFETCH app next, So follow along!"}, {"post_id": 31111, "ts": "2026-07-19T07:50:49Z", "hours": 3.6431, "text": "Its been very long time… But , I made some progress on the WiFi -settings! By progress I mean only the working ui XD. (and keyboard ) EVERYTHING ELSE JUST DOESNT WORK a list of things, that need to be fixed: storage sucks wifi sucks ui sucks (it just looks bad) I will bet trying to fix all of these things in future devlogs so follow along )"}, {"post_id": 17489, "ts": "2026-06-28T09:17:14Z", "hours": 1.5889, "text": "Pico-keyboard ?! So i coded the first simple version of a keyboard for the Picolator … for now, I will use it for the AI chat app (also in development), and for the Wifi configuration. Its currently in development, but in the next devlog I am planning to finish the wifi connection! btw credits to @eceWire , I was inspired by the keyboard in his project. ))"}, {"post_id": 16800, "ts": "2026-06-27T08:49:16Z", "hours": 2.6928, "text": "The first release ) I finished the demo version of the project! Now I am ready to ship ) features in this release UI system (with theming support) first game (picodino) Settings menu (with modular feature support) custom renderer (built on top of the waveshare library, supports blendmodes) custom input system the release: https://github.com/fedi41-prog/picolator2/releases"}, {"post_id": 16306, "ts": "2026-06-26T15:13:42Z", "hours": 7.0764, "text": "7 HOURS GONE. WEBSITE DONE (almost). Well time flies much faster when making websites… finished the feature menu I added a feature menu to control the feature manager and toggle features on and off ) I also kinda broke the display of the picolator… and thats why - new displays are coming soon (well I think so) - I am building a second Picolator! (And repairing the old one) almost forgot the website link 😅: https://fedi41-prog.github.io/picolator2/"}, {"post_id": 15041, "ts": "2026-06-24T12:55:31Z", "hours": 0.8667, "text": "Demo website working on the demo website for my PICOLATOR project . SHIPPING SOON . PICOLATOR v2.1 is ready for ship! I just need to finish this small website, and I’m done! I’ll also continue working at this after the ship :) Btw here is the link: https://fedi41-prog.github.io/picolator2/"}, {"post_id": 14643, "ts": "2026-06-23T20:33:16Z", "hours": 1.8336, "text": "Finished the PICODINO! Ig I finished the game ) Now I can finally work on something else . 🦖🌵 . It’s a copy of the iconic game, running on a pi pico. Features added… score counter high score saved in flash sneaking different cactus types restart after losing dark mode"}, {"post_id": 14363, "ts": "2026-06-23T13:57:16Z", "hours": 1.1458, "text": "PICO-DINO just jumped on a cactus 😭😭 …the PicoDino tries to jump over the EVIL CACTUS , but he lands perfectly on it! RIP PicoDino 🪦🦖 . . . But… Cactus collision is working! 😎 Finally, the dino can’t go through cacti anymore! Today, I implemented the mask collision ) P.S. - I finally figured out how to add multiple photos 😅"}, {"post_id": 14187, "ts": "2026-06-23T05:41:04Z", "hours": 1.6097, "text": "A cactus appears! 🌵 This morning, I added the first cactus, and a moing floor, along with some animations ) These are all original textures! Next up cactus collisions (mask collisions) more cactus types score counter"}, {"post_id": 13786, "ts": "2026-06-22T16:25:57Z", "hours": 1.0808, "text": "Meet the PICO-DINO!! 🦖 I finally made a real dinosaur for the game ) Further plans Next, I will add some cacti )"}, {"post_id": 13697, "ts": "2026-06-22T13:35:19Z", "hours": 0.9733, "text": "RAM Optimization The pico was sometimes crashing, after I spammed the log, so I got into optimising ) Before, i had 2 screen buffers, and even a third one for blending them (no wonder it crashed XD) So I just removed all the unnesecary buffers ) btw blend modes are still working! the first game! I just started working on the first game for the picolator!"}, {"post_id": 13323, "ts": "2026-06-21T20:19:58Z", "hours": 0.5889, "text": "DISPLAY TIMEOUT ADDED Now the display wont burn out XD Here is a reaaaally interesting photo of a black screen XD Tomorrow I will start coding the dino runner!"}, {"post_id": 13290, "ts": "2026-06-21T19:14:45Z", "hours": 2.5306, "text": "MIX BLEND MODE Added a brand new blend mode to my renderer! It was actually just procrastination, because I was too lazy to make the Dino Runner. About the project The Picolator is a custom OS for the raspberry pi pico. Next I will implement the chrome dino app (:"}, {"post_id": 12663, "ts": "2026-06-20T18:06:20Z", "hours": 0.7731, "text": "Display overclock 🥳 Got my display running on 65hz! (and coded this spinny thing) This can definitly run chrome dino XD"}, {"post_id": 12615, "ts": "2026-06-20T16:41:15Z", "hours": 1.7439, "text": "Feature system ready! The Picolator can now run different feature modules for debugging and trolling! Next up …. Dino runner! Btw my rng number is crazy (3) : stardance rng day 6 🎲 3 · ranked #500 so far https://stardance.hackclub.com/rng"}, {"post_id": 12536, "ts": "2026-06-20T14:08:54Z", "hours": 1.2269, "text": "Input system fixed Today I fixed the input system, so it responds faster, and supports more features. One important function I added is the justPressed function, it only returns true, when thw button was pressed exactly in this tick I also started working on the feature manager , it will have different featues like on screen log display, and other useful stuff."}, {"post_id": 12112, "ts": "2026-06-19T19:39:26Z", "hours": 0.7036, "text": "Theme change works!"}, {"post_id": 12083, "ts": "2026-06-19T18:35:30Z", "hours": 0.4331, "text": "C++ compiler exploding because of one missing semicolon 💀"}, {"post_id": 12054, "ts": "2026-06-19T17:42:16Z", "hours": 1.2925, "text": "Working on settings Changed some core logic, and started to work on the settings menu!"}, {"post_id": 11943, "ts": "2026-06-19T14:07:08Z", "hours": 1.9542, "text": "minor changes Input debug Main menu working! new Theme Next, I will work on the Settings app. Then you can change and create themes! wow"}, {"post_id": 11259, "ts": "2026-06-18T12:44:33Z", "hours": 1.5231, "text": "Display update! Many different display features : blend modes overlays new color format better image rendering And I also added some new themes ! PS the display looks too bright on the photo"}, {"post_id": 11203, "ts": "2026-06-18T10:28:37Z", "hours": 3.7581, "text": "Hugeee update!! Themes fixed Main menu working new App managment system Theme view screen ready I hope you like it )"}, {"post_id": 10078, "ts": "2026-06-16T17:36:28Z", "hours": 0.9575, "text": "The Tailwind theme is working!!! Currently each theme has 3 Tailwind pallets - surface, primary, and secondary. P.S. - It looks much better irl"}, {"post_id": 9943, "ts": "2026-06-16T13:56:56Z", "hours": 1.5231, "text": "coded a buggy tailwind theme generator (some colors are to bright, others to dark 😭😭😭)"}, {"post_id": 9751, "ts": "2026-06-16T05:36:53Z", "hours": 3.2739, "text": "The Main screen is ready! And themes are working. (this is just a test theme ik it looks terrible)"}, {"post_id": 8819, "ts": "2026-06-14T17:37:03Z", "hours": 1.4308, "text": "Remaking the font System Today, I was remaking the entire font system. I created my own FONT class, and used it to load new fonts. Now The Picolator has nicer fonts )"}, {"post_id": 8737, "ts": "2026-06-14T15:12:28Z", "hours": 0.3678, "text": "Fixed the Font rendering! New features -> font scaling -> now you can scale fonts! Coming up -> rethinking the Font system changing the ugly Waveshare font to something different (:"}, {"post_id": 7986, "ts": "2026-06-13T10:04:34Z", "hours": 1.5319, "text": "Remaking the font rendering (and failing)"}, {"post_id": 7692, "ts": "2026-06-12T21:01:25Z", "hours": 2.0769, "text": "Ahhh why did I spent some mucb time on this…. (added a UiDraw class, and redisigned the structure)"}, {"post_id": 7596, "ts": "2026-06-12T18:21:32Z", "hours": 1.1856, "text": "Alpha support added! (And other technical changes)"}, {"post_id": 6261, "ts": "2026-06-10T14:55:17Z", "hours": 1.7136, "text": "Building the basic app structure! And a quick display demo. Created a TestApp for different tests )"}, {"post_id": 5849, "ts": "2026-06-09T19:55:52Z", "hours": 1.1669, "text": "Created a Display class for rendering and drawing. (just a wrapper for a C library). Next I am going to work on the UI logic."}, {"post_id": 5771, "ts": "2026-06-09T17:57:21Z", "hours": 1.1364, "text": "Finally got it running on cpp! (Yes i gave up on learning c)"}, {"post_id": 5603, "ts": "2026-06-09T13:40:31Z", "hours": 0.8697, "text": "So I somehow got the display test working… I already hate C (edit - no! C is cool [: )"}, {"post_id": 5570, "ts": "2026-06-09T12:15:42Z", "hours": 0.4519, "text": "setting up the project!"}]...
|
Title: PICOLATOR V2 by @fedi41 | Stardance
Devlog Title: PICOLATOR V2 by @fedi41 | Stardance
Devlogs:
setting up the project!
So I somehow got the display test working… I already hate C (edit - no! C is cool [: )
Finally got it running on cpp! (Yes i gave up on learning c)
Created a Display class for rendering and drawing. (just a wrapper for a C library). Next I am going to work on the UI logic.
Building the basic app structure! And a quick display demo. Created a TestApp for different tests )
Alpha support added! (And other technical changes)
Ahhh why did I spent some mucb time on this…. (added a UiDraw class, and redisigned the structure)
Remaking the font rendering (and failing)
Fixed the Font rendering! New features -> font scaling -> now you can scale fonts! Coming up -> rethinking the Font system changing the ugly Waveshare font to something different (:
Remaking the font System Today, I was remaking the entire font system. I created my own FONT class, and used it to load new fonts. Now The Picolator has nicer fonts )
The Main screen is ready! And themes are working. (this is just a test theme ik it looks terrible)
coded a buggy tailwind theme generator (some colors are to bright, others to dark 😭😭😭)
The Tailwind theme is working!!! Currently each theme has 3 Tailwind pallets - surface, primary, and secondary. P.S. - It looks much better irl
Hugeee update!! Themes fixed Main menu working new App managment system Theme view screen ready I hope you like it )
Display update! Many different display features : blend modes overlays new color format better image rendering And I also added some new themes ! PS the display looks too bright on the photo
minor changes Input debug Main menu working! new Theme Next, I will work on the Settings app. Then you can change and create themes! wow
Working on settings Changed some core logic, and started to work on the settings menu!
C++ compiler exploding because of one missing semicolon 💀
Theme change works!
Input system fixed Today I fixed the input system, so it responds faster, and supports more features. One important function I added is the justPressed function, it only returns true, when thw button was pressed exactly in this tick I also started working on the feature manager , it will have different featues like on screen log display, and other useful stuff.
Feature system ready! The Picolator can now run different feature modules for debugging and trolling! Next up …. Dino runner! Btw my rng number is crazy (3) : stardance rng day 6 🎲 3 · ranked #500 so far https://stardance.hackclub.com/rng
Display overclock 🥳 Got my display running on 65hz! (and coded this spinny thing) This can definitly run chrome dino XD
MIX BLEND MODE Added a brand new blend mode to my renderer! It was actually just procrastination, because I was too lazy to make the Dino Runner. About the project The Picolator is a custom OS for the raspberry pi pico. Next I will implement the chrome dino app (:
DISPLAY TIMEOUT ADDED Now the display wont burn out XD Here is a reaaaally interesting photo of a black screen XD Tomorrow I will start coding the dino runner!
RAM Optimization The pico was sometimes crashing, after I spammed the log, so I got into optimising ) Before, i had 2 screen buffers, and even a third one for blending them (no wonder it crashed XD) So I just removed all the unnesecary buffers ) btw blend modes are still working! the first game! I just started working on the first game for the picolator!
Meet the PICO-DINO!! 🦖 I finally made a real dinosaur for the game ) Further plans Next, I will add some cacti )
A cactus appears! 🌵 This morning, I added the first cactus, and a moing floor, along with some animations ) These are all original textures! Next up cactus collisions (mask collisions) more cactus types score counter
PICO-DINO just jumped on a cactus 😭😭 …the PicoDino tries to jump over the EVIL CACTUS , but he lands perfectly on it! RIP PicoDino 🪦🦖 . . . But… Cactus collision is working! 😎 Finally, the dino can’t go through cacti anymore! Today, I implemented the mask collision ) P.S. - I finally figured out how to add multiple photos 😅
Finished the PICODINO! Ig I finished the game ) Now I can finally work on something else . 🦖🌵 . It’s a copy of the iconic game, running on a pi pico. Features added… score counter high score saved in flash sneaking different cactus types restart after losing dark mode
Demo website working on the demo website for my PICOLATOR project . SHIPPING SOON . PICOLATOR v2.1 is ready for ship! I just need to finish this small website, and I’m done! I’ll also continue working at this after the ship :) Btw here is the link: https://fedi41-prog.github.io/picolator2/
7 HOURS GONE. WEBSITE DONE (almost). Well time flies much faster when making websites… finished the feature menu I added a feature menu to control the feature manager and toggle features on and off ) I also kinda broke the display of the picolator… and thats why - new displays are coming soon (well I think so) - I am building a second Picolator! (And repairing the old one) almost forgot the website link 😅: https://fedi41-prog.github.io/picolator2/
The first release ) I finished the demo version of the project! Now I am ready to ship ) features in this release UI system (with theming support) first game (picodino) Settings menu (with modular feature support) custom renderer (built on top of the waveshare library, supports blendmodes) custom input system the release: https://github.com/fedi41-prog/picolator2/releases
Pico-keyboard ?! So i coded the first simple version of a keyboard for the Picolator … for now, I will use it for the AI chat app (also in development), and for the Wifi configuration. Its currently in development, but in the next devlog I am planning to finish the wifi connection! btw credits to @eceWire , I was inspired by the keyboard in his project. ))
Its been very long time… But , I made some progress on the WiFi -settings! By progress I mean only the working ui XD. (and keyboard ) EVERYTHING ELSE JUST DOESNT WORK a list of things, that need to be fixed: storage sucks wifi sucks ui sucks (it just looks bad) I will bet trying to fix all of these things in future devlogs so follow along )
WiFi on the Picolator I managed to connect WiFi to the pico! The password and the SSID are saved in the flash! I will update the wifi settings UI someday, It looks horrible XD. And guess what? I will do a PICOFETCH app next, So follow along!
picoFETCH ig its working ) I added a simple fetch app, simmular to neofetch ) It displays: the board name (on compilation) chip name clock speed free RAM (not prezise) SDK version chip id WiFi connection status btw this all runs on a simple rpi pico 2w with a diplay ) check out my other devlogs to see what this thing can do
pico-Stardance :P Tried rendering the stardance logo on the Picolator ) I actually wanted to work on the AI chat app, but instead of locking in, I just procrastineted and made this :3 But a least it looks cool XD Btw it took me so long, because I am trying to learn vim, and I am not really good at it ) Well ig see u next devlog
Devlog ig Well this two hours I been trying to make an AI chat app. Meanwhile, I realized, that my custom log system kinda sucks, so I will be just using the classic Serial output for logging, and completly remove my custom logger. Problems with the logger logs are hard to read (very small) if u enable the log display feature, the rendering gets slower gives no errors, I only know at witch step the program stopped uses much RAM with serial logging, all of this issues will be fixed. And I can finally see what error it throws! although it doesnt tell much in the error… terminate called after throwing an instance of 'std::out_of_range' what(): And sorry for the long break… I will try to code more now!
Serial logging works! I just replaced me custom logger with the Serial one ) Now I can work on the AI chat app !
AI on the pico!! AI chat app is working!! What I did: Made the ui (pretty simple) Added a keyboard for input made some placehgolder functions to send promt and receive them What AI did for me all the api connection logic (The Mistral.h file) It was too complicated for me XD… How I did it: I used the mistral API made a simle app on the picolator for it thats it ) What I will do next -> make so you can enter your own api key (without recompiling) make so u can scroll through long responses Next ideas for the project… redisign some parts of the ui (I dont like that headings take up so much space) make a paint app ?
5 Hours for almost nothing xD well its been very long time, I’ve been working on the AI app all this time… I almost made it so you can enter your own api key, but like always it isnt saving properly and is just not working. I also improved the AI chat a bit, made so it shows the errors, only for it to always show “UNKNOWN ERROR”. It kinda looks that the project is a bit dead a the time, I dont know if I will be posting so often. Other things that are not related to the project I switched to arch btw And I am finally comfortable with neovim :D
Simple taskbar! Added a simple status bar to the picolator! At the time its very minimal, but later it will show more stuff. How it works The status bat shows the currently running app by accessing the Navigator class. It is displayed over the current app, but before the all the features. Why I did it I thought that it would be nice to always know which app you are in, and because I dont want to put a header in each app, a status bar is the best solution. Also, I can later use it to show other stuff so its just nice to have :D Whats about the AI chat app I never finished? well… its still not finished idk if it ever will be finished. Conclusion I actually did varios stuff, but the most major change I made was the status bar so I post it here. Thanks for reading btw XD
Ships:
PICOLATOR v2.1 Beta This is the first ship of my big project: Picolator . Picolator is a handheld device powered by a Raspberry Pi Pico, running a custom operating system that I wrote from scratch in C++. 🧩 Features At this stage, Picolator includes: 🎮 PicoDino A simple remake of the classic dinosaur runner game. 🖥️ Custom UI Engine A lightweight interface system with different blend modes and a modular structure. 🧭 Main Menu System An app launcher for navigating between installed applications. ⚙️ Settings App A basic settings interface for system configuration. 🎨 Theming Support Custom themes based on Tailwind-style color palettes. 🚀 Status This is an early beta release. More features, apps, and improvements are planned for future updates....
|
1792983409.2320743
|
1793069809.2320743
|
|
35911
|
Board-Like by @KIR_KOS | Stardance
|
KIR_KOS
|
1
|
52.0
|
702
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-14T19:07:54Z", "hours": 52.0, "multiplier": 13.53, "payout": 702, "blessing": "neutral", "text": "Board-Like Board-Like is a 2-4 player roguelike videogame where you compete with your friends to get the biggest level in a set amount of rounds. Here’s a quick description of the game loop: -Players throw dice and step on tiles giving buffs/debuffs on quick 1-3 minute rounds. They can save, sacrifice, sell their levels in orded to sabotage other players or gain more levels in the long run thanks to active cards, tiles and passive power-ups gained by the winner of the last round. After a set amount of rounds(5-20), the winner is the player with the highest level. Board-like is fun because of how many combinations you can have with multiple cards, tiles, power-ups and round modifiers making every game you play unique and interesting! You can try it out here: https://kir-kos.itch.io/board-like", "repo": "https://github.com/kirillkosarev79/Board-Like", "demo": "https://kir-kos.itch.io/board-like"}]...
|
[{"post_id": 68225, "ts": "202 [{"post_id": 68225, "ts": "2026-09-14T18:44:28Z", "hours": 3.0883, "text": "Devlog #17 - Last before shipping Hey there! No updates for a while, i decided to fix last bugs and add a bit of QoL features brefore shipping. I have been doing this for almost 2 weeks so i don’t really remember everything i did, this devlog will probably not be full. Changelog Added: New tile: Inverted shop. You can sell your items for levels Players can now set their nicknames, icons and colors before starting the game An option to go back to main menu after finishing a game instead of being softlocked on the scoreboard scene More back buttons instead of ESCAPE to improve itch.io QoL Changed: Main menu background changed to an original one instead of the one i donwloaded from the internet Music now plays in all scenes"}, {"post_id": 60938, "ts": "2026-09-03T16:41:37Z", "hours": 2.2725, "text": "Devlog #16 Hi! I realized I unfortunetely don’t have enough time to complete my project with an online mode, so I’m gonna ship it with one-device mode only. I’ll do a couple of updates polishing the game and adding a bit of content. Fully finishing the game is gonna be done outside of Stardance later. Changelog Added: Players now can choose their nicknames and colors before the game starts New tile: Again. Anyone stepping on it throws the dice again A little crown now appears next to the winner’s nickname at the end of the game Changed: Players are now sorted by level at the scoreboard Various bug fixes"}, {"post_id": 55451, "ts": "2026-08-27T09:29:06Z", "hours": 2.4692, "text": "Devlog #15 Hii! Added a pause menu and settings(you can only change the volume and toggle the console on/off for now). Also there are little cogs in the background of settings instead of dice! I plan to keep expanding already existing content for a bit and then get to making online mode work"}, {"post_id": 52575, "ts": "2026-08-22T19:13:47Z", "hours": 2.0097, "text": "Devlog #14 - ROUND MODIFICATORS An exciting update today! Round modificators! Now every round except the first one will have a randomely chosen round modificator which can affect your strategy while playing. Changelog : Added: Round modificator mechanic New round modificator: Action Time. No Next and Back tiles appear on the board New round modificator: Half dice. All dice rolls are divided by 2(rounded to the lower number) New round modificator: Double XP. All players gain double levels from all sources. New round modificator: No conditions. All tiles have no conditions, meaning their effects wiil be active no matter the player’s level. New debug console command: mod. It changes curent round’s modificator Changed: The tooltip will now change position when out of screen so it’s visible Fixed a bug that caused tooltip to not show up sometimes on the stat-bars for power-ups and cards. Slightly changed the confirm button and roll button’s positions"}, {"post_id": 52236, "ts": "2026-08-22T10:28:05Z", "hours": 1.5842, "text": "Devlog #13 Vectorized the confirm button, looks alot nicer now. But most importantly added a debug console to ease testing. It has a bunch of commands such as add_card, set_level, etc…(see attachement)"}, {"post_id": 50228, "ts": "2026-08-19T11:33:44Z", "hours": 1.6153, "text": "MORE DICE Decided to add an animation for additional dice you can obtain through the Dice power-up(up to 6). This also fixed that bug that crashed the game when it tried to find the texture for the main die with more than 6 dots. Here’s a showcase of what it looks like with all 6 additional dice"}, {"post_id": 48773, "ts": "2026-08-17T09:42:03Z", "hours": 1.2283, "text": "Devlog #12 Changed the roll button and added a proper anymation instead of a label changing numbers. Also made a few other tweaks and bug fixes. Added: A title on top of choice menus indicating which player is choosing Roll button animation Changed: New roll button texture Fixed the bug that caused the game to crash if a player picked a new power-up when they already have the maximum. Fixed the 6th power-up not displaying correctly Removed the label displaying the roll"}, {"post_id": 47358, "ts": "2026-08-15T08:01:13Z", "hours": 3.3764, "text": "Devlog #11 Hello everyone! A small update mostly fixing bugs. Also added a new mechanic. Changelog: Added: When a player gets stuck in a Next-Back loop, a sound effect plays and he skips his turns until the end of the round.(Combined with the Cross Road card this can be used to set traps). Changed: Fixed a bug that caused the power-up choice menu to pop up multiple times simultaneously at the end of the round. Fixed the Shop tile not working properly Fixed a bug that caused the first player to take two turns in a row at the start of the game."}, {"post_id": 46221, "ts": "2026-08-13T09:30:00Z", "hours": 3.7564, "text": "Devlog #10 Hi, no devlog for over a week, i got a bit tired of fixing all the bugs. But i’m back in the game and today’s devlog is mainly about VFX. Changelog Added: New power-up: Safety net. Increases minimal level by 1. New power-up: Assets. Gain 2 levels if you have 3 cards in the end of the round. Visual effect for pressing the roll button. Visual effect for stepping on tile"}, {"post_id": 41471, "ts": "2026-08-05T18:11:49Z", "hours": 3.71, "text": "Devlog #9 - Tiers Changed the weight system to the tier system. Every power-up, tile and card now have their own tier which decides how often they appear. Also added a Shop tile where you can buy power-ups and cards in exchange for levels. Changelog: Added: New tile: Shop. When you step on it, a menu pops-up with 3 random card and/or power-ups for a set price(based on their tiers). Changed: Improved certain card’s textures Updated the weight-based calculation method to use the new tier system. 1 being the most common one and 5 the rarest. Higher conditions now appear in later rounds. For example in round 1 most tiles don’t require any level, but on round 5 most common condition are levels 2-3 meaning you’ll need at least these levels to access most tiles."}, {"post_id": 40013, "ts": "2026-08-03T11:14:18Z", "hours": 2.5736, "text": "Devlog #8 Hi, took a little break after trying to convert some of the UI from pixel-art to vectorial graphics. (i ended up only changing the stat-bars,they look alot cleaner now). Changelog: Added: New card: Air Conditionning. Set any level condition on a tile of you choice. Changed: Changed the way conditions are set for tiles(a complete rework incoming, i want later rounds to have harsher conditions) New stat-bar texture Fixed a bug which caused the game to crash at the end of the round if multiple power-ups were given out"}, {"post_id": 38439, "ts": "2026-07-31T20:04:43Z", "hours": 2.9572, "text": "Devlog #7 - ARROWS! YAY! Hello everyone, worked on tiles and cards that concern arrows (the ones that make you advance or retreat). Also a bit of visual work. Check out Devlog #0 to learn about Board-Like Changelog: Added: New tile: Back. Oppositely to Next, it makes the player who stepped on it to retreat to the previous tile. Weight: 20 New card: Crossroad. Change any tile to Next or Back. Weight: 15 Changed: Completely changed the background’s palette, looks alot better imo Next got a new texture to match Back New portal animation and texture More work into the game’s internal structure improvement. Mostly concerning conditions this time around."}, {"post_id": 37822, "ts": "2026-07-30T19:31:58Z", "hours": 0.3494, "text": "A new portal texture👀"}, {"post_id": 37530, "ts": "2026-07-30T10:38:55Z", "hours": 1.9533, "text": "Devlog #6 - Higher definition textures and updated tooltip. Hello! A quick update focused on visuals. (If you want to know about Board-Like, check out Devlog #0) Changelog: Higher definition textures for the dice button and stat bars Randomize card is now called Rainbow Paint Randomize card has a new texture Tooltip’s border changes color depending on the type of object the cursor is hovering over Tooltip’s text is now centered Tooltip now also works when you hover over other player’s cards on stat bars."}, {"post_id": 36415, "ts": "2026-07-28T15:00:48Z", "hours": 3.5189, "text": "Devlog #5 - Tooltip! Hi! A pretty cool update today! Made a useful tooltip, whenever you hover over a card, a tile or even a power, a tooltip will pop-up to explain what this item does!(see attached video). Also added taxes to the game(beware the IRS) Changelog : Added: 🖱️A tooltip for cards, powers and tiles displaying their name, type and a description 🪙New card: Taxes. Everyone except you looses 1 level for each power-up and card they have.(Level can’t go below 0) Changed: 🤞Bonuses and cards now use the weight system for calculating chances to appear, similar to powers. Improved game sctructure: – 🧑💼Levels are now managed by the LevelManager node(before it was all over the place)"}, {"post_id": 36018, "ts": "2026-07-27T20:49:20Z", "hours": 4.1611, "text": "Devlog #4 Hi! Bringing another update to Board-Like. Now all tiles and power-ups have “weight”, which is their chance to appear. This allowes me to do a much more balanced game where better items appear rarer than others. Also added a new very cool tile, and a couple of power-ups, one of them being a reference to a little something😉 Changelog Added: 📄 New tile: Blank Tile . This tile is blank at the start of the round, whenever a player steps on it, it changes to the player’s color. When current round changes, the player who last stepped on Blank Tile gets an additional power-up. 🟢New power-up: Caesium-137. Player gains 1 level each time they pass through the portals(from any side)(stacking) 🎲New power-up: Another dice. Player now rolls 1 more dice(stacking) ✖️A cancel button when using certain cards Changed: Power-ups now have different weight(chance to appear): – 🦇Vampire: 20 – 🍀The Lucky Clover: 30 – 🎲Another dice: 10 – Caesium-137: 10 Tiles now have different weight(chance to appear): – ➡️Skip To Next: 40 – Level up: 40 – 🧲Magnet: 20 – 🃏Chest with cards: 20 – 📄Blank Tile: 5 🌟Choice menus(for example when choosing powers) now have a pop-up animation. 💊Fixed a lot of Sleeping Pill card related bugs."}, {"post_id": 34717, "ts": "2026-07-25T17:33:43Z", "hours": 3.5053, "text": "Devlog #3 - Screen issue fixed and a new card! Hey everyone, no updates for a little while cause i was out in Belgium to see The Odyssey in IMAX 70MM, truly a unique experience. Anyway, in this update i fixed a weird screen issue which was cutting off part of the screen on smaller displays. Here’s the full changelog: Added: New card: Sleeping Pill. You may sacrifice one level to make another player(or yourself!!!) skip their next turn. Changed: Fixed screen scaling issues Multiple small code fixes"}, {"post_id": 30272, "ts": "2026-07-17T18:22:51Z", "hours": 4.4367, "text": "Devlog#2 Heyy, alot of changes today! Finally changed the background which looks alot nicer than the previous one imo. Also added 2 and 4 player support, and an actual end to the game(tho it doesn’t sort players by their lvl yet). Changelog: Added: 🎚️Number of players slider 🎚️Number of rounds slider 🧮Round counter at the bottom left 📊Ending screen with a scoreboard 👀A neat animation and SFX when tiles appear at the beggining of every round Changed: The background is now glowing in different colors and there are scaling-up-n-down dices all over it. Now playable with 2,3 and 4 player parties! The game finally has a goal and is playable(not so much fun just yet tho, still missing 90% of power-ups and tiles. But most importantly ROUND MODIFIERS ) Included screenshots of the scoreboard, and an example of what the stat bars can look like after 5 rounds. Also a recording showcasing other changes"}, {"post_id": 30013, "ts": "2026-07-17T08:13:53Z", "hours": 2.9414, "text": "Devlog #1 - Power-ups Hello there! Today I’m bringing to life a very important part of Board-Like! Power ups. As i explained in Devlog #0, the winner of the round gets to choose one of 3 random power ups. They all have different effects and synergies.I included a little recording where you can see that all your power-ups are shown on your personal UI, or what i call them - the stat bars . Also wanted to show you some more content, so here’s the dice re-roll card! Here’s the changelog: Added: Power-up choice menu 🍀Lucky Clover power-up:all positive effect are now 15% more likely to happen 🧛Vampire: get a level-up every time you cast a negative effect on another player 🌟A subtle scale up effect on hover for cards(bottom right) and tiles(middle of the screen) Changed: 🗝️Add Card tile texture is now a chest that opens whenever someone steps on it. My next steps are gonna be changing the background because this one looks horrible, adding more cards, tiles and power-ups. If you want a detailed explanation to Board-Like you’re welcome to see Devlog#0 P.S.: You can hear Board-Like’s OST in the video"}, {"post_id": 29379, "ts": "2026-07-16T09:23:02Z", "hours": 0.3833, "text": "Devlog #0 In this post I explain what Board-Like is, it’s state right now, and most importantly what I’m planning to change and add. What’s Board-Like? Board-Like is [like excpected from the name] a rogue-like multiplayer board(style) videogame developped on Godot. The game loop idea is: Quick(1-3 minutes) turn-based rounds where players throw dice, step on tiles, use their cards(to help themselves or punish others) and gain levels The player that crosses the finish line first chooses one of 3(???) power-ups to keep through the whole game, and next round starts. The power ups can have synergies and different rarities. That’s where the “rogue-like” part comes in, every game will feel completely different depending on what power ups you and your friends choose! Well, who wins? The player with the highest level by the end of /to be determined/ rounds! You can gain levels from(but not only!) stepping on special tiles or triggering your power-ups. But it’s not that simple! Levels are very dynamic, you can(and probably will have to) lose, sacrifice or trade your levels in order to obtain even more! Try different tactics and anticipate the next rounds. Oh, and also… ROUND MODIFIERS! Cool, no? The state of the game. I started the developpement in Summer 2025, but quickly abandoned it to priorotize school(and videogames obv). Right now it looks insanely ugly, but also lacks 90% of all mentioned features above. It has 3 different working cards to use(return to start, reroll dice, and change any tile on the board to a random one), 4 tiles(tp to next tile, level up, magnet, and get a card ). No power-ups yet, round modifiers or even an end to the game. So no chaos, no fun, no game. Plans Well, there’s a lot of work to do. I am planning to add everything i mentioned in the first section, plus adding more music, making a complete visual overhaul, and the hardest for me: online multiplayer. I have never done anything with online multiplayer and that’s where i think I’ll meet the most issues. I have no idea where to start with it so if you have any tips feel free to share. Well anyway, there’s a lot to do before that. So, that’s Board-Like! See ya!(Btw the screenshot is what the game looks like rn)"}]...
|
Title: Board-Like by @KIR_KOS | Stardance
Devlogs Title: Board-Like by @KIR_KOS | Stardance
Devlogs:
Devlog #0 In this post I explain what Board-Like is, it’s state right now, and most importantly what I’m planning to change and add. What’s Board-Like? Board-Like is [like excpected from the name] a rogue-like multiplayer board(style) videogame developped on Godot. The game loop idea is: Quick(1-3 minutes) turn-based rounds where players throw dice, step on tiles, use their cards(to help themselves or punish others) and gain levels The player that crosses the finish line first chooses one of 3(???) power-ups to keep through the whole game, and next round starts. The power ups can have synergies and different rarities. That’s where the “rogue-like” part comes in, every game will feel completely different depending on what power ups you and your friends choose! Well, who wins? The player with the highest level by the end of /to be determined/ rounds! You can gain levels from(but not only!) stepping on special tiles or triggering your power-ups. But it’s not that simple! Levels are very dynamic, you can(and probably will have to) lose, sacrifice or trade your levels in order to obtain even more! Try different tactics and anticipate the next rounds. Oh, and also… ROUND MODIFIERS! Cool, no? The state of the game. I started the developpement in Summer 2025, but quickly abandoned it to priorotize school(and videogames obv). Right now it looks insanely ugly, but also lacks 90% of all mentioned features above. It has 3 different working cards to use(return to start, reroll dice, and change any tile on the board to a random one), 4 tiles(tp to next tile, level up, magnet, and get a card ). No power-ups yet, round modifiers or even an end to the game. So no chaos, no fun, no game. Plans Well, there’s a lot of work to do. I am planning to add everything i mentioned in the first section, plus adding more music, making a complete visual overhaul, and the hardest for me: online multiplayer. I have never done anything with online multiplayer and that’s where i think I’ll meet the most issues. I have no idea where to start with it so if you have any tips feel free to share. Well anyway, there’s a lot to do before that. So, that’s Board-Like! See ya!(Btw the screenshot is what the game looks like rn)
Devlog #1 - Power-ups Hello there! Today I’m bringing to life a very important part of Board-Like! Power ups. As i explained in Devlog #0, the winner of the round gets to choose one of 3 random power ups. They all have different effects and synergies.I included a little recording where you can see that all your power-ups are shown on your personal UI, or what i call them - the stat bars . Also wanted to show you some more content, so here’s the dice re-roll card! Here’s the changelog: Added: Power-up choice menu 🍀Lucky Clover power-up:all positive effect are now 15% more likely to happen 🧛Vampire: get a level-up every time you cast a negative effect on another player 🌟A subtle scale up effect on hover for cards(bottom right) and tiles(middle of the screen) Changed: 🗝️Add Card tile texture is now a chest that opens whenever someone steps on it. My next steps are gonna be changing the background because this one looks horrible, adding more cards, tiles and power-ups. If you want a detailed explanation to Board-Like you’re welcome to see Devlog#0 P.S.: You can hear Board-Like’s OST in the video
Devlog#2 Heyy, alot of changes today! Finally changed the background which looks alot nicer than the previous one imo. Also added 2 and 4 player support, and an actual end to the game(tho it doesn’t sort players by their lvl yet). Changelog: Added: 🎚️Number of players slider 🎚️Number of rounds slider 🧮Round counter at the bottom left 📊Ending screen with a scoreboard 👀A neat animation and SFX when tiles appear at the beggining of every round Changed: The background is now glowing in different colors and there are scaling-up-n-down dices all over it. Now playable with 2,3 and 4 player parties! The game finally has a goal and is playable(not so much fun just yet tho, still missing 90% of power-ups and tiles. But most importantly ROUND MODIFIERS ) Included screenshots of the scoreboard, and an example of what the stat bars can look like after 5 rounds. Also a recording showcasing other changes
Devlog #3 - Screen issue fixed and a new card! Hey everyone, no updates for a little while cause i was out in Belgium to see The Odyssey in IMAX 70MM, truly a unique experience. Anyway, in this update i fixed a weird screen issue which was cutting off part of the screen on smaller displays. Here’s the full changelog: Added: New card: Sleeping Pill. You may sacrifice one level to make another player(or yourself!!!) skip their next turn. Changed: Fixed screen scaling issues Multiple small code fixes
Devlog #4 Hi! Bringing another update to Board-Like. Now all tiles and power-ups have “weight”, which is their chance to appear. This allowes me to do a much more balanced game where better items appear rarer than others. Also added a new very cool tile, and a couple of power-ups, one of them being a reference to a little something😉 Changelog Added: 📄 New tile: Blank Tile . This tile is blank at the start of the round, whenever a player steps on it, it changes to the player’s color. When current round changes, the player who last stepped on Blank Tile gets an additional power-up. 🟢New power-up: Caesium-137. Player gains 1 level each time they pass through the portals(from any side)(stacking) 🎲New power-up: Another dice. Player now rolls 1 more dice(stacking) ✖️A cancel button when using certain cards Changed: Power-ups now have different weight(chance to appear): – 🦇Vampire: 20 – 🍀The Lucky Clover: 30 – 🎲Another dice: 10 – Caesium-137: 10 Tiles now have different weight(chance to appear): – ➡️Skip To Next: 40 – Level up: 40 – 🧲Magnet: 20 – 🃏Chest with cards: 20 – 📄Blank Tile: 5 🌟Choice menus(for example when choosing powers) now have a pop-up animation. 💊Fixed a lot of Sleeping Pill card related bugs.
Devlog #5 - Tooltip! Hi! A pretty cool update today! Made a useful tooltip, whenever you hover over a card, a tile or even a power, a tooltip will pop-up to explain what this item does!(see attached video). Also added taxes to the game(beware the IRS) Changelog : Added: 🖱️A tooltip for cards, powers and tiles displaying their name, type and a description 🪙New card: Taxes. Everyone except you looses 1 level for each power-up and card they have.(Level can’t go below 0) Changed: 🤞Bonuses and cards now use the weight system for calculating chances to appear, similar to powers. Improved game sctructure: – 🧑💼Levels are now managed by the LevelManager node(before it was all over the place)
Devlog #6 - Higher definition textures and updated tooltip. Hello! A quick update focused on visuals. (If you want to know about Board-Like, check out Devlog #0) Changelog: Higher definition textures for the dice button and stat bars Randomize card is now called Rainbow Paint Randomize card has a new texture Tooltip’s border changes color depending on the type of object the cursor is hovering over Tooltip’s text is now centered Tooltip now also works when you hover over other player’s cards on stat bars.
A new portal texture👀
Devlog #7 - ARROWS! YAY! Hello everyone, worked on tiles and cards that concern arrows (the ones that make you advance or retreat). Also a bit of visual work. Check out Devlog #0 to learn about Board-Like Changelog: Added: New tile: Back. Oppositely to Next, it makes the player who stepped on it to retreat to the previous tile. Weight: 20 New card: Crossroad. Change any tile to Next or Back. Weight: 15 Changed: Completely changed the background’s palette, looks alot better imo Next got a new texture to match Back New portal animation and texture More work into the game’s internal structure improvement. Mostly concerning conditions this time around.
Devlog #8 Hi, took a little break after trying to convert some of the UI from pixel-art to vectorial graphics. (i ended up only changing the stat-bars,they look alot cleaner now). Changelog: Added: New card: Air Conditionning. Set any level condition on a tile of you choice. Changed: Changed the way conditions are set for tiles(a complete rework incoming, i want later rounds to have harsher conditions) New stat-bar texture Fixed a bug which caused the game to crash at the end of the round if multiple power-ups were given out
Devlog #9 - Tiers Changed the weight system to the tier system. Every power-up, tile and card now have their own tier which decides how often they appear. Also added a Shop tile where you can buy power-ups and cards in exchange for levels. Changelog: Added: New tile: Shop. When you step on it, a menu pops-up with 3 random card and/or power-ups for a set price(based on their tiers). Changed: Improved certain card’s textures Updated the weight-based calculation method to use the new tier system. 1 being the most common one and 5 the rarest. Higher conditions now appear in later rounds. For example in round 1 most tiles don’t require any level, but on round 5 most common condition are levels 2-3 meaning you’ll need at least these levels to access most tiles.
Devlog #10 Hi, no devlog for over a week, i got a bit tired of fixing all the bugs. But i’m back in the game and today’s devlog is mainly about VFX. Changelog Added: New power-up: Safety net. Increases minimal level by 1. New power-up: Assets. Gain 2 levels if you have 3 cards in the end of the round. Visual effect for pressing the roll button. Visual effect for stepping on tile
Devlog #11 Hello everyone! A small update mostly fixing bugs. Also added a new mechanic. Changelog: Added: When a player gets stuck in a Next-Back loop, a sound effect plays and he skips his turns until the end of the round.(Combined with the Cross Road card this can be used to set traps). Changed: Fixed a bug that caused the power-up choice menu to pop up multiple times simultaneously at the end of the round. Fixed the Shop tile not working properly Fixed a bug that caused the first player to take two turns in a row at the start of the game.
Devlog #12 Changed the roll button and added a proper anymation instead of a label changing numbers. Also made a few other tweaks and bug fixes. Added: A title on top of choice menus indicating which player is choosing Roll button animation Changed: New roll button texture Fixed the bug that caused the game to crash if a player picked a new power-up when they already have the maximum. Fixed the 6th power-up not displaying correctly Removed the label displaying the roll
MORE DICE Decided to add an animation for additional dice you can obtain through the Dice power-up(up to 6). This also fixed that bug that crashed the game when it tried to find the texture for the main die with more than 6 dots. Here’s a showcase of what it looks like with all 6 additional dice
Devlog #13 Vectorized the confirm button, looks alot nicer now. But most importantly added a debug console to ease testing. It has a bunch of commands such as add_card, set_level, etc…(see attachement)
Devlog #14 - ROUND MODIFICATORS An exciting update today! Round modificators! Now every round except the first one will have a randomely chosen round modificator which can affect your strategy while playing. Changelog : Added: Round modificator mechanic New round modificator: Action Time. No Next and Back tiles appear on the board New round modificator: Half dice. All dice rolls are divided by 2(rounded to the lower number) New round modificator: Double XP. All players gain double levels from all sources. New round modificator: No conditions. All tiles have no conditions, meaning their effects wiil be active no matter the player’s level. New debug console command: mod. It changes curent round’s modificator Changed: The tooltip will now change position when out of screen so it’s visible Fixed a bug that caused tooltip to not show up sometimes on the stat-bars for power-ups and cards. Slightly changed the confirm button and roll button’s positions
Devlog #15 Hii! Added a pause menu and settings(you can only change the volume and toggle the console on/off for now). Also there are little cogs in the background of settings instead of dice! I plan to keep expanding already existing content for a bit and then get to making online mode work
Devlog #16 Hi! I realized I unfortunetely don’t have enough time to complete my project with an online mode, so I’m gonna ship it with one-device mode only. I’ll do a couple of updates polishing the game and adding a bit of content. Fully finishing the game is gonna be done outside of Stardance later. Changelog Added: Players now can choose their nicknames and colors before the game starts New tile: Again. Anyone stepping on it throws the dice again A little crown now appears next to the winner’s nickname at the end of the game Changed: Players are now sorted by level at the scoreboard Various bug fixes
Devlog #17 - Last before shipping Hey there! No updates for a while, i decided to fix last bugs and add a bit of QoL features brefore shipping. I have been doing this for almost 2 weeks so i don’t really remember everything i did, this devlog will probably not be full. Changelog Added: New tile: Inverted shop. You can sell your items for levels Players can now set their nicknames, icons and colors before starting the game An option to go back to main menu after finishing a game instead of being softlocked on the scoreboard scene More back buttons instead of ESCAPE to improve itch.io QoL Changed: Main menu background changed to an original one instead of the one i donwloaded from the internet Music now plays in all scenes
Ships:
Board-Like Board-Like is a 2-4 player roguelike videogame where you compete with your friends to get the biggest level in a set amount of rounds. Here’s a quick description of the game loop: -Players throw dice and step on tiles giving buffs/debuffs on quick 1-3 minute rounds. They can save, sacrifice, sell their levels in orded to sabotage other players or gain more levels in the long run thanks to active cards, tiles and passive power-ups gained by the winner of the last round. After a set amount of rounds(5-20), the winner is the player with the highest level. Board-like is fun because of how many combinations you can have with multiple cards, tiles, power-ups and round modifiers making every game you play unique and interesting! You can try it out here: https://kir-kos.itch.io/board-like...
|
1793004708.3871732
|
1793091108.3871732
|
|
13183
|
Rune - server-less function runner by @Pikacnu | S Rune - server-less function runner by @Pikacnu | Stardance...
|
Pikacnu
|
1
|
43.0
|
700
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-04T19:31:57Z", "hours": 43.0, "multiplier": 16.16, "payout": 700, "blessing": "neutral", "text": "I’m making an app that works like Cloudflare Workers, but with fewer features. My goal is to enable it to handle unlimited requests seamlessly. While it still has a long way to go compared to Cloudflare Workers—especially in areas like storage, AI utilities, npm package support, and project-based file uploads—I think it’s already good enough for basic use cases. If you’d like to test it out: Username: hackclub Password: hackclub If you want to test the domain utilities, you can check it out here: https://hello-world-rune.pazik.win/ (Note: Since I’m hosting the web server using Cloudflare Tunnels, I can’t use hello-world.rune.pazik.win directly due to missing SSL certificates. To work around this, I rewrite its Host header). One thing to keep in mind: The service has a rate limiter enabled, so you might get temporarily blocked while testing.", "repo": "https://github.com/Pikacnu/rune", "demo": "https://rune.pazik.win/"}]...
|
[{"post_id": 40928, "ts": "202 [{"post_id": 40928, "ts": "2026-08-04T19:24:35Z", "hours": 1.5258, "text": "Write readme (helped by ai) Fix bug when parsing hostname add ci to build docker image Finally I finish it weeee"}, {"post_id": 40563, "ts": "2026-08-04T06:13:23Z", "hours": 2.5181, "text": "make function execute by sub-domain (see image below) add kv store endpoint (and also dashboard) make you able to make function private (still can test) warp function kv_set/ delete/get into a object (kv.set / kv.delete / kv.get)"}, {"post_id": 39641, "ts": "2026-08-02T19:23:40Z", "hours": 7.8044, "text": "Finished the frontend (with help from AI) Bug fixing (a lot of bugs… one of them was a deadlock during environment injection) Passed requests to functions (it can now process requests) Added more information to execution details (debug info) Ahhh… The frontend is almost finished,with some examples and API documentation (all in the same docs). Built using Nuxt UI and Vue. The next devlog should be the last one before the first release. I’ll make it able to detect the hostname to handle function calls (similar to Cloudflare Workers). Screenshot is part of the website"}, {"post_id": 38493, "ts": "2026-07-31T22:03:08Z", "hours": 6.9844, "text": "Add a rate limiter to API endpoints (the rate limit for each function can be modified via API). Add key-value storage (accessible only in scripts). Add environment variable storage (can be updated via API). Change user-related APIs to admin-only access. The basic functionality I think is needed has been completed. Next step: build the frontend (admin panel and documentation)."}, {"post_id": 37333, "ts": "2026-07-29T23:51:09Z", "hours": 5.4314, "text": "Update schema (for user and auth.) Add User and sessions. Exec now can run with starlark. (image is ai generated test code)"}, {"post_id": 29660, "ts": "2026-07-16T18:41:31Z", "hours": 6.6811, "text": "Write a simple router using the built-in net/http. Design a basic database schema to store binaries and function information. Create a database wrapper. (which use Transaction as main exec method) Support two languages that can compile and execute from binaries. Ensure both languages can generate responses (JavaScript returns an object, Starlark returns a dict). Build a simple HTTP server to test functions (compile / execute / save to DB). TODO: Add support for Starlark. Implement authentication. Create a frontend / admin panel. It might take some time to work on next step. Not only because it have lots things to do, also due to I am trying to create something by 3D Printing. Spending too much time on it… If I can share those model. It will be nice."}, {"post_id": 16998, "ts": "2026-06-27T16:06:31Z", "hours": 2.08, "text": "Add full starlark request like fetch. also batch sync"}, {"post_id": 15157, "ts": "2026-06-24T16:58:19Z", "hours": 1.6972, "text": "Still didn’t know why it will be blockout when using async… So I make JS only can run sync and add fetchbatch to let mulitple fetch able to happen"}, {"post_id": 14473, "ts": "2026-06-23T16:35:53Z", "hours": 2.2233, "text": "Just add more function to fetch and response. and force js function return obj as response source. and maybe I will give up on settimeout (though I didn’t try.) maybe after finish main function. also I will make js function first. still didn’t know how to let starlark have async ability. Seems like js code didn’t work properly… fix it nextday!"}, {"post_id": 13223, "ts": "2026-06-21T17:34:56Z", "hours": 2.9219, "text": "change quickjs lib from modernc.org/quickjs to github.com/fastschema/qjs for better control add async sleep and simple fetch function for js (work as builtin function) add a simple http related file to do any http related things Next might be add fetch in starlark and try to make it have async and maybe make a settimeout? also needed to extend fetch function (currently only have basic function)"}, {"post_id": 12535, "ts": "2026-06-20T14:08:01Z", "hours": 3.4681, "text": "Complete sandbox Exec(both js and starlark) (currently scan dir and execut file inside) Implement sleep and print / console.log (warp as fmt.Printf) Plan to add http server and request related thing later"}]...
|
Title: Rune - server-less function runner by @Pika Title: Rune - server-less function runner by @Pikacnu | Stardance
Devlogs:
Complete sandbox Exec(both js and starlark) (currently scan dir and execut file inside) Implement sleep and print / console.log (warp as fmt.Printf) Plan to add http server and request related thing later
change quickjs lib from modernc.org/quickjs to github.com/fastschema/qjs for better control add async sleep and simple fetch function for js (work as builtin function) add a simple http related file to do any http related things Next might be add fetch in starlark and try to make it have async and maybe make a settimeout? also needed to extend fetch function (currently only have basic function)
Just add more function to fetch and response. and force js function return obj as response source. and maybe I will give up on settimeout (though I didn’t try.) maybe after finish main function. also I will make js function first. still didn’t know how to let starlark have async ability. Seems like js code didn’t work properly… fix it nextday!
Still didn’t know why it will be blockout when using async… So I make JS only can run sync and add fetchbatch to let mulitple fetch able to happen
Add full starlark request like fetch. also batch sync
Write a simple router using the built-in net/http. Design a basic database schema to store binaries and function information. Create a database wrapper. (which use Transaction as main exec method) Support two languages that can compile and execute from binaries. Ensure both languages can generate responses (JavaScript returns an object, Starlark returns a dict). Build a simple HTTP server to test functions (compile / execute / save to DB). TODO: Add support for Starlark. Implement authentication. Create a frontend / admin panel. It might take some time to work on next step. Not only because it have lots things to do, also due to I am trying to create something by 3D Printing. Spending too much time on it… If I can share those model. It will be nice.
Update schema (for user and auth.) Add User and sessions. Exec now can run with starlark. (image is ai generated test code)
Add a rate limiter to API endpoints (the rate limit for each function can be modified via API). Add key-value storage (accessible only in scripts). Add environment variable storage (can be updated via API). Change user-related APIs to admin-only access. The basic functionality I think is needed has been completed. Next step: build the frontend (admin panel and documentation).
Finished the frontend (with help from AI) Bug fixing (a lot of bugs… one of them was a deadlock during environment injection) Passed requests to functions (it can now process requests) Added more information to execution details (debug info) Ahhh… The frontend is almost finished,with some examples and API documentation (all in the same docs). Built using Nuxt UI and Vue. The next devlog should be the last one before the first release. I’ll make it able to detect the hostname to handle function calls (similar to Cloudflare Workers). Screenshot is part of the website
make function execute by sub-domain (see image below) add kv store endpoint (and also dashboard) make you able to make function private (still can test) warp function kv_set/ delete/get into a object (kv.set / kv.delete / kv.get)
Write readme (helped by ai) Fix bug when parsing hostname add ci to build docker image Finally I finish it weeee
Ships:
I’m making an app that works like Cloudflare Workers, but with fewer features. My goal is to enable it to handle unlimited requests seamlessly. While it still has a long way to go compared to Cloudflare Workers—especially in areas like storage, AI utilities, npm package support, and project-based file uploads—I think it’s already good enough for basic use cases. If you’d like to test it out: Username: hackclub Password: hackclub If you want to test the domain utilities, you can check it out here: https://hello-world-rune.pazik.win/ (Note: Since I’m hosting the web server using Cloudflare Tunnels, I can’t use hello-world.rune.pazik.win directly due to missing SSL certificates. To work around this, I rewrite its Host header). One thing to keep in mind: The service has a rate limiter enabled, so you might get temporarily blocked while testing....
|
1792994062.3859227
|
1793080462.3859227
|
|
38387
|
CGPT by @bartoszkasyna | Stardance
|
bartoszkasyna
|
1
|
60.0
|
699
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-20T20:10:27Z", "hours": 60.0, "multiplier": 11.69, "payout": 699, "blessing": "neutral", "text": "I made small Language Model from scratch in CUDA and C++. Training time was 3.5 hours and 18.8$ with val loss 3.28. The hardest part was optimizing attention kernel - pure chaos. My journey and technical details can be found in devlogs!", "repo": "https://github.com/B4rtekk1/CGPT", "demo": "https://github.com/B4rtekk1/CGPT/releases/tag/CGPT-104M"}]...
|
[{"post_id": 51271, "ts": "202 [{"post_id": 51271, "ts": "2026-08-20T20:07:20Z", "hours": 3.6269, "text": "What I made? My model is trained. Final val loss is 3.28 after 3.5 hour, in comparison original GPT-2 was around 3.1 after 169 hours on 32 Google TPUs. Also my costed 18.8$ while OpenAi one 43.1k$. Technical info about training in previous devlog What’s new in this devlog? I added CPU support and CLI for inference. Most of new CPUs should works with it. It only works on windows. Ready to ship!"}, {"post_id": 51000, "ts": "2026-08-20T14:19:13Z", "hours": 1.9456, "text": "CGPT CGPT is a C++ and CUDA project for training transformer language models from scratch. Training result A 104M-parameter model was trained for one epoch on approximately 10 GB of FineWeb-Edu data , containing about 2.14 billion tokens . Training completed successfully after 58,874 optimizer steps with: final training loss: 3.302037 ; final validation loss: 3.282484 ; training time: approximately 3 hours 32 minutes on single Nvidia H100 GPU; estimated training cost: $25 . The validation loss decreased from 3.908841 to 3.282484 , showing clear learning progress without obvious signs of overfitting. NOTE this is text prediction model not chatbot. Performance The custom BPE tokenizer processed the complete dataset in 22.62 seconds at approximately 414.98 MiB/s .After training, the model generated text at approximately 150–157 tokens/s on an NVIDIA RTX 3050 Laptop GPU with 4 GB VRAM . The generated text is generally fluent, but it can be repetitive and semantically unstable. This is expected for a relatively small model trained for only one epoch. Output The final model, checkpoints, tokenizer, and training logs are stored in:- output/model-104m ;- output/model-104m/checkpoints/ ;- data/fineweb_edu_tokenizer_32k.json ;- training_output.txt . Generated output The cat’s ring in front of the cage is short, so full-body cat with a small rackwork to keep them from licking tails from the cat’s face. Close the cage, but not impossible. Pine fronds are so thick that they can’t hold them up. They also don’t work as well as catnip. But they are troublesome. They tend to grow old and dead in the spring. Pine fronds are the most beautiful cat in the West. They started life a few years ago at the museum, where they were sold in the strongest boxes in the Provided images On first image you can see val loss chart across steps, on the second image you have comparison with GPT-2 from 2019 Next steps in project Now I will write CPU optimized kernels because now it only works on NVIDIA GPU. Feature plans If I would have some money I would like to train something like 1.5B model on much larger amoount of data and time. I also would like to add post training focused on converastions so I would be able to chat with it. Full report For the complete training configuration, detailed results, generation samples, and GPT-2 comparison, see the full CGPT README ."}, {"post_id": 50843, "ts": "2026-08-20T09:07:51Z", "hours": 4.0297, "text": "I was working on optimizing attention and cross entropy kernel. I went from 41ms->1ms in attention backward 2ms-> 0.48ms attention forward and 3.5ms->2.3ms in cross entropy. On the first image you can see new kernels times on the second the old ones. Note gpu utilization is not real in attention kernels"}, {"post_id": 49463, "ts": "2026-08-18T10:04:18Z", "hours": 5.4833, "text": "I was trying to train my model, but something went wrong. I need to find out, why loss jumped into sky. Ln(32000) = 10.37 which mean tokens are random but I got 20.8 so model is predicting worst possible token???"}, {"post_id": 48344, "ts": "2026-08-16T17:34:52Z", "hours": 3.2119, "text": "Optimizations I was working on optimizing CUDA kernels and adding some Doxygen documentation. In the image you can see GPU utilization per kernel. Note: The relatively low utilization is expected — these kernels are likely optimized for larger GPUs than the RTX 3050 (which is quite limited in terms of Tensor cores and SM count). My small language model is written entirely in CUDA and C++ with no third-party dependencies. Note I posted kernels bechamrk in the image because stardance markdown doesnt support tables yet"}, {"post_id": 47041, "ts": "2026-08-14T17:15:00Z", "hours": 6.1558, "text": "Successfully trained very small model. Optimized kernel a lot (especially attention backward). Now I have to optimize kernels even more, documented code, and train full model."}, {"post_id": 40142, "ts": "2026-08-03T15:25:37Z", "hours": 5.5306, "text": "Added embedding backward, attention backward, linear backward, rmsnorm backward, rope backward, swiglu backward"}, {"post_id": 36570, "ts": "2026-07-28T19:33:06Z", "hours": 7.2014, "text": "Hello, world! Recently, I’ve been working on optimizing CUDA kernels for my own LLM implementation. Most of them are now performing quite well, especially considering that I’m running everything on an RTX 3050 Laptop GPU with only 4 GB of VRAM. There is still one kernel that keeps frustrating me: GQA attention . Its GPU utilization is much lower than the rest, and I’m not sure how to optimize it further. Here are my current benchmark results: RMSNorm Input: [512, 4096] Data type: FP16 Execution time: 0.049 ms GPU throughput: 89% SwiGLU Input: [512, 4096] Data type: FP16 Execution time: 0.074 ms GPU throughput: 90% Linear layer Input: [512, 4096] Weights: [4096, 4096] Output: [512, 4096] Data type: FP16 Execution time: 1.04 ms GPU throughput: 60% Note: The reported throughput is relatively low because this benchmark runs GEMM on a comparatively small input matrix. At this problem size, the GPU cannot reach the same utilization as it would with larger batches or longer sequences. Rotary Position Embedding — RoPE Query: [1, 512, 32, 128] Key: [1, 512, 8, 128] Cosine and sine cache: [512, 64] Data type: FP16 Execution time: 0.06 ms GPU throughput: 87% Grouped Query Attention — GQA Query and output: [1, 512, 32, 128] Key and value: [1, 512, 8, 128] Data type: FP16 Execution time: 3.32 ms GPU throughput: 10% This is currently the main bottleneck. I have already applied tiling, online softmax, and shared-memory optimizations, but the utilization is still very low. Embedding lookup Number of input tokens: 512 Vocabulary size: 32,000 Hidden size: 4,096 Output: [512, 4096] Data type: FP16 Execution time: 0.05 ms GPU throughput: 88% Summary Overall, I’m satisfied with the results, but the attention kernel still needs a lot of work. (I will probably use cuDNN). The hardest thing before me - backprop. But now I can play with kernels and model layers."}, {"post_id": 35761, "ts": "2026-07-27T12:20:59Z", "hours": 4.4969, "text": "Implemented RoPE kernel. All 10 tests passed. I also added in code documentation. Netx big stepp will be attention kernel."}, {"post_id": 35220, "ts": "2026-07-26T14:49:29Z", "hours": 6.4347, "text": "With chatgpt help i optimized my tokenizer. 100MiB needs only 33.72s of training time. Batch encode throughput is around ~400MiB/s which is around 11.5x faster than OpenAI tiktoken(look at images). I have CPU AMD 5 5600H inside PC. I think that on AI data center my tokenizer could reach even about 4GiB/s ! My tokenizer is fast but it require relative big amount of ram. Nedded RAM is about 20x of train file size. When I finish my project I will train my model and benchmark my tokenizer on god tier machine. Wish me luck!"}, {"post_id": 34640, "ts": "2026-07-25T15:14:20Z", "hours": 3.9872, "text": "Succesfully improved Tokenizer. Now 100MiB of text encode in around 1 minute. In previous devlog 8MiB nedded 22 seconds. So huge improvemnt"}, {"post_id": 34171, "ts": "2026-07-24T18:14:15Z", "hours": 0.6911, "text": "Optimized tokenizer - 100Mib require 21.8s training time. Encoding time 5.5MiB/s"}, {"post_id": 33942, "ts": "2026-07-24T08:30:33Z", "hours": 6.4489, "text": "Implemented RMSNorm, linear layer kernel. Implemented BPE Tokenizer - currently its slow."}, {"post_id": 33119, "ts": "2026-07-22T18:55:53Z", "hours": 0.5714, "text": "Successfully complied CUDA hello world"}]...
|
Title: CGPT by @bartoszkasyna | Stardance
Devlogs Title: CGPT by @bartoszkasyna | Stardance
Devlogs:
Successfully complied CUDA hello world
Implemented RMSNorm, linear layer kernel. Implemented BPE Tokenizer - currently its slow.
Optimized tokenizer - 100Mib require 21.8s training time. Encoding time 5.5MiB/s
Succesfully improved Tokenizer. Now 100MiB of text encode in around 1 minute. In previous devlog 8MiB nedded 22 seconds. So huge improvemnt
With chatgpt help i optimized my tokenizer. 100MiB needs only 33.72s of training time. Batch encode throughput is around ~400MiB/s which is around 11.5x faster than OpenAI tiktoken(look at images). I have CPU AMD 5 5600H inside PC. I think that on AI data center my tokenizer could reach even about 4GiB/s ! My tokenizer is fast but it require relative big amount of ram. Nedded RAM is about 20x of train file size. When I finish my project I will train my model and benchmark my tokenizer on god tier machine. Wish me luck!
Implemented RoPE kernel. All 10 tests passed. I also added in code documentation. Netx big stepp will be attention kernel.
Hello, world! Recently, I’ve been working on optimizing CUDA kernels for my own LLM implementation. Most of them are now performing quite well, especially considering that I’m running everything on an RTX 3050 Laptop GPU with only 4 GB of VRAM. There is still one kernel that keeps frustrating me: GQA attention . Its GPU utilization is much lower than the rest, and I’m not sure how to optimize it further. Here are my current benchmark results: RMSNorm Input: [512, 4096] Data type: FP16 Execution time: 0.049 ms GPU throughput: 89% SwiGLU Input: [512, 4096] Data type: FP16 Execution time: 0.074 ms GPU throughput: 90% Linear layer Input: [512, 4096] Weights: [4096, 4096] Output: [512, 4096] Data type: FP16 Execution time: 1.04 ms GPU throughput: 60% Note: The reported throughput is relatively low because this benchmark runs GEMM on a comparatively small input matrix. At this problem size, the GPU cannot reach the same utilization as it would with larger batches or longer sequences. Rotary Position Embedding — RoPE Query: [1, 512, 32, 128] Key: [1, 512, 8, 128] Cosine and sine cache: [512, 64] Data type: FP16 Execution time: 0.06 ms GPU throughput: 87% Grouped Query Attention — GQA Query and output: [1, 512, 32, 128] Key and value: [1, 512, 8, 128] Data type: FP16 Execution time: 3.32 ms GPU throughput: 10% This is currently the main bottleneck. I have already applied tiling, online softmax, and shared-memory optimizations, but the utilization is still very low. Embedding lookup Number of input tokens: 512 Vocabulary size: 32,000 Hidden size: 4,096 Output: [512, 4096] Data type: FP16 Execution time: 0.05 ms GPU throughput: 88% Summary Overall, I’m satisfied with the results, but the attention kernel still needs a lot of work. (I will probably use cuDNN). The hardest thing before me - backprop. But now I can play with kernels and model layers.
Added embedding backward, attention backward, linear backward, rmsnorm backward, rope backward, swiglu backward
Successfully trained very small model. Optimized kernel a lot (especially attention backward). Now I have to optimize kernels even more, documented code, and train full model.
Optimizations I was working on optimizing CUDA kernels and adding some Doxygen documentation. In the image you can see GPU utilization per kernel. Note: The relatively low utilization is expected — these kernels are likely optimized for larger GPUs than the RTX 3050 (which is quite limited in terms of Tensor cores and SM count). My small language model is written entirely in CUDA and C++ with no third-party dependencies. Note I posted kernels bechamrk in the image because stardance markdown doesnt support tables yet
I was trying to train my model, but something went wrong. I need to find out, why loss jumped into sky. Ln(32000) = 10.37 which mean tokens are random but I got 20.8 so model is predicting worst possible token???
I was working on optimizing attention and cross entropy kernel. I went from 41ms->1ms in attention backward 2ms-> 0.48ms attention forward and 3.5ms->2.3ms in cross entropy. On the first image you can see new kernels times on the second the old ones. Note gpu utilization is not real in attention kernels
CGPT CGPT is a C++ and CUDA project for training transformer language models from scratch. Training result A 104M-parameter model was trained for one epoch on approximately 10 GB of FineWeb-Edu data , containing about 2.14 billion tokens . Training completed successfully after 58,874 optimizer steps with: final training loss: 3.302037 ; final validation loss: 3.282484 ; training time: approximately 3 hours 32 minutes on single Nvidia H100 GPU; estimated training cost: $25 . The validation loss decreased from 3.908841 to 3.282484 , showing clear learning progress without obvious signs of overfitting. NOTE this is text prediction model not chatbot. Performance The custom BPE tokenizer processed the complete dataset in 22.62 seconds at approximately 414.98 MiB/s .After training, the model generated text at approximately 150–157 tokens/s on an NVIDIA RTX 3050 Laptop GPU with 4 GB VRAM . The generated text is generally fluent, but it can be repetitive and semantically unstable. This is expected for a relatively small model trained for only one epoch. Output The final model, checkpoints, tokenizer, and training logs are stored in:- output/model-104m ;- output/model-104m/checkpoints/ ;- data/fineweb_edu_tokenizer_32k.json ;- training_output.txt . Generated output The cat’s ring in front of the cage is short, so full-body cat with a small rackwork to keep them from licking tails from the cat’s face. Close the cage, but not impossible. Pine fronds are so thick that they can’t hold them up. They also don’t work as well as catnip. But they are troublesome. They tend to grow old and dead in the spring. Pine fronds are the most beautiful cat in the West. They started life a few years ago at the museum, where they were sold in the strongest boxes in the Provided images On first image you can see val loss chart across steps, on the second image you have comparison with GPT-2 from 2019 Next steps in project Now I will write CPU optimized kernels because now it only works on NVIDIA GPU. Feature plans If I would have some money I would like to train something like 1.5B model on much larger amoount of data and time. I also would like to add post training focused on converastions so I would be able to chat with it. Full report For the complete training configuration, detailed results, generation samples, and GPT-2 comparison, see the full CGPT README .
What I made? My model is trained. Final val loss is 3.28 after 3.5 hour, in comparison original GPT-2 was around 3.1 after 169 hours on 32 Google TPUs. Also my costed 18.8$ while OpenAi one 43.1k$. Technical info about training in previous devlog What’s new in this devlog? I added CPU support and CLI for inference. Most of new CPUs should works with it. It only works on windows. Ready to ship!
Ships:
I made small Language Model from scratch in CUDA and C++. Training time was 3.5 hours and 18.8$ with val loss 3.28. The hardest part was optimizing attention kernel - pure chaos. My journey and technical details can be found in devlogs!...
|
1792961407.926083
|
1793047807.926083
|
|
48648
|
Pokemon Search Lib by @heitordecarvalhopessoa | St Pokemon Search Lib by @heitordecarvalhopessoa | Stardance...
|
heitordecarvalhopessoa
|
5
|
57.0
|
693
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-27T15:08:30Z", "hours": 15.0, "multiplier": 17.96, "payout": 271, "blessing": "neutral", "text": "More card collections have been added, and the filtering and comparison systems have been improved; additionally, the HUDs have been updated to enhance site performance.", "repo": "https://github.com/heitordecarvalhopessoa-debug/Pokemon-Search", "demo": "https://heitordecarvalhopessoa-debug.github.io/Pokemon-Search/"}, {"ship_num": 2, "ts": "2026-09-15T23:42:18Z", "hours": 13.0, "multiplier": 13.63, "payout": 178, "blessing": "neutral", "text": "More collections and cards have been added, and many HUDs have been swapped out and updated to improve site performance; various systems have been modified to make them easier for any user to understand.", "repo": "https://github.com/heitordecarvalhopessoa-debug/Pokemon-Search", "demo": "https://heitordecarvalhopessoa-debug.github.io/Pokemon-Search/"}, {"ship_num": 3, "ts": "2026-09-07T14:25:09Z", "hours": 10.0, "multiplier": 6.62, "payout": 69, "blessing": "neutral", "text": "More systems have been added, such as a card price comparison tool, and the search system has been updated; additionally, more collections have been completed, and new collections have been introduced.", "repo": "https://github.com/heitordecarvalhopessoa-debug/Pokemon-Search", "demo": "https://heitordecarvalhopessoa-debug.github.io/Pokemon-Search/"}, {"ship_num": 4, "ts": "2026-08-26T22:55:37Z", "hours": 10.0, "multiplier": 10.26, "payout": 103, "blessing": "neutral", "text": "Pokemon Search is a library for looking up Pokémon card prices; it includes only Pokémon cards—no Energy or Trainer cards. Some sets are currently incomplete but will be added soon.", "repo": "https://github.com/heitordecarvalhopessoa-debug/Pokemon-Search", "demo": "https://heitordecarvalhopessoa-debug.github.io/Pokemon-Search/"}, {"ship_num": 5, "ts": "2026-08-17T23:24:42Z", "hours": 9.0, "multiplier": 8.12, "payout": 72, "blessing": "neutral", "text": "POKÉMON SEARCH LIB A fan-made library featuring “beautiful” and “rare” Pokémon TCG cards; new cards will be added regularly as the site develops. Any feedback, as well as ideas for cards and collections to add, would be valuable for the site.", "repo": "https://github.com/heitordecarvalhopessoa-debug/Pokemon-Search", "demo": "https://heitordecarvalhopessoa-debug.github.io/Pokemon-Search/"}]...
|
[{"post_id": 74502, "ts": "202 [{"post_id": 74502, "ts": "2026-09-27T15:05:45Z", "hours": 3.6589, "text": "Version 1.18.0 Two Pokémon collection have already been add: 1. Mega Evolution: Phantasmal Fire 2. Mega Evolution: Ascended Heroes New 126 cards Filters Ui Changes Filter menu Card Template Update Data.js ReadMe.md Prices"}, {"post_id": 73351, "ts": "2026-09-24T23:32:40Z", "hours": 4.2108, "text": "Version 1.17.0 Twelve Pokémon collection have already been add: Ex: Emerald Ex: Unseen Forces Ex: Delta Species Ex: Legend Maker Ex: Holon Phantoms Ex: Crystal Guardians Ex: Dragon Frontiers Ex: Power Keepers XY: Primal Clash XY: Roaring Skies XY: Ancient Origins Celebrations 30th New 292 cards Regions Filter Filters: Type: RGB Type: Shiny Category: Star Region: Paldean Region: Hisuian Region: Galarian Region: Alolan Ui Changes Filter menu Compare.html hud Update Prices Some cards names Filters places"}, {"post_id": 71991, "ts": "2026-09-21T22:46:20Z", "hours": 2.1872, "text": "Version 1.16.0 I had to create a new folder, imgs2 , because GitHub only accepts 1,000 files per folder . Eight Pokémon collection have already been add: Ex: Ruby & Sapphire Ex: Sandstorm Ex: Dragon Ex: Team Magma vs Team Aqua Ex: Hidden Legends Ex: FireRed & LeafGreen Ex: Team Rocket Returns Ex: Deoxys New 79 cards Filters: Name Z-A Price Above 50 Price Between 21-200 Price Between 201-500 Price Between 501-1500 Price Above 1501 Ex Series Star Cards Category More credits Ui Changes Filter menu Search collections menu Collections menu Update Prices Some collections Names"}, {"post_id": 70867, "ts": "2026-09-19T21:54:41Z", "hours": 5.0539, "text": "Version 1.15.0 – Six Pokémon collection have already been completed: Rebel Clash Evolutions Unbroken Bonds Break Point Stellar Crown Ultra Prism New 109 cards Search Colection Ui Changes Colections menu Search menu Update Search system Prices All colections Names"}, {"post_id": 68890, "ts": "2026-09-15T23:36:43Z", "hours": 1.2878, "text": "Some bug fixes and more cards Sorry, I don’t have any free time these days :( More coins from different countries have also been added :)"}, {"post_id": 68336, "ts": "2026-09-14T23:24:27Z", "hours": 2.4978, "text": "Version 1.14.0 – Two Pokémon collection have already been completed: Flashfire Lost Origin New ?? cards I forgot to count them. Cards Menu Prices System Home pages Ui Changes Prices Options Menu Credits Menu Holographic Efect Update Search system Prices changes"}, {"post_id": 67585, "ts": "2026-09-13T18:48:34Z", "hours": 4.7533, "text": "Version 1.13.0 HUD UPDATE Two Pokémon collection have already been completed: Fusion Strike Sun & Moon (Base set) New 63 cards Card thumbnails next to their names in the search tab Ui Changes Buttons Home Page Pokemons Page Prices Menu Filter Menu Credits Menu Search Bar Update Prices of some cards Search system Prices changes"}, {"post_id": 65646, "ts": "2026-09-10T22:34:57Z", "hours": 4.5106, "text": "Version 1.12.0 Four Pokémon collection have already been completed: Darkness Ablaze Guardians Rising Burning Shadows Brilliant Stars News 138 cards Cards Menu Swapped Zoom system Swapped Update Prices of some cards Hud modals.css Collections system"}, {"post_id": 63570, "ts": "2026-09-07T14:20:05Z", "hours": 2.6225, "text": "Version 1.11.0 One Pokémon collection have already been completed: Twilight Masquerade News 58 cards Compare Cards system compare.html compare.js compare.css Update Ienes prices update Index carrosel Links Hud Search system Cards system"}, {"post_id": 63119, "ts": "2026-09-06T19:00:18Z", "hours": 2.8378, "text": "Version 1.10.0 Two Pokémon collections have already been completed: Caos Rising Pitch Black News 249 cards Prices Converter: Libras (UK) Iene (JPN) Dolar Australiano (AUS) Franco Suíço (CHF) Update Search system holographic.js Collections Table"}, {"post_id": 58228, "ts": "2026-08-30T16:11:28Z", "hours": 2.7058, "text": "Version 1.9.0 Two Pokémon collections have already been completed: Celebrations Evolving Skies News 181 cards Min. and Max. Prices filter 3D Holographic Efect Update Search system Pokemons page Pin colection data.js"}, {"post_id": 56226, "ts": "2026-08-27T21:59:26Z", "hours": 2.2678, "text": "Version 1.8.0 Three Pokémon collections have already been completed: Celestial Storm Team Up Champions Path News 98 cards Update Search system Pokemons page Pin colection data.js"}, {"post_id": 54030, "ts": "2026-08-24T19:39:40Z", "hours": 2.4872, "text": "Version 1.7.0 Three Pokémon collections have already been completed: Pokémon GO Shining Legends Scarlet & Violet: 151 The project will include only Full Art / EX / GX / V / VMAX / VSTAR / BREAK / V-UNION cards; Trainer and Energy cards will not be added, as the primary focus is exclusively on Pokémon (although previously added Trainer cards will not be removed). News 71 cards Update Search system Home page Pokemons page"}, {"post_id": 53408, "ts": "2026-08-23T23:00:11Z", "hours": 2.34, "text": "Version 1.6.0 News 51 cards Coins Carrosel Pin collection Update Collections system Search system Coins system Home page Collections Other Optimize data system Cards in their correct collections Correction of incorrect card art Currency conversion system (BRL, Dollar, Euro) correctly updated. Improvements to CSS code Small changes to the filtering system"}, {"post_id": 52695, "ts": "2026-08-22T23:45:19Z", "hours": 2.1908, "text": "Version 1.5.0 News 33 cards Collections Option Show the card collection New collections New CSS Update Pokemons Menu Other Optimize codes Change a little the UI"}, {"post_id": 51976, "ts": "2026-08-21T23:40:05Z", "hours": 3.0014, "text": "Version 1.4.0 BUGS FIXED News Coins See more cards option Optimize Show the card collection More cards Home page Cards page Coins page Update Hud Pokemons Menu Favorite System"}, {"post_id": 49250, "ts": "2026-08-17T22:50:40Z", "hours": 1.6881, "text": "Version 1.3.0 Please read all News 15 new pokemons Convert Money System BREAK Pokemons + Filter Web Icon Zoom pokemon card Update Hud Filter system Favorite Pokemons system Pokemons Menu Data Storage System Info The site is currently under development, and new Pokémon cards of various types will be added, such as: Tag Team V-UNION The conversion system may occasionally be inaccurate regarding EUR (Euro) and USD (US Dollar) values; therefore, comments and feedback are important to help ensure the cards reflect their actual market prices. Feel free to suggest cards to be added to the site."}, {"post_id": 48486, "ts": "2026-08-16T21:10:16Z", "hours": 2.2561, "text": "Version 1.2.0 News 23 new pokemons Favorite System Update Hud- Search system Filter system"}, {"post_id": 48306, "ts": "2026-08-16T16:46:40Z", "hours": 1.7733, "text": "** Version 1.1.0** News 31 new pokemons Filter System Vstar pokemons GX pokemons Vmax pokemons V pokemons Update Hud- Search system Pokemon values"}, {"post_id": 47822, "ts": "2026-08-16T01:10:41Z", "hours": 3.1025, "text": "Version 1.0.0 A Brazilian project focused on the Pokémon TCG, where you can check prices for Full Art, GX, and EX cards. The project is still under development, and we are adding more cards. Coming soon: Filter by card type Filter by set More cards Any feedback or ideas regarding the project will help us improve the site."}]...
|
Title: Pokemon Search Lib by @heitordecarvalhopess Title: Pokemon Search Lib by @heitordecarvalhopessoa | Stardance
Devlogs:
Version 1.0.0 A Brazilian project focused on the Pokémon TCG, where you can check prices for Full Art, GX, and EX cards. The project is still under development, and we are adding more cards. Coming soon: Filter by card type Filter by set More cards Any feedback or ideas regarding the project will help us improve the site.
** Version 1.1.0** News 31 new pokemons Filter System Vstar pokemons GX pokemons Vmax pokemons V pokemons Update Hud- Search system Pokemon values
Version 1.2.0 News 23 new pokemons Favorite System Update Hud- Search system Filter system
Version 1.3.0 Please read all News 15 new pokemons Convert Money System BREAK Pokemons + Filter Web Icon Zoom pokemon card Update Hud Filter system Favorite Pokemons system Pokemons Menu Data Storage System Info The site is currently under development, and new Pokémon cards of various types will be added, such as: Tag Team V-UNION The conversion system may occasionally be inaccurate regarding EUR (Euro) and USD (US Dollar) values; therefore, comments and feedback are important to help ensure the cards reflect their actual market prices. Feel free to suggest cards to be added to the site.
Version 1.4.0 BUGS FIXED News Coins See more cards option Optimize Show the card collection More cards Home page Cards page Coins page Update Hud Pokemons Menu Favorite System
Version 1.5.0 News 33 cards Collections Option Show the card collection New collections New CSS Update Pokemons Menu Other Optimize codes Change a little the UI
Version 1.6.0 News 51 cards Coins Carrosel Pin collection Update Collections system Search system Coins system Home page Collections Other Optimize data system Cards in their correct collections Correction of incorrect card art Currency conversion system (BRL, Dollar, Euro) correctly updated. Improvements to CSS code Small changes to the filtering system
Version 1.7.0 Three Pokémon collections have already been completed: Pokémon GO Shining Legends Scarlet & Violet: 151 The project will include only Full Art / EX / GX / V / VMAX / VSTAR / BREAK / V-UNION cards; Trainer and Energy cards will not be added, as the primary focus is exclusively on Pokémon (although previously added Trainer cards will not be removed). News 71 cards Update Search system Home page Pokemons page
Version 1.8.0 Three Pokémon collections have already been completed: Celestial Storm Team Up Champions Path News 98 cards Update Search system Pokemons page Pin colection data.js
Version 1.9.0 Two Pokémon collections have already been completed: Celebrations Evolving Skies News 181 cards Min. and Max. Prices filter 3D Holographic Efect Update Search system Pokemons page Pin colection data.js
Version 1.10.0 Two Pokémon collections have already been completed: Caos Rising Pitch Black News 249 cards Prices Converter: Libras (UK) Iene (JPN) Dolar Australiano (AUS) Franco Suíço (CHF) Update Search system holographic.js Collections Table
Version 1.11.0 One Pokémon collection have already been completed: Twilight Masquerade News 58 cards Compare Cards system compare.html compare.js compare.css Update Ienes prices update Index carrosel Links Hud Search system Cards system
Version 1.12.0 Four Pokémon collection have already been completed: Darkness Ablaze Guardians Rising Burning Shadows Brilliant Stars News 138 cards Cards Menu Swapped Zoom system Swapped Update Prices of some cards Hud modals.css Collections system
Version 1.13.0 HUD UPDATE Two Pokémon collection have already been completed: Fusion Strike Sun & Moon (Base set) New 63 cards Card thumbnails next to their names in the search tab Ui Changes Buttons Home Page Pokemons Page Prices Menu Filter Menu Credits Menu Search Bar Update Prices of some cards Search system Prices changes
Version 1.14.0 – Two Pokémon collection have already been completed: Flashfire Lost Origin New ?? cards I forgot to count them. Cards Menu Prices System Home pages Ui Changes Prices Options Menu Credits Menu Holographic Efect Update Search system Prices changes
Some bug fixes and more cards Sorry, I don’t have any free time these days :( More coins from different countries have also been added :)
Version 1.15.0 – Six Pokémon collection have already been completed: Rebel Clash Evolutions Unbroken Bonds Break Point Stellar Crown Ultra Prism New 109 cards Search Colection Ui Changes Colections menu Search menu Update Search system Prices All colections Names
Version 1.16.0 I had to create a new folder, imgs2 , because GitHub only accepts 1,000 files per folder . Eight Pokémon collection have already been add: Ex: Ruby & Sapphire Ex: Sandstorm Ex: Dragon Ex: Team Magma vs Team Aqua Ex: Hidden Legends Ex: FireRed & LeafGreen Ex: Team Rocket Returns Ex: Deoxys New 79 cards Filters: Name Z-A Price Above 50 Price Between 21-200 Price Between 201-500 Price Between 501-1500 Price Above 1501 Ex Series Star Cards Category More credits Ui Changes Filter menu Search collections menu Collections menu Update Prices Some collections Names
Version 1.17.0 Twelve Pokémon collection have already been add: Ex: Emerald Ex: Unseen Forces Ex: Delta Species Ex: Legend Maker Ex: Holon Phantoms Ex: Crystal Guardians Ex: Dragon Frontiers Ex: Power Keepers XY: Primal Clash XY: Roaring Skies XY: Ancient Origins Celebrations 30th New 292 cards Regions Filter Filters: Type: RGB Type: Shiny Category: Star Region: Paldean Region: Hisuian Region: Galarian Region: Alolan Ui Changes Filter menu Compare.html hud Update Prices Some cards names Filters places
Version 1.18.0 Two Pokémon collection have already been add: 1. Mega Evolution: Phantasmal Fire 2. Mega Evolution: Ascended Heroes New 126 cards Filters Ui Changes Filter menu Card Template Update Data.js ReadMe.md Prices
Ships:
POKÉMON SEARCH LIB A fan-made library featuring “beautiful” and “rare” Pokémon TCG cards; new cards will be added regularly as the site develops. Any feedback, as well as ideas for cards and collections to add, would be valuable for the site.
Pokemon Search is a library for looking up Pokémon card prices; it includes only Pokémon cards—no Energy or Trainer cards. Some sets are currently incomplete but will be added soon.
More systems have been added, such as a card price comparison tool, and the search system has been updated; additionally, more collections have been completed, and new collections have been introduced.
More collections and cards have been added, and many HUDs have been swapped out and updated to improve site performance; various systems have been modified to make them easier for any user to understand.
More card collections have been added, and the filtering and comparison systems have been improved; additionally, the HUDs have been updated to enhance site performance....
|
1792975672.803965
|
1793062072.803965
|
|
36625
|
Star Browser by @Aron_3763 | Stardance
|
Aron_3763
|
1
|
52.16
|
690
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-28T12:07:03Z", "hours": 48.0, "multiplier": 14.54, "payout": 690, "blessing": "neutral", "text": "I built a ligthweight and beautiful browser with AI integrated. It was simple in the beginning but when we started to add more features we had so many bugs that came out of nowhere. After a lot of hard work, my friend @adri_3763 and I managed to fix them with some help from AI for debugging and UI styles. I am so happy to ship this project. Try out the new features such as: AI memory and AI chat I can’t wait to hear your opinion about the project.", "repo": "https://github.com/Adriii3793/Star-Browser", "demo": "https://github.com/Adriii3793/Star-Browser/releases/tag/v1.1.2"}]...
|
[{"post_id": 63894, "ts": "202 [{"post_id": 63894, "ts": "2026-09-07T22:21:04Z", "hours": 4.1578, "text": "Hey everyone! Quick update on our browser project. @adri_3763 and I spent the past week testing it on Linux VMs, fixing bugs and making a few improvements. It took a bit longer than we planned. The VMs were very slow most of the time, and we both had a busy week outside of coding too. Anyway, everything is running smoothly now. There are still some things we want to improve, but overall we’re happy with how it’s going. Feel free to try it and let us know what you think. Byee!"}, {"post_id": 56556, "ts": "2026-08-28T11:10:45Z", "hours": 3.5425, "text": "Hey guys! We are excited to announce that we made it. After solving those final bugs, refining a few features and running a lot of tests, we are almost ready to ship it. We add a lot of effort Can’t wait to hear your feedback!"}, {"post_id": 53866, "ts": "2026-08-24T15:53:22Z", "hours": 6.5522, "text": "Hi guys,After a long break at the start of the month and a period of hard work, we finally fixed many bugs that were present in the browser. First of all, @adri_3763 and I added memory to the AI to make it smart so it can remember things. We added ad blockers too and the ability to set a personalized wallpaper. We added a button to copy the link from the search bar. On the homepage, we optimized the section for favorite websites and the media players. In the end we made some tests and optimized the code with AI to make it run smoothly and prevent lag. We are now ready to submit the work we did with so much effort. Thanks for everything, and I hope y’all will support us!"}, {"post_id": 36582, "ts": "2026-07-28T19:55:24Z", "hours": 9.8556, "text": "Hello everyone! During the last few days I’ve been focusing on improving the overall look and feel of the browser. I redesigned the UI to make it cleaner and more consistent while also giving the AI panel a completely new style that matches the rest of the interface. I also added smooth animations to the windows, making transitions feel much more polished. I fixed several bugs in the browser dropdown menu that appeared after the recent UI changes. I also resolved multiple issues affecting the window control buttons which had broken during the various interface updates. Meanwhile @adri_3763 is still working on the backend and is currently focused on improving the setup interface. That’s all for now. See you in the next devlog."}, {"post_id": 33770, "ts": "2026-07-23T23:11:43Z", "hours": 9.8186, "text": "Hello everyone! During the last few days I’ve been focusing on adding new elements to the UI. I implemented the main browser dropdown menu, which now includes all the standard options like Zoom controls and add a New Tab. I also built the new tab start page. It now features a greeting message and a row of quick-access shortcuts for websites like Google, GitHub, and YouTube. The AI chat window is now fully styled and integrated into the right sidebar. It includes the active chat view and an input field that supports both text messages and image dragging. Meanwhile, @adri_3763 is still working on the backend but now he is focused on the part of the setup interface and he is still improving it. That’s all for now. Thank you for reading"}, {"post_id": 32334, "ts": "2026-07-21T13:18:39Z", "hours": 10.8381, "text": "Hello everyone!During the last few days I’ve been mainly working on improving the app and cleaning up some of the problems we had. A big part of my time went into fixing the window movement and making the UI feel smoother. I also worked on the tabs system and added the ability to drag them around. It took longer than expected because there were some annoying crashes that kept showing up, but after a lot of debugging everything is finally working much better.I also helped with some of the issues we had while sharing and syncing files through Git. We had a few errors that slowed our progress, but we managed to get past them.Right now I’m focusing more on the AI part of the project. I’m styling the AI window and preparing everything needed to integrate it into the search system. Meanwhile, @Adri_3763 has been working on other parts of the app, and we’ve been trying to put everything together step by step.There is still a lot to do, especially with the backend. Some parts are taking more time than expected, but the project is slowly coming together.That’s all for now. Thank you for reading"}, {"post_id": 30401, "ts": "2026-07-17T21:59:28Z", "hours": 7.6994, "text": "Hello everyone, Yesterday and today, my friend @adri_3763 and I worked together at the library for 8 hours each day on our project. Our goal is to build a fast, secure, and beautiful browser. We decided to collaborate on the same files and divided the tasks: Adrian designed the front page, while I worked on the window controls. We ran into several issues, especially with the UI and broken code. I was not able to complete my part of the project because I encountered many bugs. Currently, I am working on making it possible to run the application on MacOS. However, we supported each other and used AI to solve the problems. In the next few days, I will start fixing everything. Our next steps are to fix the bugs in the window controls, refine the UI, and if possible, begin working on the backend. This project is completely new to us. We are learning new languages like Svelte, learning how to collaborate, and discovering how to create applications. Thanks for reading."}]...
|
Title: Star Browser by @Aron_3763 | Stardance
Dev Title: Star Browser by @Aron_3763 | Stardance
Devlogs:
Hello everyone, Yesterday and today, my friend @adri_3763 and I worked together at the library for 8 hours each day on our project. Our goal is to build a fast, secure, and beautiful browser. We decided to collaborate on the same files and divided the tasks: Adrian designed the front page, while I worked on the window controls. We ran into several issues, especially with the UI and broken code. I was not able to complete my part of the project because I encountered many bugs. Currently, I am working on making it possible to run the application on MacOS. However, we supported each other and used AI to solve the problems. In the next few days, I will start fixing everything. Our next steps are to fix the bugs in the window controls, refine the UI, and if possible, begin working on the backend. This project is completely new to us. We are learning new languages like Svelte, learning how to collaborate, and discovering how to create applications. Thanks for reading.
Hello everyone!During the last few days I’ve been mainly working on improving the app and cleaning up some of the problems we had. A big part of my time went into fixing the window movement and making the UI feel smoother. I also worked on the tabs system and added the ability to drag them around. It took longer than expected because there were some annoying crashes that kept showing up, but after a lot of debugging everything is finally working much better.I also helped with some of the issues we had while sharing and syncing files through Git. We had a few errors that slowed our progress, but we managed to get past them.Right now I’m focusing more on the AI part of the project. I’m styling the AI window and preparing everything needed to integrate it into the search system. Meanwhile, @Adri_3763 has been working on other parts of the app, and we’ve been trying to put everything together step by step.There is still a lot to do, especially with the backend. Some parts are taking more time than expected, but the project is slowly coming together.That’s all for now. Thank you for reading
Hello everyone! During the last few days I’ve been focusing on adding new elements to the UI. I implemented the main browser dropdown menu, which now includes all the standard options like Zoom controls and add a New Tab. I also built the new tab start page. It now features a greeting message and a row of quick-access shortcuts for websites like Google, GitHub, and YouTube. The AI chat window is now fully styled and integrated into the right sidebar. It includes the active chat view and an input field that supports both text messages and image dragging. Meanwhile, @adri_3763 is still working on the backend but now he is focused on the part of the setup interface and he is still improving it. That’s all for now. Thank you for reading
Hello everyone! During the last few days I’ve been focusing on improving the overall look and feel of the browser. I redesigned the UI to make it cleaner and more consistent while also giving the AI panel a completely new style that matches the rest of the interface. I also added smooth animations to the windows, making transitions feel much more polished. I fixed several bugs in the browser dropdown menu that appeared after the recent UI changes. I also resolved multiple issues affecting the window control buttons which had broken during the various interface updates. Meanwhile @adri_3763 is still working on the backend and is currently focused on improving the setup interface. That’s all for now. See you in the next devlog.
Hi guys,After a long break at the start of the month and a period of hard work, we finally fixed many bugs that were present in the browser. First of all, @adri_3763 and I added memory to the AI to make it smart so it can remember things. We added ad blockers too and the ability to set a personalized wallpaper. We added a button to copy the link from the search bar. On the homepage, we optimized the section for favorite websites and the media players. In the end we made some tests and optimized the code with AI to make it run smoothly and prevent lag. We are now ready to submit the work we did with so much effort. Thanks for everything, and I hope y’all will support us!
Hey guys! We are excited to announce that we made it. After solving those final bugs, refining a few features and running a lot of tests, we are almost ready to ship it. We add a lot of effort Can’t wait to hear your feedback!
Hey everyone! Quick update on our browser project. @adri_3763 and I spent the past week testing it on Linux VMs, fixing bugs and making a few improvements. It took a bit longer than we planned. The VMs were very slow most of the time, and we both had a busy week outside of coding too. Anyway, everything is running smoothly now. There are still some things we want to improve, but overall we’re happy with how it’s going. Feel free to try it and let us know what you think. Byee!
Ships:
I built a ligthweight and beautiful browser with AI integrated. It was simple in the beginning but when we started to add more features we had so many bugs that came out of nowhere. After a lot of hard work, my friend @adri_3763 and I managed to fix them with some help from AI for debugging and UI styles. I am so happy to ship this project. Try out the new features such as: AI memory and AI chat I can’t wait to hear your opinion about the project....
|
1792979457.978945
|
1793065857.978945
|
|
36047
|
Gomoku Balanced by @EthanCubes | Stardance
|
EthanCubes
|
1
|
50.0
|
682
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-26T03:17:59Z", "hours": 50.0, "multiplier": 13.83, "payout": 682, "blessing": "neutral", "text": "I made Gomoku in Pygame. Gomoku is an East Asian board game that’s kinda similar to Tic-Tac-Toe, except the board is 15x15 or 19x19 and the players are aiming for 5 in a row instead of 3. By far the hardest part of making this was making the bot that plays against you. It essentially scans every spot on the board for a specific pattern, and places a stone when it detects the pattern, which allows it to make and respond to threats. In order to balance the game, the board starts in a randomized position. This is done because when black starts and places a stone in the middle of the board, there is a 100% chance theoretically and 67% chance practically that black will win, which is kinda unfair. The program also includes a somewhat functional title screen and a volume toggle that stores the status on a persistent config file. This is my first actually serious Python project, and my first time making any sort of GUI in a non-browser based programming language (like not scratch and not javascript). It was really satisfying to make, even if I did get annoyed a lot while making it.", "repo": "https://github.com/EthanCubes/gomoku-balanced", "demo": "https://ethancubes.itch.io/gomoku-balanced"}]...
|
[{"post_id": 34941, "ts": "202 [{"post_id": 34941, "ts": "2026-07-26T01:55:06Z", "hours": 3.2747, "text": "Devlog #11: Probably final devlog before ship The project is now released on Itch.io ! There’s files for Linux, MacOS, and Windows since compatibility is important. I personally daily drive Linux, but I know that most people use Mac or Windows. If I get 5 likes on this post I might release this for iOS and Android (depends on if it costs money to release idk) Yes, it did take me 3 hours to package the files and put them on GitHub and Itch.io. Yes, I also used AI a lot for it, but in my defense this is my first time doing anything like this. There were also a couple of issues with the assets locations, and I also had to use AI but overall I think AI only takes up maybe 2-3% of this project."}, {"post_id": 34373, "ts": "2026-07-25T01:06:30Z", "hours": 4.3381, "text": "Devlog #10: The bot is finally fixed. Now it (almost) never misses tactics, and it plays about 10 times faster thanks to better scanning. So essentially what I did was for every empty spot on the board, it scans for a specified pattern. If a pattern is found, it returns the coordinates, which are then placed. If somehow there are no patterns, the bot either tries to get 2 in a row or plays randomly. the screenshot is me losing to my own creation. probably because i lowkey have a skill issue"}, {"post_id": 33892, "ts": "2026-07-24T05:27:36Z", "hours": 3.6411, "text": "Devlog #9 I added a volume toggle to the main menu. IDK if I mentioned this, but I added background music to the game. It gets annoying listening to the same 3 songs for so long, so I made a 2 buttons with Inkscape and coded it so that they toggle between each other depending on if the background music is turned on or turned off. I decided to switch from Visual Studio Code to PyCharm, and was then assaulted by like 50 warnings about how everything I did went against some kind of Python convention or another. It took me like an hour, but I managed to get all the errors sorted out. The bot is still broken, IDK why :("}, {"post_id": 33710, "ts": "2026-07-23T20:49:56Z", "hours": 4.3214, "text": "Devlog #8 Some relatively small changes like README improvements and adding the ability for the game to handle draws. Believe it or not, it’s actually possible to get a draw by filling up the entire board, but it isn’t easy (see image below). I also removed the bot’s AI because it was really unoptimized and inefficient, and I am now in the process of rebuilding the bot’s AI from scratch."}, {"post_id": 33168, "ts": "2026-07-22T20:36:21Z", "hours": 5.2072, "text": "Devlog #7 The bot can now create threats and and will try to win. It’s still kinda dumb imo, but I’m a relatively skilled player so yeah. I was thinking of maybe using an engine someone else had built to power the bot but I couldn’t find anything. The bot still misses tactics from me like 50% of the time and idk how to make it better."}, {"post_id": 32152, "ts": "2026-07-21T03:41:15Z", "hours": 6.3583, "text": "Devlog #6 I added intelligence to the bot. It’s not that smart yet, but it now actively can try to thwart your plans by blocking you when you have 3 or 4 in a row, and will also try to get 5 in a row. I did this by searching for 3 and 4 in a row using a modified version of the function that scans for the game conclusion (5 in a row). To help evaluate the position, I created a separate copy of the board, then simulated placing stones on every spot and seeing if there’s a 4 or 5 in a row now. For a while, if there was already a 3 or 4 in a row on the board, the engine would just think that the first available spot was a good spot, which is not good. I solved this by getting the function to return the position where the 4 or 5 in a row is located. The bot has yet to beat me in a game where I took it seriously, but hopefully that changes soon."}, {"post_id": 31571, "ts": "2026-07-20T02:25:51Z", "hours": 1.4769, "text": "Devlog #5 I made singlepayer vs bot (finally). Only problem, the bot players with the skill of a blind and deaf 2 year old, which is too say, completely randomly. I will proceed to stall the creation of an somewhat competent engine for this for like 3 weeks."}, {"post_id": 31526, "ts": "2026-07-20T00:25:58Z", "hours": 2.8094, "text": "Devlog #4: Optimizations and StartPositions As the title implies, I optimized the code and tried to fix what is called “spaghetti code”. I guess I was somewhat successful but I won’t know until I start trying to implement singleplayer with the bot. One thing about this project that I haven’t implemented yet is the actual swap2 balancing. Except that actually implementing swap2 turns out to be very hard, so I decided to use my own balancing method instead, by just picking a random starting position with 3 stones on the board. Is this the best? No. But does it work better than the pro method? Probably idk."}, {"post_id": 31414, "ts": "2026-07-19T19:21:03Z", "hours": 9.7492, "text": "#Devlog #3 I added a main menu to the game. It doesn’t look good or anything, and I had to make the buttons in GIMP because I was too lazy to draw the buttons on Pygame. From the main menu, you can quit the game, play offline multiplayer, and there’s also buttons for settings and singleplayer, which don’t do anything except stop you from clicking any buttons. After someone wins in offline multiplayer, a line gets drawn (like in tic-tac-toe), and you exit back to the main menu. For a long time, it was broken and after you exited, you weren’t able to start another game, but that was because of a bug with resetting the board."}, {"post_id": 29940, "ts": "2026-07-17T03:45:26Z", "hours": 4.4617, "text": "Devlog #2 So you can now actually play the game. It only took me 8 hours. What I added Placing stones The most basic gameplay mechanic of Gomuku and Go. When you click on a place you can place a stone (in Gomuku and Go it’s where the lines intersect), a stone appears according which player’s turn it currently is. Winning When you get 5 in a row, you win. The game window closes instantly, which isn’t really good, but I couldn’t find a way to display a gameover message (at least not yet) Struggles Misalignment For a long time, the rendering script was somehow broken and stones would display in the incorrect location. I solved it by manually moving the stones 45 pixels up and left. Gameover detection This took me so long. For the longest time, it seemed like the code was just not running. Then I asked AI because I literally did not know what to do, then the program just crashed on start. Then I asked AI again and it works now. Apparently it was because I used break and return prematurely, which lead to most of the squares not being detected."}, {"post_id": 29705, "ts": "2026-07-16T19:55:08Z", "hours": 4.34, "text": "#Devlog #1 My family is from China, and so as I grew up I played a lot of Asian board games. One of those was Gomuku, or Wuziqi. So I decided to make it in Python, with a bit of a twist. Most of the gomuku websites on the internet, and even my family, when we played it, use the Pro ruleset. In this ruleset, the player that starts first (black) has literally a 100% chance of winning in a perfect game, and a 67% chance of winning in actual competitive play. This is of course, unfair, so the highest level tournaments instead use the swap2 ruleset (hence the swap2 in the project name), which balances things out. TBH I don’t really understand it much but I’ll figure it out. So this session, I just made a game board in Pygame. This should not have taken me 3 hours, but I don’t have any experience in Pygame beforehand, and also I tried to code the code for placing the stones before the code to actually rendering the game. I had to delete the code since it was very confusing when writing the code to draw the board."}]...
|
Title: Gomoku Balanced by @EthanCubes | Stardance
Title: Gomoku Balanced by @EthanCubes | Stardance
Devlogs:
#Devlog #1 My family is from China, and so as I grew up I played a lot of Asian board games. One of those was Gomuku, or Wuziqi. So I decided to make it in Python, with a bit of a twist. Most of the gomuku websites on the internet, and even my family, when we played it, use the Pro ruleset. In this ruleset, the player that starts first (black) has literally a 100% chance of winning in a perfect game, and a 67% chance of winning in actual competitive play. This is of course, unfair, so the highest level tournaments instead use the swap2 ruleset (hence the swap2 in the project name), which balances things out. TBH I don’t really understand it much but I’ll figure it out. So this session, I just made a game board in Pygame. This should not have taken me 3 hours, but I don’t have any experience in Pygame beforehand, and also I tried to code the code for placing the stones before the code to actually rendering the game. I had to delete the code since it was very confusing when writing the code to draw the board.
Devlog #2 So you can now actually play the game. It only took me 8 hours. What I added Placing stones The most basic gameplay mechanic of Gomuku and Go. When you click on a place you can place a stone (in Gomuku and Go it’s where the lines intersect), a stone appears according which player’s turn it currently is. Winning When you get 5 in a row, you win. The game window closes instantly, which isn’t really good, but I couldn’t find a way to display a gameover message (at least not yet) Struggles Misalignment For a long time, the rendering script was somehow broken and stones would display in the incorrect location. I solved it by manually moving the stones 45 pixels up and left. Gameover detection This took me so long. For the longest time, it seemed like the code was just not running. Then I asked AI because I literally did not know what to do, then the program just crashed on start. Then I asked AI again and it works now. Apparently it was because I used break and return prematurely, which lead to most of the squares not being detected.
#Devlog #3 I added a main menu to the game. It doesn’t look good or anything, and I had to make the buttons in GIMP because I was too lazy to draw the buttons on Pygame. From the main menu, you can quit the game, play offline multiplayer, and there’s also buttons for settings and singleplayer, which don’t do anything except stop you from clicking any buttons. After someone wins in offline multiplayer, a line gets drawn (like in tic-tac-toe), and you exit back to the main menu. For a long time, it was broken and after you exited, you weren’t able to start another game, but that was because of a bug with resetting the board.
Devlog #4: Optimizations and StartPositions As the title implies, I optimized the code and tried to fix what is called “spaghetti code”. I guess I was somewhat successful but I won’t know until I start trying to implement singleplayer with the bot. One thing about this project that I haven’t implemented yet is the actual swap2 balancing. Except that actually implementing swap2 turns out to be very hard, so I decided to use my own balancing method instead, by just picking a random starting position with 3 stones on the board. Is this the best? No. But does it work better than the pro method? Probably idk.
Devlog #5 I made singlepayer vs bot (finally). Only problem, the bot players with the skill of a blind and deaf 2 year old, which is too say, completely randomly. I will proceed to stall the creation of an somewhat competent engine for this for like 3 weeks.
Devlog #6 I added intelligence to the bot. It’s not that smart yet, but it now actively can try to thwart your plans by blocking you when you have 3 or 4 in a row, and will also try to get 5 in a row. I did this by searching for 3 and 4 in a row using a modified version of the function that scans for the game conclusion (5 in a row). To help evaluate the position, I created a separate copy of the board, then simulated placing stones on every spot and seeing if there’s a 4 or 5 in a row now. For a while, if there was already a 3 or 4 in a row on the board, the engine would just think that the first available spot was a good spot, which is not good. I solved this by getting the function to return the position where the 4 or 5 in a row is located. The bot has yet to beat me in a game where I took it seriously, but hopefully that changes soon.
Devlog #7 The bot can now create threats and and will try to win. It’s still kinda dumb imo, but I’m a relatively skilled player so yeah. I was thinking of maybe using an engine someone else had built to power the bot but I couldn’t find anything. The bot still misses tactics from me like 50% of the time and idk how to make it better.
Devlog #8 Some relatively small changes like README improvements and adding the ability for the game to handle draws. Believe it or not, it’s actually possible to get a draw by filling up the entire board, but it isn’t easy (see image below). I also removed the bot’s AI because it was really unoptimized and inefficient, and I am now in the process of rebuilding the bot’s AI from scratch.
Devlog #9 I added a volume toggle to the main menu. IDK if I mentioned this, but I added background music to the game. It gets annoying listening to the same 3 songs for so long, so I made a 2 buttons with Inkscape and coded it so that they toggle between each other depending on if the background music is turned on or turned off. I decided to switch from Visual Studio Code to PyCharm, and was then assaulted by like 50 warnings about how everything I did went against some kind of Python convention or another. It took me like an hour, but I managed to get all the errors sorted out. The bot is still broken, IDK why :(
Devlog #10: The bot is finally fixed. Now it (almost) never misses tactics, and it plays about 10 times faster thanks to better scanning. So essentially what I did was for every empty spot on the board, it scans for a specified pattern. If a pattern is found, it returns the coordinates, which are then placed. If somehow there are no patterns, the bot either tries to get 2 in a row or plays randomly. the screenshot is me losing to my own creation. probably because i lowkey have a skill issue
Devlog #11: Probably final devlog before ship The project is now released on Itch.io ! There’s files for Linux, MacOS, and Windows since compatibility is important. I personally daily drive Linux, but I know that most people use Mac or Windows. If I get 5 likes on this post I might release this for iOS and Android (depends on if it costs money to release idk) Yes, it did take me 3 hours to package the files and put them on GitHub and Itch.io. Yes, I also used AI a lot for it, but in my defense this is my first time doing anything like this. There were also a couple of issues with the assets locations, and I also had to use AI but overall I think AI only takes up maybe 2-3% of this project.
Ships:
I made Gomoku in Pygame. Gomoku is an East Asian board game that’s kinda similar to Tic-Tac-Toe, except the board is 15x15 or 19x19 and the players are aiming for 5 in a row instead of 3. By far the hardest part of making this was making the bot that plays against you. It essentially scans every spot on the board for a specific pattern, and places a stone when it detects the pattern, which allows it to make and respond to threats. In order to balance the game, the board starts in a randomized position. This is done because when black starts and places a stone in the middle of the board, there is a 100% chance theoretically and 67% chance practically that black will win, which is kinda unfair. The program also includes a somewhat functional title screen and a volume toggle that stores the status on a persistent config file. This is my first actually serious Python project, and my first time making any sort of GUI in a non-browser based programming language (like not scratch and not javascript). It was really satisfying to make, even if I did get annoyed a lot while making it....
|
1792986802.9005878
|
1793073202.9005878
|
|
35149
|
Wingspan for Pterodactyl by @brahmtejsawhney | Sta Wingspan for Pterodactyl by @brahmtejsawhney | Stardance...
|
brahmtejsawhney
|
2
|
38.44
|
680
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-17T07:32:22Z", "hours": 14.0, "multiplier": 17.93, "payout": 246, "blessing": "neutral", "text": "Hello! If you are new here, welcome! This is my flagship project called Wingspan, It’s used by system administrators and infrastructure managers to manage their virtual servers in bulk rather than one by one. This project works in the terminal with AMAZING Terminal UI! This is my second ship. I have worked on making the Server Purge Function, to easily delete servers in large quantities. In my previous ships, I worked on making the basics of the code and functions to index and search the database. I have received extremely positive comments for this project, and i’m really proud of making it! Do star it on github if you like this one!", "repo": "https://github.com/brahmtej2009/wingspan", "demo": "https://github.com/brahmtej2009/Wingspan/blob/main/SHIPWRIGHTS.md"}, {"ship_num": 2, "ts": "2026-09-23T10:49:52Z", "hours": 24.0, "multiplier": 18.44, "payout": 434, "blessing": "neutral", "text": "Welcome to WingSpan, A project to bulk manage your self hosted hardware on pterodactyl. Easily search through servers, get detailed information, export lists based on precise filtering and more! It is made for people like me, who manage hundreds of servers daily, and need to perform bulk actions on them. Its posted on frictionless mission because it would make my life really easy as it automates a lot of my work and would save me a LOT of clicks! cant wait for you to try it out! <3", "repo": "https://github.com/brahmtej2009/wingspan", "demo": "https://github.com/brahmtej2009/Wingspan/blob/main/SHIPWRIGHTS.md"}]...
|
[{"post_id": 80768, "ts": "202 [{"post_id": 80768, "ts": "2026-10-18T18:48:38Z", "hours": 0.4375, "text": "ps: not an official devlog, just an update Show and Tell + Super Star This was another great show and tell, and OMG SUPER STAR! Thanks @Lazyllama ❤️ Ty guys, rly grateful!! Image shows me submitting to Show and Tell and 2nd Image showing my Super Star!"}, {"post_id": 80312, "ts": "2026-10-17T07:27:32Z", "hours": 2.9072, "text": "Devlog 19 Show and Tell #1 WINNER Project! 🏆 Progress Done Purge function has been completely created. I have worked on API Request Error Catching in duration of this devlog. I have integrated all the standard practices and error catching which is required, and now the program displays the error and a solution to fix it. Also, it tracks if there are any errors due to wingspan itself, and provides resolution! Great Stuff! I also started work on User Purge Function, which i’ll release in the ship after shipping Server Purge. There was a bug in the release file, which prevented auto update in windows. Fixed that. Features Added/Worked on Better API Requests to Pterodactyl Rate Limit detector and queue Error Catching and Resolution Server Purge Function Completed Started work on User Purge What new I learnt I learnt to work with industry standard error catching I learnt to make better API systems I learnt to work with queues and rate limiters I learnt to use DELETE Protocol What I would be working on Completing Documentation till here Shipping till Server Purge AI Declaration Claude was used to find out bug in release file only. No AI was used in code during the span of this devlog. All places where AI was used in code, is mentioned properly in the source code. The attached image shows the Release Page of the project, project homepage and some lovely previous votes screenshots."}, {"post_id": 79114, "ts": "2026-10-12T18:33:47Z", "hours": 2.0575, "text": "Devlog 18 Progress Done Purge feature is now functional. Server purges are working as expected. I have added 4 purge methods. Parameters are Forced/Unforced, and Verified and Unverified.So, FV,FU,UV,UU. When you choose unforced method, it would ensure a clean deletion, and ensure the entire data is wiped. On a forced delete, it would delete it from frontend, and only attempt to clean it entirely. Force method is useful to delete servers whose nodes have been discontinued, or conditions where unforced wouldnt work. Verified feature ensures that the purge process goes as close to the expected outcome as possible, and if anything is detected which shouldnt be so, wingspan would prompt you there, so you can take manual action right there on the spot while it purges. Unverified means that wingspan would try its best to delete all the servers given in the importlist and would not prompt the user in case of discrepancies. Features Added/Worked on Import Verification Server Name Live Verification Completed Beta Purge Function Updated Menu to allow Purge Function Wingspan now needs an Admin API key with Full Perms (Readonly no longer works) What I would be working on Bugchecking all the features I made Attempting to delete some servers in massive quantities. Starting work on User Purge Function Do changes in README.md for the new purge function documentation. Find a good reliable Pterodactyl API Docs Website. AI Declaration No AI was used in code in the duration of this devlog. All places where AI was used in code, is mentioned properly in the source code. The attached image shows the Graphical UI of the Purge Function along with the questions it asks."}, {"post_id": 78414, "ts": "2026-10-10T18:32:47Z", "hours": 3.1958, "text": "Devlog 17 Show and Tell #1 WINNER Project! 🏆 Progress Done Ship Approved! Yay! Also, Show and Tell Winner! So, during the span of this devlog, I have worked on creating release files for this project, in a way that they do not have to be updated everr! Also, I have worked on the Purge Function, and have completed the server list import, and have made major changes in server list export function, which now exports minimally required data only for security reasons. Also, I have made quite a lot of confirmations that the person has to fill in order for the servers to actually get deleted, which is a good practice so a person doesnt anciently delete their entire pterodactyl. Also, I have worked on advanced logging in the import system and a very smart directory checker. Also, exporting now adds the panel’s URL on top of the export file, so a wingspan session linked to another panel does not perform critical actions on wrong servers. It properly verifies the import file and gives a clear warning if needed. Features Added/Worked on Export Function Major Changes New Import Function Improved logging Purge Function Increased security and confirmations before taking critical actions. What new I learnt I learnt to export files I learnt to import files I learnt security and integrity tactics to prevent unwanted destruction I learnt to do better logging What I would be working on Completing server purge function Starting work on user purge function AI Declaration No AI was used in code in the duration of this devlog. All places where AI was used in code, is mentioned properly in the source code. The attached file shows and older video I recorded of me using the project."}, {"post_id": 77037, "ts": "2026-10-05T13:23:55Z", "hours": 5.5469, "text": "Devlog 16 Progress Done The project is still on its reviewing stage, in the meantime, I have worked on releasing the executable release for both windows and linux. The executables are internally dynamic, so it updates to the latest wingspan version on every boot. Alongside, I have also worked on a lot of bugfixes, added more detailed logging, Autoboot after Setup and more. I have also worked on the purge function, specifically on the server purge feature. I have completed the export function and import function for the server lists. So server lists could be imported to action functions. I have also worked on reducing the boot time for linux, and on a fresh install, its as little as 5 seconds for the complete install and setup. I’ll be releasing more things after the ship gets approved! Features Added/Worked on Enhanced Logging System Added Release Executables/Binaries Added Auto Updater Added Importer Function for exported server-lists Fixed bugs and slight performance enhancement for windows Massive performance enhancement for linux What new I learnt I learnt to make a formal logging system I learnt to create binaries of python I learnt how to export and import and edit csv I learnt to optimize code on linux I learnt to make Auto Updaters and Version Checkers What I would be working on Completing server purge function Improving performance for windows systems Adding verification of exports while importing them Warnings before destructive action AI Declaration No AI was used in code in the duration of this devlog. AI was used in helping me with creating the executables from the code. All places where AI was used in code, is mentioned properly in the source code. The attached image shows the Release Page of the project, Purge Window Screenshots and Export File Content Screenshots."}, {"post_id": 72609, "ts": "2026-09-23T10:33:51Z", "hours": 2.5994, "text": "Changelog Repo Created on Git, Code Uploaded. V1: Added: Server & Info Fn. Welcome to wingspan folks! <3"}, {"post_id": 71935, "ts": "2026-09-21T20:20:07Z", "hours": 4.2222, "text": "Devlog 14 Progress Done I know this is a very delayed devlog, I had my exams mid way. I’m into the 20th hour of the project, most of the stuff is made. API System is ready, most of the code which would be shared across multiple functions is ready. First function, of Bulk Search and server lookup is also complete. Server lookup function has a really cool UI. Alongside with that, I have also added export option to the Bulk Server Search, you can use the exported file on other functions which take actions on server. Features Added/Worked on Completed Bulk Search and Server Lookup Added server list export Added Shipwrights Docs (Readme for shipwrights) Worked on fixing bugs and README What new I learnt I learnt to work with CSV files I learnt to spoof responses to provide hardcoded outputs (For shipwrights testing) I learnt how to read and save data into json and env I learnt to add images into my Readme AI Declaration A little bit AI was used in CSV saving mechanics, so its saved in a way so could be read back easily for processing later. Server Lookup’s UI was heavily created with help of AI, as I was not able to achieve that high information density without use of AI. Rest, updates in README and SHIPWRIGHTS.md were all done by hand with 0% AI. The attached image shows the new Server Lookup UI, new readme with banner and terminal header, shipwrights file, csv file output."}, {"post_id": 36602, "ts": "2026-07-28T20:22:42Z", "hours": 0.5042, "text": "Devlog 13 Progress Done I did not do much today as the schedule was really busy, I have done a little bit of debugging and bughunting by testing with different kinds of server eggs and parameters on pterodactyl. I have not found any major issue yet, there were some little issues with server search function where some parameters would not show up, that is fixed. Rest, I also am working on the server info function and the readme. Features Added/Worked on Finished with Server Search Worked on CSV Export Started work on Server Info Function AI Declaration No AI Used for this devlog period The attached photos show the new updates to the readme and docs."}, {"post_id": 36001, "ts": "2026-07-27T20:15:25Z", "hours": 1.0306, "text": "Devlog 12 Progress Done I am now making the Server Info function, which provides all the server information in one very well managed panel. Thanks to my fellow developer @stef [U0823APHVK7], I got to know that most of the pterodactyl API docs out there are AI generated and are mostly inaccurate. The accurate one is: https://pterodactyl-api.redbanana.dev I have also experienced issues with Pterodactyl itself, not working right with parameter based data fetching, Il work more on it as most likely its some my side issue. I am also working on adding some kind of live table display right into the terminal to beautifully display the data from the Server Info function. Features Added/Worked on Finished with Server Search Worked on CSV Export Started work on Server Info Function AI Declaration No AI Used for this devlog period The attached video show the preview pics of the new Server Info function."}, {"post_id": 35424, "ts": "2026-07-26T20:28:47Z", "hours": 0.6428, "text": "Devlog 11 Progress Done Im in the 14th Hour of the project, and I have worked on the readme. I have written installation process, and scopes of this project. Also, I have added credits as required. All content is human written, no AI used. Features Added/Worked on Added Readme AI Declaration No AI Used for this devlog period The attached video show the preview pics of the readme."}, {"post_id": 34748, "ts": "2026-07-25T18:37:48Z", "hours": 1.3872, "text": "Devlog 10 Progress Done Im in the 13th hour of the project, and have completely finished the first feature of Searching and Indexing servers. This feature allows you to search from bulk server lists and filter out servers based on all the parameters. It also works with any extension which you may add in future which adds more parameters in the panel, its universally compatible. Next, I would be working on the Purge function, on which we would be using the Search and Info function, to export a csv list and import it into the purgetool to eliminate servers. Features Added/Worked on Refined menus and controls Added more colors Added support for complete universal API [Explained above] Finished with the first function of the software What new I learnt I learnt to work with APIs I learnt to manage big data I learnt to make really complicated nested loops I learnt to convert Json and Lists from 2D to 1D AI Declaration A little bit of AI was used to automate repetitive tasks to save time in the search and info function, where filter rules had to be created for each datatype separately and code was mostly same as I written by hand. AI was used to just change variable names and fit it for other datatypes. AI was also used for debugging and checking if everything works alright. Wherever AI was used, has an AI marker in the source code. The attached video show the first working function which is filtering servers based on user inputs."}, {"post_id": 34235, "ts": "2026-07-24T19:23:32Z", "hours": 0.445, "text": "Devlog 9 Progress Done Im working on the final parts of the first function, that is filtering and exporting. Next I would be moving onto purge manager and related functions which are more useful in real life. Input of the ID parameter was giving vague errors when provided with ranges, It took me a lot of debugging to find the source of the issue, and that was a string was being compared to an int (str<int) in a part of code where I didnt typecast. That is fixed now. AI Declaration Close to None AI was used for this devlog. The attached images show the accepted input of the ID field when put with a range."}, {"post_id": 33694, "ts": "2026-07-23T20:23:16Z", "hours": 0.3294, "text": "Devlog 8 Progress Done Im done with Search and Info function’s basics. Only export options and other advanced options are left to be created. This is a really little 15 minute devlog to mark the achievement of the first actual usable feature in the program, which took me about 11 hours, and this project would be having about 20 of such large functions, making this an extremely detailed and big project. In this devlog, I also want to thank each and every follower of mine, for taking interest in my project and supporting me! Thankyou. AI Declaration Close to None AI was used for this devlog. Everything was done by hand for self learning and improvement. The attached images show the Banner of project."}, {"post_id": 33143, "ts": "2026-07-22T19:44:20Z", "hours": 1.6344, "text": "Devlog 7 Progress Done Im into the 12th hour of the project, and I have done a lot of progress on the first function, which is search and info. I have worked on the parameter search option which is an extremely bulky work as im making it compatible with future upgrades and any extra addons that the user may have which cause changes in the API, I’m adding dynamic automatic support for new fields too for search, while taking all inputs and performing operations in the terminal. I am completely AVOIDING AI for this devlog, and focusing on complete self improvement and understanding of such deeply nested code structures. This is a partial devlog, meaning it doesnt mark a completion of a feature. AI Declaration Close to None AI was used for this devlog. Everything was done by hand for self learning and improvement. The attached images show the home page, followed by the new Search from Parameters Mode…"}, {"post_id": 32494, "ts": "2026-07-21T18:30:08Z", "hours": 3.0075, "text": "Devlog 6 Progress Done Its the 11th hour into the project and the progress is booming! I have started working on the interactive menus of the program. I have also started work on the first function, which is “Search and Info”, in which you can select parameters to search from, and it performs bulk search for you, which you can export to a file, or use in the program internally to trigger actions, or get detailed info about. I have also added terminal ui from curses in this, for the parameter selector, and it looks really good! I also worked on algorithms which convert data from pterodactyl to a usable format for mass bulk searching. I am making it in a way that some of the load is shared on the pterodactyl server side for filtering, and the rest is done on machine running this program, so I can minimize the rate limiting and divide load among both the machines for bulk processing and improve speed. For example, basic filter arguments are run on pterodactyl server’s side (Handled built in by pterodactyl), whereas advanced parameter searches are done on user side as generally user’s own system has more threads and is much better than the pterodactyl webserver. Features Added/Worked on Made menus and sections for first function Worked on algorithms to convert api responses to filterable data Worked on UI by adding curses based parameter selector Made first function, Search and Info What new I learnt I learnt to work with massive data and make algorithms to convert to usable data I learnt to make my first usable intractable terminal UI from curses I learnt to divide operations and perform load balancing for such bulk data AI Declaration Close to None AI was used for this devlog. All the algorithms which were made, where made completely by hand. AI was used for research purposes for curses as its a new field for me. All code blocks where AI has been used are marked in source code! The attached images show the home page, followed by new menus, along with the parameter selector and more…"}, {"post_id": 31424, "ts": "2026-07-19T19:41:27Z", "hours": 1.7656, "text": "Devlog 5 Progress Done Its about the 8th hour into the project, Since around the past 1 hour, I have been reading and understanding the entire pterodactyl API. Learning everything from sending requests to sorting data according to needs. Not much progress was done on the main project, though I did a lot of testing in temp files and had a lot of learning. What new I learnt I learnt to use RestJS API system of Pterodactyl I learnt to use Requests in Python I learnt to capture data and filter/manipulate it from APIs I learnt to manage rate limits and error codes Sources Pterodactyl API Docs: https://pterodactyl-api-docs.netvpx.com/docs/intro AI Declaration No AI was used for the period of this devlog. Most of the work was only done for understanding and learning purposes which was done in temp files which is essential for the project’s development. The attached images show the pterodactyl AI docs which I am reading and testing."}, {"post_id": 30613, "ts": "2026-07-18T10:19:26Z", "hours": 2.2778, "text": "Devlog 4 Progress Done Its about the 6th hour into the project, I have worked on making a terminal UI on which you can click up and down arrows and space button to select servers from a list to do actions. I did not work on actual API yet, thats kept for the last, currently I am working on data sorting and filter functions and more. I also made a cool banner for the project! Sorry for the late devlog, took a lot of time debugging and learning this one. Features Added/Worked on Made a cool image banner on canva [No AI] Worked on filtering functions Worked on a better terminal UI with curses Made HomePage What new I learnt I learnt Graphic Design with Canva I learnt to work with Curses to make terminal UI I learnt to capture button clicks on terminal for functions AI Declaration Close to None AI was used for this devlog. I used AI to understand how the curses library works and how to make it perform actions on button clicks. Also, the tech-pterodactyl symbol on the banner was made with AI as I couldnt find a similar icon on the internet. The attached images show the new banner, followed by the homepage and terminal selector UI demo."}, {"post_id": 28897, "ts": "2026-07-15T14:28:47Z", "hours": 1.6511, "text": "Devlog 3 Progress Done Its the 3rd hour into the project, and I have worked on adding args feature (specifically for linux users) and have worked on the project’s banner and interactive setup menu. I have also added verification in the setup fields to ensure that the user fills in correct information, and even guides the user if wrong keys are entered after 2 tries. Alongside with it, I added colors and made a cool ASCII banner. I also added the system to make venv automatically on first boot (supported on both linux/windows) for those who are running the code directly uncompiled. Features Added/Worked on Added Colorful ASCII Banner [Check Attached Image] Added field verification for setup- Added Args support, Eg. wingspan setup Improved POST Added Auto Venv and Dependency Installer What new I learnt I learnt to work with ASCII Color Codes I learnt to make args on python I learnt how to work with Venv I learnt to work with Terminal Commands from python to install dependencies AI Declaration AI was used for this devlog period for generating the automatic venv and dependencies installer, and making it compatible for both linux and windows at the same time. AI was also used to help with the Args function as I have not had any experience with it before. The attached images show the program running on both Linux and Windows. First screenshot shows the automatic dependencies installer in action, followed by images of the new banner and guide text if the user enters wrong api key multiple times."}, {"post_id": 28503, "ts": "2026-07-14T19:58:23Z", "hours": 1.5825, "text": "Devlog 2 Progress Done Its been about the first hour into the project, and I have well planned everything and have started working on execution. I have started with the linux versions (CMD ONLY), because I dont have experience with GUI Apps and compiling to executables. I have started on configuration tool, which asks the user for all required API Keys and creates the config files and sets up the installation. I have also worked on a standard automatic dependency downloader, so it runs its own venv on boot, downloads its dependencies there, and runs normally. I would not be compiling it into an executable, so you can take and run it on linux, and copy paste it and run it on windows without any platform change issues. I also set up python library, “logging”, to provide proper logs of every action, because it would be important for the users if anything goes wrong or they need history of the tool’s actions. I have also added an entire system testing feature (POST) which triggers when the program is turned on. This is to ensure that no issues come while critical server actions are being performed by the software. It also checks if all the configs are built right. Features Added/Worked on Added Logging System Added Self Config tool Added dependency resolver Added a POST Test What new I learnt I learnt to work with logging library I learnt different logging levels I learnt how to read and save data into json and env I learnt to work with venv & auto pip installers I learnt that stardance has a 4000 char limit on devlogs I learnt to make a cool startup animation with ASCII I learnt to make a cool looking UI in terminal for config page AI Declaration AI was used to make a big empty blueprint list of all functions which I have to code, which makes the work easy as it allows me to visualize the functions pending to create and those which are done. AI was used in ASCII Animation’s character generation. The attached image shows the ASCII Animation, and then some pics of the AutoConfig window, asking the user to enter the details to perform setup."}, {"post_id": 28444, "ts": "2026-07-14T18:06:10Z", "hours": 0.4731, "text": "Devlog 1 Project Details 1. The point/scope of this project So, this is going to be a project for all the hosting owners and homelab operators, who have to manually control/edit each server on pterodactyl to do basic actions which is the same to be done on multiple servers. If you dont know, Pterodactyl is a game/server hosting control panel which gives you a good UI to make your stuff easier to control and all.. but it does lack bulk change features, and there arent much addons for it, and addons also dont work well and get deleted everytime we upgrade the panel, which is a mess. 2. My Solution for the problem I would be making a standalone windows app + a linux cmd app which uses pterodactyl API to perform actions. It would provide a very comprehensive UI to specifically allow for bulk actions and add features which arent there in normal pterodactyl. 3. Features of my project After extensive planning and discussion with several other hosting/homelab owners, I have gathered a list of features which everyone require and would use on a regular basis if there was an app for it. So, my app would have the following features: Bulk Suspend/Unsuspend Bulk Delete Selective Purge Backup download Bulk resource change, or Copy 1 server’s resources and paste to multiple servers. Bulk Reinstall Bulk Transfer Settings page for storing api keys and more. Email notifications to notify users for bulk actions if scheduled. [Planned for a later stage, to be released with other matching updates] Make a management tab in which all node’s real specs are shown, and heavy overloading or other parameter of servers are shown. Il take suggestions from UI of Proxmox and Proxmox Datacenter manager as thats a really good UI with a lot of pterodactyl usable features. User management features like Bulk Email, Bulk user delete, Specific User Purge (Like delete those without any server), User Clear (Clear all servers of a user) The complete flagship feature of panel speed booster, which does all required purges and makes panel faster Update monitor, so users can safely and reliably update their wingspan installation and get prompted whenever a new release is put. 4. Who am I/What do I do? I am Brahmtej Singh, a Python Developer, usually working with devops projects like automations and things, so this kinda project is a perfect fit of what I like to do! Im the founder of HostingKarle, I started with a pledge of providing a safe place to my customers. There are a lot LOT of scams out there in IT/Hosting sector, and I wish to change that. I always prioritized customer experience and trust building, and I also support developers by providing Free hosting services to support their development and projects! AI Use in Project and Other Details I am always very clear with AI Use, I believe to use it as a helping tool to navigate through complex logic building and automate repetitive tasks. All my AI use is properly logged and would be attached in every devlog, though I try my best to write what I know by hand. If you ever wish to contribute or to provide feedback on my work, please feel free to conact me on slack, ID: U0AJ2DDJ996 I always write all my devlogs by hand, every single detail is hand written and not passed through any AI tool, not even for grammatical or syntaxial fixing. My devlogs are mainly formatted like this: Introduction to what I did What new I learnt Project Impact / Upcoming Changes AI Use Declaration Attached Photo Description Thankyou for taking interest in my project. The attached image shows a screenshot of my current and future targets, written and planned out. This much text wouldnt fit in the text space, so had to attach a screenshot of the text planning. (First 15 Minutes into creation)"}]...
|
Title: Wingspan for Pterodactyl by @brahmtejsawhne Title: Wingspan for Pterodactyl by @brahmtejsawhney | Stardance
Devlogs:
Devlog 1 Project Details 1. The point/scope of this project So, this is going to be a project for all the hosting owners and homelab operators, who have to manually control/edit each server on pterodactyl to do basic actions which is the same to be done on multiple servers. If you dont know, Pterodactyl is a game/server hosting control panel which gives you a good UI to make your stuff easier to control and all.. but it does lack bulk change features, and there arent much addons for it, and addons also dont work well and get deleted everytime we upgrade the panel, which is a mess. 2. My Solution for the problem I would be making a standalone windows app + a linux cmd app which uses pterodactyl API to perform actions. It would provide a very comprehensive UI to specifically allow for bulk actions and add features which arent there in normal pterodactyl. 3. Features of my project After extensive planning and discussion with several other hosting/homelab owners, I have gathered a list of features which everyone require and would use on a regular basis if there was an app for it. So, my app would have the following features: Bulk Suspend/Unsuspend Bulk Delete Selective Purge Backup download Bulk resource change, or Copy 1 server’s resources and paste to multiple servers. Bulk Reinstall Bulk Transfer Settings page for storing api keys and more. Email notifications to notify users for bulk actions if scheduled. [Planned for a later stage, to be released with other matching updates] Make a management tab in which all node’s real specs are shown, and heavy overloading or other parameter of servers are shown. Il take suggestions from UI of Proxmox and Proxmox Datacenter manager as thats a really good UI with a lot of pterodactyl usable features. User management features like Bulk Email, Bulk user delete, Specific User Purge (Like delete those without any server), User Clear (Clear all servers of a user) The complete flagship feature of panel speed booster, which does all required purges and makes panel faster Update monitor, so users can safely and reliably update their wingspan installation and get prompted whenever a new release is put. 4. Who am I/What do I do? I am Brahmtej Singh, a Python Developer, usually working with devops projects like automations and things, so this kinda project is a perfect fit of what I like to do! Im the founder of HostingKarle, I started with a pledge of providing a safe place to my customers. There are a lot LOT of scams out there in IT/Hosting sector, and I wish to change that. I always prioritized customer experience and trust building, and I also support developers by providing Free hosting services to support their development and projects! AI Use in Project and Other Details I am always very clear with AI Use, I believe to use it as a helping tool to navigate through complex logic building and automate repetitive tasks. All my AI use is properly logged and would be attached in every devlog, though I try my best to write what I know by hand. If you ever wish to contribute or to provide feedback on my work, please feel free to conact me on slack, ID: U0AJ2DDJ996 I always write all my devlogs by hand, every single detail is hand written and not passed through any AI tool, not even for grammatical or syntaxial fixing. My devlogs are mainly formatted like this: Introduction to what I did What new I learnt Project Impact / Upcoming Changes AI Use Declaration Attached Photo Description Thankyou for taking interest in my project. The attached image shows a screenshot of my current and future targets, written and planned out. This much text wouldnt fit in the text space, so had to attach a screenshot of the text planning. (First 15 Minutes into creation)
Devlog 2 Progress Done Its been about the first hour into the project, and I have well planned everything and have started working on execution. I have started with the linux versions (CMD ONLY), because I dont have experience with GUI Apps and compiling to executables. I have started on configuration tool, which asks the user for all required API Keys and creates the config files and sets up the installation. I have also worked on a standard automatic dependency downloader, so it runs its own venv on boot, downloads its dependencies there, and runs normally. I would not be compiling it into an executable, so you can take and run it on linux, and copy paste it and run it on windows without any platform change issues. I also set up python library, “logging”, to provide proper logs of every action, because it would be important for the users if anything goes wrong or they need history of the tool’s actions. I have also added an entire system testing feature (POST) which triggers when the program is turned on. This is to ensure that no issues come while critical server actions are being performed by the software. It also checks if all the configs are built right. Features Added/Worked on Added Logging System Added Self Config tool Added dependency resolver Added a POST Test What new I learnt I learnt to work with logging library I learnt different logging levels I learnt how to read and save data into json and env I learnt to work with venv & auto pip installers I learnt that stardance has a 4000 char limit on devlogs I learnt to make a cool startup animation with ASCII I learnt to make a cool looking UI in terminal for config page AI Declaration AI was used to make a big empty blueprint list of all functions which I have to code, which makes the work easy as it allows me to visualize the functions pending to create and those which are done. AI was used in ASCII Animation’s character generation. The attached image shows the ASCII Animation, and then some pics of the AutoConfig window, asking the user to enter the details to perform setup.
Devlog 3 Progress Done Its the 3rd hour into the project, and I have worked on adding args feature (specifically for linux users) and have worked on the project’s banner and interactive setup menu. I have also added verification in the setup fields to ensure that the user fills in correct information, and even guides the user if wrong keys are entered after 2 tries. Alongside with it, I added colors and made a cool ASCII banner. I also added the system to make venv automatically on first boot (supported on both linux/windows) for those who are running the code directly uncompiled. Features Added/Worked on Added Colorful ASCII Banner [Check Attached Image] Added field verification for setup- Added Args support, Eg. wingspan setup Improved POST Added Auto Venv and Dependency Installer What new I learnt I learnt to work with ASCII Color Codes I learnt to make args on python I learnt how to work with Venv I learnt to work with Terminal Commands from python to install dependencies AI Declaration AI was used for this devlog period for generating the automatic venv and dependencies installer, and making it compatible for both linux and windows at the same time. AI was also used to help with the Args function as I have not had any experience with it before. The attached images show the program running on both Linux and Windows. First screenshot shows the automatic dependencies installer in action, followed by images of the new banner and guide text if the user enters wrong api key multiple times.
Devlog 4 Progress Done Its about the 6th hour into the project, I have worked on making a terminal UI on which you can click up and down arrows and space button to select servers from a list to do actions. I did not work on actual API yet, thats kept for the last, currently I am working on data sorting and filter functions and more. I also made a cool banner for the project! Sorry for the late devlog, took a lot of time debugging and learning this one. Features Added/Worked on Made a cool image banner on canva [No AI] Worked on filtering functions Worked on a better terminal UI with curses Made HomePage What new I learnt I learnt Graphic Design with Canva I learnt to work with Curses to make terminal UI I learnt to capture button clicks on terminal for functions AI Declaration Close to None AI was used for this devlog. I used AI to understand how the curses library works and how to make it perform actions on button clicks. Also, the tech-pterodactyl symbol on the banner was made with AI as I couldnt find a similar icon on the internet. The attached images show the new banner, followed by the homepage and terminal selector UI demo.
Devlog 5 Progress Done Its about the 8th hour into the project, Since around the past 1 hour, I have been reading and understanding the entire pterodactyl API. Learning everything from sending requests to sorting data according to needs. Not much progress was done on the main project, though I did a lot of testing in temp files and had a lot of learning. What new I learnt I learnt to use RestJS API system of Pterodactyl I learnt to use Requests in Python I learnt to capture data and filter/manipulate it from APIs I learnt to manage rate limits and error codes Sources Pterodactyl API Docs: https://pterodactyl-api-docs.netvpx.com/docs/intro AI Declaration No AI was used for the period of this devlog. Most of the work was only done for understanding and learning purposes which was done in temp files which is essential for the project’s development. The attached images show the pterodactyl AI docs which I am reading and testing.
Devlog 6 Progress Done Its the 11th hour into the project and the progress is booming! I have started working on the interactive menus of the program. I have also started work on the first function, which is “Search and Info”, in which you can select parameters to search from, and it performs bulk search for you, which you can export to a file, or use in the program internally to trigger actions, or get detailed info about. I have also added terminal ui from curses in this, for the parameter selector, and it looks really good! I also worked on algorithms which convert data from pterodactyl to a usable format for mass bulk searching. I am making it in a way that some of the load is shared on the pterodactyl server side for filtering, and the rest is done on machine running this program, so I can minimize the rate limiting and divide load among both the machines for bulk processing and improve speed. For example, basic filter arguments are run on pterodactyl server’s side (Handled built in by pterodactyl), whereas advanced parameter searches are done on user side as generally user’s own system has more threads and is much better than the pterodactyl webserver. Features Added/Worked on Made menus and sections for first function Worked on algorithms to convert api responses to filterable data Worked on UI by adding curses based parameter selector Made first function, Search and Info What new I learnt I learnt to work with massive data and make algorithms to convert to usable data I learnt to make my first usable intractable terminal UI from curses I learnt to divide operations and perform load balancing for such bulk data AI Declaration Close to None AI was used for this devlog. All the algorithms which were made, where made completely by hand. AI was used for research purposes for curses as its a new field for me. All code blocks where AI has been used are marked in source code! The attached images show the home page, followed by new menus, along with the parameter selector and more…
Devlog 7 Progress Done Im into the 12th hour of the project, and I have done a lot of progress on the first function, which is search and info. I have worked on the parameter search option which is an extremely bulky work as im making it compatible with future upgrades and any extra addons that the user may have which cause changes in the API, I’m adding dynamic automatic support for new fields too for search, while taking all inputs and performing operations in the terminal. I am completely AVOIDING AI for this devlog, and focusing on complete self improvement and understanding of such deeply nested code structures. This is a partial devlog, meaning it doesnt mark a completion of a feature. AI Declaration Close to None AI was used for this devlog. Everything was done by hand for self learning and improvement. The attached images show the home page, followed by the new Search from Parameters Mode…
Devlog 8 Progress Done Im done with Search and Info function’s basics. Only export options and other advanced options are left to be created. This is a really little 15 minute devlog to mark the achievement of the first actual usable feature in the program, which took me about 11 hours, and this project would be having about 20 of such large functions, making this an extremely detailed and big project. In this devlog, I also want to thank each and every follower of mine, for taking interest in my project and supporting me! Thankyou. AI Declaration Close to None AI was used for this devlog. Everything was done by hand for self learning and improvement. The attached images show the Banner of project.
Devlog 9 Progress Done Im working on the final parts of the first function, that is filtering and exporting. Next I would be moving onto purge manager and related functions which are more useful in real life. Input of the ID parameter was giving vague errors when provided with ranges, It took me a lot of debugging to find the source of the issue, and that was a string was being compared to an int (str<int) in a part of code where I didnt typecast. That is fixed now. AI Declaration Close to None AI was used for this devlog. The attached images show the accepted input of the ID field when put with a range.
Devlog 10 Progress Done Im in the 13th hour of the project, and have completely finished the first feature of Searching and Indexing servers. This feature allows you to search from bulk server lists and filter out servers based on all the parameters. It also works with any extension which you may add in future which adds more parameters in the panel, its universally compatible. Next, I would be working on the Purge function, on which we would be using the Search and Info function, to export a csv list and import it into the purgetool to eliminate servers. Features Added/Worked on Refined menus and controls Added more colors Added support for complete universal API [Explained above] Finished with the first function of the software What new I learnt I learnt to work with APIs I learnt to manage big data I learnt to make really complicated nested loops I learnt to convert Json and Lists from 2D to 1D AI Declaration A little bit of AI was used to automate repetitive tasks to save time in the search and info function, where filter rules had to be created for each datatype separately and code was mostly same as I written by hand. AI was used to just change variable names and fit it for other datatypes. AI was also used for debugging and checking if everything works alright. Wherever AI was used, has an AI marker in the source code. The attached video show the first working function which is filtering servers based on user inputs.
Devlog 11 Progress Done Im in the 14th Hour of the project, and I have worked on the readme. I have written installation process, and scopes of this project. Also, I have added credits as required. All content is human written, no AI used. Features Added/Worked on Added Readme AI Declaration No AI Used for this devlog period The attached video show the preview pics of the readme.
Devlog 12 Progress Done I am now making the Server Info function, which provides all the server information in one very well managed panel. Thanks to my fellow developer @stef [U0823APHVK7], I got to know that most of the pterodactyl API docs out there are AI generated and are mostly inaccurate. The accurate one is: https://pterodactyl-api.redbanana.dev I have also experienced issues with Pterodactyl itself, not working right with parameter based data fetching, Il work more on it as most likely its some my side issue. I am also working on adding some kind of live table display right into the terminal to beautifully display the data from the Server Info function. Features Added/Worked on Finished with Server Search Worked on CSV Export Started work on Server Info Function AI Declaration No AI Used for this devlog period The attached video show the preview pics of the new Server Info function.
Devlog 13 Progress Done I did not do much today as the schedule was really busy, I have done a little bit of debugging and bughunting by testing with different kinds of server eggs and parameters on pterodactyl. I have not found any major issue yet, there were some little issues with server search function where some parameters would not show up, that is fixed. Rest, I also am working on the server info function and the readme. Features Added/Worked on Finished with Server Search Worked on CSV Export Started work on Server Info Function AI Declaration No AI Used for this devlog period The attached photos show the new updates to the readme and docs.
Devlog 14 Progress Done I know this is a very delayed devlog, I had my exams mid way. I’m into the 20th hour of the project, most of the stuff is made. API System is ready, most of the code which would be shared across multiple functions is ready. First function, of Bulk Search and server lookup is also complete. Server lookup function has a really cool UI. Alongside with that, I have also added export option to the Bulk Server Search, you can use the exported file on other functions which take actions on server. Features Added/Worked on Completed Bulk Search and Server Lookup Added server list export Added Shipwrights Docs (Readme for shipwrights) Worked on fixing bugs and README What new I learnt I learnt to work with CSV files I learnt to spoof responses to provide hardcoded outputs (For shipwrights testing) I learnt how to read and save data into json and env I learnt to add images into my Readme AI Declaration A little bit AI was used in CSV saving mechanics, so its saved in a way so could be read back easily for processing later. Server Lookup’s UI was heavily created with help of AI, as I was not able to achieve that high information density without use of AI. Rest, updates in README and SHIPWRIGHTS.md were all done by hand with 0% AI. The attached image shows the new Server Lookup UI, new readme with banner and terminal header, shipwrights file, csv file output.
Changelog Repo Created on Git, Code Uploaded. V1: Added: Server & Info Fn. Welcome to wingspan folks! <3
Devlog 16 Progress Done The project is still on its reviewing stage, in the meantime, I have worked on releasing the executable release for both windows and linux. The executables are internally dynamic, so it updates to the latest wingspan version on every boot. Alongside, I have also worked on a lot of bugfixes, added more detailed logging, Autoboot after Setup and more. I have also worked on the purge function, specifically on the server purge feature. I have completed the export function and import function for the server lists. So server lists could be imported to action functions. I have also worked on reducing the boot time for linux, and on a fresh install, its as little as 5 seconds for the complete install and setup. I’ll be releasing more things after the ship gets approved! Features Added/Worked on Enhanced Logging System Added Release Executables/Binaries Added Auto Updater Added Importer Function for exported server-lists Fixed bugs and slight performance enhancement for windows Massive performance enhancement for linux What new I learnt I learnt to make a formal logging system I learnt to create binaries of python I learnt how to export and import and edit csv I learnt to optimize code on linux I learnt to make Auto Updaters and Version Checkers What I would be working on Completing server purge function Improving performance for windows systems Adding verification of exports while importing them Warnings before destructive action AI Declaration No AI was used in code in the duration of this devlog. AI was used in helping me with creating the executables from the code. All places where AI was used in code, is mentioned properly in the source code. The attached image shows the Release Page of the project, Purge Window Screenshots and Export File Content Screenshots.
Devlog 17 Show and Tell #1 WINNER Project! 🏆 Progress Done Ship Approved! Yay! Also, Show and Tell Winner! So, during the span of this devlog, I have worked on creating release files for this project, in a way that they do not have to be updated everr! Also, I have worked on the Purge Function, and have completed the server list import, and have made major changes in server list export function, which now exports minimally required data only for security reasons. Also, I have made quite a lot of confirmations that the person has to fill in order for the servers to actually get deleted, which is a good practice so a person doesnt anciently delete their entire pterodactyl. Also, I have worked on advanced logging in the import system and a very smart directory checker. Also, exporting now adds the panel’s URL on top of the export file, so a wingspan session linked to another panel does not perform critical actions on wrong servers. It properly verifies the import file and gives a clear warning if needed. Features Added/Worked on Export Function Major Changes New Import Function Improved logging Purge Function Increased security and confirmations before taking critical actions. What new I learnt I learnt to export files I learnt to import files I learnt security and integrity tactics to prevent unwanted destruction I learnt to do better logging What I would be working on Completing server purge function Starting work on user purge function AI Declaration No AI was used in code in the duration of this devlog. All places where AI was used in code, is mentioned properly in the source code. The attached file shows and older video I recorded of me using the project.
Devlog 18 Progress Done Purge feature is now functional. Server purges are working as expected. I have added 4 purge methods. Parameters are Forced/Unforced, and Verified and Unverified.So, FV,FU,UV,UU. When you choose unforced method, it would ensure a clean deletion, and ensure the entire data is wiped. On a forced delete, it would delete it from frontend, and only attempt to clean it entirely. Force method is useful to delete servers whose nodes have been discontinued, or conditions where unforced wouldnt work. Verified feature ensures that the purge process goes as close to the expected outcome as possible, and if anything is detected which shouldnt be so, wingspan would prompt you there, so you can take manual action right there on the spot while it purges. Unverified means that wingspan would try its best to delete all the servers given in the importlist and would not prompt the user in case of discrepancies. Features Added/Worked on Import Verification Server Name Live Verification Completed Beta Purge Function Updated Menu to allow Purge Function Wingspan now needs an Admin API key with Full Perms (Readonly no longer works) What I would be working on Bugchecking all the features I made Attempting to delete some servers in massive quantities. Starting work on User Purge Function Do changes in README.md for the new purge function documentation. Find a good reliable Pterodactyl API Docs Website. AI Declaration No AI was used in code in the duration of this devlog. All places where AI was used in code, is mentioned properly in the source code. The attached image shows the Graphical UI of the Purge Function along with the questions it asks.
Devlog 19 Show and Tell #1 WINNER Project! 🏆 Progress Done Purge function has been completely created. I have worked on API Request Error Catching in duration of this devlog. I have integrated all the standard practices and error catching which is required, and now the program displays the error and a solution to fix it. Also, it tracks if there are any errors due to wingspan itself, and provides resolution! Great Stuff! I also started work on User Purge Function, which i’ll release in the ship after shipping Server Purge. There was a bug in the release file, which prevented auto update in windows. Fixed that. Features Added/Worked on Better API Requests to Pterodactyl Rate Limit detector and queue Error Catching and Resolution Server Purge Function Completed Started work on User Purge What new I learnt I learnt to work with industry standard error catching I learnt to make better API systems I learnt to work with queues and rate limiters I learnt to use DELETE Protocol What I would be working on Completing Documentation till here Shipping till Server Purge AI Declaration Claude was used to find out bug in release file only. No AI was used in code during the span of this devlog. All places where AI was used in code, is mentioned properly in the source code. The attached image shows the Release Page of the project, project homepage and some lovely previous votes screenshots.
ps: not an official devlog, just an update Show and Tell + Super Star This was another great show and tell, and OMG SUPER STAR! Thanks @Lazyllama ❤️ Ty guys, rly grateful!! Image shows me submitting to Show and Tell and 2nd Image showing my Super Star!
Ships:
Welcome to WingSpan, A project to bulk manage your self hosted hardware on pterodactyl. Easily search through servers, get detailed information, export lists based on precise filtering and more! It is made for people like me, who manage hundreds of servers daily, and need to perform bulk actions on them. Its posted on frictionless mission because it would make my life really easy as it automates a lot of my work and would save me a LOT of clicks! cant wait for you to try it out! <3
Hello! If you are new here, welcome! This is my flagship project called Wingspan, It’s used by system administrators and infrastructure managers to manage their virtual servers in bulk rather than one by one. This project works in the terminal with AMAZING Terminal UI! This is my second ship. I have worked on making the Server Purge Function, to easily delete servers in large quantities. In my previous ships, I worked on making the basics of the code and functions to index and search the database. I have received extremely positive comments for this project, and i’m really proud of making it! Do star it on github if you like this one!...
|
1793004924.442677
|
1793091324.442677
|
|
38941
|
Alien Arena (3d FPS) by @ar-bh | Stardance
|
ar-bh
|
2
|
52.0
|
679
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-26T21:08:23Z", "hours": 3.0, "multiplier": 11.59, "payout": 30, "blessing": "neutral", "text": "Alien FPS! 👽🔫 — Ship #2 an exploration alien shooter made in Godot by arjun bhumula! this is my 2nd ship for Stardance. still my first 3D project and i’m proud of it — after Ship #1 i actually listened to the feedback and fixed a bunch of stuff. What I changed from feedback made it run better on weaker computers enemies don’t spawn on top of trees/objects anymore eye monsters now show up in the plains too cleaned up some gameplay / UX issues people pointed out The game arena shooter — axe + pistol, enemies spawn across different biomes. scoring eye monster 👁️ — 200 (400 with axe) snowman (creeper-like) — 250 (500 with axe) enemies get stronger the longer you survive. die at 0 HP or by falling off the map. have fun! AI disclosure ⚠️ NO AI WAS USED FOR CODE. I only used AI to help me learn Blender + Godot since this is my first time doing that. Please give me a good review so I can get an xbox, THANK YOU SO MUCH EVERYBODY", "repo": "https://github.com/ar-bh/alien-fps", "demo": "https://arjun-bhumula.itch.io/alien-fps"}, {"ship_num": 2, "ts": "2026-08-14T17:51:43Z", "hours": 49.0, "multiplier": 13.27, "payout": 649, "blessing": "neutral", "text": "Alien FPS! 👽 🔫 an exploration alien shooter game made in Godot by arjun bhumula! this is my first ever 3d project, and I’m very proud of it! Alien FPS is kind of like an arena shooter (ig) where you are given an axe and a pistol and you have to fend for yourself. In the biomes surrounding you, enemies are spawning everywhere: (the following is from the readme) The enemies include: eye monster 👁️ : 200 points, but 400 if you use your axe to kill it snowman (creeper like minecraft: 250 points, but 500 if you use your axe to kill it Enemies keep getting stronger as your score builds up, so be careful! You can either die by getting your health down to 0 or falling off the map somehow Have fun! AI DISCLOSURE! ⚠️ NO AI IS USED FOR CODE! However, I used AI to walk me through the process of using Blender and Godot together because this this is my first time doing that. Please give me a good review so I can get an xbox, THANK YOU SO MUCH EVERYBODY", "repo": "https://github.com/ar-bh/alien-fps", "demo": "https://arjun-bhumula.itch.io/alien-fps"}]...
|
[{"post_id": 53074, "ts": "202 [{"post_id": 53074, "ts": "2026-08-23T14:10:30Z", "hours": 0.5214, "text": "I reviewed everyone’s previous ship feedback and made a few changes! ready to re-ship, wish me luck!"}, {"post_id": 50960, "ts": "2026-08-20T13:01:39Z", "hours": 2.0472, "text": "hi everyone! before you rate, let me just clarify about a few things before you rate my project the game takes a little time to load, so please be patient 🙏 look at the devlogs while you wait! i’m on mac so I haven’t tested the windows download, try to play in-browser i’m pretty sure it’s fixed but sometimes pressing W can move backwards and S moves forward. this is because you may have accidentally breached the limit on looking up and down. if this happens, slowly keep looking up or down (both work) until its fixed happy shipping!"}, {"post_id": 47047, "ts": "2026-08-14T17:24:42Z", "hours": 1.4333, "text": "pre-devlog ship! please give me a good review guys 🙏 get playing! just updated: Changelog added a score axe sound tried to fix enemy shooting, not sure if I really did though menu and death screen bigger map that has slightly random generation enemies get bigger and stronger as score gets up and you survive for longer Next steps: ship! Notes: please give me a good score!"}, {"post_id": 46648, "ts": "2026-08-14T01:48:58Z", "hours": 0.8333, "text": "demo finally out! press to play give me feedback!!! i’ve already gotten reports that the game gets very laggy when you look at the trees (its because of complex shaders that are post-processing), will fix soon"}, {"post_id": 46543, "ts": "2026-08-13T20:56:12Z", "hours": 1.9333, "text": "added creepers to my fps Changelog imported the snowman monster model (only idle and walk animation so I had to manage) make the snowman go towards the player gave the snowman the same mechanics as a minecraft creeper Next steps more mobs more guns Notes my last devlog flopped why"}, {"post_id": 46028, "ts": "2026-08-12T22:54:36Z", "hours": 7.8339, "text": "if you’re reading this, reposting liking and comment help a lot and I really want this project to get out there, bc I’m working reallly hard on it so smash those like and follow buttons thanks also my BIGGEST devlog yet, press read more! 🙏 (added guns 🔫🔫) actual devlog below TONS OF NEW CHANGES! 🔫 Changelog (there’s so many, I couldn’t do it by memory and had to go to git history added collision shapes to the environments! this includes the trees, the rocks, the glaciers, cacti, etc. not sure if I included this in the last devlog but WIP winter field biome exported player speed (probably also in the last) INVENTORY!!! so far it has the axe, the pistol, and the rest is empty but I successfully built it so it is very easy to add to and implement into the game a whole pistol 🔫🔫🔫🔫🔫 took a while (mostly the reason why this devlog is so long) it took SO LONG to get the blender model working because: very unfortunate news The person who I was getting ALL of my models from on sketchfab, @levraicoincoin DELETED their sketchfab account no idea why, crazy coincidence that it happpened the day after I published using their models. So it took so long to find someone else’s models (thank you new person who I dont want to delete their models 🙏). and this new person’s models are very different and it took me a very long time to get adjusted to this and figure out how to use it. @levraicoincoin was so simple, this one is not. all of the animations were packed into one action, and I did not know about Godot’s slice (wtv its called) feature, so I was trying to import them seperately through blender. huge fail, but finally figured it out so I guess it’s a success 👑 and another plus is that this person does have more models that are similar, and I’ve figured out how to use them so it won’t be that big of a struggle next time anyway back to changelog sucessfully got the pistol’s animations working added an AudioBus that has signals of things like axe swung and shot fired added a GameAudio node that uses the signals from AudioBus and plays a sound made the pistol sound this part was super tedious made it so the player’s arms were unshaded (took so long and had to use my broken UnshadedLayer node from earlier, HUGE pain removed the outline of everything I guess that’s about it (probably a bit more that I’m forgetting but it’s fine, this devlog is huge) Next steps (hopefully not as long) more weapons! will not take nearly as much time I hope 🙏 add more enemies fix some gun bugs because I don’t think it’s working that well when moving right now find the best spot for health and inventory, probably bottom left corner get an audio for the axe get background music, meaning probably make a start and death menu vehicle Notes if you really read everything, I appreciate it a LOT. all of my work related to this devlog took SO MUCH time, but I’ve gotten a lot of support. super grateful probably best news so far, @tejaswa got unbanned after mistakenly being banned for fraud! 🎉 he inspired this project a lot, so I’m really happy for him, his project, and grateful for the support he gave me that’s all, thanks! reposting liking and comment help a lot!"}, {"post_id": 45314, "ts": "2026-08-11T18:02:27Z", "hours": 1.2333, "text": "added health bar Changelog health bar created a unshadedlayer node using subviewports where if you add a child to it, that child will be unaffected by shading like cel shading and pixel art (it doesn’t work that well yet, i’ll have to improve it) changed player health to 5 Next steps make something happen when you die which will probably involve creating a menu inventory improve the shading system Notes ignore the roblox thing"}, {"post_id": 44876, "ts": "2026-08-10T22:22:10Z", "hours": 1.7669, "text": "blending and more environment stuff Changelog made the player speed exportable (I did this so I could travel over a ton of chunks faster when debugging to see how it looks like on runtime) created a blendchunk node created a giantblendchunk node which is just 3 blendchunk s the blendchunk s properly detect any chunks near them and change their texture using a shader to make it look like a seamless transition (although I’ll admit that it could use some work because the cel shading makes it pretty weird) changing the files made the github weird so I had to create a new local repo and fix all of the problems that showed up Next Steps maybe add a car because player on its own is too small? lots of people said to add foliage and more immersive environments by adding falling things and stuff automatic enemy spawning make the worldenvironment color change in a blendchunk rather than having to actually go to the solid one Notes really hope I get an xbox so if you see this, please repost like comment whatever so this project is seen more, and also if your rating give me a perfect score! 🙏"}, {"post_id": 44749, "ts": "2026-08-10T18:34:12Z", "hours": 0.6003, "text": "lazy devlog: changed my file directory idk why it took so long but I can’t track it all"}, {"post_id": 44657, "ts": "2026-08-10T15:57:21Z", "hours": 2.065, "text": "improved enemy finite state machine + environment Changelog made it so the eye monster explores and moves around the chunk, waits a second before choosing a new target destination on the chunk automatically changes albedo color depending on the chunk it was spawned in, so if it was spawned in glacier, it adopts a dark blue tone fields biome with a tree and actual grass rather than a carpet-like texture idk if I mentioned in the last devlog so I’ll just generalize and say a lot more Next steps make environments less blocky and go smoothly into each other foliage and more immersive environments, reccomended by @tejaswa and a few others more enemies secondary axe attack new weapons Notes: it pmo to see how people will just completely ai literally EVERYTHING and still think they can get stardust for it. like literally everything, the code, the idea, the devlogs for some reason, and the readme. how lazy can you be? i know exactly who this is directed towards"}, {"post_id": 44076, "ts": "2026-08-09T16:26:55Z", "hours": 1.1667, "text": "lots of environment changes! (clean switching + new desert biome! 🏜️) – Changelog added ways for the player to detect which chunk and biome it is on main (root) node script that runs these player functions and also pulls the biome information added an environment color variable to the biome data resources, and added appopriate colors for each biome root node uses tweens to make the environment color correct upon switching biomes desert biome! (just a cactus) added two new contents to the wastelands temporarily made the eye monster blue to look native to glacier biome Next steps edit eye monster fsm add variants to the eye monster (my only enemy right now) that are native to each biomes by changing albedo color like the temporary change I just did make chunks spawn enemies automatically like minecraft use hdr to make a better sky and environment in general Notes i think it’s really coming together now, and this project now has the highest amount of hours so I guess that’s nice i like the minion thing"}, {"post_id": 43691, "ts": "2026-08-09T03:08:11Z", "hours": 1.6886, "text": "if you’re reading this, reposting liking and comment help a lot and I really want this project to get out there, bc I’m working reallly hard on it so smash those like and follow buttons thanks actual devlog below biomes using resources (finally made proper environments ) Changelog first, I used a dictionary that would have all the information about each biome, like name, ground texture, things that are available to spawn, amount of things that can spawn, and size variation of things that can spawn after it was getting efficient (i was plan on changing the method regardless), I used resources made a chunk node which is 50x50 and takes a biome variable, so I can just import biome resources into it and it automatically gets updated 👏 created biome_data.gd and made it extend resources made wasteland_biome.tres and ’glacier_biome.tres`, both resources with all the information above and all I have to do is attach it to a chunk made the contents spawn in random locations in the chunk with varying amounts, varying types (for example there are 2 kinds of dead trees in the wasteland so each one is a random type), and varying sizes Next steps make enemies native to certain biomes where they spawn automatically in their biome make biomes go smoothly into each other, maybe using a river in between add more wasteland enemies more content variation for wasteland and glacier edit the eye monster fsm so it walks around when it doesnt see the player something else that i forgot Notes Remember how a while ago I said I hate resources, well now they’re my favorite thing, they’re really useful and in this context, a giant lifesaver. the 3rd video shows how easy I made the process using resources. great progress so far, i think I can really get an xbox soon"}, {"post_id": 43599, "ts": "2026-08-08T23:11:36Z", "hours": 1.85, "text": "tell me what you think about the new cel shading! 👍 FPS + environment (pre-alpha) Changelog added a small FPS counter in the top left that would not get affected by the shaders by putting it in its own canvaslayer made the fps cap 60 made the world environment have a orange theme, trying to mimic a volcano after-effect or something like that got “alien planet” textures from the internet (i will credit in my readme) added a chunk scene which is the ground that the player stands on in the video, it has customizable size texture, and albedo av1 scale and the transformations adjust to make the top layer flat on the plane using a little bit of math adjusted the cel shading to make outlines bigger, not exaggerate dark colors, and get rid of foreign unrelated colors Next steps edit the eye monster enemy fsn so instead of staying in one place while idle, it moves around and kind of explores for each chunk, randomly place 3-5 items along it like burnt trees or rocks for this volcano-like theme, those items will be different in different biomes make chunks load when necessary and be able to load different biomes, probably split by a river or something health tracker inventory + new weapons Notes nothing much except I think I need some feedback on the new cel shading and environment. does it look good?"}, {"post_id": 43016, "ts": "2026-08-08T01:36:25Z", "hours": 0.7339, "text": "upcoming boss hopefully just 45m of playing around and seeing what a giant boss would look like. if you don’t understand the image, the blue platform is a large version of where the player fights the regular enemies so imagine the scale"}, {"post_id": 42883, "ts": "2026-08-07T20:44:39Z", "hours": 1.9947, "text": "Thank you so much for the support everyone! I got the most likes, views, comments, and overall support in my last devlog (and in this project as a whole) then ever before! 🙏 super thankful, but still, I hope you keep it coming! like and follow (actual devlog below ) actual devlog below a lot of enemy progress! Changelog set up the enemy finite state machine: enemies can walk towards the player (or run) enemies can attack the player hit state overrides everything so an enemy can be hit in the middle of attacking and the player will not recieve damage don’t know how to do proper nested bullet points so bear with me blended all enemy animations together so they flow properly added health tracking to the player added health tracking to the eye monster enemy game quits upon player death (temporary death) Next steps add the world, procedurally or randomly generated alien planet terrain add more animation-depth to the axe maybe? Notes to be honest right now, I don’t really know what the next steps are but my progress skyrocketed in the past few days so I think I’m gonna take a break. thanks for the support!"}, {"post_id": 42649, "ts": "2026-08-07T14:19:51Z", "hours": 1.2575, "text": "if you’re reading this, reposting liking and comment help a lot and I really want this project to get out there, bc I’m working reallly hard on it so smash those like and follow buttons thanks actual devlog below Successfully added more and blended axe animations hooray (probably pre-alpha) Changelog added trauma based screenshake upon hitting an enemy. it is easy to change the intensity of the trauma based on which enemy is hit added jump start, falling, and jump end animations blended all animations together (blending means that animations will not be snappy and flow properly into each other for realism) made the godot run scene thing always open in full screen which is how I want the game to be played Next steps again nearly everything in last 2 devlogs mostly for now just enemy fsms and AI – Notes: Again, still pretty proud of my progress, lots of people showed interest so that’s nice."}, {"post_id": 42397, "ts": "2026-08-07T02:46:26Z", "hours": 1.9917, "text": "Added eye monster enemies (pre-alpha still don’t know) Changelog changed a platfrom from green to purple i guess, not permanent added three enemies that spawn on the temporary platforms. the three enemies are of random size and health with a bit more conditions that I’m not gonna explain. so far, you are able to hit them and they have idle, die, and corpse animations but right now all they do is stare at you and get beat up Next steps add a map basically everything in the last devlog learn about fsn (finite state machines, the most popular way to code enemy AIs) implement fsns Notes surprised I finished whole enemies in around 2 hours, thought it would be longer for my first ever 3d enemy. planning to add a super big boss that uses the same model which you need a gun to kill because whats an axe gonna do against it. really proud of my progress so far"}, {"post_id": 42272, "ts": "2026-08-06T22:04:24Z", "hours": 1.7728, "text": "First weapon + shaders (still pre-alpha?) Changelog before I was using a third person controller but I updated it so the main files were first person instead of the “test” files like before got blender axe model with imported animations from sketchfab (levraicoincoin) i’m going to use most of my fps models from him and I am very grateful for him so yeah imported axe from blender to godot (thank you levraicoincoin for the process to be so easy) added a cel shader theme added a retro (pixelated) theme the hands looked really weird with the cel shader theme so I overrode the material for a solid color which I think looks pretty good also I guess changed the game idea once again to an unknown planet exploration game, and I guess only 3d now not 2.5d small thing but changed the map layout to rid of overlap of csg’s Next steps add more weapons! add enemies add a boss add a start screen, inspired by @tejaswa (got banned for some reason)’s Into the cosmos game which I really liked Notes: I really want feedback on how this looks so tell me what you think. there’s not really as much notes as last time except I’m really proud of how the game turned out right now."}, {"post_id": 41647, "ts": "2026-08-06T00:26:17Z", "hours": 2.8422, "text": "FPS Setup (pre-alpha version i guess idkbro) Changelog (i saw someone else doing this so I’m going to do it now) I made a test scene and dedicated nodes to make an FPS controller instead of a third person controller uh did some research for fsm (finite state machines) which I’m gonna need probably oh yeah I also did a ton of reconsideration for my project to change the theme so ultimately I think I’m going for a space themed FPS shooter where the character has to escape an alien prison and they can either take a rocket ship back home or probably stay and explore Next steps i want the game to be 2.5D so I’m gonna need to draw gun assets that are gonna be 2d (shouldn’t be too hard) 2.5D alien assets gun combat and gun variety eventually a bit more but I’ll think about that in future devlogs Notes so this section has a lot. I’m gonna change the way I write devlogs because it’s cooler this way and also more professoinal so I’ll do better in the storytelling part of the ship. I went through a ton of like thinking and game ideas until I finally found one, and that process took so long I have no idea why. I went to a different state so I couldn’t work much then and I also watched bnd which was nice. so yeah I think I’m a lot more excited about the game now, why are emoticons no longer supported? :spiderman: see so yeah dont forget to comment and smash that like button"}, {"post_id": 37972, "ts": "2026-07-31T01:30:45Z", "hours": 0.6308, "text": "bruh a lot of reconsideration made me not want to take the route of my current game so far and go with a new one I know what I need to in order to build some version of a 3d game so after I polish my skills better, I get started on that. hopefully an fps"}, {"post_id": 37757, "ts": "2026-07-30T17:48:45Z", "hours": 3.7817, "text": "Fetched animations from blender and sucessfully got them into godot! This is day 10 somehow and for this devlog, I definiteily got a ton of progress. I stayed up until midnight trying to figure out how to get blender animations into Godot and I finally figured it out today morning. The reason it took so long is because the materials were not exporting properly and there was also a lot of small suff I had to fix like getting rid of blender’s unnecessary default animations and also managing the size of the item. I had to make tee animation twice because it was corrupted by size and positioning in the first one. I also made this model like a year ago and not knowing where all the files were in my computer did not help 🤦 But at the end I guess I finally did it There is still a lot left to do like Just making it look better in general figuring out why the head is always the same color as the environment adding character select (going to be a huge pain to add new characters) outline to make it look visually appealing idk blend the animations also make the running jump and falling animations I have a lot of work set out for me so please smash that like button and also just follow while you’re here thanks"}, {"post_id": 37389, "ts": "2026-07-30T02:19:23Z", "hours": 1.3969, "text": "Day 9! (part 4) Made a walking animation! Used Blender to make a nice walking animation! And I did some coding which is why there is a lot more time logged. What really took the longest was getting EpicFigRig to work because it does not work for the current Blender model and it took me a while to figure that out and go to an old version. Will try to implement it in the game next, do not know how that will work out with epicfigrig"}, {"post_id": 37278, "ts": "2026-07-29T21:25:13Z", "hours": 1.5611, "text": "Day 9 (part 3)! In this larger session, I made a working character using capsules and capsule shaped hurtboxes which can move around, look around, and jump. I used filler boxes and basically filler everything becasue I haven’t imported my models to blender yet. Don’t forget to smash that like button and subscribe"}, {"post_id": 37169, "ts": "2026-07-29T17:53:06Z", "hours": 0.3017, "text": "Day 9 (part 2): made my platform, that’s all character next!"}, {"post_id": 37013, "ts": "2026-07-29T14:07:08Z", "hours": 0.2611, "text": "Day 9! just got more practice as usual"}, {"post_id": 36703, "ts": "2026-07-28T22:37:26Z", "hours": 0.7933, "text": "Day 8 (i missed yesterday because I went somewhere)"}, {"post_id": 35437, "ts": "2026-07-26T20:55:26Z", "hours": 1.3453, "text": "Day 7 part 2 ! This time I got another hour of work. I worked on projectiles in my game. I’m not gonna attach a video though because it’s going to mess up my storytelling score upon ship for having irrelevant devlogs (cuz people will not put the time and effort to actually grade stuff. I did decide on a potential theme though. I have tons of experience with lego animation and legos also don’t have many bones that I have to take care of, so I can easily animate them for my game. The main restriction I have anyway is the models like creation and animation and using lego can make all of that easier you can see some of my work Link youtube channel the image is some of my work from last summer"}, {"post_id": 35294, "ts": "2026-07-26T16:36:09Z", "hours": 1.3189, "text": "Day 7! One week of development! 🎉 I am so happy to have rerolled + 5. what a great day I got a lot of practice and progress towards a prototype of a 3D game today, but still not the one that I want to be the most relevant to this project. I learend a lot about how to make cameras work in 3D by converting 2d coordinates into 3D. this also taught me how to use Input.get_vector() which returns a Vector2D and convert it into a Vector3D I guess I also learned how to use markdown better 🤷 To be honest I still haven’t decided what kind of 3D game I want to make but I know I’m putting a lot of hours into it (because I want an xbox ) I’m thinking most likely an FPS but there are tons of those and it wont be creative. I could also do a arena shooter or fighter using the Gobot open source 3d model, which I’ve already been implementing in my game right now. That’s it I think I have lots of motivation so this project will definitely have passion. Gdquest is the best"}, {"post_id": 34949, "ts": "2026-07-26T02:10:51Z", "hours": 0.2869, "text": "Day 6 (part 2) Just doing a little more because I am testing stardance’s time tracker and it’s behaving very weirdly when I add new projects. also for some reason they aren’t counting my streak when it CLEARLY says 16 minutes logged today for this devlogs. Fix your website stardance devs"}, {"post_id": 34934, "ts": "2026-07-26T01:34:22Z", "hours": 0.2594, "text": "Day 6! I got a lot of work done today! I know it only says 15 minutes, but it was because I was experimenting and figuring out how to use something 3d on a different file, and I forgot to turn on the time tracking for a large majority of it. I’m really excited to move on now that I finished this step. Also, regarding the thing I said would be hard yesterday, it was too difficult for me to do, so I set it aside for now. I will get back to it when I think I am ready. I found out that stardance only lets you make new lines on google chrome but not safari? it’s really weird so I had to switch browsers for this"}, {"post_id": 34379, "ts": "2026-07-25T01:28:25Z", "hours": 0.3656, "text": "Day 5 (part 2) I hate resources, they are so annoying to use but I have to learn how if I want to build my game why does stardance keep messing up their text editors, I can’t even make a new line"}, {"post_id": 34352, "ts": "2026-07-24T23:35:54Z", "hours": 0.4039, "text": "Day 5! I wasn’t able to get a lot of progress in today because I had other work to do. I’m kind of curious/afraid what will happen tomorrow because my learning plan has something very difficult which I really want to get over with so I can move on to the more fun parts. WHY DOES STARDANCE NOT LET YOU DO SHIFT + ENTER ANYMORE TO MAKE A NEW LINE?? the image is here because I’m a big fan of the outlines in the art style so when the game is being created, you will definitely see them"}, {"post_id": 33806, "ts": "2026-07-24T01:25:37Z", "hours": 3.2047, "text": "Hello! 👋 This devlog marks the start of my 3d game. I still have no idea what it is yet unfortunately but all I know is that this is going to be my first three dimensional game, and I think it is going to be a lot of fun to build. I’m using Godot! I don’t even know the version I think it’s like 4.6 or something So you’re wondering why I have 3+ hours logged already Well I don’t have the actual game built yet but I’ve been spending these 3 hours just learning what I need to know to get started. I only have experience with 2D so far so all of these tutorials and documents that I’m reading and watching will help me get some practice and knowledge or whatever I need for a successful game. What do I want my game to be like? I don’t know at all. :/ probably a gun game but there are so many like that so I want to have some unique mechanic movement-wise I’m excited to build controller support- especially in 3D I feel like that’s what really defines a game and triggers the pride in me that I actually build a real game What do I want for the future? I really hope this project turns into a long-term one that I can always just work on on the side. I want to publish to steam and make money 💰💰💰 I’m bored of writing now so here are some pictures of my practices (unrelated to the relevant 3d game of this project) (i’m writing super long devlogs so I can get a good storytelling score because I really want an xbox)"}]...
|
Title: Alien Arena (3d FPS) by @ar-bh | Stardance
Title: Alien Arena (3d FPS) by @ar-bh | Stardance
Devlogs:
Hello! 👋 This devlog marks the start of my 3d game. I still have no idea what it is yet unfortunately but all I know is that this is going to be my first three dimensional game, and I think it is going to be a lot of fun to build. I’m using Godot! I don’t even know the version I think it’s like 4.6 or something So you’re wondering why I have 3+ hours logged already Well I don’t have the actual game built yet but I’ve been spending these 3 hours just learning what I need to know to get started. I only have experience with 2D so far so all of these tutorials and documents that I’m reading and watching will help me get some practice and knowledge or whatever I need for a successful game. What do I want my game to be like? I don’t know at all. :/ probably a gun game but there are so many like that so I want to have some unique mechanic movement-wise I’m excited to build controller support- especially in 3D I feel like that’s what really defines a game and triggers the pride in me that I actually build a real game What do I want for the future? I really hope this project turns into a long-term one that I can always just work on on the side. I want to publish to steam and make money 💰💰💰 I’m bored of writing now so here are some pictures of my practices (unrelated to the relevant 3d game of this project) (i’m writing super long devlogs so I can get a good storytelling score because I really want an xbox)
Day 5! I wasn’t able to get a lot of progress in today because I had other work to do. I’m kind of curious/afraid what will happen tomorrow because my learning plan has something very difficult which I really want to get over with so I can move on to the more fun parts. WHY DOES STARDANCE NOT LET YOU DO SHIFT + ENTER ANYMORE TO MAKE A NEW LINE?? the image is here because I’m a big fan of the outlines in the art style so when the game is being created, you will definitely see them
Day 5 (part 2) I hate resources, they are so annoying to use but I have to learn how if I want to build my game why does stardance keep messing up their text editors, I can’t even make a new line
Day 6! I got a lot of work done today! I know it only says 15 minutes, but it was because I was experimenting and figuring out how to use something 3d on a different file, and I forgot to turn on the time tracking for a large majority of it. I’m really excited to move on now that I finished this step. Also, regarding the thing I said would be hard yesterday, it was too difficult for me to do, so I set it aside for now. I will get back to it when I think I am ready. I found out that stardance only lets you make new lines on google chrome but not safari? it’s really weird so I had to switch browsers for this
Day 6 (part 2) Just doing a little more because I am testing stardance’s time tracker and it’s behaving very weirdly when I add new projects. also for some reason they aren’t counting my streak when it CLEARLY says 16 minutes logged today for this devlogs. Fix your website stardance devs
Day 7! One week of development! 🎉 I am so happy to have rerolled + 5. what a great day I got a lot of practice and progress towards a prototype of a 3D game today, but still not the one that I want to be the most relevant to this project. I learend a lot about how to make cameras work in 3D by converting 2d coordinates into 3D. this also taught me how to use Input.get_vector() which returns a Vector2D and convert it into a Vector3D I guess I also learned how to use markdown better 🤷 To be honest I still haven’t decided what kind of 3D game I want to make but I know I’m putting a lot of hours into it (because I want an xbox ) I’m thinking most likely an FPS but there are tons of those and it wont be creative. I could also do a arena shooter or fighter using the Gobot open source 3d model, which I’ve already been implementing in my game right now. That’s it I think I have lots of motivation so this project will definitely have passion. Gdquest is the best
Day 7 part 2 ! This time I got another hour of work. I worked on projectiles in my game. I’m not gonna attach a video though because it’s going to mess up my storytelling score upon ship for having irrelevant devlogs (cuz people will not put the time and effort to actually grade stuff. I did decide on a potential theme though. I have tons of experience with lego animation and legos also don’t have many bones that I have to take care of, so I can easily animate them for my game. The main restriction I have anyway is the models like creation and animation and using lego can make all of that easier you can see some of my work Link youtube channel the image is some of my work from last summer
Day 8 (i missed yesterday because I went somewhere)
Day 9! just got more practice as usual
Day 9 (part 2): made my platform, that’s all character next!
Day 9 (part 3)! In this larger session, I made a working character using capsules and capsule shaped hurtboxes which can move around, look around, and jump. I used filler boxes and basically filler everything becasue I haven’t imported my models to blender yet. Don’t forget to smash that like button and subscribe
Day 9! (part 4) Made a walking animation! Used Blender to make a nice walking animation! And I did some coding which is why there is a lot more time logged. What really took the longest was getting EpicFigRig to work because it does not work for the current Blender model and it took me a while to figure that out and go to an old version. Will try to implement it in the game next, do not know how that will work out with epicfigrig
Fetched animations from blender and sucessfully got them into godot! This is day 10 somehow and for this devlog, I definiteily got a ton of progress. I stayed up until midnight trying to figure out how to get blender animations into Godot and I finally figured it out today morning. The reason it took so long is because the materials were not exporting properly and there was also a lot of small suff I had to fix like getting rid of blender’s unnecessary default animations and also managing the size of the item. I had to make tee animation twice because it was corrupted by size and positioning in the first one. I also made this model like a year ago and not knowing where all the files were in my computer did not help 🤦 But at the end I guess I finally did it There is still a lot left to do like Just making it look better in general figuring out why the head is always the same color as the environment adding character select (going to be a huge pain to add new characters) outline to make it look visually appealing idk blend the animations also make the running jump and falling animations I have a lot of work set out for me so please smash that like button and also just follow while you’re here thanks
bruh a lot of reconsideration made me not want to take the route of my current game so far and go with a new one I know what I need to in order to build some version of a 3d game so after I polish my skills better, I get started on that. hopefully an fps
FPS Setup (pre-alpha version i guess idkbro) Changelog (i saw someone else doing this so I’m going to do it now) I made a test scene and dedicated nodes to make an FPS controller instead of a third person controller uh did some research for fsm (finite state machines) which I’m gonna need probably oh yeah I also did a ton of reconsideration for my project to change the theme so ultimately I think I’m going for a space themed FPS shooter where the character has to escape an alien prison and they can either take a rocket ship back home or probably stay and explore Next steps i want the game to be 2.5D so I’m gonna need to draw gun assets that are gonna be 2d (shouldn’t be too hard) 2.5D alien assets gun combat and gun variety eventually a bit more but I’ll think about that in future devlogs Notes so this section has a lot. I’m gonna change the way I write devlogs because it’s cooler this way and also more professoinal so I’ll do better in the storytelling part of the ship. I went through a ton of like thinking and game ideas until I finally found one, and that process took so long I have no idea why. I went to a different state so I couldn’t work much then and I also watched bnd which was nice. so yeah I think I’m a lot more excited about the game now, why are emoticons no longer supported? :spiderman: see so yeah dont forget to comment and smash that like button
First weapon + shaders (still pre-alpha?) Changelog before I was using a third person controller but I updated it so the main files were first person instead of the “test” files like before got blender axe model with imported animations from sketchfab (levraicoincoin) i’m going to use most of my fps models from him and I am very grateful for him so yeah imported axe from blender to godot (thank you levraicoincoin for the process to be so easy) added a cel shader theme added a retro (pixelated) theme the hands looked really weird with the cel shader theme so I overrode the material for a solid color which I think looks pretty good also I guess changed the game idea once again to an unknown planet exploration game, and I guess only 3d now not 2.5d small thing but changed the map layout to rid of overlap of csg’s Next steps add more weapons! add enemies add a boss add a start screen, inspired by @tejaswa (got banned for some reason)’s Into the cosmos game which I really liked Notes: I really want feedback on how this looks so tell me what you think. there’s not really as much notes as last time except I’m really proud of how the game turned out right now.
Added eye monster enemies (pre-alpha still don’t know) Changelog changed a platfrom from green to purple i guess, not permanent added three enemies that spawn on the temporary platforms. the three enemies are of random size and health with a bit more conditions that I’m not gonna explain. so far, you are able to hit them and they have idle, die, and corpse animations but right now all they do is stare at you and get beat up Next steps add a map basically everything in the last devlog learn about fsn (finite state machines, the most popular way to code enemy AIs) implement fsns Notes surprised I finished whole enemies in around 2 hours, thought it would be longer for my first ever 3d enemy. planning to add a super big boss that uses the same model which you need a gun to kill because whats an axe gonna do against it. really proud of my progress so far
if you’re reading this, reposting liking and comment help a lot and I really want this project to get out there, bc I’m working reallly hard on it so smash those like and follow buttons thanks actual devlog below Successfully added more and blended axe animations hooray (probably pre-alpha) Changelog added trauma based screenshake upon hitting an enemy. it is easy to change the intensity of the trauma based on which enemy is hit added jump start, falling, and jump end animations blended all animations together (blending means that animations will not be snappy and flow properly into each other for realism) made the godot run scene thing always open in full screen which is how I want the game to be played Next steps again nearly everything in last 2 devlogs mostly for now just enemy fsms and AI – Notes: Again, still pretty proud of my progress, lots of people showed interest so that’s nice.
Thank you so much for the support everyone! I got the most likes, views, comments, and overall support in my last devlog (and in this project as a whole) then ever before! 🙏 super thankful, but still, I hope you keep it coming! like and follow (actual devlog below ) actual devlog below a lot of enemy progress! Changelog set up the enemy finite state machine: enemies can walk towards the player (or run) enemies can attack the player hit state overrides everything so an enemy can be hit in the middle of attacking and the player will not recieve damage don’t know how to do proper nested bullet points so bear with me blended all enemy animations together so they flow properly added health tracking to the player added health tracking to the eye monster enemy game quits upon player death (temporary death) Next steps add the world, procedurally or randomly generated alien planet terrain add more animation-depth to the axe maybe? Notes to be honest right now, I don’t really know what the next steps are but my progress skyrocketed in the past few days so I think I’m gonna take a break. thanks for the support!
upcoming boss hopefully just 45m of playing around and seeing what a giant boss would look like. if you don’t understand the image, the blue platform is a large version of where the player fights the regular enemies so imagine the scale
tell me what you think about the new cel shading! 👍 FPS + environment (pre-alpha) Changelog added a small FPS counter in the top left that would not get affected by the shaders by putting it in its own canvaslayer made the fps cap 60 made the world environment have a orange theme, trying to mimic a volcano after-effect or something like that got “alien planet” textures from the internet (i will credit in my readme) added a chunk scene which is the ground that the player stands on in the video, it has customizable size texture, and albedo av1 scale and the transformations adjust to make the top layer flat on the plane using a little bit of math adjusted the cel shading to make outlines bigger, not exaggerate dark colors, and get rid of foreign unrelated colors Next steps edit the eye monster enemy fsn so instead of staying in one place while idle, it moves around and kind of explores for each chunk, randomly place 3-5 items along it like burnt trees or rocks for this volcano-like theme, those items will be different in different biomes make chunks load when necessary and be able to load different biomes, probably split by a river or something health tracker inventory + new weapons Notes nothing much except I think I need some feedback on the new cel shading and environment. does it look good?
if you’re reading this, reposting liking and comment help a lot and I really want this project to get out there, bc I’m working reallly hard on it so smash those like and follow buttons thanks actual devlog below biomes using resources (finally made proper environments ) Changelog first, I used a dictionary that would have all the information about each biome, like name, ground texture, things that are available to spawn, amount of things that can spawn, and size variation of things that can spawn after it was getting efficient (i was plan on changing the method regardless), I used resources made a chunk node which is 50x50 and takes a biome variable, so I can just import biome resources into it and it automatically gets updated 👏 created biome_data.gd and made it extend resources made wasteland_biome.tres and ’glacier_biome.tres`, both resources with all the information above and all I have to do is attach it to a chunk made the contents spawn in random locations in the chunk with varying amounts, varying types (for example there are 2 kinds of dead trees in the wasteland so each one is a random type), and varying sizes Next steps make enemies native to certain biomes where they spawn automatically in their biome make biomes go smoothly into each other, maybe using a river in between add more wasteland enemies more content variation for wasteland and glacier edit the eye monster fsm so it walks around when it doesnt see the player something else that i forgot Notes Remember how a while ago I said I hate resources, well now they’re my favorite thing, they’re really useful and in this context, a giant lifesaver. the 3rd video shows how easy I made the process using resources. great progress so far, i think I can really get an xbox soon
lots of environment changes! (clean switching + new desert biome! 🏜️) – Changelog added ways for the player to detect which chunk and biome it is on main (root) node script that runs these player functions and also pulls the biome information added an environment color variable to the biome data resources, and added appopriate colors for each biome root node uses tweens to make the environment color correct upon switching biomes desert biome! (just a cactus) added two new contents to the wastelands temporarily made the eye monster blue to look native to glacier biome Next steps edit eye monster fsm add variants to the eye monster (my only enemy right now) that are native to each biomes by changing albedo color like the temporary change I just did make chunks spawn enemies automatically like minecraft use hdr to make a better sky and environment in general Notes i think it’s really coming together now, and this project now has the highest amount of hours so I guess that’s nice i like the minion thing
improved enemy finite state machine + environment Changelog made it so the eye monster explores and moves around the chunk, waits a second before choosing a new target destination on the chunk automatically changes albedo color depending on the chunk it was spawned in, so if it was spawned in glacier, it adopts a dark blue tone fields biome with a tree and actual grass rather than a carpet-like texture idk if I mentioned in the last devlog so I’ll just generalize and say a lot more Next steps make environments less blocky and go smoothly into each other foliage and more immersive environments, reccomended by @tejaswa and a few others more enemies secondary axe attack new weapons Notes: it pmo to see how people will just completely ai literally EVERYTHING and still think they can get stardust for it. like literally everything, the code, the idea, the devlogs for some reason, and the readme. how lazy can you be? i know exactly who this is directed towards
lazy devlog: changed my file directory idk why it took so long but I can’t track it all
blending and more environment stuff Changelog made the player speed exportable (I did this so I could travel over a ton of chunks faster when debugging to see how it looks like on runtime) created a blendchunk node created a giantblendchunk node which is just 3 blendchunk s the blendchunk s properly detect any chunks near them and change their texture using a shader to make it look like a seamless transition (although I’ll admit that it could use some work because the cel shading makes it pretty weird) changing the files made the github weird so I had to create a new local repo and fix all of the problems that showed up Next Steps maybe add a car because player on its own is too small? lots of people said to add foliage and more immersive environments by adding falling things and stuff automatic enemy spawning make the worldenvironment color change in a blendchunk rather than having to actually go to the solid one Notes really hope I get an xbox so if you see this, please repost like comment whatever so this project is seen more, and also if your rating give me a perfect score! 🙏
added health bar Changelog health bar created a unshadedlayer node using subviewports where if you add a child to it, that child will be unaffected by shading like cel shading and pixel art (it doesn’t work that well yet, i’ll have to improve it) changed player health to 5 Next steps make something happen when you die which will probably involve creating a menu inventory improve the shading system Notes ignore the roblox thing
if you’re reading this, reposting liking and comment help a lot and I really want this project to get out there, bc I’m working reallly hard on it so smash those like and follow buttons thanks also my BIGGEST devlog yet, press read more! 🙏 (added guns 🔫🔫) actual devlog below TONS OF NEW CHANGES! 🔫 Changelog (there’s so many, I couldn’t do it by memory and had to go to git history added collision shapes to the environments! this includes the trees, the rocks, the glaciers, cacti, etc. not sure if I included this in the last devlog but WIP winter field biome exported player speed (probably also in the last) INVENTORY!!! so far it has the axe, the pistol, and the rest is empty but I successfully built it so it is very easy to add to and implement into the game a whole pistol 🔫🔫🔫🔫🔫 took a while (mostly the reason why this devlog is so long) it took SO LONG to get the blender model working because: very unfortunate news The person who I was getting ALL of my models from on sketchfab, @levraicoincoin DELETED their sketchfab account no idea why, crazy coincidence that it happpened the day after I published using their models. So it took so long to find someone else’s models (thank you new person who I dont want to delete their models 🙏). and this new person’s models are very different and it took me a very long time to get adjusted to this and figure out how to use it. @levraicoincoin was so simple, this one is not. all of the animations were packed into one action, and I did not know about Godot’s slice (wtv its called) feature, so I was trying to import them seperately through blender. huge fail, but finally figured it out so I guess it’s a success 👑 and another plus is that this person does have more models that are similar, and I’ve figured out how to use them so it won’t be that big of a struggle next time anyway back to changelog sucessfully got the pistol’s animations working added an AudioBus that has signals of things like axe swung and shot fired added a GameAudio node that uses the signals from AudioBus and plays a sound made the pistol sound this part was super tedious made it so the player’s arms were unshaded (took so long and had to use my broken UnshadedLayer node from earlier, HUGE pain removed the outline of everything I guess that’s about it (probably a bit more that I’m forgetting but it’s fine, this devlog is huge) Next steps (hopefully not as long) more weapons! will not take nearly as much time I hope 🙏 add more enemies fix some gun bugs because I don’t think it’s working that well when moving right now find the best spot for health and inventory, probably bottom left corner get an audio for the axe get background music, meaning probably make a start and death menu vehicle Notes if you really read everything, I appreciate it a LOT. all of my work related to this devlog took SO MUCH time, but I’ve gotten a lot of support. super grateful probably best news so far, @tejaswa got unbanned after mistakenly being banned for fraud! 🎉 he inspired this project a lot, so I’m really happy for him, his project, and grateful for the support he gave me that’s all, thanks! reposting liking and comment help a lot!
added creepers to my fps Changelog imported the snowman monster model (only idle and walk animation so I had to manage) make the snowman go towards the player gave the snowman the same mechanics as a minecraft creeper Next steps more mobs more guns Notes my last devlog flopped why
demo finally out! press to play give me feedback!!! i’ve already gotten reports that the game gets very laggy when you look at the trees (its because of complex shaders that are post-processing), will fix soon
pre-devlog ship! please give me a good review guys 🙏 get playing! just updated: Changelog added a score axe sound tried to fix enemy shooting, not sure if I really did though menu and death screen bigger map that has slightly random generation enemies get bigger and stronger as score gets up and you survive for longer Next steps: ship! Notes: please give me a good score!
hi everyone! before you rate, let me just clarify about a few things before you rate my project the game takes a little time to load, so please be patient 🙏 look at the devlogs while you wait! i’m on mac so I haven’t tested the windows download, try to play in-browser i’m pretty sure it’s fixed but sometimes pressing W can move backwards and S moves forward. this is because you may have accidentally breached the limit on looking up and down. if this happens, slowly keep looking up or down (both work) until its fixed happy shipping!
I reviewed everyone’s previous ship feedback and made a few changes! ready to re-ship, wish me luck!
Ships:
Alien FPS! 👽 🔫 an exploration alien shooter game made in Godot by arjun bhumula! this is my first ever 3d project, and I’m very proud of it! Alien FPS is kind of like an arena shooter (ig) where you are given an axe and a pistol and you have to fend for yourself. In the biomes surrounding you, enemies are spawning everywhere: (the following is from the readme) The enemies include: eye monster 👁️ : 200 points, but 400 if you use your axe to kill it snowman (creeper like minecraft: 250 points, but 500 if you use your axe to kill it Enemies keep getting stronger as your score builds up, so be careful! You can either die by getting your health down to 0 or falling off the map somehow Have fun! AI DISCLOSURE! ⚠️ NO AI IS USED FOR CODE! However, I used AI to walk me through the process of using Blender and Godot together because this this is my first time doing that. Please give me a good review so I can get an xbox, THANK YOU SO MUCH EVERYBODY
Alien FPS! 👽🔫 — Ship #2 an exploration alien shooter made in Godot by arjun bhumula! this is my 2nd ship for Stardance. still my first 3D project and i’m proud of it — after Ship #1 i actually listened to the feedback and fixed a bunch of stuff. What I changed from feedback made it run better on weaker computers enemies don’t spawn on top of trees/objects anymore eye monsters now show up in the plains too cleaned up some gameplay / UX issues people pointed out The game arena shooter — axe + pistol, enemies spawn across different biomes. scoring eye monster 👁️ — 200 (400 with axe) snowman (creeper-like) — 250 (500 with axe) enemies get stronger the longer you survive. die at 0 HP or by falling off the map. have fun! AI disclosure ⚠️ NO AI WAS USED FOR CODE. I only used AI to help me learn Blender + Godot since this is my first time doing that. Please give me a good review so I can get an xbox, THANK YOU SO MUCH EVERYBODY...
|
1792990411.8932495
|
1793076811.8932495
|
|
3602
|
3d gdot fps game by @jonathanwillner | Stardance
|
jonathanwillner
|
2
|
175.0
|
676
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-16T19:46:46Z", "hours": 36.0, "multiplier": 4.42, "payout": 81, "blessing": "cursed", "text": "Its a 3d fps made in Godot with a level that has interactable ncps because i lost the plot . It was fairly challenging since i have never used Godot but I’m proud of it. Even if there were times where this project made me want to yeet my computer out the second story window of my house and then follow after it but it was \"fun\" and \"rewording\" to get it work I hope you enjoy", "repo": "https://github.com/jonwill12/3d-hackclub-game", "demo": "https://jonwill12.itch.io/hackclub3dgame"}, {"ship_num": 2, "ts": "2026-06-17T15:18:07Z", "hours": 139.0, "multiplier": 7.24, "payout": 595, "blessing": "neutral", "text": "Its a 3d fps in godot it was fairly challenging since iv never used godot but I’m somewhat proud of it", "repo": "https://github.com/jonwill12/3d-hackclub-game", "demo": "https://jonwill12.itch.io/hackclub3dgame"}]...
|
[{"post_id": 29693, "ts": "202 [{"post_id": 29693, "ts": "2026-07-16T19:35:42Z", "hours": 6.0, "text": "i worked on getting the death and health system working cus thay broke agian than i adden the new level to the level select and fixed some bugs"}, {"post_id": 27389, "ts": "2026-07-12T22:22:55Z", "hours": 7.0, "text": "Dev Log: Fixing NPC Door Navigation IssueProblemWhile testing the new NPC AI system, I noticed that enemies were able to find the correct path using the NavigationAgent3D, but they would get stuck when trying to walk through doors.The NPC was not failing to find a path. The navigation debug showed:Navigation map was readyPath count was validThe NPC had a target positionThis meant the problem was not with the NavigationAgent3D or the navigation mesh.InvestigationI tested multiple possible causes:Rebuilt the navigation meshChecked NavigationAgent3D settingsChecked the NPC movement codeChecked collision sizesChecked the NPC pathingAfter debugging, I found that the issue was caused by collision layers.The NPC and the door were using the same collision layer, causing the NPC’s collision body to interfere with the door collision. The navigation system could see a valid path through the door, but the physics engine was stopping the NPC from moving through it.SolutionI separated the collision layers so the NPC and the door no longer incorrectly blocked each other.After changing the collision settings:NPCs could correctly enter and leave housesNavigation paths continued workingDoors no longer trapped enemiesMultiple NPCs could navigate the level correctlyNew Level ProgressI the Current AI Features The NPC system now includes: NavigationAgent3D pathfinding Enemy chasing and a behavior Anger system based on player messages that NPC can respond to in the chat UIMultiple NPC support with name targeting i agian cant uplode a video"}, {"post_id": 26292, "ts": "2026-07-11T00:27:50Z", "hours": 8.0, "text": "devlog Building the Next Level Today I made more progresson the game by adding a new AI npc and started working on a brand-new level. First,I fixed several bugs with command handling and NPC responses, Then I startedbuilding the new level for the game and began creating and placing some simplehouses around the map to make the environment feel more realistic. Then I plannedout where the NPCs and points of interest will be located inside and around thehouses. The Next Step is to Finish building the houses and add moreenvironmental details, create interiors so players can explore inside thebuildings, and add the NPCs so they can interact with the player as well as continuingto improve the AI so the npcs react naturally to what the player says and does,and keep testing and fixing bugs as development continues. and AI Improvements & New Dialogue System witch was focused on improving the AI and laying the groundwork for more immersive NPC interactions. AI Improvements Continued working on the enemy AI that reacts to what the player says. Improved the NPC anger system and fixed navmesh i can only add one video tho"}, {"post_id": 24290, "ts": "2026-07-07T19:16:19Z", "hours": 0.0, "text": "i have given up on getting the stt to work cause the auido godot outputs is to hard for stt models to understand so im just going to do a text box"}, {"post_id": 23581, "ts": "2026-07-06T16:53:27Z", "hours": 2.0, "text": "i cant do a video because it will casue a feedback loop Today I finally got a working voice-controlled AI system inside my Godot project. The goal was to let the player speak naturally to NPCs and have the game react in real time. First I set up a full voice pipeline: with a Microphone input capture inside Godot Real-time voice detection using audio thresholds Automatic recording when the player starts speaking Silence detection to stop recording Exporting audio chunks as .wav files Sending audio to Whisper (whisper.cpp) locally Receiving transcribed text for game logic This allows players to literally talk to the game than i added the audio improvements At first, the audio was messy and hard for Whisper to understand. The main issues were Muddy frequencies, Missing clarity in speech , and Some words being cut off at the start To fix this, I added audio processing directly in Godot: using a Compressor to balanced loud/quiet parts of speech and a band-Pass Filter to removed low rumble + high noise and Improve microphone sensitivity tuning. After these changes, the speech became much cleaner and Whisper started producing more accurate transcriptions."}, {"post_id": 23033, "ts": "2026-07-05T19:25:46Z", "hours": 2.0, "text": "made jumping work smother and am starting on ai thingy that when you say something reacts to what you said so if you say something mean it attacts and you can give it camands like go over thare or get me that item ect"}, {"post_id": 22404, "ts": "2026-07-04T21:24:43Z", "hours": 3.0, "text": "the game isnt as laggy as it lookes in the video my wifi is just buns Today I revamped my enemy’s navigation system and got the NavAgent working properly again after a lot of debugging. Before this update, the enemies would either get stuck on walls or fail to properly detect paths, which made the AI feel broken and inconsistent during gameplay. The main issue came from how the that i wasn’t using a NavigationAgent3D and instead just making the enemy go to the player one issue i ran into was how velocity was handled in the enemy movement code. Once I corrected the movement logic to properly use get_next_path_position () and only apply navigation to the X/Z axis while keeping gravity separate and added the floor walls and barrel nodes to the nav region the enemies started moving smoothly again and actually path around obstacles instead of bumping into them. After fixing the movement system, I also cleaned up the enemy AI script to make it more stable. The enemy now: Finds the player using groups Uses NavigationAgent3D to calculate paths Chases the player correctly around walls Maintains gravity properly while moving Attacks when close to the player This made the enemy feel way more alive and less “robotic,” since it can now properly navigate the level instead of just walking into geometry. Overall, this was a big improvement to the AI system and a solid step toward making the enemies feel more intelligent and fun to fight. I also fixed an issue where if you were touching the enemy and shot it you would get damaged and not the enemy."}, {"post_id": 21878, "ts": "2026-07-04T01:40:33Z", "hours": 5.0, "text": "also it was 2 hours and 50 minets idk why it says 5 hours and 55 minutes it may have been something else as well. This update was all about adding the fps arms and getting them to work in my game Aswell as redoing the player health and death systems. I had to redo the health system, so I made it into a more proper system that tracks the player’s health and detects when it reaches zero. Once the player’s healthreaches zero, they die, and the game displays the dedicated death screen instead of just leaving the player in the world. Getting this working was notas simple as I expected. I ran into several issues while connecting the player script to the death screen. At first, Godot could not find the custom health class because I had the wrong type name. After fixing that, I ran into errors where the death screen function expected different arguments than I was providing. Later, I hit another problem where the game tried to call the deathscreen on a null instance because the node reference was not set correctly. Each error pointed me toward another part of the system that needed attention. Once I fixed the node references and cleaned up the function calls, the deathscreen finally appeared correctly when the player’s health reached zero. Although it took several debugging sessions with chat gpt I know I used ai sue me I had no idea what I was doing and now I kind of know what I am doing, I nowhave a much more reliable player death system. my recodeing software dosnt recod the game aprently i cant add video"}, {"post_id": 10658, "ts": "2026-06-17T14:53:44Z", "hours": 1.0, "text": "finished fixing it made it ready to ship"}, {"post_id": 10389, "ts": "2026-06-17T02:16:51Z", "hours": 5.0, "text": "i added the tutorial, made the level select work as well as added the finishing touches to the game, because I’m taking a break because this game is bad for my mental and physical health. I haven’t slept in 5 days and I haven’t had a good sleep in 2 weeks, not because of the game, but it’s not helping"}, {"post_id": 9293, "ts": "2026-06-15T16:42:06Z", "hours": 15.0, "text": "At first, I created a UI using standard Button nodes and tried to assign images using level data. However, I ran into multiple issues where: • Images were not appearing at all • Buttons were scaling too large inside the GridContainer • Size settings like custom_minimum_size were being ignored • Some invalid properties (like icon_max_width) caused errors After debugging, I found that I could overrides manual sizing along size flags are properly configured. Now the level select system successfully generates buttons dynamically from an array of level data, including: • Level name • Level image icon • Locked/unlocked state • Scene loading when clicked and made a new level"}, {"post_id": 8992, "ts": "2026-06-15T00:00:02Z", "hours": 5.0, "text": "working on finishing touches and my hack time broke yaaaaaaaa"}, {"post_id": 8504, "ts": "2026-06-14T04:16:19Z", "hours": 37.0, "text": "i loki forgot to make a devlog yesterday i fixed the guns had a midlife crisis about whare i want to go with the game next added objectives and recoded the enimy and player and now im going to take a nap"}, {"post_id": 6953, "ts": "2026-06-11T17:42:07Z", "hours": 13.0, "text": "made new light system added FPS multiplayer template multIplayer and they’re back no oh god noooooooooooooooooooooooooooooooooooo not again"}, {"post_id": 5906, "ts": "2026-06-09T21:39:21Z", "hours": 16.0, "text": "made animation for enemy and rewrote entire code because gdot decided it wanted me to"}, {"post_id": 4961, "ts": "2026-06-08T16:30:38Z", "hours": 17.0, "text": "i fixed the guns and the enemy cus he stoped working"}, {"post_id": 4453, "ts": "2026-06-07T19:35:09Z", "hours": 1.0, "text": "trying to fix what ever the fuck this shit is no luck so far"}, {"post_id": 3911, "ts": "2026-06-07T00:51:38Z", "hours": 1.0, "text": "lo key i give up"}, {"post_id": 3871, "ts": "2026-06-06T23:12:55Z", "hours": 2.0, "text": "added guns and death"}, {"post_id": 3667, "ts": "2026-06-06T18:26:28Z", "hours": 17.0, "text": "game got corrupted had to start over :("}, {"post_id": 1778, "ts": "2026-06-03T23:43:28Z", "hours": 2.0, "text": "adding enemy"}, {"post_id": 1113, "ts": "2026-06-02T22:51:41Z", "hours": 1.0, "text": "learning gdot"}]...
|
Title: 3d gdot fps game by @jonathanwillner | Star Title: 3d gdot fps game by @jonathanwillner | Stardance
Devlogs:
learning gdot
adding enemy
game got corrupted had to start over :(
added guns and death
lo key i give up
trying to fix what ever the fuck this shit is no luck so far
i fixed the guns and the enemy cus he stoped working
made animation for enemy and rewrote entire code because gdot decided it wanted me to
made new light system added FPS multiplayer template multIplayer and they’re back no oh god noooooooooooooooooooooooooooooooooooo not again
i loki forgot to make a devlog yesterday i fixed the guns had a midlife crisis about whare i want to go with the game next added objectives and recoded the enimy and player and now im going to take a nap
working on finishing touches and my hack time broke yaaaaaaaa
At first, I created a UI using standard Button nodes and tried to assign images using level data. However, I ran into multiple issues where: • Images were not appearing at all • Buttons were scaling too large inside the GridContainer • Size settings like custom_minimum_size were being ignored • Some invalid properties (like icon_max_width) caused errors After debugging, I found that I could overrides manual sizing along size flags are properly configured. Now the level select system successfully generates buttons dynamically from an array of level data, including: • Level name • Level image icon • Locked/unlocked state • Scene loading when clicked and made a new level
i added the tutorial, made the level select work as well as added the finishing touches to the game, because I’m taking a break because this game is bad for my mental and physical health. I haven’t slept in 5 days and I haven’t had a good sleep in 2 weeks, not because of the game, but it’s not helping
finished fixing it made it ready to ship
also it was 2 hours and 50 minets idk why it says 5 hours and 55 minutes it may have been something else as well. This update was all about adding the fps arms and getting them to work in my game Aswell as redoing the player health and death systems. I had to redo the health system, so I made it into a more proper system that tracks the player’s health and detects when it reaches zero. Once the player’s healthreaches zero, they die, and the game displays the dedicated death screen instead of just leaving the player in the world. Getting this working was notas simple as I expected. I ran into several issues while connecting the player script to the death screen. At first, Godot could not find the custom health class because I had the wrong type name. After fixing that, I ran into errors where the death screen function expected different arguments than I was providing. Later, I hit another problem where the game tried to call the deathscreen on a null instance because the node reference was not set correctly. Each error pointed me toward another part of the system that needed attention. Once I fixed the node references and cleaned up the function calls, the deathscreen finally appeared correctly when the player’s health reached zero. Although it took several debugging sessions with chat gpt I know I used ai sue me I had no idea what I was doing and now I kind of know what I am doing, I nowhave a much more reliable player death system. my recodeing software dosnt recod the game aprently i cant add video
the game isnt as laggy as it lookes in the video my wifi is just buns Today I revamped my enemy’s navigation system and got the NavAgent working properly again after a lot of debugging. Before this update, the enemies would either get stuck on walls or fail to properly detect paths, which made the AI feel broken and inconsistent during gameplay. The main issue came from how the that i wasn’t using a NavigationAgent3D and instead just making the enemy go to the player one issue i ran into was how velocity was handled in the enemy movement code. Once I corrected the movement logic to properly use get_next_path_position () and only apply navigation to the X/Z axis while keeping gravity separate and added the floor walls and barrel nodes to the nav region the enemies started moving smoothly again and actually path around obstacles instead of bumping into them. After fixing the movement system, I also cleaned up the enemy AI script to make it more stable. The enemy now: Finds the player using groups Uses NavigationAgent3D to calculate paths Chases the player correctly around walls Maintains gravity properly while moving Attacks when close to the player This made the enemy feel way more alive and less “robotic,” since it can now properly navigate the level instead of just walking into geometry. Overall, this was a big improvement to the AI system and a solid step toward making the enemies feel more intelligent and fun to fight. I also fixed an issue where if you were touching the enemy and shot it you would get damaged and not the enemy.
made jumping work smother and am starting on ai thingy that when you say something reacts to what you said so if you say something mean it attacts and you can give it camands like go over thare or get me that item ect
i cant do a video because it will casue a feedback loop Today I finally got a working voice-controlled AI system inside my Godot project. The goal was to let the player speak naturally to NPCs and have the game react in real time. First I set up a full voice pipeline: with a Microphone input capture inside Godot Real-time voice detection using audio thresholds Automatic recording when the player starts speaking Silence detection to stop recording Exporting audio chunks as .wav files Sending audio to Whisper (whisper.cpp) locally Receiving transcribed text for game logic This allows players to literally talk to the game than i added the audio improvements At first, the audio was messy and hard for Whisper to understand. The main issues were Muddy frequencies, Missing clarity in speech , and Some words being cut off at the start To fix this, I added audio processing directly in Godot: using a Compressor to balanced loud/quiet parts of speech and a band-Pass Filter to removed low rumble + high noise and Improve microphone sensitivity tuning. After these changes, the speech became much cleaner and Whisper started producing more accurate transcriptions.
i have given up on getting the stt to work cause the auido godot outputs is to hard for stt models to understand so im just going to do a text box
devlog Building the Next Level Today I made more progresson the game by adding a new AI npc and started working on a brand-new level. First,I fixed several bugs with command handling and NPC responses, Then I startedbuilding the new level for the game and began creating and placing some simplehouses around the map to make the environment feel more realistic. Then I plannedout where the NPCs and points of interest will be located inside and around thehouses. The Next Step is to Finish building the houses and add moreenvironmental details, create interiors so players can explore inside thebuildings, and add the NPCs so they can interact with the player as well as continuingto improve the AI so the npcs react naturally to what the player says and does,and keep testing and fixing bugs as development continues. and AI Improvements & New Dialogue System witch was focused on improving the AI and laying the groundwork for more immersive NPC interactions. AI Improvements Continued working on the enemy AI that reacts to what the player says. Improved the NPC anger system and fixed navmesh i can only add one video tho
Dev Log: Fixing NPC Door Navigation IssueProblemWhile testing the new NPC AI system, I noticed that enemies were able to find the correct path using the NavigationAgent3D, but they would get stuck when trying to walk through doors.The NPC was not failing to find a path. The navigation debug showed:Navigation map was readyPath count was validThe NPC had a target positionThis meant the problem was not with the NavigationAgent3D or the navigation mesh.InvestigationI tested multiple possible causes:Rebuilt the navigation meshChecked NavigationAgent3D settingsChecked the NPC movement codeChecked collision sizesChecked the NPC pathingAfter debugging, I found that the issue was caused by collision layers.The NPC and the door were using the same collision layer, causing the NPC’s collision body to interfere with the door collision. The navigation system could see a valid path through the door, but the physics engine was stopping the NPC from moving through it.SolutionI separated the collision layers so the NPC and the door no longer incorrectly blocked each other.After changing the collision settings:NPCs could correctly enter and leave housesNavigation paths continued workingDoors no longer trapped enemiesMultiple NPCs could navigate the level correctlyNew Level ProgressI the Current AI Features The NPC system now includes: NavigationAgent3D pathfinding Enemy chasing and a behavior Anger system based on player messages that NPC can respond to in the chat UIMultiple NPC support with name targeting i agian cant uplode a video
i worked on getting the death and health system working cus thay broke agian than i adden the new level to the level select and fixed some bugs
Ships:
Its a 3d fps in godot it was fairly challenging since iv never used godot but I’m somewhat proud of it
Its a 3d fps made in Godot with a level that has interactable ncps because i lost the plot . It was fairly challenging since i have never used Godot but I’m proud of it. Even if there were times where this project made me want to yeet my computer out the second story window of my house and then follow after it but it was "fun" and "rewording" to get it work I hope you enjoy...
|
1792878850.189505
|
1793742850.189505
|
|
39530
|
Ship Talkers by @SeradedStripes | Stardance
|
SeradedStripes
|
1
|
44.69
|
676
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-17T09:59:54Z", "hours": 41.0, "multiplier": 13.61, "payout": 676, "blessing": "neutral", "text": "I made shiptalkers! A bot that originally allows you to compare your slack time to hackatime time. Previously it was shut down, but I have revived it! With many additions as well. It features a website with a bunch of aggregated stats, a cool api and sweet leaderboards. Even a search system! It processes all messages in hack club slack to calculate slack time. Although if you opt in to it storing your messages as well, it will be way more accurate and will stay updated faster.", "repo": "https://github.com/SeradedStripes/shiptalkers", "demo": "https://shiptalkers.kirze.de"}]...
|
[{"post_id": 75302, "ts": "202 [{"post_id": 75302, "ts": "2026-09-29T18:01:58Z", "hours": 1.6317, "text": "Updates Quite a bit this time that are important. First up I added a link to the github in the header and fixed the bot to actually follow slack rate limtis. Added a board for linked accounts page. Big thing now. Added consent gated slack scraping. Basically fd told me i need people to opt in. And finally the last big thing I added channel blacklisting as a shipwright and a goi linked through OAuth so I had to blacklist all sw channels and goi channel as they have sensitive messages in them"}, {"post_id": 74418, "ts": "2026-09-27T11:00:42Z", "hours": 2.0608, "text": "Update time Been quite a bit since ship and i decided because of the stardance extension I’m going to do more devlogs. Mainly i added an opt out feature and realized the new defaults for scraping speeds were shit so i undid them. I then decided that because there were channels with fucking 3000 thread roots, i lowered the age limit of threads to 7 days instead of 30 days. I nuked opt out/opt in and nuked the manual apps needed for scraping. There is now an OAuth system with slack, you can link your account and it will scrape your messages in private channels you are in. works without this though. Added a max scraping per minute variable so i dont strain my internet connection a bunch. And finally I also added the [PRIVATE] and [ARCHIVED] badges to channels"}, {"post_id": 69557, "ts": "2026-09-17T09:48:52Z", "hours": 2.6625, "text": "Updates Should be final update before I ship Added all users and all channels boards Renamed Leaderboards to just Boards Normalized colum widths for those boards and added pagination We were hammering hackatime, it now has a hard limit of 50k hackatime reqs/day and 1req/sec Massive update to stats page so it displays more info and is more relevant. Changed total time to total hours where the time was hours and added total time in format of years/months/ etc. as well We sped up docker builds a bunch We retry known private hackatime users ever 30 days now Fixed a shared message-scrape lock The response when you ask the bot for time now includes a link to your/person your checking time ofs stats page I think thats about it"}, {"post_id": 68061, "ts": "2026-09-14T13:34:14Z", "hours": 3.9675, "text": "Updates Quite a bunch of updates this time, a lot of work has been done, and i feel like I was nearly killed by fd. Okay so Shiptalkers is now opt in. Most of this devlogs time was spent: Adding a message locator system, basically maps out where every message is instead of storing content of it Process messages without storing message content Backfill message content for users who opt in Add a custom shiptalkers id assigned to messages so we dont store sender id of each message. To opt in you can send “Opt In” in the shiptalkers channel Apart from that I migrated from in file SQL to a proper migrations system. General updates Added mobile support Massive cleanup of AGENTS.md 0 Full fetch and scrape all messages run in parrallel now. Archived channels card for stats page. Now persists thread rescans, added a thread timestamp index, persisted thread high-water marks. Reduced repeated history-wide scans Added durable consent backfill progress and fixed backfills blocking fresh message checks Fixed a per message update of the shared database counter row. It now updates per statement Score recomputation is now hourly instead of passly. I think thats about it. Main point of this is that we got scraping to be way faster, and we got opt in requirement."}, {"post_id": 64872, "ts": "2026-09-09T15:53:56Z", "hours": 2.1342, "text": "Updates Bunch of API related things this time Added api docs API key section in account tab and APIT key account endpoints Added CSRF support (lmao i dont know why i didnt have it before) Made the api key response be a popup in account page and centered it in a later commit Added Stats API endpoint Added Max Age to cookies Website and slack bot now share 1 source of truth for stats (stupid that i didnt have it like this already) Added granting perms to other api keys New user joins are now picked up in real time. Thats about it"}, {"post_id": 62009, "ts": "2026-09-05T06:41:19Z", "hours": 0.9625, "text": "Updates Really short devlog this time. Added Error logging for session_query Resumable channel sweeps Use a new action for build & deploys Workflows are also greatly increased with speed"}, {"post_id": 60402, "ts": "2026-09-02T18:19:48Z", "hours": 3.8992, "text": "Alot of updates this time Updates Brand new scraper crate separate from app, dk if I have mentioned it before in devlogs. It does slack and hackatime scraping all in one so we can have the main app deploys not interrupt scrapes. Updates^2 Added “a” keyword - Alias for “all time” Updated settings.rs and example.env to fit new defaults Fixed refresh_daily_stats failing on a second Fixed a bunch of ::bigint needing to be everywhere a sum() was decoded switched scraper to mimalloc allocator Replaced ts with real message_tis / 1000000 (I dont know if i put enough/too many zeros here) Fixed slack time recomputing in new postgredb Precomputes page stats now Removed a useless half-hourly job ON CONFLICT now only fires when counts actually change Added DB available probe to tests Better logging (disabled timestamps in logger) Added a mark_seen dedupe Updated hackatime sync logging to be less taking up all logs Added zstd + drop duplicate tables Removed zstd as postgre18-alpine does not come with it and I am not rescraping slack Only the scraper can init tables now I don’t think im missing anything else i did, If I am though then sorry gois Also see in one of the images below is total ram and cpu usage. somehow the postgre db is using over 4.5G of ram"}, {"post_id": 55696, "ts": "2026-08-27T17:39:34Z", "hours": 2.3453, "text": "Updates Mighta lowkey forgot to be doing devlogs again… Anyway Updates^2 Basically any keyword for time works now Cargo Chef is now used for docker Updated AGENTS.md No longer requires hackatime data to display slack time data. Ported everything from clickhouse to postgresql but havent deployed that yet You can now mention other people to get their stats I think thats it Might be wrong on that tho. Anyway I got better from being sick last week and im sick again Also used @mahad in screenshot below, def not an excuse just for a random pung"}, {"post_id": 50981, "ts": "2026-08-20T13:52:57Z", "hours": 1.0983, "text": "Updates We still sick (not much better today) but i got some work done Updates^2 Split a bunch of existing code into separate files for maintainability added font caching parallel resyncs (hackatime) More memory/CPU optimizations in the code (I lowkey forgot what i changed for this Thats it for now"}, {"post_id": 50495, "ts": "2026-08-19T17:34:53Z", "hours": 1.4911, "text": "A decent length devlog this time So recently I have been sick so i got less time. (Wish me to get better soon) Anyway enough of that, on to the changes: Updates Fixed authless hackatime syncing Using the spans api of hackatime so we get all data for time specific commands fix SQL and rust helper dividing by 1000000 Wrapped the entire sum(if(…)) in toUInt64(), which fixed the slack bot reporting wrong time from public hackatime syncing change. It makes it so clickhouse sees a single output type regardless of what it infers inside. Thats about it"}, {"post_id": 47761, "ts": "2026-08-15T22:05:51Z", "hours": 1.8011, "text": "Updates We swapped aws-lc-rs for ring futures swapped for futures-util nuked tower crate & lowered what is pulled for tokio Brought back dependabot auto merge Added cool charts Nuked cool charts Stats page changed again (wip) Broke hackatime time syncing when i tried to make it not need auth (tmrw me problem) Added page streaming and incremantal word totals"}, {"post_id": 47444, "ts": "2026-08-15T11:36:12Z", "hours": 2.1614, "text": "Updates improving my devlog to hour ratio Anyway.. New db scrape is completed! Major changes Top words leaderboard Leaderboard search system Updated stats page (see below) Added a combined leaderboard (hackatime + slack time) Added backups in coolify Minor repo restructure (moved shiptalkers-app to its own shiptalkers-app/ dir) Added gzip support for slack api scrapers im lowkey running out of things to add… Drop any suggestions in the comments"}, {"post_id": 45844, "ts": "2026-08-12T15:56:53Z", "hours": 2.9381, "text": "Updates Tad bit of time that i forgot to log progressively. Anyway DB got corrupted We rescraping dis shi rn Added a whole new formula (multiple times actually) Added tests for formula Did a bunch of fixes to try and save corrupted db Afterwards i just nuked it and we started rescraping yesterday Made ini_tables probe slack_messages_by_user first Added default clickhouse values into the rust app Now recomputes stats page cache every 30s Fixed UNKNOWN_IDENTIFIER: ‘chars’ (Yeah i had claude do this one) Added a better system to add new slack keys to the env, instead of 1 big env var, its now, SLACK_BOT_TOKEN_X=xoxb…. Where X is token number made it a shared work queue instead of static round robin sharding for scraper Switched to a mimalloc allocator from glibc It now does backfills for channels and users in parallel Added a system for incase hackatime goes down Did a commit for one new keyboard being “last 2 months” It also now scrapes reactions"}, {"post_id": 43402, "ts": "2026-08-08T16:58:43Z", "hours": 2.14, "text": "Updates Added proper test system More keywords Heavily sped up per user pages & stats page Updates stats ui to mostly show 5 decs for db size in gib added a display load time in ms to footer Nuked the admin panel Dependabot & PR labeler system(s) We now use alpine base for docker We got a tests system now I think thats it, idk tho"}, {"post_id": 43170, "ts": "2026-08-08T09:04:47Z", "hours": 3.83, "text": "Updates May have forgot to be doing devlogs Anyway Actual thread scanning and actually scraping its replies Recconect system for run_socket so the slack bot part stops dying Added an admin panel Is bot and Is Deleted acc tags to make leaderboard better Slack_app_creation script (to scrape with more tokens.. faster) Added error support from slack Proper slack stats time computation for in channel image Scan older threads support (up to 30 days) If slack stops sending periodic pings then slack bot auto reconnects Displays coding time as hours and minutes instead of just minutes DB schema updates"}, {"post_id": 40194, "ts": "2026-08-03T16:25:15Z", "hours": 3.8114, "text": "Oops, forgot to devlog for a bit Anyway Updates its online it works Round robin support for multiple tokens for > speed it replies in channel (ship-talkers channel) downgraded clickhouse to 26.4 for my older server added a proper health check endpoint Optimized slack messages daily Realized conversations.history supports 999 per request instead of just 100 msgs Auto deploy system Limited resources for clickhouse Consistant rescrape checks w/ round robin support ofc Thats about it i think Oh yeah it finished the full slack scrape Next up Changing scrape system for privacy reasons (maybe) more scrape accs QOL features Idk gang"}, {"post_id": 39345, "ts": "2026-08-02T08:05:59Z", "hours": 1.7075, "text": "Updates As usual we got a bunch of features Search system Channel search User Search Per user stats page Per channel stats page Hackatime/HCA login systems Header & Footer Added a cool banner at top of the page to show its scraping for initial scrape Fix docker failing due to forgeting to COPY templates for it Added scopes needed for everything to readme Switched out the purple for a soft pink Still not done scraping"}, {"post_id": 38890, "ts": "2026-08-01T13:41:10Z", "hours": 1.4708, "text": "Updates Docker stuff Better concurrency system Replaced hand rolled bucket Two queue system for need to be scraped and already scraped checking Show total db size in stats page Backfilling for already scraped channels Top chatters and top shiptalkers tables in stats page Move all styling to a css file Add the css file to the repo as i forgot to include it in the move all styling to css file commit Use askama crate for server side rendering to remove javascript in website remove dead code and dead crates Create AGENTS.md Syslink CLAUDE.md to AGENTS.md Create clippy.toml Create a justfile Create CONTRIBUTING.md Add expected environment to contributing file Realize slack api sucks for the millionth time Fix things that i was ignoring and just lint needed me to fix to not error outs Scraping is coming along good too over 1k channels done 14.8k to go"}, {"post_id": 38777, "ts": "2026-08-01T10:43:33Z", "hours": 1.6328, "text": "Updates Archived Channel ID scraping I then reverted that change 2 days later after how stupid it was No more infinite scan loops Message scraping support Auto dedupe Better scraping Better logging Thread Scraping Then better thread scraping Finally Thread reply scraping in background"}, {"post_id": 35126, "ts": "2026-07-26T11:24:54Z", "hours": 1.0536, "text": "Updates We got it scraping total channel count so far Proper list Link up stats page to clickhouse Fix it not pushing to clickhouse often enough Start off with scraping total channel count Docker compose stuff Fun Fact: There is a total of 15,958 channels in Hack Club Slack!"}, {"post_id": 35088, "ts": "2026-07-26T09:20:49Z", "hours": 0.275, "text": "Updates Basic project setup"}]...
|
Title: Ship Talkers by @SeradedStripes | Stardance Title: Ship Talkers by @SeradedStripes | Stardance
Devlogs:
Updates Basic project setup
Updates We got it scraping total channel count so far Proper list Link up stats page to clickhouse Fix it not pushing to clickhouse often enough Start off with scraping total channel count Docker compose stuff Fun Fact: There is a total of 15,958 channels in Hack Club Slack!
Updates Archived Channel ID scraping I then reverted that change 2 days later after how stupid it was No more infinite scan loops Message scraping support Auto dedupe Better scraping Better logging Thread Scraping Then better thread scraping Finally Thread reply scraping in background
Updates Docker stuff Better concurrency system Replaced hand rolled bucket Two queue system for need to be scraped and already scraped checking Show total db size in stats page Backfilling for already scraped channels Top chatters and top shiptalkers tables in stats page Move all styling to a css file Add the css file to the repo as i forgot to include it in the move all styling to css file commit Use askama crate for server side rendering to remove javascript in website remove dead code and dead crates Create AGENTS.md Syslink CLAUDE.md to AGENTS.md Create clippy.toml Create a justfile Create CONTRIBUTING.md Add expected environment to contributing file Realize slack api sucks for the millionth time Fix things that i was ignoring and just lint needed me to fix to not error outs Scraping is coming along good too over 1k channels done 14.8k to go
Updates As usual we got a bunch of features Search system Channel search User Search Per user stats page Per channel stats page Hackatime/HCA login systems Header & Footer Added a cool banner at top of the page to show its scraping for initial scrape Fix docker failing due to forgeting to COPY templates for it Added scopes needed for everything to readme Switched out the purple for a soft pink Still not done scraping
Oops, forgot to devlog for a bit Anyway Updates its online it works Round robin support for multiple tokens for > speed it replies in channel (ship-talkers channel) downgraded clickhouse to 26.4 for my older server added a proper health check endpoint Optimized slack messages daily Realized conversations.history supports 999 per request instead of just 100 msgs Auto deploy system Limited resources for clickhouse Consistant rescrape checks w/ round robin support ofc Thats about it i think Oh yeah it finished the full slack scrape Next up Changing scrape system for privacy reasons (maybe) more scrape accs QOL features Idk gang
Updates May have forgot to be doing devlogs Anyway Actual thread scanning and actually scraping its replies Recconect system for run_socket so the slack bot part stops dying Added an admin panel Is bot and Is Deleted acc tags to make leaderboard better Slack_app_creation script (to scrape with more tokens.. faster) Added error support from slack Proper slack stats time computation for in channel image Scan older threads support (up to 30 days) If slack stops sending periodic pings then slack bot auto reconnects Displays coding time as hours and minutes instead of just minutes DB schema updates
Updates Added proper test system More keywords Heavily sped up per user pages & stats page Updates stats ui to mostly show 5 decs for db size in gib added a display load time in ms to footer Nuked the admin panel Dependabot & PR labeler system(s) We now use alpine base for docker We got a tests system now I think thats it, idk tho
Updates Tad bit of time that i forgot to log progressively. Anyway DB got corrupted We rescraping dis shi rn Added a whole new formula (multiple times actually) Added tests for formula Did a bunch of fixes to try and save corrupted db Afterwards i just nuked it and we started rescraping yesterday Made ini_tables probe slack_messages_by_user first Added default clickhouse values into the rust app Now recomputes stats page cache every 30s Fixed UNKNOWN_IDENTIFIER: ‘chars’ (Yeah i had claude do this one) Added a better system to add new slack keys to the env, instead of 1 big env var, its now, SLACK_BOT_TOKEN_X=xoxb…. Where X is token number made it a shared work queue instead of static round robin sharding for scraper Switched to a mimalloc allocator from glibc It now does backfills for channels and users in parallel Added a system for incase hackatime goes down Did a commit for one new keyboard being “last 2 months” It also now scrapes reactions
Updates improving my devlog to hour ratio Anyway.. New db scrape is completed! Major changes Top words leaderboard Leaderboard search system Updated stats page (see below) Added a combined leaderboard (hackatime + slack time) Added backups in coolify Minor repo restructure (moved shiptalkers-app to its own shiptalkers-app/ dir) Added gzip support for slack api scrapers im lowkey running out of things to add… Drop any suggestions in the comments
Updates We swapped aws-lc-rs for ring futures swapped for futures-util nuked tower crate & lowered what is pulled for tokio Brought back dependabot auto merge Added cool charts Nuked cool charts Stats page changed again (wip) Broke hackatime time syncing when i tried to make it not need auth (tmrw me problem) Added page streaming and incremantal word totals
A decent length devlog this time So recently I have been sick so i got less time. (Wish me to get better soon) Anyway enough of that, on to the changes: Updates Fixed authless hackatime syncing Using the spans api of hackatime so we get all data for time specific commands fix SQL and rust helper dividing by 1000000 Wrapped the entire sum(if(…)) in toUInt64(), which fixed the slack bot reporting wrong time from public hackatime syncing change. It makes it so clickhouse sees a single output type regardless of what it infers inside. Thats about it
Updates We still sick (not much better today) but i got some work done Updates^2 Split a bunch of existing code into separate files for maintainability added font caching parallel resyncs (hackatime) More memory/CPU optimizations in the code (I lowkey forgot what i changed for this Thats it for now
Updates Mighta lowkey forgot to be doing devlogs again… Anyway Updates^2 Basically any keyword for time works now Cargo Chef is now used for docker Updated AGENTS.md No longer requires hackatime data to display slack time data. Ported everything from clickhouse to postgresql but havent deployed that yet You can now mention other people to get their stats I think thats it Might be wrong on that tho. Anyway I got better from being sick last week and im sick again Also used @mahad in screenshot below, def not an excuse just for a random pung
Alot of updates this time Updates Brand new scraper crate separate from app, dk if I have mentioned it before in devlogs. It does slack and hackatime scraping all in one so we can have the main app deploys not interrupt scrapes. Updates^2 Added “a” keyword - Alias for “all time” Updated settings.rs and example.env to fit new defaults Fixed refresh_daily_stats failing on a second Fixed a bunch of ::bigint needing to be everywhere a sum() was decoded switched scraper to mimalloc allocator Replaced ts with real message_tis / 1000000 (I dont know if i put enough/too many zeros here) Fixed slack time recomputing in new postgredb Precomputes page stats now Removed a useless half-hourly job ON CONFLICT now only fires when counts actually change Added DB available probe to tests Better logging (disabled timestamps in logger) Added a mark_seen dedupe Updated hackatime sync logging to be less taking up all logs Added zstd + drop duplicate tables Removed zstd as postgre18-alpine does not come with it and I am not rescraping slack Only the scraper can init tables now I don’t think im missing anything else i did, If I am though then sorry gois Also see in one of the images below is total ram and cpu usage. somehow the postgre db is using over 4.5G of ram
Updates Really short devlog this time. Added Error logging for session_query Resumable channel sweeps Use a new action for build & deploys Workflows are also greatly increased with speed
Updates Bunch of API related things this time Added api docs API key section in account tab and APIT key account endpoints Added CSRF support (lmao i dont know why i didnt have it before) Made the api key response be a popup in account page and centered it in a later commit Added Stats API endpoint Added Max Age to cookies Website and slack bot now share 1 source of truth for stats (stupid that i didnt have it like this already) Added granting perms to other api keys New user joins are now picked up in real time. Thats about it
Updates Quite a bunch of updates this time, a lot of work has been done, and i feel like I was nearly killed by fd. Okay so Shiptalkers is now opt in. Most of this devlogs time was spent: Adding a message locator system, basically maps out where every message is instead of storing content of it Process messages without storing message content Backfill message content for users who opt in Add a custom shiptalkers id assigned to messages so we dont store sender id of each message. To opt in you can send “Opt In” in the shiptalkers channel Apart from that I migrated from in file SQL to a proper migrations system. General updates Added mobile support Massive cleanup of AGENTS.md 0 Full fetch and scrape all messages run in parrallel now. Archived channels card for stats page. Now persists thread rescans, added a thread timestamp index, persisted thread high-water marks. Reduced repeated history-wide scans Added durable consent backfill progress and fixed backfills blocking fresh message checks Fixed a per message update of the shared database counter row. It now updates per statement Score recomputation is now hourly instead of passly. I think thats about it. Main point of this is that we got scraping to be way faster, and we got opt in requirement.
Updates Should be final update before I ship Added all users and all channels boards Renamed Leaderboards to just Boards Normalized colum widths for those boards and added pagination We were hammering hackatime, it now has a hard limit of 50k hackatime reqs/day and 1req/sec Massive update to stats page so it displays more info and is more relevant. Changed total time to total hours where the time was hours and added total time in format of years/months/ etc. as well We sped up docker builds a bunch We retry known private hackatime users ever 30 days now Fixed a shared message-scrape lock The response when you ask the bot for time now includes a link to your/person your checking time ofs stats page I think thats about it
Update time Been quite a bit since ship and i decided because of the stardance extension I’m going to do more devlogs. Mainly i added an opt out feature and realized the new defaults for scraping speeds were shit so i undid them. I then decided that because there were channels with fucking 3000 thread roots, i lowered the age limit of threads to 7 days instead of 30 days. I nuked opt out/opt in and nuked the manual apps needed for scraping. There is now an OAuth system with slack, you can link your account and it will scrape your messages in private channels you are in. works without this though. Added a max scraping per minute variable so i dont strain my internet connection a bunch. And finally I also added the [PRIVATE] and [ARCHIVED] badges to channels
Updates Quite a bit this time that are important. First up I added a link to the github in the header and fixed the bot to actually follow slack rate limtis. Added a board for linked accounts page. Big thing now. Added consent gated slack scraping. Basically fd told me i need people to opt in. And finally the last big thing I added channel blacklisting as a shipwright and a goi linked through OAuth so I had to blacklist all sw channels and goi channel as they have sensitive messages in them
Ships:
I made shiptalkers! A bot that originally allows you to compare your slack time to hackatime time. Previously it was shut down, but I have revived it! With many additions as well. It features a website with a bunch of aggregated stats, a cool api and sweet leaderboards. Even a search system! It processes all messages in hack club slack to calculate slack time. Although if you opt in to it storing your messages as well, it will be way more accurate and will stay updated faster....
|
1792856875.6119187
|
1792943275.6119187
|
|
28203
|
Hallway Horror by @skhsmrn | Stardance
|
skhsmrn
|
1
|
37.0
|
672
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-08T03:21:47Z", "hours": 37.0, "multiplier": 18.21, "payout": 672, "blessing": "neutral", "text": "I made a first-person psychological horror game built around a looping hallway that changes as the player progresses, using TV broadcasts, phone calls, lighting changes, environmental events, and a scary monster to tell the story! The most challenging part was getting all of the different systems to work together, especially the loop system, audio, animations, lighting, teleporting, player movement, and camera effects. I ran into several bugs involving errors and the very buggy first-person controller. I am most proud of the atmosphere and progression of the game. I really liked how the lighting turned out, and how much I learned about unity’s lighting system. When testing the project, I recommend using headphones and paying close attention to the TV and phone, they are important to the story! Use WASD to move, the mouse to look, E to interact, and Escape to pause, and keep an eye (and ear) out to understand how to progress the story.", "repo": "https://github.com/SukhsimranpreetChana/testCollabGame", "demo": "https://newbiegamer.itch.io/no-answer"}]...
|
[{"post_id": 24510, "ts": "202 [{"post_id": 24510, "ts": "2026-07-08T03:13:40Z", "hours": 1.6667, "text": "This game is still relatively new, so there are bound to be some crazy random issues, I’ve tried my best to get them all (i’ve attached pictures of some crazy errors i found lol), but for now… The itch.io page is finally up! https://newbiegamer.itch.io/no-answer P.S, sorry if it doesn’t live up to the hype lol"}, {"post_id": 24340, "ts": "2026-07-07T20:58:55Z", "hours": 3.6333, "text": "After so many messy files, a crazy confusing scene, and tireless hours, a solo horror project with a hallway is almost done. I have been debugging the small issues ive found (and can fix). Now, I’m exporting it right now, and will be sending it to a few people to play test. Will probably upload sometime today!"}, {"post_id": 23904, "ts": "2026-07-07T03:22:32Z", "hours": 5.0667, "text": "I’m losing my motivation slowly, but the games is almost done. The animations are in place, the music is in place, and the scene is set. They might not be perfect, but the vision is there. I’m going to sleep now."}, {"post_id": 23215, "ts": "2026-07-06T01:10:28Z", "hours": 3.3, "text": "It has been awhile since one of my devlogs but i’ve been hard at work! Ive added some major (but necessary) changes to loop 4 and 7 bc i really hated them, but i dont know if i made it any better… The monster animations are almost done so i’ve imported the finished ones, I made the red room more red and a toy car cuz that’s scary or something (idk what i’m doing anymore), and some “cutscenes” to loop 7 to make the lore more confusing or something lol"}, {"post_id": 22633, "ts": "2026-07-05T05:51:59Z", "hours": 1.4333, "text": "i think i hate baking lighting"}, {"post_id": 22366, "ts": "2026-07-04T20:03:44Z", "hours": 2.5333, "text": "added a pause menu and an ending cutscene, but its kinda abrupt so i got to fix that… anyway i changed the name of the game again lol"}, {"post_id": 21900, "ts": "2026-07-04T02:21:57Z", "hours": 1.7667, "text": "animations on the way!!! and a few icon indicators replacing the crosshair. These few hours have been dedicated to debugging and adding more polishing details (sfx, anim, etc.) idk why im doing this so soon, just trying to keep some motivation. I still got allat of other features i need to implement. the game is almost there though 😭🙏"}, {"post_id": 21198, "ts": "2026-07-03T00:27:03Z", "hours": 1.6333, "text": "attempting to 3d model, then giving up (and just using an existing model), and now animating… Blender is too complicated for me, I’m sticking to cadding instead lol. What a journey."}, {"post_id": 20986, "ts": "2026-07-02T18:41:51Z", "hours": 0.7333, "text": "those who know"}, {"post_id": 20919, "ts": "2026-07-02T17:15:19Z", "hours": 2.6667, "text": "I finally came up with a name fore this game (low key i don’t know if imma stick with it : ) . Anyway, I added a little lobby and opening, and worked on loops 1-3. I’m currently working on loop 4 and these are the main point i need to finish Add loop 3 backward walk (sounds weird, but I got an idea) Opening scene (mainly done, just needs some cleanup) Ending (gonna be a while) chase scene (lol idk where to start) loop 4 (almost done) Tv should be on Tv should play audio when lights turn red, play questioning audio from phone"}, {"post_id": 20406, "ts": "2026-07-02T00:16:20Z", "hours": 3.2333, "text": "I think im slowly rotting while making this project, i just got done with some sound design, worked on making every loop different, and now… the story has PLOT!!! Oh, and I also made a main menu, but idk what to call the game yet… I could just use people’s suggestions… or come up with my own… or just call it “game name” P.S. there are two of them now, idk why"}, {"post_id": 19774, "ts": "2026-07-01T05:05:34Z", "hours": 2.0667, "text": "Added a few interactable items, who knew raycasting was so chill B) anyway, I added a cleaner hallway manager (for my sake) and made a little test monster >:) more changes to come… we are only getting started!!!"}, {"post_id": 19657, "ts": "2026-07-01T01:10:46Z", "hours": 1.2667, "text": "The lighting changes everything… Too bad these lights cant be baked in unity ;( but on the bright side, it does look creepier. I might add a flashlight to help the player see better, idk yet. I did more planning for the game’s story but still need to tweak some stuff, i’m not quite sure where my story is going haha"}, {"post_id": 18941, "ts": "2026-06-30T03:48:09Z", "hours": 1.2667, "text": "post processing helps allat with atmosphere, a normal hallway turned scary"}, {"post_id": 18842, "ts": "2026-06-30T01:24:47Z", "hours": 4.2, "text": "What a cozy hallway, i hope nothing bad happens… This is a tiny looping scene for my game 💯"}, {"post_id": 18513, "ts": "2026-06-29T18:06:18Z", "hours": 0.4333, "text": "PLANNING - A horror game just using a hallway"}]...
|
Title: Hallway Horror by @skhsmrn | Stardance
Dev Title: Hallway Horror by @skhsmrn | Stardance
Devlogs:
PLANNING - A horror game just using a hallway
What a cozy hallway, i hope nothing bad happens… This is a tiny looping scene for my game 💯
post processing helps allat with atmosphere, a normal hallway turned scary
The lighting changes everything… Too bad these lights cant be baked in unity ;( but on the bright side, it does look creepier. I might add a flashlight to help the player see better, idk yet. I did more planning for the game’s story but still need to tweak some stuff, i’m not quite sure where my story is going haha
Added a few interactable items, who knew raycasting was so chill B) anyway, I added a cleaner hallway manager (for my sake) and made a little test monster >:) more changes to come… we are only getting started!!!
I think im slowly rotting while making this project, i just got done with some sound design, worked on making every loop different, and now… the story has PLOT!!! Oh, and I also made a main menu, but idk what to call the game yet… I could just use people’s suggestions… or come up with my own… or just call it “game name” P.S. there are two of them now, idk why
I finally came up with a name fore this game (low key i don’t know if imma stick with it : ) . Anyway, I added a little lobby and opening, and worked on loops 1-3. I’m currently working on loop 4 and these are the main point i need to finish Add loop 3 backward walk (sounds weird, but I got an idea) Opening scene (mainly done, just needs some cleanup) Ending (gonna be a while) chase scene (lol idk where to start) loop 4 (almost done) Tv should be on Tv should play audio when lights turn red, play questioning audio from phone
those who know
attempting to 3d model, then giving up (and just using an existing model), and now animating… Blender is too complicated for me, I’m sticking to cadding instead lol. What a journey.
animations on the way!!! and a few icon indicators replacing the crosshair. These few hours have been dedicated to debugging and adding more polishing details (sfx, anim, etc.) idk why im doing this so soon, just trying to keep some motivation. I still got allat of other features i need to implement. the game is almost there though 😭🙏
added a pause menu and an ending cutscene, but its kinda abrupt so i got to fix that… anyway i changed the name of the game again lol
i think i hate baking lighting
It has been awhile since one of my devlogs but i’ve been hard at work! Ive added some major (but necessary) changes to loop 4 and 7 bc i really hated them, but i dont know if i made it any better… The monster animations are almost done so i’ve imported the finished ones, I made the red room more red and a toy car cuz that’s scary or something (idk what i’m doing anymore), and some “cutscenes” to loop 7 to make the lore more confusing or something lol
I’m losing my motivation slowly, but the games is almost done. The animations are in place, the music is in place, and the scene is set. They might not be perfect, but the vision is there. I’m going to sleep now.
After so many messy files, a crazy confusing scene, and tireless hours, a solo horror project with a hallway is almost done. I have been debugging the small issues ive found (and can fix). Now, I’m exporting it right now, and will be sending it to a few people to play test. Will probably upload sometime today!
This game is still relatively new, so there are bound to be some crazy random issues, I’ve tried my best to get them all (i’ve attached pictures of some crazy errors i found lol), but for now… The itch.io page is finally up! https://newbiegamer.itch.io/no-answer P.S, sorry if it doesn’t live up to the hype lol
Ships:
I made a first-person psychological horror game built around a looping hallway that changes as the player progresses, using TV broadcasts, phone calls, lighting changes, environmental events, and a scary monster to tell the story! The most challenging part was getting all of the different systems to work together, especially the loop system, audio, animations, lighting, teleporting, player movement, and camera effects. I ran into several bugs involving errors and the very buggy first-person controller. I am most proud of the atmosphere and progression of the game. I really liked how the lighting turned out, and how much I learned about unity’s lighting system. When testing the project, I recommend using headphones and paying close attention to the TV and phone, they are important to the story! Use WASD to move, the mouse to look, E to interact, and Escape to pause, and keep an eye (and ear) out to understand how to progress the story....
|
1792983132.3028874
|
1793069532.3028874
|