|
57525
|
DIY JOYSTICK by @Pirajin | Stardance
|
Pirajin
|
0
|
6.96
|
0
|
[]
|
[{"post_id": 74404, "ts": "202 [{"post_id": 74404, "ts": "2026-09-27T10:16:01Z", "hours": 0.3814, "text": "Finally Completed the project, check the github url…… Go and try it…."}, {"post_id": 74061, "ts": "2026-09-26T16:42:45Z", "hours": 0.83, "text": "#Devlog 5 I think - Today, i finally made the controller work with my own game created for it. So, the only step remaining is to update the game to perfection and ship it. STAY TUNED in my GitHub to get the game and controller instructions and code for free…."}, {"post_id": 73951, "ts": "2026-09-26T12:03:48Z", "hours": 1.5894, "text": "#Devlog - 4 I guess - Today i made it connect through wifi because bluetooth was not comfortable and I realised that cannot make it universal for all games, so i created my own game for this, and it will be open source soon… Stay tuned…"}, {"post_id": 73567, "ts": "2026-09-25T12:35:13Z", "hours": 1.1492, "text": "#Devlog 3 - Today i added bluetooth to it and now android powered devices can read it as a controller. And im going to test it with the game TRAFFIC RIDER. So stay tuned!"}, {"post_id": 73144, "ts": "2026-09-24T14:12:49Z", "hours": 2.0572, "text": "Devlog 2 - Im working on making a joystick that can sense the tilt and has a normal joystick controls, and can be connected via bluetooth."}, {"post_id": 60385, "ts": "2026-09-02T17:56:45Z", "hours": 0.9483, "text": "#Devlog 1 - I am working on a joystick model which can be connected wirelessly to any device to play video games… This is the first devlog for this and today i connected the joystick module to an ESP32 and tried to calculate the x and y axis and got many errors, some were corrected and didnt."}]...
|
Title: DIY JOYSTICK by @Pirajin | Stardance
Devlo Title: DIY JOYSTICK by @Pirajin | Stardance
Devlogs:
#Devlog 1 - I am working on a joystick model which can be connected wirelessly to any device to play video games… This is the first devlog for this and today i connected the joystick module to an ESP32 and tried to calculate the x and y axis and got many errors, some were corrected and didnt.
Devlog 2 - Im working on making a joystick that can sense the tilt and has a normal joystick controls, and can be connected via bluetooth.
#Devlog 3 - Today i added bluetooth to it and now android powered devices can read it as a controller. And im going to test it with the game TRAFFIC RIDER. So stay tuned!
#Devlog - 4 I guess - Today i made it connect through wifi because bluetooth was not comfortable and I realised that cannot make it universal for all games, so i created my own game for this, and it will be open source soon… Stay tuned…
#Devlog 5 I think - Today, i finally made the controller work with my own game created for it. So, the only step remaining is to update the game to perfection and ship it. STAY TUNED in my GitHub to get the game and controller instructions and code for free….
Finally Completed the project, check the github url…… Go and try it…....
|
1793443835.1087768
|
1794048635.1087768
|
|
64003
|
my-alarm-clock by @antek042 | Stardance
|
antek042
|
0
|
1.42
|
0
|
[]
|
[{"post_id": 74402, "ts": "202 [{"post_id": 74402, "ts": "2026-09-27T10:10:53Z", "hours": 0.5469, "text": "I’ve added whole code structure to my ino file and it compiles without any errors."}, {"post_id": 72872, "ts": "2026-09-23T22:09:28Z", "hours": 0.6175, "text": "I’ve done some basic classes structure, i must to add bodies to methods so basic alarm staff will work soon."}, {"post_id": 71986, "ts": "2026-09-21T22:22:23Z", "hours": 0.2564, "text": "I’ve created pcb and cad model for my blare. Now i will create some basic firmware and write some future plans for it."}]...
|
Title: my-alarm-clock by @antek042 | Stardance
De Title: my-alarm-clock by @antek042 | Stardance
Devlogs:
I’ve created pcb and cad model for my blare. Now i will create some basic firmware and write some future plans for it.
I’ve done some basic classes structure, i must to add bodies to methods so basic alarm staff will work soon.
I’ve added whole code structure to my ino file and it compiles without any errors....
|
1793667391.9831123
|
1794272191.9831123
|
|
32423
|
Hackpad for GD by @Jacube1234 | Stardance
|
Jacube1234
|
1
|
8.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-27T10:07:23Z", "hours": 8.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What did I make? I made the GD Hackpad—a custom 4-key macro pad with a rotary encoder designed specifically for playing Geometry Dash Platformer levels (basically a DIY Sayo Device). It features a 3-piece 3D-printed angled case designed in Fusion 360, a custom PCB featuring a skull silkscreen created in KiCad, and is powered by a Seeed XIAO RP2040 running KMK firmware. What was challenging? Learning KiCad from scratch since I was originally much more comfortable with Fusion 360. Learning the stardance process and this general hackclub stuff. What are you proud of? How well the 3D-printed case fits together using M3 bolts and heat-set inserts, adding a custom skull emoji silkscreen to the PCB, and getting everything running smoothly with 100% tested code. What should people know so they can test your project? Everything you need to replicate it is in the repository, including the 3D print production files, Gerber files for ordering the PCB, the BOM, and a full guide on setting up CircuitPython and KMK firmware. Note: The photos of my physical build ldon’t have the RGB LEDs due to an early board error, but the updated KiCad and Gerber files in the repo feature the corrected LED routing!", "repo": "https://github.com/Jacube1234/GD-Hackpad", "demo": ""}]...
|
[{"post_id": 74394, "ts": "202 [{"post_id": 74394, "ts": "2026-09-27T09:56:29Z", "hours": 0.3356, "text": "Fixed up some other small readme stuff. I changed the kicanvas link, and added the yt video I posted in the last log. I’m only allowed one demo video so I changed it to me actually using the hackpad. The other link is https://youtu.be/eFOGvQzMtF8 if you want to see me explaining the project. I will hopefully promise to myself to not make anymore changes and just finish the project. Ima ship it. idk how this works. bye now."}, {"post_id": 73482, "ts": "2026-09-25T06:53:54Z", "hours": 0.5617, "text": "Realised I used the wrong footprint for the leds. SO I abandoned them :/ I fixed the kicad files and updated the gerbers, in different respective folders. https://youtu.be/FZbB-Cm0QQ0 video of me playing a level"}, {"post_id": 64086, "ts": "2026-09-08T08:15:43Z", "hours": 4.5919, "text": "Finally finished (I guess). I redesigned the case because I made some silly errors. In reality, my pcb sat lower than my CAD model so I fixed that. CAD model also used surface mounted SEEED XIAO RP2040 so there was a height change. Moved the port down twice. No longer silly circles on the lid because I made the top part way to thin in the first place. My knob was too tall so I sanded it down (I just wanted to get this project done 🫠) You can check my soldering process and stuff here if you really want. Idk how these images will order themselves but here are what they are. Me putting in a heatset insert (so satifying) the top plate underside with a notch for the rotary encoder weird bit Assembled thing Me playing GD Slicer Random completion photos"}, {"post_id": 54331, "ts": "2026-08-25T09:09:18Z", "hours": 2.5036, "text": "Got my parts. Quick fit and sanity check. Did I make my top plate to thin? I will look at the Orphues pad real quick. Please tell me if you get any info about normal heights or something."}, {"post_id": 26808, "ts": "2026-07-11T20:17:59Z", "hours": 0.6908, "text": "Added little bump at the top so a heatset insert can fit because the top shell is not thick enough. Added Gerber files."}, {"post_id": 26286, "ts": "2026-07-11T00:09:51Z", "hours": 1.9836, "text": "Added all 3d models to Kicad, and exported it into Fusion. (idk why gif is so cooked). Flipped the microcontroller so the usb port wasn’t inside the plate. Moved usb outlet on base to match the new location. Comment what I should do to let the led’s to shine through"}, {"post_id": 26219, "ts": "2026-07-10T21:40:34Z", "hours": 0.6361, "text": "Adding 3d models to Kicad"}, {"post_id": 25624, "ts": "2026-07-10T00:46:38Z", "hours": 1.3475, "text": "Added rotary knob. Made silkscreen art smaller"}, {"post_id": 25222, "ts": "2026-07-09T10:41:48Z", "hours": 1.0642, "text": "Sorted Github files and realised my LED’s were the wrong way lol"}, {"post_id": 25054, "ts": "2026-07-09T00:33:07Z", "hours": 2.0003, "text": "Built the case. Added a bunch of fillets and a chamfer to edges. Hole at the back for the USB port. About to code it and make the Github Repo. (This will probbaly take me ages because the tutorial doesn’t show how to program it)"}, {"post_id": 24632, "ts": "2026-07-08T11:02:27Z", "hours": 2.8, "text": "Building the case. Tutorial kinda sucks though so I am referencing qcoral’s “Orpheuspad” fusion model."}, {"post_id": 24546, "ts": "2026-07-08T05:22:14Z", "hours": 2.0336, "text": "Looked at qcorals 3d model to look at the pcb. Started connecting components together."}, {"post_id": 24504, "ts": "2026-07-08T03:02:46Z", "hours": 1.6833, "text": "Placing keys in the arrow key layout. about to wire them up. Also trying to add rgb lighting"}]...
|
Title: Hackpad for GD by @Jacube1234 | Stardance
Title: Hackpad for GD by @Jacube1234 | Stardance
Devlogs:
Placing keys in the arrow key layout. about to wire them up. Also trying to add rgb lighting
Looked at qcorals 3d model to look at the pcb. Started connecting components together.
Building the case. Tutorial kinda sucks though so I am referencing qcoral’s “Orpheuspad” fusion model.
Built the case. Added a bunch of fillets and a chamfer to edges. Hole at the back for the USB port. About to code it and make the Github Repo. (This will probbaly take me ages because the tutorial doesn’t show how to program it)
Sorted Github files and realised my LED’s were the wrong way lol
Added rotary knob. Made silkscreen art smaller
Adding 3d models to Kicad
Added all 3d models to Kicad, and exported it into Fusion. (idk why gif is so cooked). Flipped the microcontroller so the usb port wasn’t inside the plate. Moved usb outlet on base to match the new location. Comment what I should do to let the led’s to shine through
Added little bump at the top so a heatset insert can fit because the top shell is not thick enough. Added Gerber files.
Got my parts. Quick fit and sanity check. Did I make my top plate to thin? I will look at the Orphues pad real quick. Please tell me if you get any info about normal heights or something.
Finally finished (I guess). I redesigned the case because I made some silly errors. In reality, my pcb sat lower than my CAD model so I fixed that. CAD model also used surface mounted SEEED XIAO RP2040 so there was a height change. Moved the port down twice. No longer silly circles on the lid because I made the top part way to thin in the first place. My knob was too tall so I sanded it down (I just wanted to get this project done 🫠) You can check my soldering process and stuff here if you really want. Idk how these images will order themselves but here are what they are. Me putting in a heatset insert (so satifying) the top plate underside with a notch for the rotary encoder weird bit Assembled thing Me playing GD Slicer Random completion photos
Realised I used the wrong footprint for the leds. SO I abandoned them :/ I fixed the kicad files and updated the gerbers, in different respective folders. https://youtu.be/FZbB-Cm0QQ0 video of me playing a level
Fixed up some other small readme stuff. I changed the kicanvas link, and added the yt video I posted in the last log. I’m only allowed one demo video so I changed it to me actually using the hackpad. The other link is https://youtu.be/eFOGvQzMtF8 if you want to see me explaining the project. I will hopefully promise to myself to not make anymore changes and just finish the project. Ima ship it. idk how this works. bye now.
Ships:
What did I make? I made the GD Hackpad—a custom 4-key macro pad with a rotary encoder designed specifically for playing Geometry Dash Platformer levels (basically a DIY Sayo Device). It features a 3-piece 3D-printed angled case designed in Fusion 360, a custom PCB featuring a skull silkscreen created in KiCad, and is powered by a Seeed XIAO RP2040 running KMK firmware. What was challenging? Learning KiCad from scratch since I was originally much more comfortable with Fusion 360. Learning the stardance process and this general hackclub stuff. What are you proud of? How well the 3D-printed case fits together using M3 bolts and heat-set inserts, adding a custom skull emoji silkscreen to the PCB, and getting everything running smoothly with 100% tested code. What should people know so they can test your project? Everything you need to replicate it is in the repository, including the 3D print production files, Gerber files for ordering the PCB, the BOM, and a full guide on setting up CircuitPython and KMK firmware. Note: The photos of my physical build ldon’t have the RGB LEDs due to an early board error, but the updated KiCad and Gerber files in the repo feature the corrected LED routing!...
|
1793674515.2228339
|
1793760915.2228339
|
|
9443
|
Better Music by @muntean_andrew | Stardance
|
muntean_andrew
|
2
|
33.0
|
323
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-27T09:14:00Z", "hours": 20.0, "multiplier": 8.54, "payout": 202, "blessing": "neutral", "text": "I built Better Music, a lightweight music player designed for seamless audio playback and intuitive library management. It features an instant search-as-you-type engine, interactive queue management, customizable playlist/album details, detailed listening activity tracking, can read synced/unsynced lyrics tags from the music files and show them like Spotify, a “Permanent Queue” (PQ) feature for when you want listen to a list of particular songs for just that one moment and don’t want to create a whole new playlist for it and you can customize it’s color palette and even the base border radius to your liking in the settings. To bring this to life, I combined the desktop application capabilities of Electron with a robust local relational database powered by SQLite 3, all wrapped in a sleek, responsive frontend built using HTML5, CSS, SCSS and JavaScript. This is just an update and the majority of the time spent on the project was used to make improvements in the backend management of the song objects and to make the UI better reflect and update according to the data in the backend. But also I’ve added lyrics support and if your music files have lyrics tags embedded in them the app will take full advantage of them by enabling you to see each verse when it is singed and also skip to that one part you like the most just by clicking on your favorite line in the track. Testing the app is incredibly simple—there is no need to clone deep source code dependencies or set up a complex development build environment. Where to get it: Head straight over to the Releases section of this repository. How to run it: Download the compiled .zip file for your platform, extract its contents into any folder on your computer, and double-click the main application executable (e.g., Better-Music.exe). Note on Updates: If you are testing store-packaged builds or encountered deployment errors (like MSIX package revision conflicts in the Partner Center), utilizing the raw ZIP release is the fastest, cleanest way to experience the app right now.", "repo": "https://github.com/AliendsOG/Better-Music", "demo": "https://github.com/AliendsOG/Better-Music/releases/tag/better-music"}, {"ship_num": 2, "ts": "2026-06-15T15:17:37Z", "hours": 13.0, "multiplier": 9.67, "payout": 121, "blessing": "neutral", "text": "I built Better Music, a lightweight music player designed for seamless audio playback and intuitive library management. It features an instant search-as-you-type engine, interactive queue management, customizable playlist/album details, detailed listening activity tracking, a “Permanent Queue” (PQ) feature for when you want listen to a list of particular songs for just that one moment and don’t want to create a whole new playlist for it and you can customize it’s color palette to your liking in the settings. To bring this to life, I combined the desktop application capabilities of Electron with a robust local relational database powered by SQLite 3, all wrapped in a sleek, responsive frontend built using HTML5, CSS, SCSS and JavaScript. The challenging part was the steep learning curve as I hadn’t done anything on this scale before. I had to learn to connect the 2 Electron processes together seamlessly. Furthermore I had to dive into the world of databases with SQLite 3, which was uncharted territory for me. I had to use AI to help me learn these things and also to brainstorm ideas about hoe to optimize the app. For instance, when the idea of the search-as-you-type feature came up to me I envisioned a kind of tree structure with letters and that for every song, album, playlist name the app would create the branches in the tree so it would be a very fast and efficient search algorithm, and when I talked to the AI about it I found out that this kind of structure is called a trie. I am really proud that I’ve managed to build a clean, responsive and fast music player that tracks the user’s listening activity and stores it on device. Also it was very exciting when I tested the search feature and it worked perfectly. I’m also proud of the engineering journey itself. I utilized Gemini as an active learning collaborator to help me unpack the architectural patterns of Electron and master data persistence with SQLite 3. Turning that complex technical guidance into a functional, polished desktop product was incredibly rewarding. Testing the app is incredibly simple—there is no need to clone deep source code dependencies or set up a complex development build environment. Where to get it: Head straight over to the Releases section of this repository. How to run it: Download the compiled .zip file for your platform, extract its contents into any folder on your computer, and double-click the main application executable (e.g., Better-Music.exe). Note on Updates: If you are testing store-packaged builds or encountered deployment errors (like MSIX package revision conflicts in the Partner Center), utilizing the raw ZIP release is the fastest, cleanest way to experience the app right now.", "repo": "https://github.com/AliendsOG/Better-Music", "demo": "https://github.com/AliendsOG/Better-Music/releases/tag/better-music"}]...
|
[{"post_id": 74382, "ts": "202 [{"post_id": 74382, "ts": "2026-09-27T09:04:01Z", "hours": 1.0467, "text": "This is the last devlog before shipping the project update. This has been an exciting journey and I am very satisfied with the result! I do wish there would be a bit more time left for the event to continue so I could ship even more things but all good things must come to an end, and this one is a happy ending. I’ve made the necessary last minute touches to make sure that everything works as it should."}, {"post_id": 74114, "ts": "2026-09-26T18:26:03Z", "hours": 1.6697, "text": "Added new ways to customize the player to the user’s liking and fixed that prevented the app from reading the user_version of the database which in return made the app “update” the DB everytime it started."}, {"post_id": 73281, "ts": "2026-09-24T18:58:58Z", "hours": 0.4853, "text": "YEEEEEESS, FINALLLYYYYYY, we have synced lyrics in the app. I know it’s not the most glamorous UI at the moment, but it is still something, and the other music players don’t even do this, like at most they show the lyrics with the timestamps and that’s it, no scaling of the verse, nothing. In future updates certainly I’ll make the UI more polished because it need a lot of it. Still I am happy that I’ve made it this far and after a bit of clean up and maybe some optimizations I’ll ship the project."}, {"post_id": 73261, "ts": "2026-09-24T18:10:26Z", "hours": 1.5067, "text": "I’ve finally found the culprit that prevented me from getting the synced lyrics, now the app can read the synced lyrics from music filed. YEEEEEEE Now the “only” thing is to make the UI for them, which I hope would be easy and fast. 😅"}, {"post_id": 73191, "ts": "2026-09-24T15:40:21Z", "hours": 2.4517, "text": "Trying to add lyrics to the app. But it is a bit of a mess cause in the Samsung Music and Apple Music apps these files contain time stamps for each verse and so I was thinking to read those time stamps and to highlight the verse that is played at that time, but my app doesn’t read those things and I don’t know why. An explanation might be that those apps ping free open source databases of lyrics based on the song details, but I am not really sure."}, {"post_id": 69252, "ts": "2026-09-16T17:55:55Z", "hours": 4.7486, "text": "Another day, another restructuring I guess. 😅 I’ve decided to give each album an id instead of relying on it’s name as the identifier as I did previously. Also I’ve changed the Play function to work with song ids and album ids instead of names. This is because if the name of the song or the album had any of these 2 characters: ’ or “ it would mess up with the HTML structure and the song would not play if the user clicked on it. Not gonna lie, I think that my code now is a little spaghetti and for sure someone with more experience and knowledge on how to structure a music player would have done a much better job than me at this, but still. The main caveat that I think could appear in the future is that the Play function can’t take numbered ids for playlists and I have to rely in the playlist’s name because the function would have no way to distinguish between them at the moment and I don’t want to make another spaghetti to fix this. 😅 In other news, I have successfully changed the backend to update the DB version for the user of the older version of the app and to add the new “lyrics” column and also the app can read the embedded lyrics from the music files. Now the “only” thing remaining is to add the lyrics to the UI and to parse the strings and make the verses synchronize with the song and this feature would be fully implemented."}, {"post_id": 57422, "ts": "2026-08-29T15:54:13Z", "hours": 2.9864, "text": "After successfully changing the song objects management under the hood from the previous devlog I now added an indicator for which song is currently playing. For now I’ve just set the background of the song to be the primary color selected by the user. Also I’ve changed the border radius for everything to be based on one variable so that the user could change it in the settings (but didn’t yet implement the UI for that) cause everyone has their own preference for these things. The first screenshot is with the border radius set a bit higher (30px) than my default one (23px), and the second one is with the border radius set to 0. Additionally I am changing the SQLite db in the backend to support lyrics because I want to add them to the app."}, {"post_id": 56489, "ts": "2026-08-28T08:43:54Z", "hours": 4.7514, "text": "I am currently working on optimizing the code so that changes like adding songs to a playlist or liking a song update instantly across all pages because this was a flaw of my old architecture of the app cause I didn’t just have 1 list of song objects that every album and artist referenced to but instead every album and artist had their own song objects and the list of favorite songs was also composed of song object. So it was a mess of duplicate song objects. Now I am changing things so that there is only one list of song object and albums have just a list of song ids in them so they reference the song object list, this way each change is global. This would hopefully fix the current synchronization issues that sometimes occur in the current version. This change would also allow me to add an indicator that a song is playing when the user looks at an album from which a song plays currently. Additionally I want to add a listening history page where the user can see their listening activity on the app and also maybe add some rewards depending on how much time they spent listening to an artist or album to gamify the experience a little."}, {"post_id": 8658, "ts": "2026-06-14T11:47:22Z", "hours": 0.4289, "text": "Solving some App Manifest problems"}, {"post_id": 8040, "ts": "2026-06-13T12:20:46Z", "hours": 1.7347, "text": "Updating the package on the Microsoft Store"}, {"post_id": 7956, "ts": "2026-06-13T08:50:15Z", "hours": 1.2564, "text": "Added some customization options and a settings menu"}, {"post_id": 7328, "ts": "2026-06-12T06:33:15Z", "hours": 1.7297, "text": "Updating the interface a little"}, {"post_id": 4874, "ts": "2026-06-08T13:08:06Z", "hours": 3.1572, "text": "Implemented search functionality"}, {"post_id": 3541, "ts": "2026-06-06T15:01:03Z", "hours": 2.7919, "text": "Adding clear queue button and a Permanent Queue or Temporary Playlist feature that saves the songs that you add to the queue even after you listen to them so you can set it to repeat all and still have the songs that you wanted"}, {"post_id": 3394, "ts": "2026-06-06T09:28:56Z", "hours": 1.4672, "text": "I implemented the function of changing the name and cover of a playlist"}]...
|
Title: Better Music by @muntean_andrew | Stardance Title: Better Music by @muntean_andrew | Stardance
Devlogs:
I implemented the function of changing the name and cover of a playlist
Adding clear queue button and a Permanent Queue or Temporary Playlist feature that saves the songs that you add to the queue even after you listen to them so you can set it to repeat all and still have the songs that you wanted
Implemented search functionality
Updating the interface a little
Added some customization options and a settings menu
Updating the package on the Microsoft Store
Solving some App Manifest problems
I am currently working on optimizing the code so that changes like adding songs to a playlist or liking a song update instantly across all pages because this was a flaw of my old architecture of the app cause I didn’t just have 1 list of song objects that every album and artist referenced to but instead every album and artist had their own song objects and the list of favorite songs was also composed of song object. So it was a mess of duplicate song objects. Now I am changing things so that there is only one list of song object and albums have just a list of song ids in them so they reference the song object list, this way each change is global. This would hopefully fix the current synchronization issues that sometimes occur in the current version. This change would also allow me to add an indicator that a song is playing when the user looks at an album from which a song plays currently. Additionally I want to add a listening history page where the user can see their listening activity on the app and also maybe add some rewards depending on how much time they spent listening to an artist or album to gamify the experience a little.
After successfully changing the song objects management under the hood from the previous devlog I now added an indicator for which song is currently playing. For now I’ve just set the background of the song to be the primary color selected by the user. Also I’ve changed the border radius for everything to be based on one variable so that the user could change it in the settings (but didn’t yet implement the UI for that) cause everyone has their own preference for these things. The first screenshot is with the border radius set a bit higher (30px) than my default one (23px), and the second one is with the border radius set to 0. Additionally I am changing the SQLite db in the backend to support lyrics because I want to add them to the app.
Another day, another restructuring I guess. 😅 I’ve decided to give each album an id instead of relying on it’s name as the identifier as I did previously. Also I’ve changed the Play function to work with song ids and album ids instead of names. This is because if the name of the song or the album had any of these 2 characters: ’ or “ it would mess up with the HTML structure and the song would not play if the user clicked on it. Not gonna lie, I think that my code now is a little spaghetti and for sure someone with more experience and knowledge on how to structure a music player would have done a much better job than me at this, but still. The main caveat that I think could appear in the future is that the Play function can’t take numbered ids for playlists and I have to rely in the playlist’s name because the function would have no way to distinguish between them at the moment and I don’t want to make another spaghetti to fix this. 😅 In other news, I have successfully changed the backend to update the DB version for the user of the older version of the app and to add the new “lyrics” column and also the app can read the embedded lyrics from the music files. Now the “only” thing remaining is to add the lyrics to the UI and to parse the strings and make the verses synchronize with the song and this feature would be fully implemented.
Trying to add lyrics to the app. But it is a bit of a mess cause in the Samsung Music and Apple Music apps these files contain time stamps for each verse and so I was thinking to read those time stamps and to highlight the verse that is played at that time, but my app doesn’t read those things and I don’t know why. An explanation might be that those apps ping free open source databases of lyrics based on the song details, but I am not really sure.
I’ve finally found the culprit that prevented me from getting the synced lyrics, now the app can read the synced lyrics from music filed. YEEEEEEE Now the “only” thing is to make the UI for them, which I hope would be easy and fast. 😅
YEEEEEESS, FINALLLYYYYYY, we have synced lyrics in the app. I know it’s not the most glamorous UI at the moment, but it is still something, and the other music players don’t even do this, like at most they show the lyrics with the timestamps and that’s it, no scaling of the verse, nothing. In future updates certainly I’ll make the UI more polished because it need a lot of it. Still I am happy that I’ve made it this far and after a bit of clean up and maybe some optimizations I’ll ship the project.
Added new ways to customize the player to the user’s liking and fixed that prevented the app from reading the user_version of the database which in return made the app “update” the DB everytime it started.
This is the last devlog before shipping the project update. This has been an exciting journey and I am very satisfied with the result! I do wish there would be a bit more time left for the event to continue so I could ship even more things but all good things must come to an end, and this one is a happy ending. I’ve made the necessary last minute touches to make sure that everything works as it should.
Ships:
I built Better Music, a lightweight music player designed for seamless audio playback and intuitive library management. It features an instant search-as-you-type engine, interactive queue management, customizable playlist/album details, detailed listening activity tracking, a “Permanent Queue” (PQ) feature for when you want listen to a list of particular songs for just that one moment and don’t want to create a whole new playlist for it and you can customize it’s color palette to your liking in the settings. To bring this to life, I combined the desktop application capabilities of Electron with a robust local relational database powered by SQLite 3, all wrapped in a sleek, responsive frontend built using HTML5, CSS, SCSS and JavaScript. The challenging part was the steep learning curve as I hadn’t done anything on this scale before. I had to learn to connect the 2 Electron processes together seamlessly. Furthermore I had to dive into the world of databases with SQLite 3, which was uncharted territory for me. I had to use AI to help me learn these things and also to brainstorm ideas about hoe to optimize the app. For instance, when the idea of the search-as-you-type feature came up to me I envisioned a kind of tree structure with letters and that for every song, album, playlist name the app would create the branches in the tree so it would be a very fast and efficient search algorithm, and when I talked to the AI about it I found out that this kind of structure is called a trie. I am really proud that I’ve managed to build a clean, responsive and fast music player that tracks the user’s listening activity and stores it on device. Also it was very exciting when I tested the search feature and it worked perfectly. I’m also proud of the engineering journey itself. I utilized Gemini as an active learning collaborator to help me unpack the architectural patterns of Electron and master data persistence with SQLite 3. Turning that complex technical guidance into a functional, polished desktop product was incredibly rewarding. Testing the app is incredibly simple—there is no need to clone deep source code dependencies or set up a complex development build environment. Where to get it: Head straight over to the Releases section of this repository. How to run it: Download the compiled .zip file for your platform, extract its contents into any folder on your computer, and double-click the main application executable (e.g., Better-Music.exe). Note on Updates: If you are testing store-packaged builds or encountered deployment errors (like MSIX package revision conflicts in the Partner Center), utilizing the raw ZIP release is the fastest, cleanest way to experience the app right now.
I built Better Music, a lightweight music player designed for seamless audio playback and intuitive library management. It features an instant search-as-you-type engine, interactive queue management, customizable playlist/album details, detailed listening activity tracking, can read synced/unsynced lyrics tags from the music files and show them like Spotify, a “Permanent Queue” (PQ) feature for when you want listen to a list of particular songs for just that one moment and don’t want to create a whole new playlist for it and you can customize it’s color palette and even the base border radius to your liking in the settings. To bring this to life, I combined the desktop application capabilities of Electron with a robust local relational database powered by SQLite 3, all wrapped in a sleek, responsive frontend built using HTML5, CSS, SCSS and JavaScript. This is just an update and the majority of the time spent on the project was used to make improvements in the backend management of the song objects and to make the UI better reflect and update according to the data in the backend. But also I’ve added lyrics support and if your music files have lyrics tags embedded in them the app will take full advantage of them by enabling you to see each verse when it is singed and also skip to that one part you like the most just by clicking on your favorite line in the track. Testing the app is incredibly simple—there is no need to clone deep source code dependencies or set up a complex development build environment. Where to get it: Head straight over to the Releases section of this repository. How to run it: Download the compiled .zip file for your platform, extract its contents into any folder on your computer, and double-click the main application executable (e.g., Better-Music.exe). Note on Updates: If you are testing store-packaged builds or encountered deployment errors (like MSIX package revision conflicts in the Partner Center), utilizing the raw ZIP release is the fastest, cleanest way to experience the app right now....
|
1793688858.3477867
|
1793775258.3477867
|
|
66228
|
memorizor by @baibhavrajacharya | Stardance
|
baibhavrajacharya
|
0
|
1.08
|
0
|
[]
|
[{"post_id": 74365, "ts": "202 [{"post_id": 74365, "ts": "2026-09-27T07:46:18Z", "hours": 1.0767, "text": "memorizor"}]...
|
Title: memorizor by @baibhavrajacharya | Stardance Title: memorizor by @baibhavrajacharya | Stardance
Devlogs:
memorizor...
|
1793713971.1654704
|
1794318771.1654704
|
|
66174
|
Solar-Electric Auto stabilized Glider by @Madhanra Solar-Electric Auto stabilized Glider by @Madhanraj | Stardance...
|
Madhanraj
|
0
|
1.98
|
0
|
[]
|
[{"post_id": 74364, "ts": "202 [{"post_id": 74364, "ts": "2026-09-27T07:44:35Z", "hours": 1.375, "text": "Starting with the wing, we created a 2.4 m main wing, subdivided it into sections, shaped it into a swept and tapered planform, added 3D thickness using a Solidify modifier, corrected the sweep direction toward the tail, and positioned it through the fuselage. We then created and sized a smaller rear horizontal tail plane for stability."}, {"post_id": 74333, "ts": "2026-09-27T05:54:23Z", "hours": 0.6044, "text": "I started developing a custom solar-electric glider focused on efficient, stable, and long-endurance flight. The aircraft is being designed from the ground up rather than directly copying an existing aircraft."}]...
|
Title: Solar-Electric Auto stabilized Glider by @M Title: Solar-Electric Auto stabilized Glider by @Madhanraj | Stardance
Devlogs:
I started developing a custom solar-electric glider focused on efficient, stable, and long-endurance flight. The aircraft is being designed from the ground up rather than directly copying an existing aircraft.
Starting with the wing, we created a 2.4 m main wing, subdivided it into sections, shaped it into a swept and tapered planform, added 3D thickness using a Solidify modifier, corrected the sweep direction toward the tail, and positioned it through the fuselage. We then created and sized a smaller rear horizontal tail plane for stability....
|
1793713805.1909091
|
1794318605.1909091
|
|
12674
|
Nata - Nano by taisan11 by @taisan11 | Stardance
|
taisan11
|
0
|
4.23
|
0
|
[]
|
[{"post_id": 7436, "ts": "2026 [{"post_id": 7436, "ts": "2026-06-12T11:46:04Z", "hours": 0.8936, "text": "I added more fine-grained key bindings and improved the UX. However, when I tried enabling the setting to make Mac’s Ctrl key behave like Command, it conflicted with terminal shortcuts and ended up being more annoying than helpful :) Tomorrow, I plan to focus on performance optimization and code refactoring."}, {"post_id": 6182, "ts": "2026-06-10T11:58:38Z", "hours": 0.5564, "text": "The Config system is complete!! It’s highly extensible and lightweight thanks to Zero Deps libraries!!"}, {"post_id": 5478, "ts": "2026-06-09T08:46:54Z", "hours": 1.9428, "text": "Features like string highlighting and Japanese input support proved particularly challenging to implement for input processing."}, {"post_id": 4848, "ts": "2026-06-08T11:46:42Z", "hours": 0.8344, "text": "I’ve got the initial stages working, but it’s tricky. Next, I’ll need to implement support for loading configurations and such."}]...
|
Title: Nata - Nano by taisan11 by @taisan11 | Star Title: Nata - Nano by taisan11 by @taisan11 | Stardance
Devlogs:
I’ve got the initial stages working, but it’s tricky. Next, I’ll need to implement support for loading configurations and such.
Features like string highlighting and Japanese input support proved particularly challenging to implement for input processing.
The Config system is complete!! It’s highly extensible and lightweight thanks to Zero Deps libraries!!
I added more fine-grained key bindings and improved the UX. However, when I tried enabling the setting to make Mac’s Ctrl key behave like Command, it conflicted with terminal shortcuts and ended up being more annoying than helpful :) Tomorrow, I plan to focus on performance optimization and code refactoring....
|
1793267269.6787457
|
1793872069.6787457
|
|
49808
|
My own site! by @tawsif | Stardance
|
tawsif
|
0
|
1.15
|
0
|
[]
|
[{"post_id": 74356, "ts": "202 [{"post_id": 74356, "ts": "2026-09-27T07:18:48Z", "hours": 0.2569, "text": "Working on the fromt end and annimations"}, {"post_id": 73953, "ts": "2026-09-26T12:06:43Z", "hours": 0.6228, "text": "Figuring out the backend of my portfolio"}, {"post_id": 73013, "ts": "2026-09-24T06:55:42Z", "hours": 0.2733, "text": "I am working on building myself a portfolio website"}]...
|
Title: My own site! by @tawsif | Stardance
Devlog Title: My own site! by @tawsif | Stardance
Devlogs:
I am working on building myself a portfolio website
Figuring out the backend of my portfolio
Working on the fromt end and annimations...
|
1793584554.3784332
|
1794448554.3784332
|
|
65773
|
//Kua_vr||OS|| by @K_muistaa501 | Stardance
|
K_muistaa501
|
0
|
0.58
|
0
|
[]
|
[{"post_id": 74350, "ts": "202 [{"post_id": 74350, "ts": "2026-09-27T06:52:26Z", "hours": 0.5803, "text": "Part 1: Just Started!! Just started. builded a sick welcome screen."}]...
|
Title: //Kua_vr||OS|| by @K_muistaa501 | Stardance Title: //Kua_vr||OS|| by @K_muistaa501 | Stardance
Devlogs:
Part 1: Just Started!! Just started. builded a sick welcome screen....
|
1793706474.836197
|
1794311274.836197
|
|
42916
|
willie and lue :D by @lueyun | Stardance
|
lueyun
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-27T06:50:31Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "hello guys! i present to you my personal website!! this project introduced me to many things, and some of them include how much variety there is to the world of coding. there is so much you can do, and also many places to start. i hope you like this (boring-ish) personal website about my characters and me!!", "repo": "https://github.com/lueyun0110/willie-and-lue-website", "demo": "https://lueyun0110.github.io/willie-and-lue-website/website/"}]...
|
[{"post_id": 74347, "ts": "202 [{"post_id": 74347, "ts": "2026-09-27T06:47:02Z", "hours": 0.6217, "text": "day 6? HIII i finally figured out my dilemma with my shipping issue!! even though this personalized website isn’t that extraordinary, i hope you get to understand my ocs (+ me)!"}, {"post_id": 72103, "ts": "2026-09-22T05:28:08Z", "hours": 0.7317, "text": "day 5 haha short update- i just added the final touch-ups: new page to show you guys their latest adventures new button to direct you to it now i need to figure out how to ship this 🥲🥲"}, {"post_id": 72081, "ts": "2026-09-22T04:06:24Z", "hours": 2.6869, "text": "day 4 hello!! im back 😎😎 ive been very off lately due to school but its alright. i really wanted to keep on doing this, so here i am! heres what i did: added CSS (color, font, sizing, etc) added gifs to make this website have personality lol changed the instagram link to just instagram username i’m planning on making final touches as this is close to being finished (imo lol)"}, {"post_id": 65225, "ts": "2026-09-10T06:35:56Z", "hours": 1.1033, "text": "day 3 hi guys!! long time no see…. ive been recently busy with many things. i have no clue what to do so this project will take longer than expected. 😓😓 anyways, i added: -more for their backstory -added a NEW page about myself since this website is a personal one to introduce the world to yourself hahaa…. -finally using css to format this website i hope to continue more on the format because rn, this looks so bright 😭"}, {"post_id": 39892, "ts": "2026-08-03T05:31:21Z", "hours": 0.8778, "text": "day 2 heh this is where i wanted to add more, but i truly didn’t know how, so i decided to go with some lore/background info about them. i added a new page with buttons to go back and forth with so everything can be kept organized. the lore is currently incomplete as i made them all in the spot (💀) so im planning on updating them soon (not very soon though). as for the visuals, i plan on doing them later since i want to get the main stuff done :D"}, {"post_id": 39838, "ts": "2026-08-03T02:57:15Z", "hours": 0.4386, "text": "starting a personal website for willie and lue! its my first time coding html btw ahah but heres a simple introduction of my two adventurous ocs!! i want to expand on this by documenting more about their adventures than posting on insta 😅 as for right now, i added a title, brief introduction, image to see who they are, and outside links if you want to check out some of their adventures im planning on (well attempting to) create something interactive that will bring both characters alive… idk when that will be so we shall seee 👀✨"}]...
|
Title: willie and lue :D by @lueyun | Stardance
D Title: willie and lue :D by @lueyun | Stardance
Devlogs:
starting a personal website for willie and lue! its my first time coding html btw ahah but heres a simple introduction of my two adventurous ocs!! i want to expand on this by documenting more about their adventures than posting on insta 😅 as for right now, i added a title, brief introduction, image to see who they are, and outside links if you want to check out some of their adventures im planning on (well attempting to) create something interactive that will bring both characters alive… idk when that will be so we shall seee 👀✨
day 2 heh this is where i wanted to add more, but i truly didn’t know how, so i decided to go with some lore/background info about them. i added a new page with buttons to go back and forth with so everything can be kept organized. the lore is currently incomplete as i made them all in the spot (💀) so im planning on updating them soon (not very soon though). as for the visuals, i plan on doing them later since i want to get the main stuff done :D
day 3 hi guys!! long time no see…. ive been recently busy with many things. i have no clue what to do so this project will take longer than expected. 😓😓 anyways, i added: -more for their backstory -added a NEW page about myself since this website is a personal one to introduce the world to yourself hahaa…. -finally using css to format this website i hope to continue more on the format because rn, this looks so bright 😭
day 4 hello!! im back 😎😎 ive been very off lately due to school but its alright. i really wanted to keep on doing this, so here i am! heres what i did: added CSS (color, font, sizing, etc) added gifs to make this website have personality lol changed the instagram link to just instagram username i’m planning on making final touches as this is close to being finished (imo lol)
day 5 haha short update- i just added the final touch-ups: new page to show you guys their latest adventures new button to direct you to it now i need to figure out how to ship this 🥲🥲
day 6? HIII i finally figured out my dilemma with my shipping issue!! even though this personalized website isn’t that extraordinary, i hope you get to understand my ocs (+ me)!
Ships:
hello guys! i present to you my personal website!! this project introduced me to many things, and some of them include how much variety there is to the world of coding. there is so much you can do, and also many places to start. i hope you like this (boring-ish) personal website about my characters and me!!...
|
1793670772.1728601
|
1793757172.1728601
|
|
64512
|
simple slackyy botty by @Ahad_Ghanchi | Stardance
|
Ahad_Ghanchi
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-27T06:30:09Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I make a slack bot that helps you to talk and command what ever you want,It has six features weather lookup by city 2.Birthday tracking data base 3.Jokes 4.Cat fact 5.It take quizzes 6.It shows ping", "repo": "https://github.com/codewith876/simple-slackyyy-botty", "demo": "https://app.slack.com/client/E09V59WQY1E/C0P5NE354"}]...
|
[{"post_id": 74341, "ts": "202 [{"post_id": 74341, "ts": "2026-09-27T06:19:32Z", "hours": 0.3153, "text": "Devlog #1: Building Simple Slackyyy Botty Hey everyone! I’ve been working on a Slack bot for the Hack Club workspace, and I wanted to share how it’s coming along. Meet Simple Slackyyy Botty — a bot that started as a basic ping-check and has grown into a little assistant with six commands. THE COMMANDS SO FAR /simple-slackyyy-botty-ping — the simplest one. Just checks how fast the bot responds, useful for making sure everything’s alive and working. /simple-slackyyy-botty-catfact — pulls a random cat fact from a public API (catfact.ninja) and posts it. Small, silly, but a good first “real” feature since it taught me how to fetch data from outside APIs. /simple-slackyyy-botty-joke — same idea, but for jokes, pulling from the official-joke-api. This one needed a different HTTP library (axios) than the cat facts did, which was a good lesson in how there’s more than one way to make a web request in Node.js. /simple-slackyyy-botty-weather [city name] — this one leveled up a lot. It started as a fixed-location weather check, but now you can type any city and it’ll geocode the name into coordinates, then fetch live weather for it — including things like temperature, air quality, and UV index. It also posts publicly in the channel instead of just to me, so everyone can see it. /simple-slackyyy-botty-birthday [MM-DD] — probably the feature I’m proudest of. You save your birthday, and the bot remembers it — not in a temporary file, but in an actual SQLite database using better-sqlite3. Every day at 9 AM, it checks the database and posts a birthday shoutout for anyone whose day it is, tagging them directly in the channel. /simple-slackyyy-botty-quiz — the newest addition, letting people pick a subject, difficulty, and number of questions to test their knowledge. WHAT I LEARNED How to call external APIs and handle their responses The difference between file-based storage (JSON) and a real database (SQLite), and why the database is more reliable How scheduled tasks work (cron jobs) to make the bot do things automatically, not just respond to commands A lot of patience debugging — copy-pasting code in the wrong spot, duplicate lines, and other small mistakes that taught me to read my code more carefully before running it WHAT’S NEXT Get the bot running 24/7 instead of just on my own machine Push the whole project to GitHub Keep polishing the help command and maybe add a few more fun commands That’s it for devlog #1 — more updates soon as I keep building!"}]...
|
Title: simple slackyy botty by @Ahad_Ghanchi | Sta Title: simple slackyy botty by @Ahad_Ghanchi | Stardance
Devlogs:
Devlog #1: Building Simple Slackyyy Botty Hey everyone! I’ve been working on a Slack bot for the Hack Club workspace, and I wanted to share how it’s coming along. Meet Simple Slackyyy Botty — a bot that started as a basic ping-check and has grown into a little assistant with six commands. THE COMMANDS SO FAR /simple-slackyyy-botty-ping — the simplest one. Just checks how fast the bot responds, useful for making sure everything’s alive and working. /simple-slackyyy-botty-catfact — pulls a random cat fact from a public API (catfact.ninja) and posts it. Small, silly, but a good first “real” feature since it taught me how to fetch data from outside APIs. /simple-slackyyy-botty-joke — same idea, but for jokes, pulling from the official-joke-api. This one needed a different HTTP library (axios) than the cat facts did, which was a good lesson in how there’s more than one way to make a web request in Node.js. /simple-slackyyy-botty-weather [city name] — this one leveled up a lot. It started as a fixed-location weather check, but now you can type any city and it’ll geocode the name into coordinates, then fetch live weather for it — including things like temperature, air quality, and UV index. It also posts publicly in the channel instead of just to me, so everyone can see it. /simple-slackyyy-botty-birthday [MM-DD] — probably the feature I’m proudest of. You save your birthday, and the bot remembers it — not in a temporary file, but in an actual SQLite database using better-sqlite3. Every day at 9 AM, it checks the database and posts a birthday shoutout for anyone whose day it is, tagging them directly in the channel. /simple-slackyyy-botty-quiz — the newest addition, letting people pick a subject, difficulty, and number of questions to test their knowledge. WHAT I LEARNED How to call external APIs and handle their responses The difference between file-based storage (JSON) and a real database (SQLite), and why the database is more reliable How scheduled tasks work (cron jobs) to make the bot do things automatically, not just respond to commands A lot of patience debugging — copy-pasting code in the wrong spot, duplicate lines, and other small mistakes that taught me to read my code more carefully before running it WHAT’S NEXT Get the bot running 24/7 instead of just on my own machine Push the whole project to GitHub Keep polishing the help command and maybe add a few more fun commands That’s it for devlog #1 — more updates soon as I keep building!
Ships:
I make a slack bot that helps you to talk and command what ever you want,It has six features weather lookup by city 2.Birthday tracking data base 3.Jokes 4.Cat fact 5.It take quizzes 6.It shows ping...
|
1793685257.4531918
|
1793771657.4531918
|
|
65621
|
nova by @thejasvik2 | Stardance
|
thejasvik2
|
0
|
1.46
|
0
|
[]
|
[{"post_id": 74332, "ts": "202 [{"post_id": 74332, "ts": "2026-09-27T05:49:41Z", "hours": 1.4633, "text": "NOVA AI Assistant + MemoryAdded a Gemini-powered AI assistant to NOVA. The assistant can now have conversations and maintain conversation history. I also integrated SQLite storage to save chat messages so NOVA can eventually retain conversations between sessions."}]...
|
Title: nova by @thejasvik2 | Stardance
Devlogs:
N Title: nova by @thejasvik2 | Stardance
Devlogs:
NOVA AI Assistant + MemoryAdded a Gemini-powered AI assistant to NOVA. The assistant can now have conversations and maintain conversation history. I also integrated SQLite storage to save chat messages so NOVA can eventually retain conversations between sessions....
|
1793703217.2437012
|
1794308017.2437012
|
|
65379
|
Voxel Four by @o5oul | Stardance
|
o5oul
|
0
|
3.95
|
0
|
[]
|
[{"post_id": 74314, "ts": "202 [{"post_id": 74314, "ts": "2026-09-27T05:17:50Z", "hours": 0.4489, "text": "Finished the project, edited the case slightly and finished off with writing some simple code."}, {"post_id": 73598, "ts": "2026-09-25T13:22:25Z", "hours": 1.9589, "text": "Worked and improved on the case design. Standoffs were annoying to work with, but I was able to resolve the issues with tolerances eventually by finding workarounds and editing the KiCad PCB."}, {"post_id": 73512, "ts": "2026-09-25T08:44:07Z", "hours": 1.5378, "text": "Voxel FOUR KiCad schematic"}]...
|
Title: Voxel Four by @o5oul | Stardance
Devlogs:
Title: Voxel Four by @o5oul | Stardance
Devlogs:
Voxel FOUR KiCad schematic
Worked and improved on the case design. Standoffs were annoying to work with, but I was able to resolve the issues with tolerances eventually by finding workarounds and editing the KiCad PCB.
Finished the project, edited the case slightly and finished off with writing some simple code....
|
1793699680.976259
|
1794304480.976259
|
|
66164
|
animeos by @shauz | Stardance
|
shauz
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-27T05:35:49Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "So, here i have finnaly completed the anime webOS which is obviously a web os but anime themed, i made ive added wallpaper, added apps such as paint, notepad, watch list and a really cool chakra animation app. ive made a taskbar with real time clock and a start menu with the ability to pin apps to taskbar(just click it in the start menu) ive used some japanese to for the icons and the taskbar since this was anime themed and it looks cool so thats about it. css was bit challenging so ive used some ai help for css part and debugging. Thanks", "repo": "https://github.com/wowaidummy/animeos", "demo": "https://animeos-rust.vercel.app/"}]...
|
[{"post_id": 74313, "ts": "202 [{"post_id": 74313, "ts": "2026-09-27T05:15:22Z", "hours": 0.4189, "text": "so i revamped the css, ive added more apps, paint, notepad, watch history, a cool chakra app (it doesnt have a big funtion but has a cool animation) ive also implemented taskbar, clock , start menue and pin to taskbar feature. since the app is anime theme i decided to use my japanese skills and made the logos in japanese i think this is cool and complete"}, {"post_id": 74283, "ts": "2026-09-27T03:49:29Z", "hours": 0.3342, "text": "so i succesfully made this completly anime themes i hope you like it"}, {"post_id": 74268, "ts": "2026-09-27T03:15:49Z", "hours": 0.2803, "text": "so i have started this anime os project today and created a basic os now were gonna add elements to it PS: (i realised in the editor i was making it didnt have hackatime linked :( so only 16 mins it says)"}]...
|
Title: animeos by @shauz | Stardance
Devlogs:
so Title: animeos by @shauz | Stardance
Devlogs:
so i have started this anime os project today and created a basic os now were gonna add elements to it PS: (i realised in the editor i was making it didnt have hackatime linked :( so only 16 mins it says)
so i succesfully made this completly anime themes i hope you like it
so i revamped the css, ive added more apps, paint, notepad, watch history, a cool chakra app (it doesnt have a big funtion but has a cool animation) ive also implemented taskbar, clock , start menue and pin to taskbar feature. since the app is anime theme i decided to use my japanese skills and made the logos in japanese i think this is cool and complete
Ships:
So, here i have finnaly completed the anime webOS which is obviously a web os but anime themed, i made ive added wallpaper, added apps such as paint, notepad, watch list and a really cool chakra animation app. ive made a taskbar with real time clock and a start menu with the ability to pin apps to taskbar(just click it in the start menu) ive used some japanese to for the icons and the taskbar since this was anime themed and it looks cool so thats about it. css was bit challenging so ive used some ai help for css part and debugging. Thanks...
|
1793685427.9593937
|
1793771827.9593937
|
|
58819
|
Tab Rot VS Code by @madushankarajapaksha999 | Star Tab Rot VS Code by @madushankarajapaksha999 | Stardance...
|
madushankarajapaksha999
|
1
|
15.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-27T05:23:53Z", "hours": 15.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built Tab Rot, a VS Code extension that makes your files visually decay if you ignore them. The most annoying part was mocking the VS Code API to write unit tests, plus fixing a random Node js crash when I tried to publish. Im super proud of the actual visual rot effect and that the state save even if you restart VS Code. If you wanna test it, just drop the decay timer in the setting to like 1 minute, otherwise you’ll be waiting an hour to see it work.", "repo": "https://github.com/MadushankaRajapaksha/Tab-Rot-VS-Code", "demo": "https://github.com/MadushankaRajapaksha/Tab-Rot-VS-Code/releases/tag/v1.0.1"}]...
|
[{"post_id": 74312, "ts": "202 [{"post_id": 74312, "ts": "2026-09-27T05:12:52Z", "hours": 1.1833, "text": "deployed manually with vsce publish instead. Wrote a full README with install guide, all settings, presets, and troubleshooting. Extension is live on the Repo Releases.."}, {"post_id": 73902, "ts": "2026-09-26T09:16:51Z", "hours": 0.7158, "text": "Fixedd command registration, compilation paths, settings panel display, and database state persistence acrosssrc/extension.ts`, src/settingsPanel.ts, and src/tabTracker.ts"}, {"post_id": 73863, "ts": "2026-09-26T06:49:16Z", "hours": 2.0989, "text": "I built a proper settings webview panel for Tab Rot because asking users to edit raw JSON for threhold values felt hostile. Made a settingsPanel.ts that opens a dedicated webview tab with a clean form — three number inputs for the decay thresholds (stage 1, 2, 3 in minute), three toggle switches for decorations, status bar, and notifications. The whole thing uses VS Code’s CSS variables so it automatically matches the user’s theme — dark mode, light mode, high contrast, whatever. It looks native.The panel is a singleton — if you already have it open, running the command again just focuses the existing panel instead of spawning duplicates. The HTML is inline because it’s small enough that a separate file feels like overkill, but it’s structured with proper labels, hints explaining what each value means, and a little visual preview of the three decay stages as colored badges. The toggles are custom CSS switches that feels nicer than raw checkboxes."}, {"post_id": 73539, "ts": "2026-09-25T10:57:58Z", "hours": 1.6992, "text": "Testing today I finally sat down to write unit tests for tabTracker.ts. I’ve been putting this off becaus, honestly, testing feels like homework when you just want to see the thing work. But I knew if I didn’t write tests now, Id never catch the bug s hiding in the decay logic."}, {"post_id": 72968, "ts": "2026-09-24T04:05:08Z", "hours": 2.2619, "text": "built the sidebar tree view for Tab Rot. Made a decayView.ts with a DecayTreeProvider that implements VS Code s TreeDataProvider interface. It pulls all decayed tabs from the tracker, sorts them by stage with the worst rot first, and renders each one as a DecayItem with the filename as the label, a stage emoji + name as the description (like “🍂 Faded” or “💀 Cracked”), and a tooltip showing how long it’s been since the file was last visited. Each item gets a stage-specific SVG icon and clicking it’s opens the file in the editor.I also created four littl SVG leaf icons in resources/icons/ — a green one for fresh tabs, orange-yellow for faded, brown with dots for grainy, and a dark cracked one for stage 3. They’re just simple leaf shapes but the color coding makes the sidebar immediately scannable.Wired the tree provider into extension.ts and registered it under the view ID tabRot.decayedTabs in package.json. The view lives in the Explorer sidebar and only shows up when there are actually decayed tabs, thanks to a context key tabRot.hasDecayedTabs that I set on every refresh. So if all your tabs are fresh, the sidebar section disappears completely instead of sitting there empty and sad.Added a tabRot.openDecayedTab command that the tree items use to open files when clicked. Since opening the file triggers onDidChangeActiveTextEditor, the tab gets touched and restored automatically, complete with the green flash animation from Phase 5. So the flow is: see rotting tab in sidebar → click it → file opens → green flash → tab is fresh again. Very satisfying.I also updated all the refresh calls so the sidebar stays in sync — it refreshes after every tab touch, close, restore command, and interval tick. And the showDecayedTabs command from Phase 4 now actually works because the view is registered, so that unhandled rejection error is gone."}, {"post_id": 69019, "ts": "2026-09-16T07:07:50Z", "hours": 0.6325, "text": "I builts the restoration flash animation today because instantly snapping from cracked stage-3 to pristine stage-0 felt robotic. I wanted a little “healing” moment — like the file is literally coming back to life. Added a flashRestore() method to tabDecorator.ts that chains two temporary decoration flashes: a bright green pulse at 0ms, a softer second pulse at 300ms, then clear at 600ms. The tab breathes green for a second and then settles into its clean state. I also added a “✨ Tab restored!” info message because I’m a sucker for positive feedback.I wired the flash into two places: when you actively switch to a decayed tab (it detects the old stage was > 0, touches it, then flashes), and when you run the restoreTab comand manually. So whether you click into a rotting file or hit the command palette, you get the dopamine hit.I also added an optional decay notification system. Every 60 seconds during the interval tick, it checks if any tab crossed into a higher decay stage. If tabRot.showNotifications is enabled, it pops a toast like “📉 utils.ts reached stage 2 (unvisited for 1440 minutes)”. I defaulted it to false because getting spammed every minute that your tabs are dying would make people uninstall immediatey. But for accountability masochists, its there."}, {"post_id": 68591, "ts": "2026-09-15T11:16:32Z", "hours": 1.4983, "text": "I built the status bar and command layer for Tab Rot. Made a statusBar.ts that creates a StatusBarItem shoved over to the right side of the bar at priority 100. It shows a little 🍂 leaf emoji followed by how many tabs are rotting — like “🍂 3 rotting” — but only when there’s actually something decaying. When the count hits zero it hides itself completely so it’s not sitting there being useless and cluttering the bar. Clicking it is supposed to focus the sidebar view later, but since I haven’t built the sidebar yet, it’s basically a button that promises something it can’t deliver. I also gated it behind the tabRot.enableStatusBar config so people can kill it if they want.Registered three commands in package.json — tabRot.restoreTab to freshen up whatever file I’m currently staring at, tabRot.restoreAllTabs to reset every tracked tab back to stage 0, and tabRot.showDecayedTabs which is supposed to focus the sidebar. I wired all the handlers in extension.ts. restoreTab grabs the active editor URI, calls tracker.restoreTab(), then immediately refreshes the decorations and status bar so the rot vanishes right away. restoreAllTabs does the same thing but for everything and pops up a little info message saying “✨ All tabs restored!” because I wanted it to feel satisfying. showDecayedTabs tries to execute tabRot.decayedTabs.focus which is a VS Code auto-generated command for tree views.I also added a context menu to contributes.menus.editor/title/context so when you right-click in the editor area you get “Restore Tab” and “Restore All Tabs” right there without having to open the Command Palette. I grouped them under 9_tabRot so they sit in their own little section instead of getting drowned in the giant VS Code right-click menu."}, {"post_id": 65256, "ts": "2026-09-10T08:09:52Z", "hours": 1.3453, "text": "Implimented Visual Decay Decorations I built the entire visual decay layer for Tab Rot over the past two days. Created tabDecorator.ts with three TextEditorDecorationTyp instances one for each decay stage. Stage 1 is a slight washout with opacity: 0.75 and a warm background tint. Stage 2 gets heavier with opacity: 0.55, a dashed brown border, and a darker background. Stage 3 is the nasty one — opacity: 0.4, solid border, wavy strikethrough, and a dark background that makes the code genuinely look abandoned. The updateDecorations() method loops through all visibleTextEditors, grabs the decay stage from the tracker, clears any previous decorations (super important so they dont stack), and applies a full-document Range if the stage is above zero. I register all decoration types in context.subscriptions so VS Code cleans them up on deactivate. I also registered custom theme colors in package.json under contributes.colors — background tints and overview ruler colors for all three stages, with separate defaults for dark, light, and high-contrast themes. Then I swapped out all the hardcoded rgba() values in the decorator for new vscode.ThemeColor(…) so user can customize the palette in their settings.json if they want. Wired everything into extension.ts — updateDecorations() gets called after activation, after every onDidChangeActiveTextEditor (so visiting a tab instantly removes the rot), after onDidCloseTextDocument (cleanup), inside the 60-second interval (so decay progresses live), and on onDidChangeVisibleTextEditors (for split views)."}, {"post_id": 64655, "ts": "2026-09-09T07:04:21Z", "hours": 0.8492, "text": "Wiring the Engine + Config Schema I wired up the TabTracker into the actual extension entry point today. Made an extension.ts that instantiates the trackr when VS Code activates the extension, then immediately scans all already-open text documents and registers them with touchTab() so nothing gets lost if the user already has files open. I hooked into onDidChangeActiveTextEditr to call touchTab() every time the user switches tabs, and onDidCloseTextDocument to remove tabs when files close. I also set up a setInterval that fires every 60 second to call updateAllStages() so the decay actually progresses in real time without waiting for someone to interact.I also completely redid the configuration schem in package.json. Instead of the array-based thresholds I had before, I switched to individual keys : tabRot.stage1Threshold, stage2Threshold, and stage3Threshold with defaults of 60, 1440, and 10080 minutes respectively. That maps to 1 hour, 1 day, and 1 week which feels way more intuitive than the old array. I also added two boolean flags — enableDecorations and enableStatusBar — so users can toggle the UI features later without digging through code.I updated tabTracker.ts to read from the individual config key instead of the array, and kept the hot-reload listener so if someone edits their settings the thresholds update live. I peppered console.log everywhere for debugging — activation messages, tab touch events, removals, and a periodic log of how many decayed tabs exist."}, {"post_id": 63613, "ts": "2026-09-07T15:18:58Z", "hours": 1.4383, "text": "Core State Engine — tabTracker.ts I finally started the actual VS Code extension part of Tab Rot after planning everything out. Today’s goal was just the core state engine — basically tracking when each file was last visited and making sure it survives if you close and reopen VS Code. I made a tabTracker.ts file that has a TabState interface and a TabTracker class. The interface is super strict with the decay stages locked to 0 | 1 | 2 | 3 which felt like good TypeScript practice but also kind of a pain later.The tracker uses a Map to hold everything in memory, but it loads from and saves to context.workspaceState so the data persists across restarts. I added all the main methods — touchTab() to mark something as visited right now, removeTab() when a file closes, getDecayStage() to figure out how rotten a tab is based on the time thresholds, and getDecayedTabs() to spit out everything that’s stage 1 or higher sorted by how dead it is. I also threw in restoreTab() and restoreAllTabs() for when you want to pretend you never abandoned that file.I set it up to read the decay thresholds from VS Code settings (tabRot.decayThresholds) and even made it hot-reload when you change the config without restarting the whole editor. Oh and I added a debounced save because I realized it would be stupid to write to disk every single time you switch tab"}, {"post_id": 63394, "ts": "2026-09-07T06:24:47Z", "hours": 0.5092, "text": "Planned the Tab Root Project Today, I planned the development roadmap for my Tab Root VS Code extension. After finishing the initial project setup, I broke the project into smaller tasks and subtasks so I can develop the extenssion step by step.I created a task list covering the main parts of the project, including tab tracking, the decay system, tab activity detection, visual tab changes, restore functionality, user configuration, testing, documentation, and the final release.Breaking the project into small tasks should make it easier to track my progress and understand what I need to work on next. I also organized the tasks into diffarent phase so I can focus on building the core functionality before moving on to the UI and release."}, {"post_id": 62927, "ts": "2026-09-06T13:53:50Z", "hours": 0.7317, "text": "Implemented Project Structure What I worked on:Today, I started working on my first VS Code extension, called Tab Root. I initialized the project and set up Git for version control. I also created the basic file and folder structure for the extension and configured the project to use TypeScript.After setting everything up, I created my first working VS Code extension. I added a basic VS Code command and tested it successfully inside VS Code. This was my first time creating and running an extension, so getting the basic setup working was an important first step for the project."}]...
|
Title: Tab Rot VS Code by @madushankarajapaksha999 Title: Tab Rot VS Code by @madushankarajapaksha999 | Stardance
Devlogs:
Implemented Project Structure What I worked on:Today, I started working on my first VS Code extension, called Tab Root. I initialized the project and set up Git for version control. I also created the basic file and folder structure for the extension and configured the project to use TypeScript.After setting everything up, I created my first working VS Code extension. I added a basic VS Code command and tested it successfully inside VS Code. This was my first time creating and running an extension, so getting the basic setup working was an important first step for the project.
Planned the Tab Root Project Today, I planned the development roadmap for my Tab Root VS Code extension. After finishing the initial project setup, I broke the project into smaller tasks and subtasks so I can develop the extenssion step by step.I created a task list covering the main parts of the project, including tab tracking, the decay system, tab activity detection, visual tab changes, restore functionality, user configuration, testing, documentation, and the final release.Breaking the project into small tasks should make it easier to track my progress and understand what I need to work on next. I also organized the tasks into diffarent phase so I can focus on building the core functionality before moving on to the UI and release.
Core State Engine — tabTracker.ts I finally started the actual VS Code extension part of Tab Rot after planning everything out. Today’s goal was just the core state engine — basically tracking when each file was last visited and making sure it survives if you close and reopen VS Code. I made a tabTracker.ts file that has a TabState interface and a TabTracker class. The interface is super strict with the decay stages locked to 0 | 1 | 2 | 3 which felt like good TypeScript practice but also kind of a pain later.The tracker uses a Map to hold everything in memory, but it loads from and saves to context.workspaceState so the data persists across restarts. I added all the main methods — touchTab() to mark something as visited right now, removeTab() when a file closes, getDecayStage() to figure out how rotten a tab is based on the time thresholds, and getDecayedTabs() to spit out everything that’s stage 1 or higher sorted by how dead it is. I also threw in restoreTab() and restoreAllTabs() for when you want to pretend you never abandoned that file.I set it up to read the decay thresholds from VS Code settings (tabRot.decayThresholds) and even made it hot-reload when you change the config without restarting the whole editor. Oh and I added a debounced save because I realized it would be stupid to write to disk every single time you switch tab
Wiring the Engine + Config Schema I wired up the TabTracker into the actual extension entry point today. Made an extension.ts that instantiates the trackr when VS Code activates the extension, then immediately scans all already-open text documents and registers them with touchTab() so nothing gets lost if the user already has files open. I hooked into onDidChangeActiveTextEditr to call touchTab() every time the user switches tabs, and onDidCloseTextDocument to remove tabs when files close. I also set up a setInterval that fires every 60 second to call updateAllStages() so the decay actually progresses in real time without waiting for someone to interact.I also completely redid the configuration schem in package.json. Instead of the array-based thresholds I had before, I switched to individual keys : tabRot.stage1Threshold, stage2Threshold, and stage3Threshold with defaults of 60, 1440, and 10080 minutes respectively. That maps to 1 hour, 1 day, and 1 week which feels way more intuitive than the old array. I also added two boolean flags — enableDecorations and enableStatusBar — so users can toggle the UI features later without digging through code.I updated tabTracker.ts to read from the individual config key instead of the array, and kept the hot-reload listener so if someone edits their settings the thresholds update live. I peppered console.log everywhere for debugging — activation messages, tab touch events, removals, and a periodic log of how many decayed tabs exist.
Implimented Visual Decay Decorations I built the entire visual decay layer for Tab Rot over the past two days. Created tabDecorator.ts with three TextEditorDecorationTyp instances one for each decay stage. Stage 1 is a slight washout with opacity: 0.75 and a warm background tint. Stage 2 gets heavier with opacity: 0.55, a dashed brown border, and a darker background. Stage 3 is the nasty one — opacity: 0.4, solid border, wavy strikethrough, and a dark background that makes the code genuinely look abandoned. The updateDecorations() method loops through all visibleTextEditors, grabs the decay stage from the tracker, clears any previous decorations (super important so they dont stack), and applies a full-document Range if the stage is above zero. I register all decoration types in context.subscriptions so VS Code cleans them up on deactivate. I also registered custom theme colors in package.json under contributes.colors — background tints and overview ruler colors for all three stages, with separate defaults for dark, light, and high-contrast themes. Then I swapped out all the hardcoded rgba() values in the decorator for new vscode.ThemeColor(…) so user can customize the palette in their settings.json if they want. Wired everything into extension.ts — updateDecorations() gets called after activation, after every onDidChangeActiveTextEditor (so visiting a tab instantly removes the rot), after onDidCloseTextDocument (cleanup), inside the 60-second interval (so decay progresses live), and on onDidChangeVisibleTextEditors (for split views).
I built the status bar and command layer for Tab Rot. Made a statusBar.ts that creates a StatusBarItem shoved over to the right side of the bar at priority 100. It shows a little 🍂 leaf emoji followed by how many tabs are rotting — like “🍂 3 rotting” — but only when there’s actually something decaying. When the count hits zero it hides itself completely so it’s not sitting there being useless and cluttering the bar. Clicking it is supposed to focus the sidebar view later, but since I haven’t built the sidebar yet, it’s basically a button that promises something it can’t deliver. I also gated it behind the tabRot.enableStatusBar config so people can kill it if they want.Registered three commands in package.json — tabRot.restoreTab to freshen up whatever file I’m currently staring at, tabRot.restoreAllTabs to reset every tracked tab back to stage 0, and tabRot.showDecayedTabs which is supposed to focus the sidebar. I wired all the handlers in extension.ts. restoreTab grabs the active editor URI, calls tracker.restoreTab(), then immediately refreshes the decorations and status bar so the rot vanishes right away. restoreAllTabs does the same thing but for everything and pops up a little info message saying “✨ All tabs restored!” because I wanted it to feel satisfying. showDecayedTabs tries to execute tabRot.decayedTabs.focus which is a VS Code auto-generated command for tree views.I also added a context menu to contributes.menus.editor/title/context so when you right-click in the editor area you get “Restore Tab” and “Restore All Tabs” right there without having to open the Command Palette. I grouped them under 9_tabRot so they sit in their own little section instead of getting drowned in the giant VS Code right-click menu.
I builts the restoration flash animation today because instantly snapping from cracked stage-3 to pristine stage-0 felt robotic. I wanted a little “healing” moment — like the file is literally coming back to life. Added a flashRestore() method to tabDecorator.ts that chains two temporary decoration flashes: a bright green pulse at 0ms, a softer second pulse at 300ms, then clear at 600ms. The tab breathes green for a second and then settles into its clean state. I also added a “✨ Tab restored!” info message because I’m a sucker for positive feedback.I wired the flash into two places: when you actively switch to a decayed tab (it detects the old stage was > 0, touches it, then flashes), and when you run the restoreTab comand manually. So whether you click into a rotting file or hit the command palette, you get the dopamine hit.I also added an optional decay notification system. Every 60 seconds during the interval tick, it checks if any tab crossed into a higher decay stage. If tabRot.showNotifications is enabled, it pops a toast like “📉 utils.ts reached stage 2 (unvisited for 1440 minutes)”. I defaulted it to false because getting spammed every minute that your tabs are dying would make people uninstall immediatey. But for accountability masochists, its there.
built the sidebar tree view for Tab Rot. Made a decayView.ts with a DecayTreeProvider that implements VS Code s TreeDataProvider interface. It pulls all decayed tabs from the tracker, sorts them by stage with the worst rot first, and renders each one as a DecayItem with the filename as the label, a stage emoji + name as the description (like “🍂 Faded” or “💀 Cracked”), and a tooltip showing how long it’s been since the file was last visited. Each item gets a stage-specific SVG icon and clicking it’s opens the file in the editor.I also created four littl SVG leaf icons in resources/icons/ — a green one for fresh tabs, orange-yellow for faded, brown with dots for grainy, and a dark cracked one for stage 3. They’re just simple leaf shapes but the color coding makes the sidebar immediately scannable.Wired the tree provider into extension.ts and registered it under the view ID tabRot.decayedTabs in package.json. The view lives in the Explorer sidebar and only shows up when there are actually decayed tabs, thanks to a context key tabRot.hasDecayedTabs that I set on every refresh. So if all your tabs are fresh, the sidebar section disappears completely instead of sitting there empty and sad.Added a tabRot.openDecayedTab command that the tree items use to open files when clicked. Since opening the file triggers onDidChangeActiveTextEditor, the tab gets touched and restored automatically, complete with the green flash animation from Phase 5. So the flow is: see rotting tab in sidebar → click it → file opens → green flash → tab is fresh again. Very satisfying.I also updated all the refresh calls so the sidebar stays in sync — it refreshes after every tab touch, close, restore command, and interval tick. And the showDecayedTabs command from Phase 4 now actually works because the view is registered, so that unhandled rejection error is gone.
Testing today I finally sat down to write unit tests for tabTracker.ts. I’ve been putting this off becaus, honestly, testing feels like homework when you just want to see the thing work. But I knew if I didn’t write tests now, Id never catch the bug s hiding in the decay logic.
I built a proper settings webview panel for Tab Rot because asking users to edit raw JSON for threhold values felt hostile. Made a settingsPanel.ts that opens a dedicated webview tab with a clean form — three number inputs for the decay thresholds (stage 1, 2, 3 in minute), three toggle switches for decorations, status bar, and notifications. The whole thing uses VS Code’s CSS variables so it automatically matches the user’s theme — dark mode, light mode, high contrast, whatever. It looks native.The panel is a singleton — if you already have it open, running the command again just focuses the existing panel instead of spawning duplicates. The HTML is inline because it’s small enough that a separate file feels like overkill, but it’s structured with proper labels, hints explaining what each value means, and a little visual preview of the three decay stages as colored badges. The toggles are custom CSS switches that feels nicer than raw checkboxes.
Fixedd command registration, compilation paths, settings panel display, and database state persistence acrosssrc/extension.ts`, src/settingsPanel.ts, and src/tabTracker.ts
deployed manually with vsce publish instead. Wrote a full README with install guide, all settings, presets, and troubleshooting. Extension is live on the Repo Releases..
Ships:
I built Tab Rot, a VS Code extension that makes your files visually decay if you ignore them. The most annoying part was mocking the VS Code API to write unit tests, plus fixing a random Node js crash when I tried to publish. Im super proud of the actual visual rot effect and that the state save even if you restart VS Code. If you wanna test it, just drop the decay timer in the setting to like 1 minute, otherwise you’ll be waiting an hour to see it work....
|
1793674534.55495
|
1793760934.55495
|
|
33896
|
UNSW Antweight Battle Bot by @Haiiitsme | Stardanc UNSW Antweight Battle Bot by @Haiiitsme | Stardance...
|
Haiiitsme
|
1
|
11.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-27T04:59:32Z", "hours": 11.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Competition Day Overview Cat-Aclysm was an amazing bot to fight, and I thoroughly enjoyed the build process, so thank you to everyone for your support, whether you helped me buid it, liked or viewed my devlogs, or just wanted to see some custom RC cars destroy each other. It did not place as well in the competition as I would have liked, but I do have lots of good feedback and stuff to improve. Placement Cat-Aclysm placed 12th out of 18 robots in the plastic ant class, winning 1 battle and losing 3. On the first day, the bot’s weapon unfortunately blew up in every single battle due to a structural issue, which was promptly fixed through lotsa overnight work and no sleep, and then Cataclysm won its first battle on the second day! TIME TO SHIP! The battle bot is finally complete, and I will be shipping the project after this final devlog! Attached below is one of the fights with my bot, as unfortunately the rest of them are too heavy to attach. If you would like them, as well as some much more explosive fights, DM me on slack for the full videos! Enjoy! New Bots Are Coming I will be continuing the hobby of combat robotics, so look out for some of my new robot designs that will be coming soon! A video of my bot fighting is attached on my last video, so if you want to check that out, go to my profile or click on the project! Thank you!", "repo": "https://github.com/CoolMetalClaws/UNSW-Ant-Weight-Battle-Bot", "demo": ""}]...
|
[{"post_id": 74304, "ts": "202 [{"post_id": 74304, "ts": "2026-09-27T04:55:30Z", "hours": 0.3339, "text": "Competition Day Overview Cat-Aclysm was an amazing bot to fight, and I thoroughly enjoyed the build process, so thank you to everyone for your support, whether you helped me buid it, liked or viewed my devlogs, or just wanted to see some custom RC cars destroy each other. It did not place as well in the competition as I would have liked, but I do have lots of good feedback and stuff to improve. Placement Cat-Aclysm placed 12th out of 18 robots in the plastic ant class, winning 1 battle and losing 3. On the first day, the bot’s weapon unfortunately blew up in every single battle due to a structural issue, which was promptly fixed through lotsa overnight work and no sleep, and then Cataclysm won its first battle on the second day! TIME TO SHIP! The battle bot is finally complete, and I will be shipping the project after this final devlog! Attached below is one of the fights with my bot, as unfortunately the rest of them are too heavy to attach. If you would like them, as well as some much more explosive fights, DM me on slack for the full videos! Enjoy! New Bots Are Coming I will be continuing the hobby of combat robotics, so look out for some of my new robot designs that will be coming soon!"}, {"post_id": 69579, "ts": "2026-09-17T10:52:00Z", "hours": 3.7086, "text": "Most likely final Log Thank you! Firstly, before i keep going on about what i did to finalise my bot, i want to thank everyone who followed along for the journey, liked my devlogs, gave me a comment, or took the time to read the nonsnse i type. Thanks for all of the support and im so excited for this bot to fight this weekend! I will upload videos for anyone whos interested! Wheels dont FITT! The wheels that i purchased unfortunately did not fit on the motor, so i had to design my own, with rubber grips. It was a pretty quick process, and i got the sizes perfect first try, and solved that problem pretty quick! Battery doesn’t FITT! Unfortunately for me, i forgot to account for the space the wiring would require, so there wasn’t enough space left for the battery to fit. To accomodate for this, i did a pretty makeshift solution, and slightly raised the section above the battery to allow it to fit! SLIGHT miscalculations I have suprisingly made a mistake when calculating the weight, as the bot is severely underweight, weighing in at 130.98g! This is nothing to worry about, the weight is well below the 150g limit, and provides me with a bit of buffer in case something happens. Soldering I soldered together all the components of the bot at UNSW, and unfortunately did not lapse my lead fume filled hours spent attaching wires to more wires. I suprisingly got the circuit right the first time, and it funtions perfectly! Thank you again! Thanks for reading this log if you made it this far, and hope you will be supporting my bot for this competetion! Ty! An image of the bot is attached below!"}, {"post_id": 64652, "ts": "2026-09-09T06:51:51Z", "hours": 3.9603, "text": "Final Tweaks Maths is over! My maths test is finally done, so now i have some extra time to work on this! Sorry i havent posted a devlog in a while. 4hrs of tweaks Im logging 4hrs of tweaking the design, making tiny changes to make it ready for printing with ABS! Some of the things i changed were; Different type of N20 motor mounts Added weapon motor mounts Made the weapon struts removable and replaceable Added routing for the weapon motor’s wires Added screw holes DECIDED UPON A NAME!!! This bot is officially registered into the competetion in 2 weeks as… drumroll…..Cat Aclysm! This name was chosen since the bot looks kinda like a cat from the top profile. Soldering I began to solder together the parts of the bot, involving very intricate wire splicing because i thought it would be fun to add 2 LEDs instead of the required 1. :/ Thats It! Thats it for this devlog! Thank you for reading if you made it this far!"}, {"post_id": 57220, "ts": "2026-08-29T10:07:17Z", "hours": 2.6781, "text": "Partss! Funding Approved Thank you soo much @RR for approving funding for my project! Sorry I haven’t posted a devlog in a while, I was ordering parts and doing the final tweaks to the design. All the parts have been ordered, and I’m currently waiting for delivery. Lower Chassis I lowered the chassis by making the wheels closer to the floor, and sloped the front armour to restrict my bot from getting picked up from the front or outmanoeuvred. This also allows my bot to scoop up other bots and guide them into my weapon blade. Mouting the BE1806 motor I split the chassis struts into seperate parts so they can be printed flat, which makes them stronger vertically. Then I added mounting holes for M2 screws, which directly screw into the motor. Then a channel was extruded to route the motor wires back through the chassis and to the ESC and the Malenki. Break This project will be taking a back seat for the next week as I wait for parts to deliver and due to upcoming exams! I’ll finish the build pretty soon after though, as the event I’m competing in is on 20th September! Controller I also purchased the controller for the bot, and will need to set it up myself soon! It is a Jumper T16 with replaced ribbons. An annoying thing is that i have to charge the batteries using a specific LiPo charger that I don’t have, so I’ll need to get that. Thank you! Thanks for reading this devlog if u made it this far! Hope you’re as excited for this bot as I am! P.S: I still need a name, so please suggest me some names in the comments below! Thank you!"}, {"post_id": 49476, "ts": "2026-08-18T10:38:35Z", "hours": 0.3056, "text": "Test Rig CAD I quickly CADed up a test rig adaptor for the weapon, to allow me to test the weapon’s centre of gravity and damage using a small 3V motor i had lying around while i wait for the approval of funding so i can buy the brushless motor it was designed for. The 3V motor only reaches around 8000 RPM, which is much lower than the 20,000 RPM the BLDC can provide. Making the Rig I 3D printed the adaptor with some PLA, and assembled the rig with a stable base. I used the motor mount that came with the 3V motor to secure it to a wooden block (and yes, your eyes do not deceive you, it’s a massive domino peice), so it doesn’t move around while testing. An Image of the rig is attached below. Now we wait… I have everything ready to test, now i just need to wait for my funding to be approved so i can purchase the required fillament for the Robot! As soon as i get the fillament and print the part, i will be releasing a devlog showing the testing of the weapon on the rig!!! Thank you for reading this far lol! I hope i get the funding soon so i can begin building!"}, {"post_id": 48621, "ts": "2026-08-17T02:48:19Z", "hours": 0.7328, "text": "Problems have arisen Switch Cover design While I was waiting for the project to get approved for funding, I decided to add a small cover for the screw switch, and generally touch up the design. I countersunk the screw holes for M3 screws I bought (hopefully I can get re-imbursed for these as well) and designed 2 types of covers for the screw switch on the robot that turns it on. The two designs are attached in the image below, so please tell me which one I should keep on the bot! (Spikes or the flat, boring, plain cover) Weight Issues My bot is slightly overweight, around 5 grams over, and I need to drop dead weight, especially from the chassis. I tried hollowing out the front prongs, but this actually increased the weight as it added more walls, meaning a denser design. I then adjusted some slicer settings and thinned the walls of my bot, which got the weight back under the limit. Unfortunately, I would prefer to have some margin as I still need to add hot glue to stick in the motors and the PCB, and my bot is currently 149.8 grams (the limit is 150g). To solve this issue, I plan to make the blade thinner, which does mean it will have a lesser reach. If anyone has better suggestions to drop weight, pls let me know in the comments since I really would prefer to keep a wider blade."}, {"post_id": 45612, "ts": "2026-08-12T06:54:18Z", "hours": 0.4417, "text": "Just a lil extra thing i was working on that i wanted to share! Below is the image for my robot team’s (just me so far) logo; Robo Sapiens! Lol I found this so amusing I had to make a devlog about it! P.s if anyone has name suggestions for my bot, pls tell me down in the comments, i currently have no idea what in going to name it"}, {"post_id": 45048, "ts": "2026-08-11T09:18:26Z", "hours": 0.4786, "text": "Chosen Design After careful consideration, I chose the aggressive vertical front spinner as my final design. I have moderate to extensive experience in Onshape, so i used that to begin designing. Before beginning to design, i found STEP files for N20 motors and used the dimensions from my planning stage to place in the electronic components. Then i began with a roughly shaped sketch of the design, which i extruded to the desired length. Then I shelled it out with a 2mm wall to allow space for the electronics. Weapon design My weapon blade design is based off James KIrby’s D.E.S blade. The weapon support struts are extremely thick as many bots have lost their weapons due to broken struts. The weapon uses a BE1806 motor and a 20Ah ESC to drive it. The weapon unfortunately was not big enough to house the motor, so adjustments had to be made to allow a larger weapon. Feedback and Re-iteration An extremely helpful individual from the university provided me extensive feedback upon the design, which significantly improved my design and allowed my robot to remain under the weight category. Thank you! Specific Design modifications through feedback; Changed Malenki nano orientation to vertical just behind weapon Allowed the wheels to protrude slighly from the back so the bot doesnt get stuck on its back Smaller chassis for lesser weight (Removed unecessary space) Added Mounts for screw switch and LED If you made it this far, thank you for reading! If you have any suggestions for my bot, I’m always willing to improve, so please tell me in the comments below. Thanks! Final Design is attached below along with a wiring diagram (It should be unless theres something else to fix) P.s there’s a cover on the bot, i just dont have it visible in the renders"}, {"post_id": 44479, "ts": "2026-08-10T08:21:47Z", "hours": 13.5217, "text": "Sketching Robot Designs and Parts with Dimensions Inspiration I’ve always been intrigued by battle robots, and when I discovered that there is a competition near by that hosts mini battle bots, I was immediately drawn to it. I did lots of research into it and discovered there were many categories and classes. I decided to make a bot for the Antweight plastic class category, and one that would easily be upgraded to the open class category. An example battle bot is shown below (not mine). Overview The Antweight Battle Bot competition is a miniature combat robotics event where custom-built remote-controlled machines face off in a bulletproof, enclosed arena. This weight class serves as the ultimate entry point for engineering hobbyists due to its low cost, minimal space requirements, and strict design constraints. Weapon and drive motor sketches with dimensions I first sketched out the motors and electronic components used for the battle bot at a 1:1 scale with dimensions, to give me a better sense of the sizing of the parts and to start thinking of the arrangements. Bot concept sketches After planning a base robot in my mind, I finalised 3 main robot designs I liked. I sketched these 3 out and asked for input from a few people who have experience in this field, including Angus from makers muse (the YouTuber). I decided upon the vertical spinner design with aggressive front forks. My 3 bot sketches are attached below. Version 1: Viper Version 2: (Unamed) Version 3: Skull Krusher"}]...
|
Title: UNSW Antweight Battle Bot by @Haiiitsme | S Title: UNSW Antweight Battle Bot by @Haiiitsme | Stardance
Devlogs:
Sketching Robot Designs and Parts with Dimensions Inspiration I’ve always been intrigued by battle robots, and when I discovered that there is a competition near by that hosts mini battle bots, I was immediately drawn to it. I did lots of research into it and discovered there were many categories and classes. I decided to make a bot for the Antweight plastic class category, and one that would easily be upgraded to the open class category. An example battle bot is shown below (not mine). Overview The Antweight Battle Bot competition is a miniature combat robotics event where custom-built remote-controlled machines face off in a bulletproof, enclosed arena. This weight class serves as the ultimate entry point for engineering hobbyists due to its low cost, minimal space requirements, and strict design constraints. Weapon and drive motor sketches with dimensions I first sketched out the motors and electronic components used for the battle bot at a 1:1 scale with dimensions, to give me a better sense of the sizing of the parts and to start thinking of the arrangements. Bot concept sketches After planning a base robot in my mind, I finalised 3 main robot designs I liked. I sketched these 3 out and asked for input from a few people who have experience in this field, including Angus from makers muse (the YouTuber). I decided upon the vertical spinner design with aggressive front forks. My 3 bot sketches are attached below. Version 1: Viper Version 2: (Unamed) Version 3: Skull Krusher
Chosen Design After careful consideration, I chose the aggressive vertical front spinner as my final design. I have moderate to extensive experience in Onshape, so i used that to begin designing. Before beginning to design, i found STEP files for N20 motors and used the dimensions from my planning stage to place in the electronic components. Then i began with a roughly shaped sketch of the design, which i extruded to the desired length. Then I shelled it out with a 2mm wall to allow space for the electronics. Weapon design My weapon blade design is based off James KIrby’s D.E.S blade. The weapon support struts are extremely thick as many bots have lost their weapons due to broken struts. The weapon uses a BE1806 motor and a 20Ah ESC to drive it. The weapon unfortunately was not big enough to house the motor, so adjustments had to be made to allow a larger weapon. Feedback and Re-iteration An extremely helpful individual from the university provided me extensive feedback upon the design, which significantly improved my design and allowed my robot to remain under the weight category. Thank you! Specific Design modifications through feedback; Changed Malenki nano orientation to vertical just behind weapon Allowed the wheels to protrude slighly from the back so the bot doesnt get stuck on its back Smaller chassis for lesser weight (Removed unecessary space) Added Mounts for screw switch and LED If you made it this far, thank you for reading! If you have any suggestions for my bot, I’m always willing to improve, so please tell me in the comments below. Thanks! Final Design is attached below along with a wiring diagram (It should be unless theres something else to fix) P.s there’s a cover on the bot, i just dont have it visible in the renders
Just a lil extra thing i was working on that i wanted to share! Below is the image for my robot team’s (just me so far) logo; Robo Sapiens! Lol I found this so amusing I had to make a devlog about it! P.s if anyone has name suggestions for my bot, pls tell me down in the comments, i currently have no idea what in going to name it
Problems have arisen Switch Cover design While I was waiting for the project to get approved for funding, I decided to add a small cover for the screw switch, and generally touch up the design. I countersunk the screw holes for M3 screws I bought (hopefully I can get re-imbursed for these as well) and designed 2 types of covers for the screw switch on the robot that turns it on. The two designs are attached in the image below, so please tell me which one I should keep on the bot! (Spikes or the flat, boring, plain cover) Weight Issues My bot is slightly overweight, around 5 grams over, and I need to drop dead weight, especially from the chassis. I tried hollowing out the front prongs, but this actually increased the weight as it added more walls, meaning a denser design. I then adjusted some slicer settings and thinned the walls of my bot, which got the weight back under the limit. Unfortunately, I would prefer to have some margin as I still need to add hot glue to stick in the motors and the PCB, and my bot is currently 149.8 grams (the limit is 150g). To solve this issue, I plan to make the blade thinner, which does mean it will have a lesser reach. If anyone has better suggestions to drop weight, pls let me know in the comments since I really would prefer to keep a wider blade.
Test Rig CAD I quickly CADed up a test rig adaptor for the weapon, to allow me to test the weapon’s centre of gravity and damage using a small 3V motor i had lying around while i wait for the approval of funding so i can buy the brushless motor it was designed for. The 3V motor only reaches around 8000 RPM, which is much lower than the 20,000 RPM the BLDC can provide. Making the Rig I 3D printed the adaptor with some PLA, and assembled the rig with a stable base. I used the motor mount that came with the 3V motor to secure it to a wooden block (and yes, your eyes do not deceive you, it’s a massive domino peice), so it doesn’t move around while testing. An Image of the rig is attached below. Now we wait… I have everything ready to test, now i just need to wait for my funding to be approved so i can purchase the required fillament for the Robot! As soon as i get the fillament and print the part, i will be releasing a devlog showing the testing of the weapon on the rig!!! Thank you for reading this far lol! I hope i get the funding soon so i can begin building!
Partss! Funding Approved Thank you soo much @RR for approving funding for my project! Sorry I haven’t posted a devlog in a while, I was ordering parts and doing the final tweaks to the design. All the parts have been ordered, and I’m currently waiting for delivery. Lower Chassis I lowered the chassis by making the wheels closer to the floor, and sloped the front armour to restrict my bot from getting picked up from the front or outmanoeuvred. This also allows my bot to scoop up other bots and guide them into my weapon blade. Mouting the BE1806 motor I split the chassis struts into seperate parts so they can be printed flat, which makes them stronger vertically. Then I added mounting holes for M2 screws, which directly screw into the motor. Then a channel was extruded to route the motor wires back through the chassis and to the ESC and the Malenki. Break This project will be taking a back seat for the next week as I wait for parts to deliver and due to upcoming exams! I’ll finish the build pretty soon after though, as the event I’m competing in is on 20th September! Controller I also purchased the controller for the bot, and will need to set it up myself soon! It is a Jumper T16 with replaced ribbons. An annoying thing is that i have to charge the batteries using a specific LiPo charger that I don’t have, so I’ll need to get that. Thank you! Thanks for reading this devlog if u made it this far! Hope you’re as excited for this bot as I am! P.S: I still need a name, so please suggest me some names in the comments below! Thank you!
Final Tweaks Maths is over! My maths test is finally done, so now i have some extra time to work on this! Sorry i havent posted a devlog in a while. 4hrs of tweaks Im logging 4hrs of tweaking the design, making tiny changes to make it ready for printing with ABS! Some of the things i changed were; Different type of N20 motor mounts Added weapon motor mounts Made the weapon struts removable and replaceable Added routing for the weapon motor’s wires Added screw holes DECIDED UPON A NAME!!! This bot is officially registered into the competetion in 2 weeks as… drumroll…..Cat Aclysm! This name was chosen since the bot looks kinda like a cat from the top profile. Soldering I began to solder together the parts of the bot, involving very intricate wire splicing because i thought it would be fun to add 2 LEDs instead of the required 1. :/ Thats It! Thats it for this devlog! Thank you for reading if you made it this far!
Most likely final Log Thank you! Firstly, before i keep going on about what i did to finalise my bot, i want to thank everyone who followed along for the journey, liked my devlogs, gave me a comment, or took the time to read the nonsnse i type. Thanks for all of the support and im so excited for this bot to fight this weekend! I will upload videos for anyone whos interested! Wheels dont FITT! The wheels that i purchased unfortunately did not fit on the motor, so i had to design my own, with rubber grips. It was a pretty quick process, and i got the sizes perfect first try, and solved that problem pretty quick! Battery doesn’t FITT! Unfortunately for me, i forgot to account for the space the wiring would require, so there wasn’t enough space left for the battery to fit. To accomodate for this, i did a pretty makeshift solution, and slightly raised the section above the battery to allow it to fit! SLIGHT miscalculations I have suprisingly made a mistake when calculating the weight, as the bot is severely underweight, weighing in at 130.98g! This is nothing to worry about, the weight is well below the 150g limit, and provides me with a bit of buffer in case something happens. Soldering I soldered together all the components of the bot at UNSW, and unfortunately did not lapse my lead fume filled hours spent attaching wires to more wires. I suprisingly got the circuit right the first time, and it funtions perfectly! Thank you again! Thanks for reading this log if you made it this far, and hope you will be supporting my bot for this competetion! Ty! An image of the bot is attached below!
Competition Day Overview Cat-Aclysm was an amazing bot to fight, and I thoroughly enjoyed the build process, so thank you to everyone for your support, whether you helped me buid it, liked or viewed my devlogs, or just wanted to see some custom RC cars destroy each other. It did not place as well in the competition as I would have liked, but I do have lots of good feedback and stuff to improve. Placement Cat-Aclysm placed 12th out of 18 robots in the plastic ant class, winning 1 battle and losing 3. On the first day, the bot’s weapon unfortunately blew up in every single battle due to a structural issue, which was promptly fixed through lotsa overnight work and no sleep, and then Cataclysm won its first battle on the second day! TIME TO SHIP! The battle bot is finally complete, and I will be shipping the project after this final devlog! Attached below is one of the fights with my bot, as unfortunately the rest of them are too heavy to attach. If you would like them, as well as some much more explosive fights, DM me on slack for the full videos! Enjoy! New Bots Are Coming I will be continuing the hobby of combat robotics, so look out for some of my new robot designs that will be coming soon!
Ships:
Competition Day Overview Cat-Aclysm was an amazing bot to fight, and I thoroughly enjoyed the build process, so thank you to everyone for your support, whether you helped me buid it, liked or viewed my devlogs, or just wanted to see some custom RC cars destroy each other. It did not place as well in the competition as I would have liked, but I do have lots of good feedback and stuff to improve. Placement Cat-Aclysm placed 12th out of 18 robots in the plastic ant class, winning 1 battle and losing 3. On the first day, the bot’s weapon unfortunately blew up in every single battle due to a structural issue, which was promptly fixed through lotsa overnight work and no sleep, and then Cataclysm won its first battle on the second day! TIME TO SHIP! The battle bot is finally complete, and I will be shipping the project after this final devlog! Attached below is one of the fights with my bot, as unfortunately the rest of them are too heavy to attach. If you would like them, as well as some much more explosive fights, DM me on slack for the full videos! Enjoy! New Bots Are Coming I will be continuing the hobby of combat robotics, so look out for some of my new robot designs that will be coming soon! A video of my bot fighting is attached on my last video, so if you want to check that out, go to my profile or click on the project! Thank you!...
|
1793674635.8562663
|
1793761035.8562663
|
|
27377
|
AI-Powered Adventure Text Game by @jeremyngai | St AI-Powered Adventure Text Game by @jeremyngai | Stardance...
|
jeremyngai
|
1
|
31.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-27T08:27:12Z", "hours": 31.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is an AI-powered text adventure device using an ESP32, an e-paper display and a rotary encoder. It is powered by Gemini to generate infinite stories and choices. It uses ESP32-C3 microcontroller to connect to WiFi and query the Gemini API. Gemini generates an interactive story segment and choices for the player in JSON format. Then the text is shown on the e-paper display. The user can use the rotary encoder to scroll through the text and select their next action. Each choice is returned to the history buffer on the ESP32 and is sent back to Gemini to generate the next story segment. Personally the most enjoyable part is when the PCB worked after i soldered them, however the coding part is hell cuz i sucks at coding lol. It haven’t got an enclosure yet, i will work on it soon! Now I can play this in my free time!", "repo": "https://github.com/Jeremy-Ngai-Sew-Poh/InkQuest", "demo": ""}]...
|
[{"post_id": 74300, "ts": "202 [{"post_id": 74300, "ts": "2026-09-27T04:39:13Z", "hours": 1.6014, "text": "I worked on the game loop system so the story is infinite. after you selected your choice your response will be sent back to gemini api to generate next story! now its actually infinite loop"}, {"post_id": 38642, "ts": "2026-08-01T04:29:45Z", "hours": 4.8872, "text": "Spent the last few days implementing gemini api into the code and formatting json data like text, choice into the e paper display :) I’ll take a break from this project as i have joined other competition. so stay tuned!"}, {"post_id": 31150, "ts": "2026-07-19T10:08:00Z", "hours": 2.8883, "text": "GAH DAMN MY PCB IS WORKING!!! Timelapse below! I spent the last few hours carefully soldering my new PCB. I decided to use 0805 for all smd component cuz in my last project, I used 0603 ones and it was PURE TORTURE to solder them all lol. lessen learnt! Overall, I absolutely love the pcb outcome its nicer than I expected especially the ws2812b led and all those smd resistor (they look so sci-fi xD). However there was one flaw, I forgot about the ESP32 antenna. I’m forced to awkwardly fit the antenna on the pcb back (right beside my Great Wave silkscreen print). Luckily it didn’t block it lol. This is something I needa keep in mind the next time! You might be wondering what’s that tiny pin header I used there. It’s just a pin header, but for the design, I wanted it to be ultra slim, so I designed a PCB sandwich layout. The battery fits perfectly between the e-paper pcb and my pcb. However the problem with normal pin headers is that they are super chunky, they have like 9mm gap. That instantly ruin the whole vibe… So after hours of digging in aliexpress, I found those low profile pin header. They are SUPER PERFECT for my project (6mm gap), which is exactly my battery thickness!!! Anyways the low profile pin header was NOT CHEAP at all… well at least its so worth it. Other than soldering the PCB, I did a few adjustment to the firmware, including: rotary encoder logic improvement - I used interrupt pin logic to read it, they place the rotary encoder at the toppest priority (if theres any changes in pin state, the esp32 instantly ignore everything and focus on the encoder). That’s all for now, stay tuned! its so fun"}, {"post_id": 30648, "ts": "2026-07-18T12:04:16Z", "hours": 1.4833, "text": "Today I worked on a WiFi prompt to let user choose whether they want to connect to a different wifi or existing one, because this device is supposed to be portable, working anywhere, so this is very important. However, I’m still figuring out how to show the WiFi name… wm.getWiFiSSID() didn’t work though. Btw, all my hardware had already arrived just now!! (after slow ahh aliexpress) I can’t wait to solder them, so stay tuned lol XD"}, {"post_id": 30125, "ts": "2026-07-17T13:25:32Z", "hours": 4.3369, "text": "In the last few days, I made a few changes to my project: I decided to switch the idea from the initial quiz game concept into a choice-based adventure text game, it’s basically an infinite “choose your own adventure” concept. I feel like it’s way more fun! I worked with the WiFiManager library to make the wifi setup more accessible and easy. We now don’t need to hardcode wifi password into the code, the device will launch a hotspot captive portal and you can just connect any of your device to setup wifi at anytime anywhere. portable, isn’t it? Since this game concept will need the e-paper display to show a long text, I used a serif font and coded an automatic text wrapping and an adaptive scroll bar at the side so you can know the length of the text I also added a low battery and data parsing error page for the user alongside with an ok button to shutdown the device. What’s next? After the text formatting is stable, i’ll be focusing on text generation and choice logic!! xD"}, {"post_id": 27138, "ts": "2026-07-12T12:49:33Z", "hours": 2.3742, "text": "Added automatic text wrapping, improved code logic and added low battery screen"}, {"post_id": 26595, "ts": "2026-07-11T14:50:08Z", "hours": 0.6044, "text": "Sent PCB design to JLCPCB for manufacturing (the silkscreen boutta look fire!!)"}, {"post_id": 26395, "ts": "2026-07-11T05:00:22Z", "hours": 1.8842, "text": "Finalised PCB schematics and tested with breadboard. PCB is ready to be manufactured!!"}, {"post_id": 24655, "ts": "2026-07-08T11:42:57Z", "hours": 1.2667, "text": "Added WS2812B Neopixel on the PCB and rerouted PCB"}, {"post_id": 22722, "ts": "2026-07-05T09:35:39Z", "hours": 2.0708, "text": "Finalised schematics circuit, now starting PCB layout!!"}, {"post_id": 22147, "ts": "2026-07-04T13:36:10Z", "hours": 0.4381, "text": "Updated UI interface to fit longer question and answer"}, {"post_id": 21968, "ts": "2026-07-04T05:52:14Z", "hours": 1.4556, "text": "Designed first schematics for custom PCB"}, {"post_id": 21501, "ts": "2026-07-03T14:21:54Z", "hours": 0.3519, "text": "Added ADC reading from battery pin to calculate percentage"}, {"post_id": 19185, "ts": "2026-06-30T13:32:47Z", "hours": 0.3486, "text": "I implemented random seed for Gemini and reinforced the prompt because the AI keep generating the same question and answer over and over again"}, {"post_id": 19168, "ts": "2026-06-30T12:51:47Z", "hours": 1.8264, "text": "Finally implemented Gemini 3.1 Flash Lite into my e-paper ai quiz! Took a long long time debugging errors. Next I’m gonna optimise the ui"}, {"post_id": 18247, "ts": "2026-06-29T10:07:48Z", "hours": 0.7272, "text": "Removed variable dummy placeholder to prepare for API implementation. Also fixed navigation bug when switching pages."}, {"post_id": 17501, "ts": "2026-06-28T09:50:58Z", "hours": 0.6828, "text": "Added hourglass loading screen and improved code logic"}, {"post_id": 17459, "ts": "2026-06-28T07:44:51Z", "hours": 0.7906, "text": "Implemented full quiz logic in Arduino IDE (Gemini API yet to do)"}, {"post_id": 17431, "ts": "2026-06-28T06:34:17Z", "hours": 0.5061, "text": "Added logic pages system using partial refresh in Arduino IDE"}, {"post_id": 17370, "ts": "2026-06-28T04:02:32Z", "hours": 0.4453, "text": "Initialise e-paper screen and wifi in Arduino IDE"}, {"post_id": 17359, "ts": "2026-06-28T03:34:17Z", "hours": 0.3494, "text": "UI Design for quiz interface"}]...
|
Title: AI-Powered Adventure Text Game by @jeremyng Title: AI-Powered Adventure Text Game by @jeremyngai | Stardance
Devlogs:
UI Design for quiz interface
Initialise e-paper screen and wifi in Arduino IDE
Added logic pages system using partial refresh in Arduino IDE
Implemented full quiz logic in Arduino IDE (Gemini API yet to do)
Added hourglass loading screen and improved code logic
Removed variable dummy placeholder to prepare for API implementation. Also fixed navigation bug when switching pages.
Finally implemented Gemini 3.1 Flash Lite into my e-paper ai quiz! Took a long long time debugging errors. Next I’m gonna optimise the ui
I implemented random seed for Gemini and reinforced the prompt because the AI keep generating the same question and answer over and over again
Added ADC reading from battery pin to calculate percentage
Designed first schematics for custom PCB
Updated UI interface to fit longer question and answer
Finalised schematics circuit, now starting PCB layout!!
Added WS2812B Neopixel on the PCB and rerouted PCB
Finalised PCB schematics and tested with breadboard. PCB is ready to be manufactured!!
Sent PCB design to JLCPCB for manufacturing (the silkscreen boutta look fire!!)
Added automatic text wrapping, improved code logic and added low battery screen
In the last few days, I made a few changes to my project: I decided to switch the idea from the initial quiz game concept into a choice-based adventure text game, it’s basically an infinite “choose your own adventure” concept. I feel like it’s way more fun! I worked with the WiFiManager library to make the wifi setup more accessible and easy. We now don’t need to hardcode wifi password into the code, the device will launch a hotspot captive portal and you can just connect any of your device to setup wifi at anytime anywhere. portable, isn’t it? Since this game concept will need the e-paper display to show a long text, I used a serif font and coded an automatic text wrapping and an adaptive scroll bar at the side so you can know the length of the text I also added a low battery and data parsing error page for the user alongside with an ok button to shutdown the device. What’s next? After the text formatting is stable, i’ll be focusing on text generation and choice logic!! xD
Today I worked on a WiFi prompt to let user choose whether they want to connect to a different wifi or existing one, because this device is supposed to be portable, working anywhere, so this is very important. However, I’m still figuring out how to show the WiFi name… wm.getWiFiSSID() didn’t work though. Btw, all my hardware had already arrived just now!! (after slow ahh aliexpress) I can’t wait to solder them, so stay tuned lol XD
GAH DAMN MY PCB IS WORKING!!! Timelapse below! I spent the last few hours carefully soldering my new PCB. I decided to use 0805 for all smd component cuz in my last project, I used 0603 ones and it was PURE TORTURE to solder them all lol. lessen learnt! Overall, I absolutely love the pcb outcome its nicer than I expected especially the ws2812b led and all those smd resistor (they look so sci-fi xD). However there was one flaw, I forgot about the ESP32 antenna. I’m forced to awkwardly fit the antenna on the pcb back (right beside my Great Wave silkscreen print). Luckily it didn’t block it lol. This is something I needa keep in mind the next time! You might be wondering what’s that tiny pin header I used there. It’s just a pin header, but for the design, I wanted it to be ultra slim, so I designed a PCB sandwich layout. The battery fits perfectly between the e-paper pcb and my pcb. However the problem with normal pin headers is that they are super chunky, they have like 9mm gap. That instantly ruin the whole vibe… So after hours of digging in aliexpress, I found those low profile pin header. They are SUPER PERFECT for my project (6mm gap), which is exactly my battery thickness!!! Anyways the low profile pin header was NOT CHEAP at all… well at least its so worth it. Other than soldering the PCB, I did a few adjustment to the firmware, including: rotary encoder logic improvement - I used interrupt pin logic to read it, they place the rotary encoder at the toppest priority (if theres any changes in pin state, the esp32 instantly ignore everything and focus on the encoder). That’s all for now, stay tuned! its so fun
Spent the last few days implementing gemini api into the code and formatting json data like text, choice into the e paper display :) I’ll take a break from this project as i have joined other competition. so stay tuned!
I worked on the game loop system so the story is infinite. after you selected your choice your response will be sent back to gemini api to generate next story! now its actually infinite loop
Ships:
This is an AI-powered text adventure device using an ESP32, an e-paper display and a rotary encoder. It is powered by Gemini to generate infinite stories and choices. It uses ESP32-C3 microcontroller to connect to WiFi and query the Gemini API. Gemini generates an interactive story segment and choices for the player in JSON format. Then the text is shown on the e-paper display. The user can use the rotary encoder to scroll through the text and select their next action. Each choice is returned to the history buffer on the ESP32 and is sent back to Gemini to generate the next story segment. Personally the most enjoyable part is when the PCB worked after i soldered them, however the coding part is hell cuz i sucks at coding lol. It haven’t got an enclosure yet, i will work on it soon! Now I can play this in my free time!...
|
1793674307.072949
|
1793760707.072949
|
|
28931
|
ploot by @yay | Stardance
|
yay
|
1
|
21.0
|
257
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-27T04:44:39Z", "hours": 21.0, "multiplier": 12.18, "payout": 257, "blessing": "neutral", "text": "this is ploot, an ai powered planner that helps you allocate time to your tasks. you drag your availability on the calendar, write down your tasks in the rich text editor, then it gives you an editable calendar that you can export to a real calendar app(.ics format)! this was my first time making an app like this, so i used a bit of ai in the debugging process, especially for small things that i didn’t notice. there were a lot of challenges, but some of the especially annoying ones were the models returning errors, having signup errors, and timezone mismatches. what i really like about this is that its actually usable in my daily life :D its not something i make and then leave to rot, and is really useful for my indecisiveness. things to note beforehand: its passwordless and uses magic link login, is very slow in loading events(so pls be patient), and the generated schedules are not saved into a database or anything so once you refresh the page they’re gone. also (this probably wont happen) but you might get ratelimited", "repo": "https://github.com/nxzeh727/ploot", "demo": "https://ploot1.vercel.app"}]...
|
[{"post_id": 74296, "ts": "202 [{"post_id": 74296, "ts": "2026-09-27T04:18:39Z", "hours": 4.8806, "text": "ploot devlog #3 :D i added a modifications section so that you can modify your schedule to how you would want it to be. i also changed the ai models so that it would be better and cleaned up remaining bugs. its almost ready to ship! :D"}, {"post_id": 62279, "ts": "2026-09-05T15:58:02Z", "hours": 6.3167, "text": "devlog #2 :D i fixed the ui :D and also got rid of a bunch of bugs related to scheduling and signup/login i also added a dashboard but theres nothing in it so far there are still some problems though, since the ai doesn’t generate schedules half the time. after this, i mostly plan on adding a modification part for the schedule, a place to save the calendar and check it, and some stuff in the dashboard. :D I’m also planning on upgrading the text place into a proper todo-list thanks for reading :D"}, {"post_id": 42754, "ts": "2026-08-07T17:03:52Z", "hours": 9.8656, "text": "ploot devlog #1: so far, I’ve added a lot of things: the basic funciton(a calendar where you select the times available, a somewhat formatted editor where you can put what you need to do for that day, and an AI schedule generated from these pieces of information). i also created authentication(using maigc link only). initially, i stored the events and resulting schedule in a json, but i changed the inputs and put them into a database, and then converted the resulting schedule into .ics format so you can download it. as of right now, its a bit ugly, but that will be fixed in the future!"}]...
|
Title: ploot by @yay | Stardance
Devlogs:
ploot d Title: ploot by @yay | Stardance
Devlogs:
ploot devlog #1: so far, I’ve added a lot of things: the basic funciton(a calendar where you select the times available, a somewhat formatted editor where you can put what you need to do for that day, and an AI schedule generated from these pieces of information). i also created authentication(using maigc link only). initially, i stored the events and resulting schedule in a json, but i changed the inputs and put them into a database, and then converted the resulting schedule into .ics format so you can download it. as of right now, its a bit ugly, but that will be fixed in the future!
devlog #2 :D i fixed the ui :D and also got rid of a bunch of bugs related to scheduling and signup/login i also added a dashboard but theres nothing in it so far there are still some problems though, since the ai doesn’t generate schedules half the time. after this, i mostly plan on adding a modification part for the schedule, a place to save the calendar and check it, and some stuff in the dashboard. :D I’m also planning on upgrading the text place into a proper todo-list thanks for reading :D
ploot devlog #3 :D i added a modifications section so that you can modify your schedule to how you would want it to be. i also changed the ai models so that it would be better and cleaned up remaining bugs. its almost ready to ship! :D
Ships:
this is ploot, an ai powered planner that helps you allocate time to your tasks. you drag your availability on the calendar, write down your tasks in the rich text editor, then it gives you an editable calendar that you can export to a real calendar app(.ics format)! this was my first time making an app like this, so i used a bit of ai in the debugging process, especially for small things that i didn’t notice. there were a lot of challenges, but some of the especially annoying ones were the models returning errors, having signup errors, and timezone mismatches. what i really like about this is that its actually usable in my daily life :D its not something i make and then leave to rot, and is really useful for my indecisiveness. things to note beforehand: its passwordless and uses magic link login, is very slow in loading events(so pls be patient), and the generated schedules are not saved into a database or anything so once you refresh the page they’re gone. also (this probably wont happen) but you might get ratelimited...
|
1793671061.5046434
|
1793757461.5046434
|
|
32480
|
Pac-Man by @raslanyossif | Stardance
|
raslanyossif
|
1
|
95.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-27T04:21:15Z", "hours": 95.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a Pac-man but with power ups and more ghosts as you proceed to level up. challenging part was making the maze I struggled a lot. I’m proud that I was able to complete such a project. When you get one of the power ups which is Shield your Pac-man becomes blue, so the ghosts can’t eat you and you can’t eat them. It isn’t a bug I made it that way.", "repo": "https://github.com/Yossifraslan/Pac-Man", "demo": "https://yossifraslan.github.io/Pac-Man/"}]...
|
[{"post_id": 74295, "ts": "202 [{"post_id": 74295, "ts": "2026-09-27T04:15:28Z", "hours": 9.2853, "text": "It’s DEVLOG TIME:» Just pushed a much-needed update to the project! First up, I finally tracked down and killed a frustrating maze error in Level 10 that was completely breaking the game right near the finish line—so the final levels are officially working and playable now. While I was at it, I also took the time to write a proper README. It covers everything from setup instructions to gameplay mechanics, making the codebase a lot more welcoming and less of a black box for anyone who wants to test it out or contribute. Next up is getting some feedback and seeing how quickly people can break it! Also, when you are shielded for the power up, you can’t eat the ghosts."}, {"post_id": 49457, "ts": "2026-08-18T09:45:17Z", "hours": 9.5264, "text": "IT’S DEVLOG TIMEE :»> It’s been a tough few days trying to figure out how to fix the MAZE, but I finally figured out how to do it through A* pathfinding. Fixed all the maps. Which took me so longggg. Also, Fixed speed inconsistency bugs and collision detection to eliminate Pac-Man getting stuck at maze tiles - movement now uses tile-based physics that checks every frame with no edge-case stalls, plus input buffering lets players queue moves ahead for responsive controls. Implemented proper ghost freeze behavior where frozen ghosts stop completely for 5 seconds, stay visible, and remain killable while frozen. Made the Extra Life now work on the screen when you get an Extra life it will update in the UI top middle and see a new Pac-man face get added. On the side of the Maps you can see there is no wall blocking, because now I made it a teleport to the other side."}, {"post_id": 46650, "ts": "2026-08-14T01:56:32Z", "hours": 9.1808, "text": "Fixed all six power-up behaviours this session. Speed boost and double points were already working. The main rework was on shield, freeze, and slow. Shield now stays active until a ghost physically touches the player, when that happens, the ghost turns scared/blue instead of the player dying, and the shield remains active for future hits on a 15-second timer. Freeze keeps ghosts in their normal colour but completely stops their movement for 3 seconds - they’re still killable while frozen. Slow keeps ghosts at their normal appearance but skips movement every other frame, effectively halving their speed for 5 seconds. Also implemented proper ghost spawn behavior. Ghosts now spawn at the center of the maze (on or near the ghost house tiles) and release one by one first ghost after 2 seconds, then one every 3 seconds. While waiting to release they bob up and down inside the house. After death, the release sequence resets so ghosts trickle out again rather than all rushing at once. Pac-Man now spawns at a random open tile at least a third of the maze width away from the centre, so every life and every game starts from a different position. Maze connectivity fix was attempted this session but not completed - some maps still have corridors that can trap the player. Carrying this into the next session"}, {"post_id": 43330, "ts": "2026-08-08T15:07:17Z", "hours": 9.7428, "text": "I fixed up my previous issues with lives resetting to 3 for each level completed as well as start Game taking you back to level 1 rather than starting at the highest level you’ve unlocked. The ghost speed has been halved (from 2px to 1px/frame) which makes everything seem much more balanced with me running around at 60fps! I’ve added a proper pause menu overlay along with options to toggle Music & SFX - I had previously run into an issue where if you paused the game then played again the menu music would keep playing. To fix this I’m keeping track of all active WebAudio Oscillators and automatically stop them whenever we begin gameplay. We’ve added some really nice little touches too! For example, when you die Pac-Man will close his mouth, spin twice and slowly shrink away over 80 frames before disappearing completely. You’ll also get a sweet animation when you spawn growing up from 0 to full size over 40 frames. We originally couldn’t get the death animation working because we’d set our global variable gameActive = false during dying which turned off the entire update loop so I’ve updated Pac-Man’s update method to continue updating even when he’s dying / spawning. Finally, I made sure to make Pac-Man disappear once he dies to ensure no weird visuals happen after respawning. We added a yellow flash on finishing a level. Floating score popups show up every time you eat a ghost. Now there’s an animated HUD that shows your current score. Previously, canvas animations were off due to transform translation applied twice (once during animation and once more when drawing). Now we translate to our sprite’s center before applying any additional transformation."}, {"post_id": 40526, "ts": "2026-08-04T03:32:16Z", "hours": 9.2125, "text": "DEVLOG TIME:> During this session, I incorporated complete mobile compatibility. The directional pad appears automatically on touch devices through (pointer:coarse) through CSS thus eliminating the need for any device detection as it will be shown as soon as the browser detects a device with touch input. Each button utilizes touchstart instead of click , so there is no 300ms tap delay that would make the controls slow or laggy. I also introduced swipe detection on the canvas as a substitute for the directional pad. The minimum distance for swipe detection is 30px, filtering unintended touches and also utilizing the main axis (horizontal or vertical) in order to identify the direction even in case of diagonal swipes. I added responsive CSS for screens smaller than 480px thus allowing the fonts, buttons, and HUD to resize, so no overflowing occurs on small screens. I verified this by checking the local network IP through my mobile, as both devices were connected to the same Wi-Fi network. The InputManager is now capable of working with three types of input in one place - keyboard, touch directional pad, and swipe, all of them leading to a single nextDirection property, which is accessed by the main game loop."}, {"post_id": 39312, "ts": "2026-08-02T06:34:55Z", "hours": 9.3164, "text": "Added an audio system using the WebAudio API. No external sound files everything is generated programmatically using oscillators and gain nodes. Each game event has its sound: a short square wave blip for eating dots a sawtooth drop for eating pellets, a triangle tone for eating ghosts a descending three-note jingle for death and a rising three-note fanfare for level complete. The main menu has a looping chiptune melody. 25 Notes scheduled ahead of time using ctx.currentTime, which avoids timing drift that would happen with repeated setTimeout calls. It loops by scheduling the playthrough when the current one ends. The trickiest part was the browser autoplay policy. Browsers block AudioContext from making sound until the user interacts with the page. The fix was checking ctx.state === suspended on the click and calling ctx.resume() before trying to play anything. Finished power-up effects. Freeze and slow work via frame timers (_frozenTimer _slowTimer) set directly on each monster. The monster update method checks these at the top before doing anything effectively pausing or slowing it without touching core movement logic. Known issue: menu music doesn’t stop immediately when the game starts. There’s a 1-2 overlap before it cuts out. Will fix session along with, in-game sound effects not always triggering. Investigating AudioContext state management across the menu-> game transition."}, {"post_id": 33922, "ts": "2026-07-24T07:11:48Z", "hours": 9.5589, "text": "DEVLOG TIME!!! Added ghosts to the game this session. The ghost AI has 4 behavior types - chaser, ambusher, predictor, and patroller, targeting player based on various positions. Also added A* path finding to have the ghosts go around walls instead of choosing adjacent tiles that are closer to them. Majority of time in this session was spent debugging the movement. It turned out to be a floating-point problem where, when the ghost speed is not divisible by the tile size (20 px), the pixelX % tileSize is never equal to 0 and therefore the alignment function is never called resulting in the ghost moving for 2 px per frame. Fixed this by making the ghost speed fixed at an integer value (2) that is divisible by 20. Eating the power pellet causes the ghost to go into the frighten state which makes the ghost turn blue and move randomly. The player receives 200 points and the respawn timer starts when a ghost in the frighten state is eaten."}, {"post_id": 31207, "ts": "2026-07-19T12:53:56Z", "hours": 9.6542, "text": "WHAT’s NEW:> Devlog Time!!! Got Pac-Man actually moving through the maze this session. Built the Player class with grid-based movement - Pac-Man only changes direction when pixel position is exactly aligned to a tile, which prevents clipping through walls. Added direction queuing so if you press a turn slightly early it still registers when the next tile is reached, making controls feel responsive instead of stiff. Also split out InputManager , CollisionSystem , and UIManager into their own modules. Dot collection works - eating a dot removes it from the array, updates the grid, and increments score. Level completes when all dots and pellets are cleared, with a 500 x level bonus. One thing worth noting from Devlog 2 - the maze connectivity issue. After designing all 10 maze layouts, levels 3-10 had isolated sections where dots were completely unreachable. Wrote a flood-fill validator that BFS traverses from the first dot and counts how many dots are reachable. Then wrote an auto-fixer that finds disconnected sections and carves the shortest Manhattan path between them. All 10 levels now pass with 100% dots reachable."}, {"post_id": 29256, "ts": "2026-07-16T01:45:12Z", "hours": 9.4397, "text": "DEVLOG TIME:> !! I have improved the maze system used in my game, Pac-Man. Originally, I thought of not only using one maze and having a full leveling system. In this, I calculated and created 10 mazes with different sizes, difficulties, and complexity levels. In addition, I modified the class MazeManager in such a way that our game automatically changes levels without requiring a manual change of the mazes. In testing new mazes, I introduced a checking mechanism so that we will know whether our mazes have any unreachable dots. For some reason, it turned out that some parts of the maze were blocked. Maze validation: 195/218 dots reachable Blocked sections were identified. Some of the dots can’t be accessed. Interestingly, the maze looked perfectly okay visually, but the navigation test indicated that some of the areas of my maze were not accessible. At the moment, I plan on fixing the blocked paths and test out each level. I might also change some things later once the game is fully playable and I can properly test the difficulty, such as: maze layouts ghost difficulty level progression number of ghosts/speed scaling Right now the goal is getting the core gameplay working first, then balancing everything afterwards."}, {"post_id": 26506, "ts": "2026-07-11T10:41:25Z", "hours": 9.9617, "text": "I’ve been really busy but here is the first DEVLOG for Pac-man:> I’m planning on doing unique things in this Pac-man it won’t be a normal Pac-man. What I did: Built all 5 screens for the game - main menu, level select, how to play, game screen and game over. No gameplay yet, just the full UI shell. Screen switching works by toggling a single. active class, all screens live in the DOM simultaneously. Biggest challenge was the SVG ghosts. Drew them in pure SVG using and so the shape is defined once and reused everywhere with different colors via a CSS variable –gc. Also styled elements in the How to Play screen to look like actual keyboard keys. Ghost bobbing animation on the menu uses staggered animation-delay so they move in a wave instead of all at once."}]...
|
Title: Pac-Man by @raslanyossif | Stardance
Devlo Title: Pac-Man by @raslanyossif | Stardance
Devlogs:
I’ve been really busy but here is the first DEVLOG for Pac-man:> I’m planning on doing unique things in this Pac-man it won’t be a normal Pac-man. What I did: Built all 5 screens for the game - main menu, level select, how to play, game screen and game over. No gameplay yet, just the full UI shell. Screen switching works by toggling a single. active class, all screens live in the DOM simultaneously. Biggest challenge was the SVG ghosts. Drew them in pure SVG using and so the shape is defined once and reused everywhere with different colors via a CSS variable –gc. Also styled elements in the How to Play screen to look like actual keyboard keys. Ghost bobbing animation on the menu uses staggered animation-delay so they move in a wave instead of all at once.
DEVLOG TIME:> !! I have improved the maze system used in my game, Pac-Man. Originally, I thought of not only using one maze and having a full leveling system. In this, I calculated and created 10 mazes with different sizes, difficulties, and complexity levels. In addition, I modified the class MazeManager in such a way that our game automatically changes levels without requiring a manual change of the mazes. In testing new mazes, I introduced a checking mechanism so that we will know whether our mazes have any unreachable dots. For some reason, it turned out that some parts of the maze were blocked. Maze validation: 195/218 dots reachable Blocked sections were identified. Some of the dots can’t be accessed. Interestingly, the maze looked perfectly okay visually, but the navigation test indicated that some of the areas of my maze were not accessible. At the moment, I plan on fixing the blocked paths and test out each level. I might also change some things later once the game is fully playable and I can properly test the difficulty, such as: maze layouts ghost difficulty level progression number of ghosts/speed scaling Right now the goal is getting the core gameplay working first, then balancing everything afterwards.
WHAT’s NEW:> Devlog Time!!! Got Pac-Man actually moving through the maze this session. Built the Player class with grid-based movement - Pac-Man only changes direction when pixel position is exactly aligned to a tile, which prevents clipping through walls. Added direction queuing so if you press a turn slightly early it still registers when the next tile is reached, making controls feel responsive instead of stiff. Also split out InputManager , CollisionSystem , and UIManager into their own modules. Dot collection works - eating a dot removes it from the array, updates the grid, and increments score. Level completes when all dots and pellets are cleared, with a 500 x level bonus. One thing worth noting from Devlog 2 - the maze connectivity issue. After designing all 10 maze layouts, levels 3-10 had isolated sections where dots were completely unreachable. Wrote a flood-fill validator that BFS traverses from the first dot and counts how many dots are reachable. Then wrote an auto-fixer that finds disconnected sections and carves the shortest Manhattan path between them. All 10 levels now pass with 100% dots reachable.
DEVLOG TIME!!! Added ghosts to the game this session. The ghost AI has 4 behavior types - chaser, ambusher, predictor, and patroller, targeting player based on various positions. Also added A* path finding to have the ghosts go around walls instead of choosing adjacent tiles that are closer to them. Majority of time in this session was spent debugging the movement. It turned out to be a floating-point problem where, when the ghost speed is not divisible by the tile size (20 px), the pixelX % tileSize is never equal to 0 and therefore the alignment function is never called resulting in the ghost moving for 2 px per frame. Fixed this by making the ghost speed fixed at an integer value (2) that is divisible by 20. Eating the power pellet causes the ghost to go into the frighten state which makes the ghost turn blue and move randomly. The player receives 200 points and the respawn timer starts when a ghost in the frighten state is eaten.
Added an audio system using the WebAudio API. No external sound files everything is generated programmatically using oscillators and gain nodes. Each game event has its sound: a short square wave blip for eating dots a sawtooth drop for eating pellets, a triangle tone for eating ghosts a descending three-note jingle for death and a rising three-note fanfare for level complete. The main menu has a looping chiptune melody. 25 Notes scheduled ahead of time using ctx.currentTime, which avoids timing drift that would happen with repeated setTimeout calls. It loops by scheduling the playthrough when the current one ends. The trickiest part was the browser autoplay policy. Browsers block AudioContext from making sound until the user interacts with the page. The fix was checking ctx.state === suspended on the click and calling ctx.resume() before trying to play anything. Finished power-up effects. Freeze and slow work via frame timers (_frozenTimer _slowTimer) set directly on each monster. The monster update method checks these at the top before doing anything effectively pausing or slowing it without touching core movement logic. Known issue: menu music doesn’t stop immediately when the game starts. There’s a 1-2 overlap before it cuts out. Will fix session along with, in-game sound effects not always triggering. Investigating AudioContext state management across the menu-> game transition.
DEVLOG TIME:> During this session, I incorporated complete mobile compatibility. The directional pad appears automatically on touch devices through (pointer:coarse) through CSS thus eliminating the need for any device detection as it will be shown as soon as the browser detects a device with touch input. Each button utilizes touchstart instead of click , so there is no 300ms tap delay that would make the controls slow or laggy. I also introduced swipe detection on the canvas as a substitute for the directional pad. The minimum distance for swipe detection is 30px, filtering unintended touches and also utilizing the main axis (horizontal or vertical) in order to identify the direction even in case of diagonal swipes. I added responsive CSS for screens smaller than 480px thus allowing the fonts, buttons, and HUD to resize, so no overflowing occurs on small screens. I verified this by checking the local network IP through my mobile, as both devices were connected to the same Wi-Fi network. The InputManager is now capable of working with three types of input in one place - keyboard, touch directional pad, and swipe, all of them leading to a single nextDirection property, which is accessed by the main game loop.
I fixed up my previous issues with lives resetting to 3 for each level completed as well as start Game taking you back to level 1 rather than starting at the highest level you’ve unlocked. The ghost speed has been halved (from 2px to 1px/frame) which makes everything seem much more balanced with me running around at 60fps! I’ve added a proper pause menu overlay along with options to toggle Music & SFX - I had previously run into an issue where if you paused the game then played again the menu music would keep playing. To fix this I’m keeping track of all active WebAudio Oscillators and automatically stop them whenever we begin gameplay. We’ve added some really nice little touches too! For example, when you die Pac-Man will close his mouth, spin twice and slowly shrink away over 80 frames before disappearing completely. You’ll also get a sweet animation when you spawn growing up from 0 to full size over 40 frames. We originally couldn’t get the death animation working because we’d set our global variable gameActive = false during dying which turned off the entire update loop so I’ve updated Pac-Man’s update method to continue updating even when he’s dying / spawning. Finally, I made sure to make Pac-Man disappear once he dies to ensure no weird visuals happen after respawning. We added a yellow flash on finishing a level. Floating score popups show up every time you eat a ghost. Now there’s an animated HUD that shows your current score. Previously, canvas animations were off due to transform translation applied twice (once during animation and once more when drawing). Now we translate to our sprite’s center before applying any additional transformation.
Fixed all six power-up behaviours this session. Speed boost and double points were already working. The main rework was on shield, freeze, and slow. Shield now stays active until a ghost physically touches the player, when that happens, the ghost turns scared/blue instead of the player dying, and the shield remains active for future hits on a 15-second timer. Freeze keeps ghosts in their normal colour but completely stops their movement for 3 seconds - they’re still killable while frozen. Slow keeps ghosts at their normal appearance but skips movement every other frame, effectively halving their speed for 5 seconds. Also implemented proper ghost spawn behavior. Ghosts now spawn at the center of the maze (on or near the ghost house tiles) and release one by one first ghost after 2 seconds, then one every 3 seconds. While waiting to release they bob up and down inside the house. After death, the release sequence resets so ghosts trickle out again rather than all rushing at once. Pac-Man now spawns at a random open tile at least a third of the maze width away from the centre, so every life and every game starts from a different position. Maze connectivity fix was attempted this session but not completed - some maps still have corridors that can trap the player. Carrying this into the next session
IT’S DEVLOG TIMEE :»> It’s been a tough few days trying to figure out how to fix the MAZE, but I finally figured out how to do it through A* pathfinding. Fixed all the maps. Which took me so longggg. Also, Fixed speed inconsistency bugs and collision detection to eliminate Pac-Man getting stuck at maze tiles - movement now uses tile-based physics that checks every frame with no edge-case stalls, plus input buffering lets players queue moves ahead for responsive controls. Implemented proper ghost freeze behavior where frozen ghosts stop completely for 5 seconds, stay visible, and remain killable while frozen. Made the Extra Life now work on the screen when you get an Extra life it will update in the UI top middle and see a new Pac-man face get added. On the side of the Maps you can see there is no wall blocking, because now I made it a teleport to the other side.
It’s DEVLOG TIME:» Just pushed a much-needed update to the project! First up, I finally tracked down and killed a frustrating maze error in Level 10 that was completely breaking the game right near the finish line—so the final levels are officially working and playable now. While I was at it, I also took the time to write a proper README. It covers everything from setup instructions to gameplay mechanics, making the codebase a lot more welcoming and less of a black box for anyone who wants to test it out or contribute. Next up is getting some feedback and seeing how quickly people can break it! Also, when you are shielded for the power up, you can’t eat the ghosts.
Ships:
I made a Pac-man but with power ups and more ghosts as you proceed to level up. challenging part was making the maze I struggled a lot. I’m proud that I was able to complete such a project. When you get one of the power ups which is Shield your Pac-man becomes blue, so the ghosts can’t eat you and you can’t eat them. It isn’t a bug I made it that way....
|
1793674563.879556
|
1793760963.879556
|
|
60850
|
RC 3d printer filament by @dominict3 | Stardance
|
dominict3
|
0
|
10.92
|
0
|
[]
|
[{"post_id": 74289, "ts": "202 [{"post_id": 74289, "ts": "2026-09-27T03:57:15Z", "hours": 0.7878, "text": "GitHub stuff - I worked on adding more stuff to the GitHub and making it nice and pretty. This was my first time using GitHub and I hope I got everything right. It is also my first time making a somewhat difficult project so I also hope I got everything right with that as well."}, {"post_id": 69603, "ts": "2026-09-17T12:15:54Z", "hours": 0.9903, "text": "Final CAD + drawings. I finished the cad for this project as well as making some pretty looking drawings, and a BOM."}, {"post_id": 69416, "ts": "2026-09-17T00:29:44Z", "hours": 7.3622, "text": "remote control filament, more cad complete. Im building a remote controllable standard roll of filament (basically prophunt). I’m using 2 DC motors being driven by an esp32, most of the parts are suspended in the inner assembly by 2 bearings, allowing them to be free spinning. (basically the gyro balls from Jurassic park)."}, {"post_id": 65717, "ts": "2026-09-11T01:52:22Z", "hours": 1.7786, "text": "remote control 3d printer filament spool"}]...
|
Title: RC 3d printer filament by @dominict3 | Star Title: RC 3d printer filament by @dominict3 | Stardance
Devlogs:
remote control 3d printer filament spool
remote control filament, more cad complete. Im building a remote controllable standard roll of filament (basically prophunt). I’m using 2 DC motors being driven by an esp32, most of the parts are suspended in the inner assembly by 2 bearings, allowing them to be free spinning. (basically the gyro balls from Jurassic park).
Final CAD + drawings. I finished the cad for this project as well as making some pretty looking drawings, and a BOM.
GitHub stuff - I worked on adding more stuff to the GitHub and making it nice and pretty. This was my first time using GitHub and I hope I got everything right. It is also my first time making a somewhat difficult project so I also hope I got everything right with that as well....
|
1793645714.9713213
|
1794250514.9713213
|
|
65249
|
Fruit OS by @weborbit1980 | Stardance
|
weborbit1980
|
1
|
4.62
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-25T15:58:49Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Fruit OS I made fruit OS, a web based desktop environment where you can open and move different windows around. I added a Notes app with multiple notes and session storage, a calculator, and a live clock. The hardest part was getting the draggable windows and state management to work properly without everything breaking. I am most proud of making it feel like an actual desktop rather than just a nomral webpage. I also added features like the Notes app and calculator that were not part of the basic guide", "repo": "https://github.com/vinitkumarsingh632-creator/Fruit-OS", "demo": "https://fruit-os.vercel.app/"}]...
|
[{"post_id": 74287, "ts": "202 [{"post_id": 74287, "ts": "2026-09-27T03:54:36Z", "hours": 0.625, "text": "#5 - Made Some Changes in UI My project got rejected due to heavy use of AI in UI. Therefore, i have made some changes in UI of notes and calculator app."}, {"post_id": 73638, "ts": "2026-09-25T15:43:22Z", "hours": 1.3142, "text": "#4 - Successfully Completed the Fruit OS I have built two apps, one is notes and another is calculator. Notes: It uses session storage."}, {"post_id": 73568, "ts": "2026-09-25T12:37:16Z", "hours": 0.8986, "text": "#3 - Completed building Clock Today, I have completed building the clock and background part. It was not much hard. Challenges: Updating time, applying glassmorphism. Next: Building apps."}, {"post_id": 72999, "ts": "2026-09-24T06:00:51Z", "hours": 1.4281, "text": "#2 - Completed Welcome Page Today, I have completed building welcome page. While building welcome page, I have lots of challenges. Challenges: To find alphabets of fruits. I have used photopea and mask the background with alphabets. Learnings: I have learned basics of photo editing on photopea. Next: I will start building the actual web OS."}, {"post_id": 72896, "ts": "2026-09-23T23:45:50Z", "hours": 0.3375, "text": "#1 - Starting Fruit OS Today I have started working on Fruit OS, a small experimental OS project with fruit themed project. Right now I am setting the project structure and building the first UI component Next: Building the welcome page."}]...
|
Title: Fruit OS by @weborbit1980 | Stardance
Devl Title: Fruit OS by @weborbit1980 | Stardance
Devlogs:
#1 - Starting Fruit OS Today I have started working on Fruit OS, a small experimental OS project with fruit themed project. Right now I am setting the project structure and building the first UI component Next: Building the welcome page.
#2 - Completed Welcome Page Today, I have completed building welcome page. While building welcome page, I have lots of challenges. Challenges: To find alphabets of fruits. I have used photopea and mask the background with alphabets. Learnings: I have learned basics of photo editing on photopea. Next: I will start building the actual web OS.
#3 - Completed building Clock Today, I have completed building the clock and background part. It was not much hard. Challenges: Updating time, applying glassmorphism. Next: Building apps.
#4 - Successfully Completed the Fruit OS I have built two apps, one is notes and another is calculator. Notes: It uses session storage.
#5 - Made Some Changes in UI My project got rejected due to heavy use of AI in UI. Therefore, i have made some changes in UI of notes and calculator app.
Ships:
Fruit OS I made fruit OS, a web based desktop environment where you can open and move different windows around. I added a Notes app with multiple notes and session storage, a calculator, and a live clock. The hardest part was getting the draggable windows and state management to work properly without everything breaking. I am most proud of making it feel like an actual desktop rather than just a nomral webpage. I also added features like the Notes app and calculator that were not part of the basic guide...
|
1793685331.27567
|
1793771731.27567
|
|
61397
|
Jazil-personal-manager by @Jazil | Stardance
|
Jazil
|
1
|
2.43
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-25T17:28:35Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "My only faced problem is this is my first time but this give knowledge of server using", "repo": "https://github.com/JazilJafar/my-slack-bot", "demo": "https://hackclub.enterprise.slack.com/archives/C0C46LFAFK9"}]...
|
[{"post_id": 74286, "ts": "202 [{"post_id": 74286, "ts": "2026-09-27T03:53:52Z", "hours": 0.4322, "text": "i think five commands is over but bug is not stoping but stopped"}, {"post_id": 71661, "ts": "2026-09-21T08:13:53Z", "hours": 0.48, "text": "I added 5 commands in my slack bot and i am shipping pls comment new command to add"}, {"post_id": 70008, "ts": "2026-09-18T08:27:55Z", "hours": 0.3011, "text": "i added three commands to my bot"}, {"post_id": 68946, "ts": "2026-09-16T02:56:17Z", "hours": 0.8411, "text": "My bot started working"}]...
|
Title: Jazil-personal-manager by @Jazil | Stardanc Title: Jazil-personal-manager by @Jazil | Stardance
Devlogs:
My bot started working
i added three commands to my bot
I added 5 commands in my slack bot and i am shipping pls comment new command to add
i think five commands is over but bug is not stoping but stopped
Ships:
My only faced problem is this is my first time but this give knowledge of server using...
|
1793684890.307248
|
1793771290.307248
|
|
64032
|
deadbot by @arsenal4eva | Stardance
|
arsenal4eva
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-27T03:56:24Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Had to debug a lot due to my git branches being messed up but now they finally work. Sytemctl wa quite annoying as well", "repo": "https://github.com/arsenal4eva/deadbot", "demo": "https://app.slack.com/client/E09V59WQY1E/C0C4TBCFATB"}]...
|
[{"post_id": 74285, "ts": "202 [{"post_id": 74285, "ts": "2026-09-27T03:53:44Z", "hours": 0.9964, "text": "Finally finished my slack bot"}]...
|
Title: deadbot by @arsenal4eva | Stardance
Devlog Title: deadbot by @arsenal4eva | Stardance
Devlogs:
Finally finished my slack bot
Ships:
Had to debug a lot due to my git branches being messed up but now they finally work. Sytemctl wa quite annoying as well...
|
1792957996.6239367
|
1793821996.6239367
|
|
59368
|
Bits OS Web by @IshanWarrior2012 | Stardance
|
IshanWarrior2012
|
0
|
3.34
|
0
|
[]
|
[{"post_id": 74280, "ts": "202 [{"post_id": 74280, "ts": "2026-09-27T03:40:48Z", "hours": 2.5139, "text": "I made the first user command work.🥳🥳🎉🎉. I made the terminal create input areas automatically when the page opens for a command is executed. My first user command is “print”. Here is a glance of the project."}, {"post_id": 74037, "ts": "2026-09-26T16:02:51Z", "hours": 0.8283, "text": "I added Terminal Welcome screen with a big a*s ASCII. I am making it command line first then when someone types a command it will reboot with GUI"}]...
|
Title: Bits OS Web by @IshanWarrior2012 | Stardanc Title: Bits OS Web by @IshanWarrior2012 | Stardance
Devlogs:
I added Terminal Welcome screen with a big a*s ASCII. I am making it command line first then when someone types a command it will reboot with GUI
I made the first user command work.🥳🥳🎉🎉. I made the terminal create input areas automatically when the page opens for a command is executed. My first user command is “print”. Here is a glance of the project....
|
1793552068.4758263
|
1794156868.4758263
|
|
60240
|
Mosaic by @ok | Stardance
|
ok
|
0
|
6.91
|
0
|
[]
|
[{"post_id": 74278, "ts": "202 [{"post_id": 74278, "ts": "2026-09-27T03:36:00Z", "hours": 4.0642, "text": "the psuedo of codes.Basically, I added psuedocode for only Mosaic in general which I finished but Im now working on finish the python code. the logic is pretty easy to understand the only bad thing is that I need to find a way to standardize stuff, test stuff, train models, write a paper. (this is for science fair). im really sorry for the code picture i don’t like them too but once i run it and get graphs that will replace code."}, {"post_id": 64860, "ts": "2026-09-09T15:34:57Z", "hours": 2.8492, "text": "definitions & psuedocode. Defined math variables mainly in definitions.md then im starting to work on psuedocode which will take a very very very very very very long time im really sorry for the bad photo i don’t have anything else to show really"}]...
|
Title: Mosaic by @ok | Stardance
Devlogs:
definit Title: Mosaic by @ok | Stardance
Devlogs:
definitions & psuedocode. Defined math variables mainly in definitions.md then im starting to work on psuedocode which will take a very very very very very very long time im really sorry for the bad photo i don’t have anything else to show really
the psuedo of codes.Basically, I added psuedocode for only Mosaic in general which I finished but Im now working on finish the python code. the logic is pretty easy to understand the only bad thing is that I need to find a way to standardize stuff, test stuff, train models, write a paper. (this is for science fair). im really sorry for the code picture i don’t like them too but once i run it and get graphs that will replace code....
|
1793641792.0278096
|
1794246592.0278096
|
|
66020
|
Guest Discord Bot by @Beh | Stardance
|
Beh
|
0
|
1.8
|
0
|
[]
|
[{"post_id": 74275, "ts": "202 [{"post_id": 74275, "ts": "2026-09-27T03:34:12Z", "hours": 1.8028, "text": "Finished the first version of the bot! I hate SQL with every bone in my body but managed to get through it. This was also my first time dabbling with slash commands in a discord bot and I’m very glad how this came out."}]...
|
Title: Guest Discord Bot by @Beh | Stardance
Devl Title: Guest Discord Bot by @Beh | Stardance
Devlogs:
Finished the first version of the bot! I hate SQL with every bone in my body but managed to get through it. This was also my first time dabbling with slash commands in a discord bot and I’m very glad how this came out....
|
1793710224.9102852
|
1794315024.9102852
|
|
14863
|
WebOS by OS :) by @TXJ_PROGRAMER | Stardance
|
TXJ_PROGRAMER
|
4
|
34.0
|
74
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-27T03:32:59Z", "hours": 10.0, "multiplier": 6.27, "payout": 61, "blessing": "neutral", "text": "i added more features and fixed some bugs . Ii added games like snake, 2048, minesweeper", "repo": "https://github.com/srinj-ai/WebOS-portfolio", "demo": "https://web-os-portfolio-lake.vercel.app/"}, {"ship_num": 2, "ts": "2026-08-26T14:06:12Z", "hours": 23.0, "multiplier": 2.91, "payout": 11, "blessing": "neutral", "text": "Its a WebOS made to experement and experence a OS ina website.", "repo": "https://github.com/srinj-ai/WebOS-portfolio", "demo": "https://web-os-portfolio-lake.vercel.app/"}, {"ship_num": 3, "ts": "2026-06-23T10:02:08Z", "hours": 0.0, "multiplier": 8.23, "payout": 2, "blessing": "neutral", "text": "Its a WebOS made to experement and experence a OS ina website.", "repo": "https://github.com/srinj-ai/WebOS-portfolio", "demo": "https://web-os-portfolio-lake.vercel.app/"}, {"ship_num": 4, "ts": "2026-06-23T05:03:46Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Its a WebOS made to experement and experence a OS ina website.", "repo": "https://github.com/srinj-ai/WebOS-portfolio", "demo": "https://web-os-portfolio-lake.vercel.app/"}]...
|
[{"post_id": 74272, "ts": "202 [{"post_id": 74272, "ts": "2026-09-27T03:30:56Z", "hours": 5.0336, "text": "Dev Vlog #10 — Added Minesweeper! 💣 Hey everyone, welcome back to another WebOS update! This time I made another classic game, Minesweeper . Some lines of code to make the mines and tile revealing work, like: const revealCell = ( row : number , col : number ) => { if ( board [ row ][ col ]. isMine ) { setGameStatus ( ' lost ' ); return ; } const newBoard = board . map (( r ) => [... r ]); newBoard [ row ][ col ]. isRevealed = true ; setBoard ( newBoard ); }; The game now has tile movement, merging tiles, and adding new tiles after each move. it was too hard to set the tile screen and mines & it still have bugs , but its good for now and i am gona a ship it 😋😋"}, {"post_id": 73917, "ts": "2026-09-26T09:54:03Z", "hours": 1.1503, "text": "JUST A QUICK CAPUP just to remind u guys to I fixed some lag issue abt 2048 and snake and added both to CMD :)"}, {"post_id": 73124, "ts": "2026-09-24T13:18:57Z", "hours": 0.3172, "text": "Dev Vlog #9 — Added 2048 Game! Hey everyone, welcome back to another WebOS update! This time I made another popular game, 2048 . Some lines of code to make the tiles move and merge, like: const moveRow = ( row : number []) => { const filtered = row . filter (( value ) => value !== 0 ); const result : number [] = []; for ( let i = 0 ; i < filtered . length ; i ++ ) { if ( filtered [ i ] === filtered [ i + 1 ]) { result . push ( filtered [ i ] * 2 ); i ++ ; } else { result . push ( filtered [ i ]); } } while ( result . length < 4 ) { result . push ( 0 ); } return result ; }; I changed my mind at last to shift form minesweeper It was pretty fun making 2048 and getting the tile movement and merging to work properly inside WebOS. i will make minesweeper now!!!!!!"}, {"post_id": 62751, "ts": "2026-09-06T08:28:04Z", "hours": 3.295, "text": "Dev Vlog #9 — Added Snake Game! Hey everyone, welcome back to another WebOS update! This time I made a game, quite a popular one, Snake Game. Some lines of code to make its movement and food growth work, like: currentWindows . map (( appWindow ) => { const game = appWindow . gameState ?. snake ; if ( ! game || game . status !== ' playing ' ) return appWindow ; const head = game . body [ 0 ]; const direction = game . nextDirection ; const nextHead = { x : ( head . x + direction . x + SNAKE_SIZE ) % SNAKE_SIZE , y : ( head . y + direction . y + SNAKE_SIZE ) % SNAKE_SIZE , }; const hitSelf = game . body . some ( ( point ) => point . x === nextHead . x && point . y === nextHead . y ); if ( hitSelf ) { return { ... appWindow , gameState : { ... appWindow . gameState , snake : { ... game , status : ' lost ' }, }, }; } It does not die when it hits the wall, but ends up on the other side of the screen. It dies when it hits itself. OK then , its all for today if will make minesweeper next it may take AI to help , but i will try my best 🤧🤧"}, {"post_id": 54533, "ts": "2026-08-25T15:44:14Z", "hours": 20.9406, "text": "Dev Vlog #8 — Finally Working! Hey everyone, welcome back to another WebOS update! I have fully compleated my terminal and going for a ship please support and enjoy thank u all and bye!!! XD"}, {"post_id": 23367, "ts": "2026-07-06T09:14:41Z", "hours": 0.6261, "text": "Dev Vlog #7 — Terminal is Finally Working! Hey everyone, welcome back to another WebOS update! This time I finished one of the apps I was most excited abt the : Terminal . It can now run basic commands and works right inside the WebOS window system. Current commands include: help — Shows all available commands clear — Clears the terminal about — Gives a short description about the project XD date — Shows the current date and time apps — Shows all the available apps files — Shows all available files stored open notepad — Opens Notepad open calculator — Opens Calculator open files — Opens Files open portfolio — Redirects website to my portfolio https://srinj-ai.github.io/MY-PORTFOLIO/ XD Getting all of these commands working took a lot more logic than I expected, but it was definitely worth it. Next, I’m planning to add more commands, improve the desktop, and keep making WebOS feel more like a real operating system. thank u all and bye!!! XD"}, {"post_id": 22678, "ts": "2026-07-05T07:18:57Z", "hours": 0.6128, "text": "Dev Vlog #6 — File Explorer is Finally Done! Hey everyone, welcome back to another WebOS update! it took longer than I expected, but it finally work . it Stores the file created by notebook and displaces it in file explorer NEXT Next, I’ll be working on adding more apps like CMD ( i think so). There’s still a lot I want to add, and plese give me suggestion what to add next. bye see in the next one !!"}, {"post_id": 17428, "ts": "2026-06-28T06:26:47Z", "hours": 0.3492, "text": "DevLog #5 Minor bug fix and Notepad update Hey everyone, welcome back to another WebOS update! i have fix some bugs related to calcylator and notepad i also changed the colour of text in notepad so you gays can have a hacker vibe :)"}, {"post_id": 14266, "ts": "2026-06-23T09:21:18Z", "hours": 0.2822, "text": "Dev Vlog #4 — Last-Minute Fixes Before Release 🚀 Hey everyone, welcome back to another WebOS update! This update was mostly about fixing things before release. Changes Made Fixed photo issues Fixed source code issues Honestly, there’s not much to show in this update, but these fixes were important to get done before shipping. Hopefully everything goes well and it gets accepted Project Status: 🟢 Release Ready"}, {"post_id": 12961, "ts": "2026-06-21T06:45:19Z", "hours": 0.5425, "text": "Dev Vlog #3 — WebOS is Ready to Ship 🚀 After weeks of coding, fixing bugs, and adding features, WebOS is finally finished and ready to ship! WebOS is a browser-based desktop experience built with React, TypeScript, and Vite. The goal was simple: make something that feels like a real operating system while running entirely in the browser. Features Desktop-style operating system interface Draggable and focusable application windows Notepad Calculator About/Welcome App Start Menu Live taskbar clock Active window management Window controls (open, close) Responsive design With everything planned now completed, WebOS v1 is officially finished and ready to ship. 🎉 Thanks to everyone who followed the project and read the devlogs along the way. This is the end of the WebOS v1 journey, and now let’s see if all the hard work pays off and how people react to it. Project Status: 🟢 Ready to Ship"}, {"post_id": 12386, "ts": "2026-06-20T06:54:44Z", "hours": 0.4369, "text": "Dev Vlog #2 — Calculator is Done! Hey everyone, welcome back to another WebOS update! Since the last devlog, I’ve finished the second app : a Calculator !!! . It can: Perform basic calculations Use multiple operators in one expression Handle parentheses correctly Display accurate results Run inside the WebOS window system One thing I’m pretty happy with is that it doesn’t use JavaScript’s built-in eval() function. Instead, it processes expressions itself, which gives me more control over how calculations work. Next, I’ll be improving the window system and starting work on a File Explorer. Project Status: 🟡 Early Development ALSO FOLLOW MY “VORTEX AI” PROJECT"}, {"post_id": 6211, "ts": "2026-06-10T13:02:02Z", "hours": 0.3842, "text": "Dev Vlog #1 — Notepad is Done! 🚀 Hey everyone, welcome to the first WebOS devlog! I’ve finished the first app for WebOS: Notepad . Right now, it lets you: Open it from the desktop Type and edit text Use it as a simple note-taking app Experience the first working WebOS window I’m also working on improving the desktop, fixing bugs, and planning the next features. Next up: Taskbar Calculator WebOS is still in the very early stages, but it’s nice to finally have the first app up and running. Project Status: 🟡 Early Development"}]...
|
Title: WebOS by OS :) by @TXJ_PROGRAMER | Stardanc Title: WebOS by OS :) by @TXJ_PROGRAMER | Stardance
Devlogs:
Dev Vlog #1 — Notepad is Done! 🚀 Hey everyone, welcome to the first WebOS devlog! I’ve finished the first app for WebOS: Notepad . Right now, it lets you: Open it from the desktop Type and edit text Use it as a simple note-taking app Experience the first working WebOS window I’m also working on improving the desktop, fixing bugs, and planning the next features. Next up: Taskbar Calculator WebOS is still in the very early stages, but it’s nice to finally have the first app up and running. Project Status: 🟡 Early Development
Dev Vlog #2 — Calculator is Done! Hey everyone, welcome back to another WebOS update! Since the last devlog, I’ve finished the second app : a Calculator !!! . It can: Perform basic calculations Use multiple operators in one expression Handle parentheses correctly Display accurate results Run inside the WebOS window system One thing I’m pretty happy with is that it doesn’t use JavaScript’s built-in eval() function. Instead, it processes expressions itself, which gives me more control over how calculations work. Next, I’ll be improving the window system and starting work on a File Explorer. Project Status: 🟡 Early Development ALSO FOLLOW MY “VORTEX AI” PROJECT
Dev Vlog #3 — WebOS is Ready to Ship 🚀 After weeks of coding, fixing bugs, and adding features, WebOS is finally finished and ready to ship! WebOS is a browser-based desktop experience built with React, TypeScript, and Vite. The goal was simple: make something that feels like a real operating system while running entirely in the browser. Features Desktop-style operating system interface Draggable and focusable application windows Notepad Calculator About/Welcome App Start Menu Live taskbar clock Active window management Window controls (open, close) Responsive design With everything planned now completed, WebOS v1 is officially finished and ready to ship. 🎉 Thanks to everyone who followed the project and read the devlogs along the way. This is the end of the WebOS v1 journey, and now let’s see if all the hard work pays off and how people react to it. Project Status: 🟢 Ready to Ship
Dev Vlog #4 — Last-Minute Fixes Before Release 🚀 Hey everyone, welcome back to another WebOS update! This update was mostly about fixing things before release. Changes Made Fixed photo issues Fixed source code issues Honestly, there’s not much to show in this update, but these fixes were important to get done before shipping. Hopefully everything goes well and it gets accepted Project Status: 🟢 Release Ready
DevLog #5 Minor bug fix and Notepad update Hey everyone, welcome back to another WebOS update! i have fix some bugs related to calcylator and notepad i also changed the colour of text in notepad so you gays can have a hacker vibe :)
Dev Vlog #6 — File Explorer is Finally Done! Hey everyone, welcome back to another WebOS update! it took longer than I expected, but it finally work . it Stores the file created by notebook and displaces it in file explorer NEXT Next, I’ll be working on adding more apps like CMD ( i think so). There’s still a lot I want to add, and plese give me suggestion what to add next. bye see in the next one !!
Dev Vlog #7 — Terminal is Finally Working! Hey everyone, welcome back to another WebOS update! This time I finished one of the apps I was most excited abt the : Terminal . It can now run basic commands and works right inside the WebOS window system. Current commands include: help — Shows all available commands clear — Clears the terminal about — Gives a short description about the project XD date — Shows the current date and time apps — Shows all the available apps files — Shows all available files stored open notepad — Opens Notepad open calculator — Opens Calculator open files — Opens Files open portfolio — Redirects website to my portfolio https://srinj-ai.github.io/MY-PORTFOLIO/ XD Getting all of these commands working took a lot more logic than I expected, but it was definitely worth it. Next, I’m planning to add more commands, improve the desktop, and keep making WebOS feel more like a real operating system. thank u all and bye!!! XD
Dev Vlog #8 — Finally Working! Hey everyone, welcome back to another WebOS update! I have fully compleated my terminal and going for a ship please support and enjoy thank u all and bye!!! XD
Dev Vlog #9 — Added Snake Game! Hey everyone, welcome back to another WebOS update! This time I made a game, quite a popular one, Snake Game. Some lines of code to make its movement and food growth work, like: currentWindows . map (( appWindow ) => { const game = appWindow . gameState ?. snake ; if ( ! game || game . status !== ' playing ' ) return appWindow ; const head = game . body [ 0 ]; const direction = game . nextDirection ; const nextHead = { x : ( head . x + direction . x + SNAKE_SIZE ) % SNAKE_SIZE , y : ( head . y + direction . y + SNAKE_SIZE ) % SNAKE_SIZE , }; const hitSelf = game . body . some ( ( point ) => point . x === nextHead . x && point . y === nextHead . y ); if ( hitSelf ) { return { ... appWindow , gameState : { ... appWindow . gameState , snake : { ... game , status : ' lost ' }, }, }; } It does not die when it hits the wall, but ends up on the other side of the screen. It dies when it hits itself. OK then , its all for today if will make minesweeper next it may take AI to help , but i will try my best 🤧🤧
Dev Vlog #9 — Added 2048 Game! Hey everyone, welcome back to another WebOS update! This time I made another popular game, 2048 . Some lines of code to make the tiles move and merge, like: const moveRow = ( row : number []) => { const filtered = row . filter (( value ) => value !== 0 ); const result : number [] = []; for ( let i = 0 ; i < filtered . length ; i ++ ) { if ( filtered [ i ] === filtered [ i + 1 ]) { result . push ( filtered [ i ] * 2 ); i ++ ; } else { result . push ( filtered [ i ]); } } while ( result . length < 4 ) { result . push ( 0 ); } return result ; }; I changed my mind at last to shift form minesweeper It was pretty fun making 2048 and getting the tile movement and merging to work properly inside WebOS. i will make minesweeper now!!!!!!
JUST A QUICK CAPUP just to remind u guys to I fixed some lag issue abt 2048 and snake and added both to CMD :)
Dev Vlog #10 — Added Minesweeper! 💣 Hey everyone, welcome back to another WebOS update! This time I made another classic game, Minesweeper . Some lines of code to make the mines and tile revealing work, like: const revealCell = ( row : number , col : number ) => { if ( board [ row ][ col ]. isMine ) { setGameStatus ( ' lost ' ); return ; } const newBoard = board . map (( r ) => [... r ]); newBoard [ row ][ col ]. isRevealed = true ; setBoard ( newBoard ); }; The game now has tile movement, merging tiles, and adding new tiles after each move. it was too hard to set the tile screen and mines & it still have bugs , but its good for now and i am gona a ship it 😋😋
Ships:
Its a WebOS made to experement and experence a OS ina website.
Its a WebOS made to experement and experence a OS ina website.
Its a WebOS made to experement and experence a OS ina website.
i added more features and fixed some bugs . Ii added games like snake, 2048, minesweeper...
|
1793652721.551483
|
1793739121.551483
|
|
12006
|
Sh’elah by @akiva_yevdayev | Stardance
|
akiva_yevdayev
|
1
|
96.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-27T04:13:30Z", "hours": 96.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What did I make? I made Sh’elah (shelah.org) — the Torah Encyclopedia, literally. a searchable library of Torah and judaic texts and commentary (all powered by Sefaria’s texts and made to feel easy to use), an AI assistant that answers questions on Jewish law (halachah) by pulling information from primary sources like the Torah and judaic texts instead of just guessing, and the practical stuff people actually need everyday — live prayer times (zmanim), a Hebrew calendar, and how different communities observe different customs. The AI is built to always point you back to your own rabbi for anything that’s actually a different based on community and needs a ruling, and it steps out of the way entirely for anything medical or safety-related, and has safeguards to protect it from answering strange or unrelated questions or from being prompt injected (because we don’t want our site to get hacked lol). The prayer-times/calendar run off of your exact location, and the calendar shows the weekly Torah portion and candle lighting times too. What was challenging for me? Getting the AI to have safeguards, not hallucinate, follow judaic law and texts, and all set up took way longer than I had originally expected. It’s easy to make a chatbot that sounds confident; it’s much harder to make one that cites where an answer actually comes from, doesn’t quietly make things up, and knows when to deflect a question or malicious prompt. I also spent a lot of time on things nobody will ever see directly — locking down who can access what in the database, making sure a runaway request can’t rack up a huge AI bill (because this site is made for the public to be free, and not to make me go broke °~°), keeping the site fast and not-broken in English and Hebrew, light and dark mode, and working/looking well on phone or tablet-sized screens. Giving the AI real tool-use so it reaches for live prayer times/calendar/texts itself was its own project, and I found out at one point my login system and database weren’t even linked correctly, silently breaking database reads/writes (was a pain to fix…). There’s also a bug where the page jumped up by 5-10 chapters at once which I fixed (and have been trying to fix that issue for MONTHS!) What am I proud of? That it actually exists as an actual product and as a solution instead of just an idea living inside someone’s head. Every page has a real link you can share — a specific judaic text, an AI answer, a specific calendar day— and it opens back up exactly the way you left it. The commentary and translations are genuinely fast now (they were super buggy and slow before), the calendar actually gives candle-lighting times and areas in my app where the torah portions are and had a huge glow-up. I also went from 60% test coverage to over 99%, with nearly 4,000 tests passing cleanly. Keep in mind the whole thing was built by myself (yes ofc was built using ai but without that it would’ve taken years to make), end to end, including a real test suite, real security practices, accessibility support, and full legal documentation and copyright license, and not just a prototype held together by hopes and prayers. What should people know so they can test it? Try asking it an actual halacha question (but since most of you guys aren’t Jewish ask it a question you’ve had on the old testament or on Judaism maybe) that you may have wondered about and see if it gives you a real answer with sources instead of a vague and incorrect answer. Open a Torah portion and look at commentaries or a translation of a specific word. Switch it into Hebrew and make sure nothing breaks. Try it on your phone. See the prayer times based on location. Look at the calendar. Go bananas! Just know that if there is any issue at all, contact me through my email [email protected] and I’ll try my best to fix it as soon as I can.", "repo": "https://github.com/akivayevdayev-debug/Shelah", "demo": "https://shelah.org"}]...
|
[{"post_id": 74270, "ts": "202 [{"post_id": 74270, "ts": "2026-09-27T03:25:18Z", "hours": 4.7697, "text": "Sh’elah — Devlog 8 WE FINALLY SHIP TODAY!!!!!!!!!!!!!!!!!!!!!!!! Over the past week or so, I had… Redesigned parts of the ai look again so that it doesn’t look like ai slop :) Gave the whole site links and web addresses whic h means any page or ai chat or settings u have and wanna give someone the link they can open to the same place as you (major issue fixed!). Added /signin and /profile as real pages that layer on top of whatever you’re looking at, so signing in from a legal or help page brings you right back where you started. Found and fixed why the AI sometimes gave no answer at all: the sign-in check between the site and the database was rejecting valid logins, which quietly broke saving your conversations and preferences. (YAY MORE BUGS FIXED) Sped up word/translation lookups. A word Sefaria didn’t recognize used to try several spellings against the dictionary and then several more against translation, one at a time — now it takes a second (maybe 2 if needs more sources). Fixed animation and fading issues, as well as issues when switching reading layout, switching commentary verses, and jumping to a cited passage (which, it turned out, didn’t actually highlight anything yet). Fixed the reader losing its place. Scrolling to load more text, or loading a previous chapter, could silently jump the page’s address to the wrong chapter. It now tracks what you’re actually reading, not just whichever paragraph happened to load first. (I’VE BEEN TRYNA FIX THAT ISSUE FOR MONTHS!) Cleaned up account and privacy details: a smaller profile menu, a delete-account warning that isn’t half-pink in dark mode, and your data export now actually includes your AI chats. Fixed a leftover database error that had been showing up in the logs from a migrations table that never existed — it’s created properly now, with the right access rules attached. WE SHIP!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"}, {"post_id": 73745, "ts": "2026-09-25T20:42:53Z", "hours": 12.4672, "text": "Sh’elah — Devlog 7 — WE SHIP THIS WEEK!!!!! Over the past week or so, I had… Gave every page of the site its own real address. Any text, prayer, calendar day or AI answer now has its own link that opens straight to that page, even on a refresh. Old-style links still work too. Made AI answers shareable. Anyone can hit Copy Link to send a specific answer, or open it as its own page, and it stays out of search engines unless it’s meant to be public. Went through a 15-item punch list end to end: infinite scroll no longer jumps around, the commentary sidebar loads way faster and lighter, various calendar issues are fixed, parashah and commentary names are now accurate and properly ranked, community pages have full Hebrew translations, the header date now follows your actual location, loading spinners recover on their own when a connection drops, and implemented a bunch of Hebrew translate and bolding fixes. Completely Redid EVERYTHING about the AI: Redid the AI window’s entrance animation so it grows out of the Ask button on desktop instead of just popping in, and rises as a proper sheet on phones. Moved the Ask button onto the phone’s top bar instead of hiding it behind a Search tap, and gave the bottom tabs real icons above their labels with even spacing. Added a new ai small window, new ai fullscreen window, and new ai chat sharing links that legitimately work. Polished motion sitewide: screens fade up, buttons get a proper hover/press/focus feel, every emoji became a matching icon, and calendar hover states got fixed instead of going backwards (the close button used to lighten on hover, now it darkens like everything else). Built a real holiday detail card for the calendar, with accurate clock times and links straight into the reader. Fixed prayer and reader text losing its bold and italic formatting when pulled from the source library. Fixed the reader jumping around when loading earlier text, and gave it a slimmer bar with commentary that preloads before you tap it. Locked down the AI’s spending: the plain (non-agentic) chat route was quietly skipping the budget check, and a bug in the model-calling code could leak the API key. Both are fixed, and every path now respects the daily budget. Added a circuit breaker to the rate limiter so a database lag can’t take the whole site down with it, and made sure static files are never rate-limited. Cleared out SonarCloud’s entire backlog again: dead code removed, regexes hardened against slowdowns, and a chunk of new tests written along the way. Made Turnstile (the invisible spam check) actually invisible instead of showing its widget. Reconciled a stack of parallel work — calendar icons, i18n, reader fixes, security fixes — that had drifted across a few branches, merged clean. Let me know if there is anything y’all wanna see on my site in the future p.s. WE ARE ALMOST SHIPPED, but i still want those hours to count so this is not the last devlog."}, {"post_id": 70879, "ts": "2026-09-19T22:38:15Z", "hours": 11.8378, "text": "Sh’elah — Devlog 6 Over the past week or so, I had… Fixed certain dark mode values so they match the overall theme of the site. Added an ai symbol in the shape of a star and added animations to the searchbar when the ai is thinking, adding an ai feedback button, and fixed spacing and other issues with the ai answers. Added a commentary button to the reader’s top bar to show people how to use it Fixed zmanim (prayer/holiday times) on Holidays and fast days, added fast start and end times, and gave the AI Hebrew-date math tools. Finalized the legal pages with real operator info, registered a DMCA agent, and added an age confirmation. Went through every SonarCloud finding and the quality gate now passes, with the security and reliability ratings both at A. Wrote a big batch of new tests. Coverage went from 60% to about 84% overall, and all 3517 tests (yes ik its a lot of tests) pass cleanly. (yes somehow it was 60% before when I explicitly added tests for 93% coverage · ~ ·) Rotated the leaked Gemini key and cleaned it out of the repo history. (correcty this time), and merged two drifting copies of the code, so shared pieces like the AI answer builder now live in one place. Rewrote the README, added a changelog, documented every environment variable, and regenerated the database docs from the live schema. Let me know if there is anything y’all wanna see on my site in the future p.s. shipping v1.00 in a day or two!!!!!! FINALLY!!!!! (This may take longer than two days but hopefully not!)"}, {"post_id": 68421, "ts": "2026-09-15T02:54:39Z", "hours": 14.2753, "text": "Sh’elah — Devlog 5 Over the past week or so, I had… Gave the AI real tool-use, allowing it to get live prayer times, calendar dates, and texts as it needs them, instead of having everything be pre-loaded at each request. Finalized the legal pages and filed my site for DMCA Copyright protection for 3 years. Added self-serve privacy controls, where you can now export or delete your own account and data yourself. Added a feedback button on AI answers so people can flag bad ones directly. Added accessibility keyboard/screen-reader support along with their appropriate tests in CI. Fixed a security issue where a malicious AI-cited link could execute code, and added a bot-check in front of the AI endpoint to cut down on abuse. Fixed the caching bug from last devlog this time; pages get served from cache properly now instead of requesting from the server on every load. Fixed a bunch of small little annoying bugs like the page jumping back while scrolling, the wrong section getting highlighted, calendar color glitches, and animations not loading. Fixed a security-check script that had quietly been failing every single scheduled run for over a week. Spent alot of time simplifying complex functions across the codebase to make it more reliable. Let me know if there is anything y’all wanna see on my site in the future p.s. getting closer to that v1.00 site goal every day — planning on achieving it next week!"}, {"post_id": 61981, "ts": "2026-09-05T05:45:36Z", "hours": 10.3361, "text": "Sh’elah — Devlog 4 Over the past week or so, I had… Fixed an issue with RLS in Supabase so that one user doesn’t see another user’s personal info, as well as security issues with Vercel and Clerk (Which was a pain to fix :<) Found out my login system and database weren’t linked to each other correctly, which was breaking authenticated reads/writes, and fixed it Added an ai usage tracker and fixed old usage records so the spending log is correct, and so I don’t go broke when other people use my site’s ai My webhook (discord error bot) was malfunctioning (and still kinda is in clerk :<) and no longer is! YAY MORE ERRORS FOR ME! (at least I’ll know why they happen :|) Fixed a bug where the site was incorrectly caching files in browsers, making things slower and more expensive (yay less money to spend!!!!!) Ran accessibility tests and fixed any issues they found, and made my site more ready for releasing v1.00! Removed old files Fixed some legal documentation issues (like my Privacy Policy and ToS) so I don’t get sued!!! Let me know if there is anything y’all wanna see on my site in the future p.s. I’m planning a huge commit soon announcing version 1.00 of my website so if you haven’t seen my first devlog announcing that, go check it out."}, {"post_id": 55408, "ts": "2026-08-27T06:56:47Z", "hours": 10.6378, "text": "Sh’elah — Devlog 3 Over the past week or so, I had… Fixed a bug where a malformed cache config could crash the whole app on startup. Split a file that handled AI question-answering into smaller, cleaner, more compact files, and added tests to make sure that both versions (one for gemini and one for claude) always answered the same way with the same guardrails. Sped up busy/resource heavy pages (library, prayers, texts, daily study, and the calendar lookup) by adding a shared caching layer, so they don’t request the database on every single request anymore. Added rate limiting across the whole site instead of having it scattered in different places. Cleaned up a batch of files that were referenced in the code which was uncommitted and caused boot errors. Simplified a few functions that had been made too complex to safely maintain. Sped up cold starts by delaying AI library imports until they’re actually needed. Let me know if there is anything y’all wanna see on my site in the future p.s. I’m planning a huge commit soon announcing version 1.00 of my website so if you haven’t seen my first devlog announcing that, go check it out."}, {"post_id": 51996, "ts": "2026-08-22T00:35:52Z", "hours": 9.3681, "text": "Sh’elah — Devlog 2 Over the past 9 hours or so, I had… Removed a leftover routing rule in Vercel that was returning a 404 error in my production site. Added a server-side daily budget per user, so if someone goes past it and heavily uses the AI past what’s normal, they get rate limited and can’t spam multiple requests at once. Also fixed an issue where AI usage was being reported as $0 when it wasn’t. Updated my site’s README.md on GitHub, fixed a license mismatch, and added a CONTRIBUTING.md and a code of conduct. Old logs and history get deleted on a schedule now, so trash doesn’t build up over time. Built a dark-mode accessibility checker and fixed contrast issues. Also integrated circuit breakers so when an external resource fails the site doesn’t crash. Added About/Help/glossary pages, a sitemap, a feedback widget, and analytics that you can opt into. Added CI checks and Vercel Speed Insights to track loading times. Swapped the GPS permission for zmanim (prayer times) based on location to cookie/IP-based location instead. Let me know if there is anything y’all wanna see on my site in the future p.s. I’m planning a huge commit soon announcing version 1.00 of my website so if you haven’t seen my first devlog announcing that, go check it out."}, {"post_id": 49112, "ts": "2026-08-17T18:53:44Z", "hours": 22.1481, "text": "Sh’elah — First Devlog: I’ve been working on Sh’elah for a while now and finally uploaded it here. It’s a Jewish learning app that combines a searchable Torah library (similar to Sefaria) with an AI tool designed to actually answer your halacha questions. Instead of just throwing related sources at you that don’t end up answering the question, it walks you through the actual answer, explains the reasoning, cites the sources, and tailors everything based on your community’s specific customs. What it does today Answers questions across any area of Jewish law using primary sources rather than generic guesses. Allows you to search the library with customs broken out by community (Ashkenazi, Sefardi, Teimani, and others). Calculates live zmanim (prayer times) and a Hebrew calendar based on your exact location. Ends every answer with a clear reminder: this is for learning purposes, not an official ruling, and real questions should always go to your rabbi. It works right now, but it’s still in the early stages, so I want to be upfront about what still needs work before calling it a complete release. Making the AI reach for things, not just recite them Right now, the AI only knows what gets put into the prompt ahead of time. I am working on moving it toward real tool use so it can pull zmanim, calendar dates, commentaries, and community customs dynamically as needed. Judaic texts and laws will always remain the main priority, with web searching kept strictly as a last resort. Getting the safety layer right (in progress) Halacha touches sensitive material, and I want to make sure a younger user doesn’t receive graphic content when the real answer should simply be “ask your rabbi for details.” Any queries related to medical issues, mental health, or abuse will automatically route to real professional resources rather than generating an AI ruling. Behind-the-scenes technical updates Breaking down a backend file that got way too large so the code is easier to maintain and debug. Securing the caching layer so it handles concurrent load safely. Adding circuit breakers to prevent a third-party outage from crashing the whole platform. What needs to happen before full launch Verifying every feature works properly while keeping the user experience smooth and simple. Completing a thorough security review (already finished). Setting up error tracking and rate limiting to protect the site from abuse. Performing a full accessibility audit. Building this isn’t going to be easy, and the order of these steps will probably shift around. However, this is the general direction of the project, and I’ll share more updates as new features roll out."}]...
|
Title: Sh’elah by @akiva_yevdayev | Stardance
Dev Title: Sh’elah by @akiva_yevdayev | Stardance
Devlogs:
Sh’elah — First Devlog: I’ve been working on Sh’elah for a while now and finally uploaded it here. It’s a Jewish learning app that combines a searchable Torah library (similar to Sefaria) with an AI tool designed to actually answer your halacha questions. Instead of just throwing related sources at you that don’t end up answering the question, it walks you through the actual answer, explains the reasoning, cites the sources, and tailors everything based on your community’s specific customs. What it does today Answers questions across any area of Jewish law using primary sources rather than generic guesses. Allows you to search the library with customs broken out by community (Ashkenazi, Sefardi, Teimani, and others). Calculates live zmanim (prayer times) and a Hebrew calendar based on your exact location. Ends every answer with a clear reminder: this is for learning purposes, not an official ruling, and real questions should always go to your rabbi. It works right now, but it’s still in the early stages, so I want to be upfront about what still needs work before calling it a complete release. Making the AI reach for things, not just recite them Right now, the AI only knows what gets put into the prompt ahead of time. I am working on moving it toward real tool use so it can pull zmanim, calendar dates, commentaries, and community customs dynamically as needed. Judaic texts and laws will always remain the main priority, with web searching kept strictly as a last resort. Getting the safety layer right (in progress) Halacha touches sensitive material, and I want to make sure a younger user doesn’t receive graphic content when the real answer should simply be “ask your rabbi for details.” Any queries related to medical issues, mental health, or abuse will automatically route to real professional resources rather than generating an AI ruling. Behind-the-scenes technical updates Breaking down a backend file that got way too large so the code is easier to maintain and debug. Securing the caching layer so it handles concurrent load safely. Adding circuit breakers to prevent a third-party outage from crashing the whole platform. What needs to happen before full launch Verifying every feature works properly while keeping the user experience smooth and simple. Completing a thorough security review (already finished). Setting up error tracking and rate limiting to protect the site from abuse. Performing a full accessibility audit. Building this isn’t going to be easy, and the order of these steps will probably shift around. However, this is the general direction of the project, and I’ll share more updates as new features roll out.
Sh’elah — Devlog 2 Over the past 9 hours or so, I had… Removed a leftover routing rule in Vercel that was returning a 404 error in my production site. Added a server-side daily budget per user, so if someone goes past it and heavily uses the AI past what’s normal, they get rate limited and can’t spam multiple requests at once. Also fixed an issue where AI usage was being reported as $0 when it wasn’t. Updated my site’s README.md on GitHub, fixed a license mismatch, and added a CONTRIBUTING.md and a code of conduct. Old logs and history get deleted on a schedule now, so trash doesn’t build up over time. Built a dark-mode accessibility checker and fixed contrast issues. Also integrated circuit breakers so when an external resource fails the site doesn’t crash. Added About/Help/glossary pages, a sitemap, a feedback widget, and analytics that you can opt into. Added CI checks and Vercel Speed Insights to track loading times. Swapped the GPS permission for zmanim (prayer times) based on location to cookie/IP-based location instead. Let me know if there is anything y’all wanna see on my site in the future p.s. I’m planning a huge commit soon announcing version 1.00 of my website so if you haven’t seen my first devlog announcing that, go check it out.
Sh’elah — Devlog 3 Over the past week or so, I had… Fixed a bug where a malformed cache config could crash the whole app on startup. Split a file that handled AI question-answering into smaller, cleaner, more compact files, and added tests to make sure that both versions (one for gemini and one for claude) always answered the same way with the same guardrails. Sped up busy/resource heavy pages (library, prayers, texts, daily study, and the calendar lookup) by adding a shared caching layer, so they don’t request the database on every single request anymore. Added rate limiting across the whole site instead of having it scattered in different places. Cleaned up a batch of files that were referenced in the code which was uncommitted and caused boot errors. Simplified a few functions that had been made too complex to safely maintain. Sped up cold starts by delaying AI library imports until they’re actually needed. Let me know if there is anything y’all wanna see on my site in the future p.s. I’m planning a huge commit soon announcing version 1.00 of my website so if you haven’t seen my first devlog announcing that, go check it out.
Sh’elah — Devlog 4 Over the past week or so, I had… Fixed an issue with RLS in Supabase so that one user doesn’t see another user’s personal info, as well as security issues with Vercel and Clerk (Which was a pain to fix :<) Found out my login system and database weren’t linked to each other correctly, which was breaking authenticated reads/writes, and fixed it Added an ai usage tracker and fixed old usage records so the spending log is correct, and so I don’t go broke when other people use my site’s ai My webhook (discord error bot) was malfunctioning (and still kinda is in clerk :<) and no longer is! YAY MORE ERRORS FOR ME! (at least I’ll know why they happen :|) Fixed a bug where the site was incorrectly caching files in browsers, making things slower and more expensive (yay less money to spend!!!!!) Ran accessibility tests and fixed any issues they found, and made my site more ready for releasing v1.00! Removed old files Fixed some legal documentation issues (like my Privacy Policy and ToS) so I don’t get sued!!! Let me know if there is anything y’all wanna see on my site in the future p.s. I’m planning a huge commit soon announcing version 1.00 of my website so if you haven’t seen my first devlog announcing that, go check it out.
Sh’elah — Devlog 5 Over the past week or so, I had… Gave the AI real tool-use, allowing it to get live prayer times, calendar dates, and texts as it needs them, instead of having everything be pre-loaded at each request. Finalized the legal pages and filed my site for DMCA Copyright protection for 3 years. Added self-serve privacy controls, where you can now export or delete your own account and data yourself. Added a feedback button on AI answers so people can flag bad ones directly. Added accessibility keyboard/screen-reader support along with their appropriate tests in CI. Fixed a security issue where a malicious AI-cited link could execute code, and added a bot-check in front of the AI endpoint to cut down on abuse. Fixed the caching bug from last devlog this time; pages get served from cache properly now instead of requesting from the server on every load. Fixed a bunch of small little annoying bugs like the page jumping back while scrolling, the wrong section getting highlighted, calendar color glitches, and animations not loading. Fixed a security-check script that had quietly been failing every single scheduled run for over a week. Spent alot of time simplifying complex functions across the codebase to make it more reliable. Let me know if there is anything y’all wanna see on my site in the future p.s. getting closer to that v1.00 site goal every day — planning on achieving it next week!
Sh’elah — Devlog 6 Over the past week or so, I had… Fixed certain dark mode values so they match the overall theme of the site. Added an ai symbol in the shape of a star and added animations to the searchbar when the ai is thinking, adding an ai feedback button, and fixed spacing and other issues with the ai answers. Added a commentary button to the reader’s top bar to show people how to use it Fixed zmanim (prayer/holiday times) on Holidays and fast days, added fast start and end times, and gave the AI Hebrew-date math tools. Finalized the legal pages with real operator info, registered a DMCA agent, and added an age confirmation. Went through every SonarCloud finding and the quality gate now passes, with the security and reliability ratings both at A. Wrote a big batch of new tests. Coverage went from 60% to about 84% overall, and all 3517 tests (yes ik its a lot of tests) pass cleanly. (yes somehow it was 60% before when I explicitly added tests for 93% coverage · ~ ·) Rotated the leaked Gemini key and cleaned it out of the repo history. (correcty this time), and merged two drifting copies of the code, so shared pieces like the AI answer builder now live in one place. Rewrote the README, added a changelog, documented every environment variable, and regenerated the database docs from the live schema. Let me know if there is anything y’all wanna see on my site in the future p.s. shipping v1.00 in a day or two!!!!!! FINALLY!!!!! (This may take longer than two days but hopefully not!)
Sh’elah — Devlog 7 — WE SHIP THIS WEEK!!!!! Over the past week or so, I had… Gave every page of the site its own real address. Any text, prayer, calendar day or AI answer now has its own link that opens straight to that page, even on a refresh. Old-style links still work too. Made AI answers shareable. Anyone can hit Copy Link to send a specific answer, or open it as its own page, and it stays out of search engines unless it’s meant to be public. Went through a 15-item punch list end to end: infinite scroll no longer jumps around, the commentary sidebar loads way faster and lighter, various calendar issues are fixed, parashah and commentary names are now accurate and properly ranked, community pages have full Hebrew translations, the header date now follows your actual location, loading spinners recover on their own when a connection drops, and implemented a bunch of Hebrew translate and bolding fixes. Completely Redid EVERYTHING about the AI: Redid the AI window’s entrance animation so it grows out of the Ask button on desktop instead of just popping in, and rises as a proper sheet on phones. Moved the Ask button onto the phone’s top bar instead of hiding it behind a Search tap, and gave the bottom tabs real icons above their labels with even spacing. Added a new ai small window, new ai fullscreen window, and new ai chat sharing links that legitimately work. Polished motion sitewide: screens fade up, buttons get a proper hover/press/focus feel, every emoji became a matching icon, and calendar hover states got fixed instead of going backwards (the close button used to lighten on hover, now it darkens like everything else). Built a real holiday detail card for the calendar, with accurate clock times and links straight into the reader. Fixed prayer and reader text losing its bold and italic formatting when pulled from the source library. Fixed the reader jumping around when loading earlier text, and gave it a slimmer bar with commentary that preloads before you tap it. Locked down the AI’s spending: the plain (non-agentic) chat route was quietly skipping the budget check, and a bug in the model-calling code could leak the API key. Both are fixed, and every path now respects the daily budget. Added a circuit breaker to the rate limiter so a database lag can’t take the whole site down with it, and made sure static files are never rate-limited. Cleared out SonarCloud’s entire backlog again: dead code removed, regexes hardened against slowdowns, and a chunk of new tests written along the way. Made Turnstile (the invisible spam check) actually invisible instead of showing its widget. Reconciled a stack of parallel work — calendar icons, i18n, reader fixes, security fixes — that had drifted across a few branches, merged clean. Let me know if there is anything y’all wanna see on my site in the future p.s. WE ARE ALMOST SHIPPED, but i still want those hours to count so this is not the last devlog.
Sh’elah — Devlog 8 WE FINALLY SHIP TODAY!!!!!!!!!!!!!!!!!!!!!!!! Over the past week or so, I had… Redesigned parts of the ai look again so that it doesn’t look like ai slop :) Gave the whole site links and web addresses whic h means any page or ai chat or settings u have and wanna give someone the link they can open to the same place as you (major issue fixed!). Added /signin and /profile as real pages that layer on top of whatever you’re looking at, so signing in from a legal or help page brings you right back where you started. Found and fixed why the AI sometimes gave no answer at all: the sign-in check between the site and the database was rejecting valid logins, which quietly broke saving your conversations and preferences. (YAY MORE BUGS FIXED) Sped up word/translation lookups. A word Sefaria didn’t recognize used to try several spellings against the dictionary and then several more against translation, one at a time — now it takes a second (maybe 2 if needs more sources). Fixed animation and fading issues, as well as issues when switching reading layout, switching commentary verses, and jumping to a cited passage (which, it turned out, didn’t actually highlight anything yet). Fixed the reader losing its place. Scrolling to load more text, or loading a previous chapter, could silently jump the page’s address to the wrong chapter. It now tracks what you’re actually reading, not just whichever paragraph happened to load first. (I’VE BEEN TRYNA FIX THAT ISSUE FOR MONTHS!) Cleaned up account and privacy details: a smaller profile menu, a delete-account warning that isn’t half-pink in dark mode, and your data export now actually includes your AI chats. Fixed a leftover database error that had been showing up in the logs from a migrations table that never existed — it’s created properly now, with the right access rules attached. WE SHIP!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ships:
What did I make? I made Sh’elah (shelah.org) — the Torah Encyclopedia, literally. a searchable library of Torah and judaic texts and commentary (all powered by Sefaria’s texts and made to feel easy to use), an AI assistant that answers questions on Jewish law (halachah) by pulling information from primary sources like the Torah and judaic texts instead of just guessing, and the practical stuff people actually need everyday — live prayer times (zmanim), a Hebrew calendar, and how different communities observe different customs. The AI is built to always point you back to your own rabbi for anything that’s actually a different based on community and needs a ruling, and it steps out of the way entirely for anything medical or safety-related, and has safeguards to protect it from answering strange or unrelated questions or from being prompt injected (because we don’t want our site to get hacked lol). The prayer-times/calendar run off of your exact location, and the calendar shows the weekly Torah portion and candle lighting times too. What was challenging for me? Getting the AI to have safeguards, not hallucinate, follow judaic law and texts, and all set up took way longer than I had originally expected. It’s easy to make a chatbot that sounds confident; it’s much harder to make one that cites where an answer actually comes from, doesn’t quietly make things up, and knows when to deflect a question or malicious prompt. I also spent a lot of time on things nobody will ever see directly — locking down who can access what in the database, making sure a runaway request can’t rack up a huge AI bill (because this site is made for the public to be free, and not to make me go broke °~°), keeping the site fast and not-broken in English and Hebrew, light and dark mode, and working/looking well on phone or tablet-sized screens. Giving the AI real tool-use so it reaches for live prayer times/calendar/texts itself was its own project, and I found out at one point my login system and database weren’t even linked correctly, silently breaking database reads/writes (was a pain to fix…). There’s also a bug where the page jumped up by 5-10 chapters at once which I fixed (and have been trying to fix that issue for MONTHS!) What am I proud of? That it actually exists as an actual product and as a solution instead of just an idea living inside someone’s head. Every page has a real link you can share — a specific judaic text, an AI answer, a specific calendar day— and it opens back up exactly the way you left it. The commentary and translations are genuinely fast now (they were super buggy and slow before), the calendar actually gives candle-lighting times and areas in my app where the torah portions are and had a huge glow-up. I also went from 60% test coverage to over 99%, with nearly 4,000 tests passing cleanly. Keep in mind the whole thing was built by myself (yes ofc was built using ai but without that it would’ve taken years to make), end to end, including a real test suite, real security practices, accessibility support, and full legal documentation and copyright license, and not just a prototype held together by hopes and prayers. What should people know so they can test it? Try asking it an actual halacha question (but since most of you guys aren’t Jewish ask it a question you’ve had on the old testament or on Judaism maybe) that you may have wondered about and see if it gives you a real answer with sources instead of a vague and incorrect answer. Open a Torah portion and look at commentaries or a translation of a specific word. Switch it into Hebrew and make sure nothing breaks. Try it on your phone. See the prayer times based on location. Look at the calendar. Go bananas! Just know that if there is any issue at all, contact me through my email [email protected] and I’ll try my best to fix it as soon as I can....
|
1793670652.3082922
|
1793757052.3082922
|
|
52123
|
Cheap Replaceable Color Tank Printer by @lazerkat Cheap Replaceable Color Tank Printer by @lazerkat | Stardance...
|
lazerkat
|
0
|
22.34
|
0
|
[]
|
[{"post_id": 74269, "ts": "202 [{"post_id": 74269, "ts": "2026-09-27T03:22:53Z", "hours": 0.6194, "text": "Devlog #22 start dance needs a production folder apparently i have it now"}, {"post_id": 68368, "ts": "2026-09-15T00:57:11Z", "hours": 0.7336, "text": "Devlog #21! more printerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr work the paper moves too far away from the grippers before the nozzle can get to it so i will rearrange"}, {"post_id": 67092, "ts": "2026-09-13T04:34:26Z", "hours": 0.9167, "text": "Devlog #20!!!!! i forgot about the motors so i wired them in in tinkercad. I will make v2 of the pcb at some point grrr"}, {"post_id": 65837, "ts": "2026-09-11T07:38:15Z", "hours": 1.2836, "text": "Devlog #19!! (and 20 hour milestone) i fixed the size of the lip at the top of the nozzle (it was too big)"}, {"post_id": 65774, "ts": "2026-09-11T04:21:26Z", "hours": 0.8336, "text": "Devlog #18!! started on the actual case and parts for the main printer (CHW-IP8-27G-EXP) i cant wait to get funding for whatever this is going to be lol"}, {"post_id": 65193, "ts": "2026-09-10T04:51:24Z", "hours": 1.1792, "text": "Devlog #17! I started on a little holder for the pcb not very necessary"}, {"post_id": 63375, "ts": "2026-09-07T05:03:57Z", "hours": 0.7811, "text": "Devlog #16!!! After wrestling with kicanvas and kicad, I got the files!! Turns out the converter I was using is only for kicad 6 so i guess i use kicad 6 now.. and kicanvas did not like working until i had done like 3 commits for some reason"}, {"post_id": 63292, "ts": "2026-09-07T01:22:27Z", "hours": 0.9, "text": "Devlog #15! trying to fix the kicad version of the pcb - the footprints didnt assign properly"}, {"post_id": 62637, "ts": "2026-09-06T03:13:08Z", "hours": 0.7214, "text": "Devlog #14!! Resubmitted because I didn’t put the .stp files in (I only had .stl’s and idk) and also I fully converted the pcb from easyeda to kicad which was interesting. I think it’s good to go now.. i hope."}, {"post_id": 57852, "ts": "2026-08-30T05:02:16Z", "hours": 1.0669, "text": "Devlog #13!!!!!!!!!!!!!! I AM READY TO SUBMIT FOR FUNDING ASDFGHJKL IM SO HAPPY I FINISHED THE ROUTING i hope it dosent explode"}, {"post_id": 56995, "ts": "2026-08-29T01:57:57Z", "hours": 0.8333, "text": "Devlog #12 routing is so annoying also i fixed up some naming stuff that i didn’t like"}, {"post_id": 56460, "ts": "2026-08-28T07:16:42Z", "hours": 0.9833, "text": "Devlog #12!!!!!!!!!!! I AM PCBING idk i just added some of the stuff to make it cooler also i got a power supply"}, {"post_id": 55376, "ts": "2026-08-27T05:29:36Z", "hours": 0.6669, "text": "Devlog #11! I am almost done with the pcb! I now need to add pulldown resistors and capacitors and fuses and things to make it very reliable! Also I untangled my wiring with netflags which are super cool!"}, {"post_id": 55322, "ts": "2026-08-27T02:07:49Z", "hours": 1.1336, "text": "Devlog #10! I worked on the pcb in easyeda which i will put in the repo soon! and i finished printing the printhead! it works very well on the first try which is new!"}, {"post_id": 54926, "ts": "2026-08-26T04:59:12Z", "hours": 0.7167, "text": "Devlog #9!! Today I printed the parts (i’m still waiting for them btw) and made the readme good to get funding! I really hope the stardance aura farmers (the shipwrights) like my project 🚣♂️ also i used @not-willem ‘s layout for broamp because i couldn’t find the doc for layout"}, {"post_id": 54245, "ts": "2026-08-25T04:04:20Z", "hours": 0.9336, "text": "Devlog #8!!! I modelled the printhead which holds eight nozzles and prettied up the readme!"}, {"post_id": 54060, "ts": "2026-08-24T20:33:07Z", "hours": 1.3333, "text": "Devlog #7! I worked on the manifold! it was very hard to print because my slicer kept missing the middle of the model which would have leaked"}, {"post_id": 52812, "ts": "2026-08-23T05:04:19Z", "hours": 1.4, "text": "Devlog #6! I MADE IT SCREW!!!!! I now need to make an inlet ring so the membrane can be mounted properly.. yes i know the camera angle is weird too"}, {"post_id": 52746, "ts": "2026-08-23T02:32:45Z", "hours": 1.1833, "text": "Devlog #5! I designed the main nozzle setup and 3d printed it on my bambu labs a1 mini! i will reprint bc it is too small…. and redesign"}, {"post_id": 52147, "ts": "2026-08-22T07:35:47Z", "hours": 0.8167, "text": "Devlog #4!!!!!!!!!!!!!!!!!!!!!!!!!!!!! I made the datasheet for my custom piezo based printer head (PX8-20H-01)!! and yes i made that name based on other printing companies systems"}, {"post_id": 52088, "ts": "2026-08-22T05:01:17Z", "hours": 1.4333, "text": "Devlog #3! I made an 8 piezo controller using arduino uno and some funky chip stuff it is 100v wowie"}, {"post_id": 51455, "ts": "2026-08-21T05:36:22Z", "hours": 1.5667, "text": "Devlog #2! I did research using deepseek lol I am going to make my own print head oof For now though, i will buy some piezos and wire it up to an arduino but step it up to 100v so it can flex enough to push water or smth through a small hole in a bottle cap. I will 3d print a case and use more piezos later"}, {"post_id": 51425, "ts": "2026-08-21T03:50:25Z", "hours": 0.305, "text": "Devlog #1! I wrote down some ideas for the printer! it is very yes"}]...
|
Title: Cheap Replaceable Color Tank Printer by @la Title: Cheap Replaceable Color Tank Printer by @lazerkat | Stardance
Devlogs:
Devlog #1! I wrote down some ideas for the printer! it is very yes
Devlog #2! I did research using deepseek lol I am going to make my own print head oof For now though, i will buy some piezos and wire it up to an arduino but step it up to 100v so it can flex enough to push water or smth through a small hole in a bottle cap. I will 3d print a case and use more piezos later
Devlog #3! I made an 8 piezo controller using arduino uno and some funky chip stuff it is 100v wowie
Devlog #4!!!!!!!!!!!!!!!!!!!!!!!!!!!!! I made the datasheet for my custom piezo based printer head (PX8-20H-01)!! and yes i made that name based on other printing companies systems
Devlog #5! I designed the main nozzle setup and 3d printed it on my bambu labs a1 mini! i will reprint bc it is too small…. and redesign
Devlog #6! I MADE IT SCREW!!!!! I now need to make an inlet ring so the membrane can be mounted properly.. yes i know the camera angle is weird too
Devlog #7! I worked on the manifold! it was very hard to print because my slicer kept missing the middle of the model which would have leaked
Devlog #8!!! I modelled the printhead which holds eight nozzles and prettied up the readme!
Devlog #9!! Today I printed the parts (i’m still waiting for them btw) and made the readme good to get funding! I really hope the stardance aura farmers (the shipwrights) like my project 🚣♂️ also i used @not-willem ‘s layout for broamp because i couldn’t find the doc for layout
Devlog #10! I worked on the pcb in easyeda which i will put in the repo soon! and i finished printing the printhead! it works very well on the first try which is new!
Devlog #11! I am almost done with the pcb! I now need to add pulldown resistors and capacitors and fuses and things to make it very reliable! Also I untangled my wiring with netflags which are super cool!
Devlog #12!!!!!!!!!!! I AM PCBING idk i just added some of the stuff to make it cooler also i got a power supply
Devlog #12 routing is so annoying also i fixed up some naming stuff that i didn’t like
Devlog #13!!!!!!!!!!!!!! I AM READY TO SUBMIT FOR FUNDING ASDFGHJKL IM SO HAPPY I FINISHED THE ROUTING i hope it dosent explode
Devlog #14!! Resubmitted because I didn’t put the .stp files in (I only had .stl’s and idk) and also I fully converted the pcb from easyeda to kicad which was interesting. I think it’s good to go now.. i hope.
Devlog #15! trying to fix the kicad version of the pcb - the footprints didnt assign properly
Devlog #16!!! After wrestling with kicanvas and kicad, I got the files!! Turns out the converter I was using is only for kicad 6 so i guess i use kicad 6 now.. and kicanvas did not like working until i had done like 3 commits for some reason
Devlog #17! I started on a little holder for the pcb not very necessary
Devlog #18!! started on the actual case and parts for the main printer (CHW-IP8-27G-EXP) i cant wait to get funding for whatever this is going to be lol
Devlog #19!! (and 20 hour milestone) i fixed the size of the lip at the top of the nozzle (it was too big)
Devlog #20!!!!! i forgot about the motors so i wired them in in tinkercad. I will make v2 of the pcb at some point grrr
Devlog #21! more printerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr work the paper moves too far away from the grippers before the nozzle can get to it so i will rearrange
Devlog #22 start dance needs a production folder apparently i have it now...
|
1793422489.468435
|
1794027289.468435
|
|
26966
|
My first slack bot! by @bobafrog282 | Stardance
|
bobafrog282
|
0
|
3.6
|
0
|
[]
|
[{"post_id": 74263, "ts": "202 [{"post_id": 74263, "ts": "2026-09-27T03:01:25Z", "hours": 0.4203, "text": "What did I do? I gave up on the Zelda command for now, and instead, I tried getting the bot to run 24/7, but that isn’t working either."}, {"post_id": 73824, "ts": "2026-09-26T03:22:52Z", "hours": 0.2636, "text": "What did I do today? Fix spelling issues, and check everything over!"}, {"post_id": 72063, "ts": "2026-09-22T03:12:32Z", "hours": 0.3025, "text": "What did I do? Tinkered around because I’m still trying to figure out how to format the Zelda API! I need some desperate help, because I don’t want to add unnecessary complicated things. I need to figure this out, more Googling will probably enlighten my path. What I need to do? More Googling!"}, {"post_id": 71603, "ts": "2026-09-21T04:17:40Z", "hours": 0.2697, "text": "What I did? Today, I didn’t really do much, I just worked on the actual text written when the command passes or fails to be more cool!"}, {"post_id": 70957, "ts": "2026-09-20T03:08:57Z", "hours": 0.3339, "text": "What I did? So for the past week or so, I’ve been struggling to get some of my commands to work, because they were using APIs. I modeled them off of the examples ones (since I’m doing the mission), and I got one to work! But the Zelda one, I realized (after using AI to troubleshoot) isn’t working because the link for the API is invalid. What’s next? I’m going to work on finding a reliable API link for the Zelda one, and I can FINALLY move on from this project, just finishing the last three steps in the guide for the Slack Bot!"}, {"post_id": 70393, "ts": "2026-09-19T03:05:21Z", "hours": 0.2667, "text": "Building Slack Bot: I didn’t get much sleep, and I made this devlog to log time, and make small, text based errors and we fixed the tiny errors in the code."}, {"post_id": 69942, "ts": "2026-09-18T03:12:48Z", "hours": 0.2811, "text": "Adding more commands The way that this was done is that I added more and more commands to the Slack API to create the rest of the commands! Still need to figure out the Zelda one!"}, {"post_id": 69447, "ts": "2026-09-17T02:20:23Z", "hours": 0.2711, "text": "Attempt at making my own command I created a Zelda themed command (like I’ve been saying for the past, what three days?). I looked at an example to see how I could model this, instead of just using the template given by the Stardance guide. So far, it is working, but I don’t know what link to use to fetch the API. I also don’t know if my code will work, but I still need to finish before running! Also, I decided that my slack bot is going to be animal themed, but also extremely random! Below are the animals (but not the exact ones I will use)."}, {"post_id": 68949, "ts": "2026-09-16T03:04:12Z", "hours": 0.2833, "text": "I didn’t really do much today, I tried experimenting, and seeing what was or wasn’t working, and so far, I have the two template API’s and I’m trying to use a Legend of Zelda API, but it’s not working. Going to try it out soon, with a lot of help form Google."}, {"post_id": 68414, "ts": "2026-09-15T02:27:41Z", "hours": 0.3056, "text": "I troubleshooted my project with some help with Ai, just because I didn’t know why my commands weren’t working. Turns out, I just needed to add the commands into Slack API, which I shortly discovered. This was done, and soon my project worked, but I’m kinda stuck of what theme to do it on: Zelda, random facts, something useful, etc. That will be a mission for next time! (attached is picture of Zelda BOTW, which I might theme the slack bot on)."}, {"post_id": 67380, "ts": "2026-09-13T14:01:21Z", "hours": 0.3117, "text": "What I did - I was following the guide, and I got up to the part by adding more commands, but it started giving me these errors. The bot is running through the ping command, but no anything else. Next time I work on this, I’m going to troubleshoot, comparing it to the guide, and if not, I might need some help."}, {"post_id": 66611, "ts": "2026-09-12T13:44:26Z", "hours": 0.2917, "text": "Slack Bot : I’ve been trying to create this project since June, and I finally picked it up again! I’m following the tuturial, but I’m facing some issues. I’m leaving the trouble shooting for another day!"}]...
|
Title: My first slack bot! by @bobafrog282 | Stard Title: My first slack bot! by @bobafrog282 | Stardance
Devlogs:
Slack Bot : I’ve been trying to create this project since June, and I finally picked it up again! I’m following the tuturial, but I’m facing some issues. I’m leaving the trouble shooting for another day!
What I did - I was following the guide, and I got up to the part by adding more commands, but it started giving me these errors. The bot is running through the ping command, but no anything else. Next time I work on this, I’m going to troubleshoot, comparing it to the guide, and if not, I might need some help.
I troubleshooted my project with some help with Ai, just because I didn’t know why my commands weren’t working. Turns out, I just needed to add the commands into Slack API, which I shortly discovered. This was done, and soon my project worked, but I’m kinda stuck of what theme to do it on: Zelda, random facts, something useful, etc. That will be a mission for next time! (attached is picture of Zelda BOTW, which I might theme the slack bot on).
I didn’t really do much today, I tried experimenting, and seeing what was or wasn’t working, and so far, I have the two template API’s and I’m trying to use a Legend of Zelda API, but it’s not working. Going to try it out soon, with a lot of help form Google.
Attempt at making my own command I created a Zelda themed command (like I’ve been saying for the past, what three days?). I looked at an example to see how I could model this, instead of just using the template given by the Stardance guide. So far, it is working, but I don’t know what link to use to fetch the API. I also don’t know if my code will work, but I still need to finish before running! Also, I decided that my slack bot is going to be animal themed, but also extremely random! Below are the animals (but not the exact ones I will use).
Adding more commands The way that this was done is that I added more and more commands to the Slack API to create the rest of the commands! Still need to figure out the Zelda one!
Building Slack Bot: I didn’t get much sleep, and I made this devlog to log time, and make small, text based errors and we fixed the tiny errors in the code.
What I did? So for the past week or so, I’ve been struggling to get some of my commands to work, because they were using APIs. I modeled them off of the examples ones (since I’m doing the mission), and I got one to work! But the Zelda one, I realized (after using AI to troubleshoot) isn’t working because the link for the API is invalid. What’s next? I’m going to work on finding a reliable API link for the Zelda one, and I can FINALLY move on from this project, just finishing the last three steps in the guide for the Slack Bot!
What I did? Today, I didn’t really do much, I just worked on the actual text written when the command passes or fails to be more cool!
What did I do? Tinkered around because I’m still trying to figure out how to format the Zelda API! I need some desperate help, because I don’t want to add unnecessary complicated things. I need to figure this out, more Googling will probably enlighten my path. What I need to do? More Googling!
What did I do today? Fix spelling issues, and check everything over!
What did I do? I gave up on the Zelda command for now, and instead, I tried getting the bot to run 24/7, but that isn’t working either....
|
1793202604.0142417
|
1793807404.0142417
|
|
57680
|
NTHS Website by @Summer22 | Stardance
|
Summer22
|
1
|
15.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-27T03:41:28Z", "hours": 15.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a website for my high school’s NTHS (National Technical Honor Society) Chapter. I am very proud of how it turned out. The challenging part was probably getting the pictures to work, as I don’t use pictures in code much, so I didn’t know how to use them and had to work around the text and the picture overlapping.", "repo": "", "demo": ""}]...
|
[{"post_id": 74259, "ts": "202 [{"post_id": 74259, "ts": "2026-09-27T02:44:13Z", "hours": 1.0072, "text": "I finally finished the project"}, {"post_id": 73782, "ts": "2026-09-25T23:26:36Z", "hours": 2.1922, "text": "I added Javascript to the code to make it so that the people trying to join the club could see if they are eligable."}, {"post_id": 73614, "ts": "2026-09-25T14:12:39Z", "hours": 5.295, "text": "Ive forgotten to log in a while but I have completed the leadership and membership pages and got rid of the resources and events pages."}, {"post_id": 64599, "ts": "2026-09-09T03:30:59Z", "hours": 2.525, "text": "Added a logo and completed more visual aspects"}, {"post_id": 63333, "ts": "2026-09-07T03:03:25Z", "hours": 1.3142, "text": "I started the visual aspects of the about page"}, {"post_id": 62650, "ts": "2026-09-06T03:35:52Z", "hours": 0.2875, "text": "I have started creating the next page (the about page) on the website"}, {"post_id": 61301, "ts": "2026-09-04T04:26:55Z", "hours": 0.6758, "text": "I was able to add 2 sections to the project."}, {"post_id": 60622, "ts": "2026-09-03T02:29:54Z", "hours": 0.7806, "text": "I was able to fade some of the color together and add some extra sections"}, {"post_id": 60579, "ts": "2026-09-03T01:02:38Z", "hours": 1.2456, "text": "So far I have made a navigation bar, set the color scheme, and made the main header"}]...
|
Title: NTHS Website by @Summer22 | Stardance
Devl Title: NTHS Website by @Summer22 | Stardance
Devlogs:
So far I have made a navigation bar, set the color scheme, and made the main header
I was able to fade some of the color together and add some extra sections
I was able to add 2 sections to the project.
I have started creating the next page (the about page) on the website
I started the visual aspects of the about page
Added a logo and completed more visual aspects
Ive forgotten to log in a while but I have completed the leadership and membership pages and got rid of the resources and events pages.
I added Javascript to the code to make it so that the people trying to join the club could see if they are eligable.
I finally finished the project
Ships:
I made a website for my high school’s NTHS (National Technical Honor Society) Chapter. I am very proud of how it turned out. The challenging part was probably getting the pictures to work, as I don’t use pictures in code much, so I didn’t know how to use them and had to work around the text and the picture overlapping....
|
1793674341.6822348
|
1793760741.6822348
|
|
9327
|
Drone ESC and FC by @puffiniac | Stardance
|
puffiniac
|
0
|
22.4
|
0
|
[]
|
[{"post_id": 74254, "ts": "202 [{"post_id": 74254, "ts": "2026-09-27T02:29:54Z", "hours": 3.8747, "text": "Devlog 10 wow we are in the double digits! Here is the most important parts! I am back after 2 months of not working on the project, I realized how much of a waste it would be if I don’t finish. However, there are some big changes. I will build the 4 in 1 ESC and a Flight Controller! I will not be able to finish the entire drone, however the 2 most important things will be finished! Anyway, here’s what happened, about 2 months ago I wanted to make the single ESC I had be a 4 in 1. Issue was that I did not know how the module and multi-channel tool worked… This made it so that I would be forced to had make everything. This was something I just could not bring myself to do. This was even worsened by the fact that school was beginning for me. I decided to rest on it for a while. But my friend brought it up with me and I started to properly learn about PCB’s and I think this is a little bit more possible for me now. I hopefully can finish this by the next devlog and then I can work on the flight controller. Here are some photos!"}, {"post_id": 44311, "ts": "2026-08-09T23:52:24Z", "hours": 4.8669, "text": "Devlog 9 This was about 3 days of work, I did not have a lot of motivation to continue keep doing this however i was able to finally finish the ESC PCB. Please do not bully me about my via’s… I know that they are bad. That is one thing that I would like to work on when doing the flight controller. The copper pour that I did was only for GND. although this is very messy i hope to improve how i layout the flight controller because that is the next step. The size that i used was 40mm by 40mm. Although this is pretty big, I hope that it still is ok for the drone. Now its time to work on the flight controller, something that I am both excited about and scared, because now I have a set size that i can use. 40mm by 40mm… i hope that i can do this!"}, {"post_id": 32099, "ts": "2026-07-21T01:00:35Z", "hours": 1.7172, "text": "Devlog 8 Today I started off by completely organizing my project files because things were getting way too messy to actually work efficiently. Once that was cleaned up, I ran the schematic-to-PCB sync in KiCad to pull all my components into the PCB editor, which immediately helped me catch a few footprint issues. I realized I had accidentally mixed up the footprint for my DRV8329 driver chip with my MCU, so I went back and properly assigned the QFN footprint for the AT32 MCU and imported the custom library folder for the Bourns CRE2512 current shunt resistor. I also sorted out the final connector footprints, adding a 3-pin JST-SH vertical connector for the flight controller interface signals like DSHOT and raw power, plus solid through-hole test pads for the three motor phase outputs. After clearing out all the sync errors, every single component from the MCU down to the connectors has a valid physical footprint attached. The schematic is officially completely finished for real this time, and I am finally ready to jump straight into component placement and routing on the PCB."}, {"post_id": 28032, "ts": "2026-07-14T01:34:20Z", "hours": 1.8, "text": "Devlog #7 WE ARE DONE… with the schematic… :( I finally finished wiring up the entire schematic for this block and cleaned up all the remaining loose ends Used an 3V3 rail and renamed a ton of stuff Added a bunch of resistors and capacitors as a backup power just in case I am officially ready to move past the schematic capture phase and start the physical PCB layout"}, {"post_id": 26834, "ts": "2026-07-11T21:06:30Z", "hours": 2.4833, "text": "Devlog #6 Day 7 was all about adding critical passive components to the gate driver schematic so the hardware can actually boot up and run safely. These include capacitors and Resistors. In the Schematic we have: three 1µF 50V X7R ceramic capacitors (C1, C2, C3) separate decoupling capacitors (1µF and 0.1µF) to clean up electrical noise. a 200kΩ resistor to ground to lock in a 20 V/V gain threshold for tracking motor current for the CSAGAIN"}, {"post_id": 25682, "ts": "2026-07-10T03:22:13Z", "hours": 1.8753, "text": "Devlog #5 Day 6 was all about getting off the drawing board and starting the actual schematic wiring for the ESC. my friend started something about the code idrk… in the meantime, i was able to get one esc almost finished. it was getting late so im going to go to sleep however, the goal next time i lock in is to finish schematics and move on. im thinking about doing a copper pour to make my life a lot easier. i think it will also be better for the amount of power that is getting put into this thing. the screenshots show just ONE of the ESC’s. i feel like this was the only way that this would be manageable. (breaking it up into 4 smaller parts.) needed to do a lot a lot of research on what exactly all the pins did. was able to figure out most of them. if anyone sees any errors pleaseeee tell me i lwk dont want to cook my motherboard…"}, {"post_id": 24460, "ts": "2026-07-08T01:14:21Z", "hours": 1.1667, "text": "Devlog #4 Talked about Outpost and talked about how we would code the drone. We need to finalize how we will do the code. + all of the important protocols that we need to use. After that we can both go on our individual ways to CAD/code the drone. We also talked about how we can implement PID into the software side of things. We might talk to a robotics person we know if he can help us. We were talking about how we can design each of the ESC’s. Turns out this might be easier that we expected… Overall productive session because we have not been working for a while."}, {"post_id": 18127, "ts": "2026-06-29T04:24:26Z", "hours": 2.2961, "text": "Devlog #4 to push the drone to 200mph we laid out the architecture for a custom 4-in-1 Electronic Speed Controller (ESC) designed to handle extreme current. the last photo shows our design that we came up with. it was inspired by the design of the SpeedyBee F405 V5 55A. then we worked on creating our shopping list and things that we need to buy to flush out the drone. while doing this we realized how expensive this would get. Realizing this we asked Alfie however he redirected us to Max which i sent another message to, we shall see how this works out… next is to finish the shopping cart, see if we can/should continue then open up KiCAD!"}, {"post_id": 16697, "ts": "2026-06-27T04:07:46Z", "hours": 1.2667, "text": "Devlog #3 Looking for Products wait i didnt realize that i could type here 😭 so i guess ill explain the past 3 days the best that I can! the first day me and my friend figured out the best that we could on how we would but I completely blanked on the fact that i was supposed to be recording a timelapse of the process. because of that, a massive chunk of the mental heavy lifting is already done behind the scenes. if you look back in day 2 (yesterday) we did all the layout needed. however today we flushed out the power part of the schematic. we decided to buy the GPS part of the drone because after doing some research we found that it is basically impossible to do it ourselves. we now need to figure out what we need to buy. so we created the shopping list using google sheets. we found some items however we need to finish it up. after that ill get be using KiCAD until my computer dies 😭"}, {"post_id": 16072, "ts": "2026-06-26T03:50:04Z", "hours": 1.05, "text": "Devlog #2: Schematic Hell"}]...
|
Title: Drone ESC and FC by @puffiniac | Stardance
Title: Drone ESC and FC by @puffiniac | Stardance
Devlogs:
Devlog #2: Schematic Hell
Devlog #3 Looking for Products wait i didnt realize that i could type here 😭 so i guess ill explain the past 3 days the best that I can! the first day me and my friend figured out the best that we could on how we would but I completely blanked on the fact that i was supposed to be recording a timelapse of the process. because of that, a massive chunk of the mental heavy lifting is already done behind the scenes. if you look back in day 2 (yesterday) we did all the layout needed. however today we flushed out the power part of the schematic. we decided to buy the GPS part of the drone because after doing some research we found that it is basically impossible to do it ourselves. we now need to figure out what we need to buy. so we created the shopping list using google sheets. we found some items however we need to finish it up. after that ill get be using KiCAD until my computer dies 😭
Devlog #4 to push the drone to 200mph we laid out the architecture for a custom 4-in-1 Electronic Speed Controller (ESC) designed to handle extreme current. the last photo shows our design that we came up with. it was inspired by the design of the SpeedyBee F405 V5 55A. then we worked on creating our shopping list and things that we need to buy to flush out the drone. while doing this we realized how expensive this would get. Realizing this we asked Alfie however he redirected us to Max which i sent another message to, we shall see how this works out… next is to finish the shopping cart, see if we can/should continue then open up KiCAD!
Devlog #4 Talked about Outpost and talked about how we would code the drone. We need to finalize how we will do the code. + all of the important protocols that we need to use. After that we can both go on our individual ways to CAD/code the drone. We also talked about how we can implement PID into the software side of things. We might talk to a robotics person we know if he can help us. We were talking about how we can design each of the ESC’s. Turns out this might be easier that we expected… Overall productive session because we have not been working for a while.
Devlog #5 Day 6 was all about getting off the drawing board and starting the actual schematic wiring for the ESC. my friend started something about the code idrk… in the meantime, i was able to get one esc almost finished. it was getting late so im going to go to sleep however, the goal next time i lock in is to finish schematics and move on. im thinking about doing a copper pour to make my life a lot easier. i think it will also be better for the amount of power that is getting put into this thing. the screenshots show just ONE of the ESC’s. i feel like this was the only way that this would be manageable. (breaking it up into 4 smaller parts.) needed to do a lot a lot of research on what exactly all the pins did. was able to figure out most of them. if anyone sees any errors pleaseeee tell me i lwk dont want to cook my motherboard…
Devlog #6 Day 7 was all about adding critical passive components to the gate driver schematic so the hardware can actually boot up and run safely. These include capacitors and Resistors. In the Schematic we have: three 1µF 50V X7R ceramic capacitors (C1, C2, C3) separate decoupling capacitors (1µF and 0.1µF) to clean up electrical noise. a 200kΩ resistor to ground to lock in a 20 V/V gain threshold for tracking motor current for the CSAGAIN
Devlog #7 WE ARE DONE… with the schematic… :( I finally finished wiring up the entire schematic for this block and cleaned up all the remaining loose ends Used an 3V3 rail and renamed a ton of stuff Added a bunch of resistors and capacitors as a backup power just in case I am officially ready to move past the schematic capture phase and start the physical PCB layout
Devlog 8 Today I started off by completely organizing my project files because things were getting way too messy to actually work efficiently. Once that was cleaned up, I ran the schematic-to-PCB sync in KiCad to pull all my components into the PCB editor, which immediately helped me catch a few footprint issues. I realized I had accidentally mixed up the footprint for my DRV8329 driver chip with my MCU, so I went back and properly assigned the QFN footprint for the AT32 MCU and imported the custom library folder for the Bourns CRE2512 current shunt resistor. I also sorted out the final connector footprints, adding a 3-pin JST-SH vertical connector for the flight controller interface signals like DSHOT and raw power, plus solid through-hole test pads for the three motor phase outputs. After clearing out all the sync errors, every single component from the MCU down to the connectors has a valid physical footprint attached. The schematic is officially completely finished for real this time, and I am finally ready to jump straight into component placement and routing on the PCB.
Devlog 9 This was about 3 days of work, I did not have a lot of motivation to continue keep doing this however i was able to finally finish the ESC PCB. Please do not bully me about my via’s… I know that they are bad. That is one thing that I would like to work on when doing the flight controller. The copper pour that I did was only for GND. although this is very messy i hope to improve how i layout the flight controller because that is the next step. The size that i used was 40mm by 40mm. Although this is pretty big, I hope that it still is ok for the drone. Now its time to work on the flight controller, something that I am both excited about and scared, because now I have a set size that i can use. 40mm by 40mm… i hope that i can do this!
Devlog 10 wow we are in the double digits! Here is the most important parts! I am back after 2 months of not working on the project, I realized how much of a waste it would be if I don’t finish. However, there are some big changes. I will build the 4 in 1 ESC and a Flight Controller! I will not be able to finish the entire drone, however the 2 most important things will be finished! Anyway, here’s what happened, about 2 months ago I wanted to make the single ESC I had be a 4 in 1. Issue was that I did not know how the module and multi-channel tool worked… This made it so that I would be forced to had make everything. This was something I just could not bring myself to do. This was even worsened by the fact that school was beginning for me. I decided to rest on it for a while. But my friend brought it up with me and I started to properly learn about PCB’s and I think this is a little bit more possible for me now. I hopefully can finish this by the next devlog and then I can work on the flight controller. Here are some photos!...
|
1793350404.4347098
|
1793955204.4347098
|
|
65507
|
Minimalist Alarm Clock by @super_soimon | Stardanc Minimalist Alarm Clock by @super_soimon | Stardance...
|
super_soimon
|
0
|
5.08
|
0
|
[]
|
[{"post_id": 74253, "ts": "202 [{"post_id": 74253, "ts": "2026-09-27T02:08:22Z", "hours": 3.9336, "text": "Finished the whole project! Done the onshape case, it consists of 3 parts (top shell, bottom shell, middle shell). Decided to 3d print the keycaps aswell, to stay minimalist Everything is in a GitHub repository, finished BOM and README.md."}, {"post_id": 73385, "ts": "2026-09-25T01:33:52Z", "hours": 1.15, "text": "First Devlog for this project! Finished schematic and pcb layout, started work on case in onshape."}]...
|
Title: Minimalist Alarm Clock by @super_soimon | S Title: Minimalist Alarm Clock by @super_soimon | Stardance
Devlogs:
First Devlog for this project! Finished schematic and pcb layout, started work on case in onshape.
Finished the whole project! Done the onshape case, it consists of 3 parts (top shell, bottom shell, middle shell). Decided to 3d print the keycaps aswell, to stay minimalist Everything is in a GitHub repository, finished BOM and README.md....
|
1793702892.769438
|
1794307692.769438
|
|
7650
|
Project Eclipse by @Nicormu | Stardance
|
Nicormu
|
0
|
24.76
|
0
|
[]
|
[{"post_id": 74252, "ts": "202 [{"post_id": 74252, "ts": "2026-09-27T02:06:11Z", "hours": 1.7828, "text": "Hiiii, Please say hello to the new liquid colorrrr (it also shinesssssss), the new crafting button, the new exit button and finally, the skin for the crafting tableeeeeeeee. Hope you like ittt <3"}, {"post_id": 73390, "ts": "2026-09-25T01:45:53Z", "hours": 2.8564, "text": "Hiiiiiii everyoneeeeee, I think the crafting station is getting a great advancement and is getting really goodddddddddd. I will add a color change when the crafting is available and see what can be improved before starting with quests or the economy of the game"}, {"post_id": 72471, "ts": "2026-09-23T01:10:03Z", "hours": 2.5333, "text": "Hiiiii, I have worked a bit and started a refactor on the crafting system, I still have issues. I dont like how the system is right now, I will think new ideas"}, {"post_id": 67342, "ts": "2026-09-13T12:45:07Z", "hours": 9.1197, "text": "Hi everyoneee, I was busy and stressed out with school and many other things, but I think I will start again with the development of Project Eclipse. By now, I have only organized the project and refactored almost every system."}, {"post_id": 18779, "ts": "2026-06-29T23:54:30Z", "hours": 2.4675, "text": "Devlog #5 I have been struggling with the crafting system. I cannot even describe the problem I have right now. Almost all the time recorded is trying the system and nothing to work. After I gived up with that, I organized the project :D"}, {"post_id": 15416, "ts": "2026-06-25T01:50:42Z", "hours": 0.4908, "text": "#Devlog #4 Hi guysss! I have been very busy these days but I have tried my best. I had added the sprites of the beaker and coal and started with the crafting system allowing dragging (not working completely) from the inventory. I will try all as I can to work more and improve the project :D"}, {"post_id": 10385, "ts": "2026-06-17T02:09:42Z", "hours": 2.705, "text": "Devlog #3 Hi everyone! Over the past few days, I’ve been working on the inventory and recipe system. I ran into some issues with Unity not saving my progress, so I had to rebuild everything multiple times (about 2 or 3 times 😭). On the bright side, I’m really happy with how the Notebook and Post-It sprites turned out. Now that the inventory system is mostly in place, I think I’ll be moving on to the crafting station."}, {"post_id": 7792, "ts": "2026-06-13T00:28:26Z", "hours": 1.9114, "text": "Devlog #2 Hi guys, I have been busy with the school and had work a little this week. The things I added is an inventory system, a recollection system and a prototype of the crafting station. I had problems with the inventory system and panel to make it look as I wanted to. Will keep working"}, {"post_id": 4451, "ts": "2026-06-07T19:33:52Z", "hours": 0.8914, "text": "Devlog #1 - The Beginning Project Eclipse is officially in development. This week I created the Garage scene, implemented player movement, and started working on object interactions. The biggest challenge was getting the interaction system to work correctly, which led to several debugging sessions before objects could be detected properly. Next, I’ll focus on finishing interactions and creating the first machine prototype"}]...
|
Title: Project Eclipse by @Nicormu | Stardance
De Title: Project Eclipse by @Nicormu | Stardance
Devlogs:
Devlog #1 - The Beginning Project Eclipse is officially in development. This week I created the Garage scene, implemented player movement, and started working on object interactions. The biggest challenge was getting the interaction system to work correctly, which led to several debugging sessions before objects could be detected properly. Next, I’ll focus on finishing interactions and creating the first machine prototype
Devlog #2 Hi guys, I have been busy with the school and had work a little this week. The things I added is an inventory system, a recollection system and a prototype of the crafting station. I had problems with the inventory system and panel to make it look as I wanted to. Will keep working
Devlog #3 Hi everyone! Over the past few days, I’ve been working on the inventory and recipe system. I ran into some issues with Unity not saving my progress, so I had to rebuild everything multiple times (about 2 or 3 times 😭). On the bright side, I’m really happy with how the Notebook and Post-It sprites turned out. Now that the inventory system is mostly in place, I think I’ll be moving on to the crafting station.
#Devlog #4 Hi guysss! I have been very busy these days but I have tried my best. I had added the sprites of the beaker and coal and started with the crafting system allowing dragging (not working completely) from the inventory. I will try all as I can to work more and improve the project :D
Devlog #5 I have been struggling with the crafting system. I cannot even describe the problem I have right now. Almost all the time recorded is trying the system and nothing to work. After I gived up with that, I organized the project :D
Hi everyoneee, I was busy and stressed out with school and many other things, but I think I will start again with the development of Project Eclipse. By now, I have only organized the project and refactored almost every system.
Hiiiii, I have worked a bit and started a refactor on the crafting system, I still have issues. I dont like how the system is right now, I will think new ideas
Hiiiiiii everyoneeeeee, I think the crafting station is getting a great advancement and is getting really goodddddddddd. I will add a color change when the crafting is available and see what can be improved before starting with quests or the economy of the game
Hiiii, Please say hello to the new liquid colorrrr (it also shinesssssss), the new crafting button, the new exit button and finally, the skin for the crafting tableeeeeeeee. Hope you like ittt <3...
|
1793270935.6192386
|
1793875735.6192386
|
|
65873
|
Aroush WebOS by @Imobes | Stardance
|
Imobes
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-31T03:24:25Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Tried building a website but didn’t have enough time to finish.", "repo": "https://github.com/aroushkhan13/Imobes-WebOS", "demo": "https://aroushkhan13.github.io/Imobes-WebOS/"}]...
|
[{"post_id": 74250, "ts": "202 [{"post_id": 74250, "ts": "2026-09-27T01:56:32Z", "hours": 1.0003, "text": "Hello everyone! I started building my own WebOS for mental health resources by using Stardance’s WebOS guide. I ran into problems opening the pages. I solved this by going through the settings and opening the “main” branch. I’m excited to customize my website!"}]...
|
Title: Aroush WebOS by @Imobes | Stardance
Devlog Title: Aroush WebOS by @Imobes | Stardance
Devlogs:
Hello everyone! I started building my own WebOS for mental health resources by using Stardance’s WebOS guide. I ran into problems opening the pages. I solved this by going through the settings and opening the “main” branch. I’m excited to customize my website!
Ships:
Tried building a website but didn’t have enough time to finish....
|
1793706652.5471346
|
1793793052.5471346
|
|
64484
|
whats up in nasa by @shauz | Stardance
|
shauz
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-27T01:54:15Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "i have made a very attractive looking ui for this Nasa website. this website calls NASA’s api key for todays article and photo and displays it beautifully in the website. LANGUAGES USED: JavaScript, css, html", "repo": "https://github.com/wowaidummy/Random-website-project", "demo": "https://nasaarticles.vercel.app"}]...
|
[{"post_id": 74248, "ts": "202 [{"post_id": 74248, "ts": "2026-09-27T01:51:23Z", "hours": 0.2886, "text": "the app was not displaying on the webso now i hosted it properly using vercel"}, {"post_id": 74029, "ts": "2026-09-26T15:38:04Z", "hours": 0.2661, "text": "I have completed the website for the nasa api project. this porject calls tha nasa api for an image and a article and displays it with flawless css for a clean and proper webpage. ive use ai for debugging and fixing error. thanks for checking out!"}]...
|
Title: whats up in nasa by @shauz | Stardance
Dev Title: whats up in nasa by @shauz | Stardance
Devlogs:
I have completed the website for the nasa api project. this porject calls tha nasa api for an image and a article and displays it with flawless css for a clean and proper webpage. ive use ai for debugging and fixing error. thanks for checking out!
the app was not displaying on the webso now i hosted it properly using vercel
Ships:
i have made a very attractive looking ui for this Nasa website. this website calls NASA’s api key for todays article and photo and displays it beautifully in the website. LANGUAGES USED: JavaScript, css, html...
|
1793685252.8942707
|
1793771652.8942707
|
|
63316
|
What Don't You Know by @Air-Fryer | Stardance
|
Air-Fryer
|
0
|
0.45
|
0
|
[]
|
[{"post_id": 74244, "ts": "202 [{"post_id": 74244, "ts": "2026-09-27T01:42:26Z", "hours": 0.45, "text": "Cursor, consider yourself created!"}]...
|
Title: What Don't You Know by @Air-Fryer | Sta Title: What Don't You Know by @Air-Fryer | Stardance
Devlogs:
Cursor, consider yourself created!...
|
1793660138.5573807
|
1794264938.5573807
|
|
66060
|
My awesome macropad! by @lotus64 | Stardance
|
lotus64
|
0
|
0.35
|
0
|
[]
|
[{"post_id": 74231, "ts": "202 [{"post_id": 74231, "ts": "2026-09-27T00:40:09Z", "hours": 0.35, "text": "A macro pad, first time on kicad i dont know where i am going but this is interesting !"}]...
|
Title: My awesome macropad! by @lotus64 | Stardanc Title: My awesome macropad! by @lotus64 | Stardance
Devlogs:
A macro pad, first time on kicad i dont know where i am going but this is interesting !...
|
1793710337.2134402
|
1794315137.2134402
|
|
49998
|
Portable Dice by @TCNCRTR | Stardance
|
TCNCRTR
|
0
|
4.52
|
0
|
[]
|
[{"post_id": 74225, "ts": "202 [{"post_id": 74225, "ts": "2026-09-26T23:59:30Z", "hours": 1.9289, "text": "I restarted it due to the previous version having over 300+ errors, so i used the previous code to help develop the new one. I was able to make the 6-sided die work perfectly, but once added the d1-10, it broke, i tried to fix it, but i was being unsure of how to make the randomizer part efficient and work properly with more than 1 type of dice."}, {"post_id": 51954, "ts": "2026-08-21T22:22:34Z", "hours": 1.3847, "text": "i worked on creating different modes, for dice from D6, to D2, only issues that arose was failure to change between modes thru than D5 and D6, and the roll, would allow for D6 to somehow roll values from 11 to 1."}, {"post_id": 51294, "ts": "2026-08-20T21:03:54Z", "hours": 0.3839, "text": "I attempted to build the menu screen for the dice, now the background set almost perfectly, but the buttons are being an issue, as im still unsure how to program that once one button is clicked, then another button is clicked, but it cannot reverse backward. So far, i have made the option for 4-sided dice, and 6-sided dice. the screenshot below, is my code for the background used in every screen, its simple, but doable."}, {"post_id": 48574, "ts": "2026-08-17T00:51:58Z", "hours": 0.8253, "text": "i built the homescreen for my spinner, yall know those spinners that randomly choose numbers or names, so im creating that, but a portable option, could also work as a portable dice. i also inputted some test samples to see if it will all work right, one button, the blue one, will be made to choose between different dice levels (aka. 6,12,15,100, etc) and left , the red one, will be used to roll a number. If you see some leds, those were a failed experiment of how to input them into this project, i kept them incase i want to put it in a later update."}]...
|
Title: Portable Dice by @TCNCRTR | Stardance
Devl Title: Portable Dice by @TCNCRTR | Stardance
Devlogs:
i built the homescreen for my spinner, yall know those spinners that randomly choose numbers or names, so im creating that, but a portable option, could also work as a portable dice. i also inputted some test samples to see if it will all work right, one button, the blue one, will be made to choose between different dice levels (aka. 6,12,15,100, etc) and left , the red one, will be used to roll a number. If you see some leds, those were a failed experiment of how to input them into this project, i kept them incase i want to put it in a later update.
I attempted to build the menu screen for the dice, now the background set almost perfectly, but the buttons are being an issue, as im still unsure how to program that once one button is clicked, then another button is clicked, but it cannot reverse backward. So far, i have made the option for 4-sided dice, and 6-sided dice. the screenshot below, is my code for the background used in every screen, its simple, but doable.
i worked on creating different modes, for dice from D6, to D2, only issues that arose was failure to change between modes thru than D5 and D6, and the roll, would allow for D6 to somehow roll values from 11 to 1.
I restarted it due to the previous version having over 300+ errors, so i used the previous code to help develop the new one. I was able to make the 6-sided die work perfectly, but once added the d1-10, it broke, i tried to fix it, but i was being unsure of how to make the randomizer part efficient and work properly with more than 1 type of dice....
|
1793314639.872936
|
1793919439.872936
|
|
61503
|
SimpleOS by @reyansh_saindane | Stardance
|
reyansh_saindane
|
2
|
10.0
|
12
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-26T23:01:58Z", "hours": 3.0, "multiplier": 3.44, "payout": 12, "blessing": "neutral", "text": "I made a SimpleOS for the WebOS challenge. The most challenging part of this project was the notes app (because it took a log time to style properly) and the weather app (because I had to connect it to an API). I’m really proud of this project because I know barely any HTML/CSS/JS and I was still able to build something pretty clean and coherent. Try it out yourself at the link below!", "repo": "https://github.com/ReyanshS11/SimpleOS", "demo": "https://reyanshs11.github.io/SimpleOS"}, {"ship_num": 2, "ts": "2026-09-20T17:07:50Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a Simple WebOS. The theme is to keep it simple. It has a simple notes app, a simple date and time, and a simple weather app. The most challenging thing for me in this project was learning HTML/CSS/JS. I have had barely any experience with those in the past (like a few hours), so this project really helped me learn new things. I am most proud of the weather app because I had to connect it to an API.", "repo": "https://github.com/ReyanshS11/SimpleOS", "demo": "https://reyanshs11.github.io/SimpleOS"}]...
|
[{"post_id": 74219, "ts": "202 [{"post_id": 74219, "ts": "2026-09-26T22:57:44Z", "hours": 0.8744, "text": "Music app I added a music app with 5 different choices of music (all instrumental because they were they only free downloads I could find). I’m going to ship now!"}, {"post_id": 74183, "ts": "2026-09-26T21:13:17Z", "hours": 1.1025, "text": "Two new apps! I added two new apps! You can now open Google in SimpleOS and you can also change the background color."}, {"post_id": 71994, "ts": "2026-09-21T23:16:20Z", "hours": 1.4242, "text": "New app! I just made a timer app. I couldn’t think of any ideas for apps so I just went to some default smartphone apps, and ended up choosing a timer. If you have any ideas, I’m open to them. Just comment on this devlog."}, {"post_id": 70863, "ts": "2026-09-19T21:48:38Z", "hours": 0.3825, "text": "Small change to the notes I made it so that you can now add notes and edit their names."}, {"post_id": 70851, "ts": "2026-09-19T21:23:50Z", "hours": 3.5383, "text": "Finished website I just finished the website. The final website has a welcome screen, notes app, and a weather app with real time weather data from your location!"}, {"post_id": 67409, "ts": "2026-09-13T14:40:57Z", "hours": 3.4986, "text": "Finished basic functionality I’m building a very simple webOS (maybe too simple). I’ve just finished the basic functionality, which includes, adding a window, opening and closing it, and a top bar with data like data and time. Next up is to make some apps!"}]...
|
Title: SimpleOS by @reyansh_saindane | Stardance
Title: SimpleOS by @reyansh_saindane | Stardance
Devlogs:
Finished basic functionality I’m building a very simple webOS (maybe too simple). I’ve just finished the basic functionality, which includes, adding a window, opening and closing it, and a top bar with data like data and time. Next up is to make some apps!
Finished website I just finished the website. The final website has a welcome screen, notes app, and a weather app with real time weather data from your location!
Small change to the notes I made it so that you can now add notes and edit their names.
New app! I just made a timer app. I couldn’t think of any ideas for apps so I just went to some default smartphone apps, and ended up choosing a timer. If you have any ideas, I’m open to them. Just comment on this devlog.
Two new apps! I added two new apps! You can now open Google in SimpleOS and you can also change the background color.
Music app I added a music app with 5 different choices of music (all instrumental because they were they only free downloads I could find). I’m going to ship now!
Ships:
I made a Simple WebOS. The theme is to keep it simple. It has a simple notes app, a simple date and time, and a simple weather app. The most challenging thing for me in this project was learning HTML/CSS/JS. I have had barely any experience with those in the past (like a few hours), so this project really helped me learn new things. I am most proud of the weather app because I had to connect it to an API.
I made a SimpleOS for the WebOS challenge. The most challenging part of this project was the notes app (because it took a log time to style properly) and the weather app (because I had to connect it to an API). I’m really proud of this project because I know barely any HTML/CSS/JS and I was still able to build something pretty clean and coherent. Try it out yourself at the link below!...
|
1793684912.3734279
|
1793771312.3734279
|
|
54759
|
NotGoingToBeLateToSchool by @Vedant_Daga | Stardan NotGoingToBeLateToSchool by @Vedant_Daga | Stardance...
|
Vedant_Daga
|
0
|
12.05
|
0
|
[]
|
[{"post_id": 74214, "ts": "202 [{"post_id": 74214, "ts": "2026-09-26T22:43:21Z", "hours": 1.6458, "text": "Devlog 5 fixed all teh issues the review brought up"}, {"post_id": 66350, "ts": "2026-09-12T03:58:10Z", "hours": 0.8417, "text": "Devlog 6 updated the case as per reviewer btw the screws on the front link up to a bar on teh back to keep it even more secure (reviewer look at this)"}, {"post_id": 65174, "ts": "2026-09-10T03:44:43Z", "hours": 0.9633, "text": "Devlog 5 - NotGoingToBeLateToSchool fixing the repo for submission adding mounting holes for the display made the entire thing like 4mm larger to make the display fit better"}, {"post_id": 61881, "ts": "2026-09-05T01:25:36Z", "hours": 3.4417, "text": "Devlog 4 - NotGoingToBeLateToSchool finally finished CADing the board (idk if thats a word) i kinda had to redo the entire board but oh well yk the final case its in two parts the top piece which is gonna be glued down and the body of the shape which has posts to hold the pcb moved the xiao and the display header to the bottom i also decided to use headers cuz this is my first time soldering a pcb so thats smth that could make this slightly easier the problem (cuz obviusly it cant be a smooth process the switch is 15.6mm across the plate flange and a 1u dsa cap is 18.4mm my keys were on 15.09mm so thats too small so the switches overlapped and so did the switch caps and i didnt want to have to cad the caps too rerouted everything to make sure it all fits the new pcb 461 tracks, 14 vias, was 284 (basically cut down hella on the overlapping things) i still have to make all the angles not right angles (i didnt know abt that until i say it on slack tdy when i was checking my pings (good to know ig)) things that i updated on the cad itself had to shift the usb cutout down a ton cuz i didnt account for the header lengths before firmware finished it. 4 alarms with their own days, info pages for weather, hackatime, now playing and world clocks put the spinning globe from my hackpad oled on the clock face next: get it approved so i can get the kit"}, {"post_id": 59985, "ts": "2026-09-02T02:10:33Z", "hours": 1.0489, "text": "Devlog 3 - NotGoingToBeLateToSchool penciled the full case design on paper (with dimensions and math cuz its annoying to have to figure that out by myself) paper first then onshape cuz thats easier and i can worry about things like pcb fitting and stuff beforehand switched to onshape from fusion and its kinda better cuz “create part studio in context” lets me model the case straight off the imported pcb step instead of retyping dimensions ill still prolly use fusion a lot, but like im more biased to onshape (thanks blare!) the shape its like a right trapeziod which i shelled the pcb is gonna sit on those posts you see and then imma screw it in the screen is gonna be in the front openign with teh jumpers and stuff thats abt it next: finishing the CAD"}, {"post_id": 58522, "ts": "2026-08-30T23:16:39Z", "hours": 0.2536, "text": "Devlog 2 - NotGoingToBeLateToSchool firmware is basically done wifi + ntp so it knows the time without an rtc clock face 3x3 matrix scan alarm with a buzzer that speeds up the longer you ignore it 3 snoozes max, then it makes you type a code on the keypad to kill it the display was the annoying bit. 284x76 is not a size the st7789 library expects, so it needs init(76, 284) and setOffsets(82, 18) or you get the picture shoved into a corner. and Adafruit_ST7789 makes setOffsets protected, so you have to subclass it just to call it. posting the cad in more detail next time, sorry (scared of losing my streak) this is my planned cad design"}, {"post_id": 56935, "ts": "2026-08-28T23:20:02Z", "hours": 3.8572, "text": "Devlog 1 - NotGoingToBeLateToSchool what it is : xiao esp32c3, 3x3 keypad on top of the case, 2.25in st7789 on the front on jumpers. ambient display by day, alarm by night. features auto rotates through weather / hackatime hours / now playing / world clocks pulls real iphone notifications over ble with ancs at alarm time it pairs as a ble media remote and tells my phone to hit play on spotify, so i wake up to music not a piezo 3 snoozes max. on the 3rd you type a code on the keypad to kill it screen ramps brighter as the alarm approaches, fake sunrise the board (schematic + pcb done and routed) 69.5 x 97mm, 2 layers, 25 footprints 284 tracks, 22 vias, about 2.1m of copper keys on the top side at 19.05 pitch, everything else underneath so the case only shows keycaps xiao at the back with usb-c out the rear, display header at the front edge so the jumper run is short diodes tucked into the gaps between key rows stuff i got wrong thought i could make it a bluetooth speaker. c3 is ble only, no bluetooth classic, so a2dp is impossible. hence the ble remote workaround spent ages thinking the extra pins on top of the xiao were spare. they’re jtag pads for gpio i was already using so bl goes to gnd and rst to 3v3 like the docs say. no hardware brightness, sunrise ramp is a dimming palette instead wanted a rotary encoder, isn’t in the kit. went 3x3 matrix instead, 9 keys off 6 pins using diodes already in the box next : case cad, then firmware"}]...
|
Title: NotGoingToBeLateToSchool by @Vedant_Daga | Title: NotGoingToBeLateToSchool by @Vedant_Daga | Stardance
Devlogs:
Devlog 1 - NotGoingToBeLateToSchool what it is : xiao esp32c3, 3x3 keypad on top of the case, 2.25in st7789 on the front on jumpers. ambient display by day, alarm by night. features auto rotates through weather / hackatime hours / now playing / world clocks pulls real iphone notifications over ble with ancs at alarm time it pairs as a ble media remote and tells my phone to hit play on spotify, so i wake up to music not a piezo 3 snoozes max. on the 3rd you type a code on the keypad to kill it screen ramps brighter as the alarm approaches, fake sunrise the board (schematic + pcb done and routed) 69.5 x 97mm, 2 layers, 25 footprints 284 tracks, 22 vias, about 2.1m of copper keys on the top side at 19.05 pitch, everything else underneath so the case only shows keycaps xiao at the back with usb-c out the rear, display header at the front edge so the jumper run is short diodes tucked into the gaps between key rows stuff i got wrong thought i could make it a bluetooth speaker. c3 is ble only, no bluetooth classic, so a2dp is impossible. hence the ble remote workaround spent ages thinking the extra pins on top of the xiao were spare. they’re jtag pads for gpio i was already using so bl goes to gnd and rst to 3v3 like the docs say. no hardware brightness, sunrise ramp is a dimming palette instead wanted a rotary encoder, isn’t in the kit. went 3x3 matrix instead, 9 keys off 6 pins using diodes already in the box next : case cad, then firmware
Devlog 2 - NotGoingToBeLateToSchool firmware is basically done wifi + ntp so it knows the time without an rtc clock face 3x3 matrix scan alarm with a buzzer that speeds up the longer you ignore it 3 snoozes max, then it makes you type a code on the keypad to kill it the display was the annoying bit. 284x76 is not a size the st7789 library expects, so it needs init(76, 284) and setOffsets(82, 18) or you get the picture shoved into a corner. and Adafruit_ST7789 makes setOffsets protected, so you have to subclass it just to call it. posting the cad in more detail next time, sorry (scared of losing my streak) this is my planned cad design
Devlog 3 - NotGoingToBeLateToSchool penciled the full case design on paper (with dimensions and math cuz its annoying to have to figure that out by myself) paper first then onshape cuz thats easier and i can worry about things like pcb fitting and stuff beforehand switched to onshape from fusion and its kinda better cuz “create part studio in context” lets me model the case straight off the imported pcb step instead of retyping dimensions ill still prolly use fusion a lot, but like im more biased to onshape (thanks blare!) the shape its like a right trapeziod which i shelled the pcb is gonna sit on those posts you see and then imma screw it in the screen is gonna be in the front openign with teh jumpers and stuff thats abt it next: finishing the CAD
Devlog 4 - NotGoingToBeLateToSchool finally finished CADing the board (idk if thats a word) i kinda had to redo the entire board but oh well yk the final case its in two parts the top piece which is gonna be glued down and the body of the shape which has posts to hold the pcb moved the xiao and the display header to the bottom i also decided to use headers cuz this is my first time soldering a pcb so thats smth that could make this slightly easier the problem (cuz obviusly it cant be a smooth process the switch is 15.6mm across the plate flange and a 1u dsa cap is 18.4mm my keys were on 15.09mm so thats too small so the switches overlapped and so did the switch caps and i didnt want to have to cad the caps too rerouted everything to make sure it all fits the new pcb 461 tracks, 14 vias, was 284 (basically cut down hella on the overlapping things) i still have to make all the angles not right angles (i didnt know abt that until i say it on slack tdy when i was checking my pings (good to know ig)) things that i updated on the cad itself had to shift the usb cutout down a ton cuz i didnt account for the header lengths before firmware finished it. 4 alarms with their own days, info pages for weather, hackatime, now playing and world clocks put the spinning globe from my hackpad oled on the clock face next: get it approved so i can get the kit
Devlog 5 - NotGoingToBeLateToSchool fixing the repo for submission adding mounting holes for the display made the entire thing like 4mm larger to make the display fit better
Devlog 6 updated the case as per reviewer btw the screws on the front link up to a bar on teh back to keep it even more secure (reviewer look at this)
Devlog 5 fixed all teh issues the review brought up...
|
1793566227.1339576
|
1794171027.1339576
|
|
66129
|
Personal site by @olton | Stardance
|
olton
|
0
|
0.87
|
0
|
[]
|
[{"post_id": 74210, "ts": "202 [{"post_id": 74210, "ts": "2026-09-26T22:23:58Z", "hours": 0.8669, "text": "Started working on da website. Made list of things to add and a very basic sketch of how the webpage will look. I want that the user can click different parts of the image to explore different parts of the website so I experimented with ways to do that. Mainly with image maps. But they seem to be outdated so will look into more modern solutions tomorrow."}]...
|
Title: Personal site by @olton | Stardance
Devlog Title: Personal site by @olton | Stardance
Devlogs:
Started working on da website. Made list of things to add and a very basic sketch of how the webpage will look. I want that the user can click different parts of the image to explore different parts of the website so I experimented with ways to do that. Mainly with image maps. But they seem to be outdated so will look into more modern solutions tomorrow....
|
1793713685.0547094
|
1794318485.0547094
|
|
66142
|
MicroDevSaftey by @I-like-BWRs | Stardance
|
I-like-BWRs
|
0
|
0.43
|
0
|
[]
|
[{"post_id": 74206, "ts": "202 [{"post_id": 74206, "ts": "2026-09-26T22:20:03Z", "hours": 0.4333, "text": "The very beginning …. Since Stardance has been extended by a month I though I would make a quick and cool project to finish off. So this idea was born about a smoke alarm, mixed with a tempreture sensor, VOC sensor, current sensor and other air quality sensors. The idea is I get a wireless surge protected multiplug board - then control it over wifi from a small control box - with buttons to trip power to all my bench equipment in the case of: Dangerous Heat Smoke Over Current Also make it has alarms that go off if it senses fumes in the air. So like a room saftey moniter that also does power control. I spent most of this devlog debating in my head if I should make the sensor box separate or in the same box as the power control one."}]...
|
Title: MicroDevSaftey by @I-like-BWRs | Stardance
Title: MicroDevSaftey by @I-like-BWRs | Stardance
Devlogs:
The very beginning …. Since Stardance has been extended by a month I though I would make a quick and cool project to finish off. So this idea was born about a smoke alarm, mixed with a tempreture sensor, VOC sensor, current sensor and other air quality sensors. The idea is I get a wireless surge protected multiplug board - then control it over wifi from a small control box - with buttons to trip power to all my bench equipment in the case of: Dangerous Heat Smoke Over Current Also make it has alarms that go off if it senses fumes in the air. So like a room saftey moniter that also does power control. I spent most of this devlog debating in my head if I should make the sensor box separate or in the same box as the power control one....
|
1793713722.2842362
|
1794318522.2842362
|
|
65900
|
Visitor Site by @luke_ib_bronson | Stardance
|
luke_ib_bronson
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-26T22:23:20Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Message to Mega was created as a means for people to send messages to me without any judgment and to claim a spot in the registry, like historic visitor websites people have made in the past. I have worked on the project mostly disconnected from stardance and hackclub for hours on my own, attempting to make the quality presentable and publishable. People on the website can post a message of their own, use their own username, see other people’s messages, and give suggestions on the website. The website features responsive mobile styling that adapts to mobile browsers. The backend is not publicly editable, so if someone would like me to delete one of their messages they are encouraged to contact me at [email protected] . Generally, message submissions are run through the backend to allow them to speak their mind, but prevent any kind of blocked words or phrases, spam, promotion, urls, etc. (full list can be found in the project README] I have also added an adjustable backend variable to change the message character limits easily preventing extremely long messages. Some other features that I have added are a side bar with a page index that allows you to quickly jump to a section and a contact section, a spotify widget that updates to a playlist I have made, a clickable heart counter on the side, and suggestion form box for playlist suggestions. I am currently working on improving the form and am considering removing the spotify widget to protect my personal account privacy. I may also add a total visitor count and remove some of the unnecessary animations in order to be more resource efficient. This project is currently licensed under an MIT license .", "repo": "https://github.com/megamann81/message-to-mega", "demo": "https://message-to-mega.vercel.app/"}]...
|
[{"post_id": 74202, "ts": "202 [{"post_id": 74202, "ts": "2026-09-26T22:15:37Z", "hours": 0.4858, "text": "Message to Mega Project Purpose This markdown file was made by megamann81 to explain this projects purpose for the Stardance Challenge project (this part was made for the repository to explain the PROJECTPURPOSE.md file) Message to Mega was created as a means for people to send messages to me without any judgment and to claim a spot in the registry, like historic visitor websites people have made in the past. People on the website can post a message of their own, use their own username, see other people’s messages, and give suggestions on the website. The website features responsive mobile styling that adapts to mobile browsers. The backend for the project is located at https://wcafxaensepvnhzebixg.supabase.co The backend is not publicly editable, so if someone would like me to delete one of their messages they are encouraged to contact me at [email protected] . Generally, message submissions are run through the backend to allow them to speak their mind, but prevent any kind of blocked words or phrases, spam, promotion, urls, etc. (full list can be found in the project README ) I have also added an adjustable backend variable to change the message character limits easily preventing extremely long messages. Some other features that I have added are a side bar with a page index that allows you to quickly jump to a section and a contact section, a spotify widget that updates to a playlist I have made, a clickable heart counter on the side, and suggestion form box for playlist suggestions. I am currently working on improving the form and am considering removing the spotify widget to protect my personal account privacy. I may also add a total visitor count and remove some of the unnecessary animations in order to be more resource efficient. This project is currently licensed under an MIT license ."}]...
|
Title: Visitor Site by @luke_ib_bronson | Stardanc Title: Visitor Site by @luke_ib_bronson | Stardance
Devlogs:
Message to Mega Project Purpose This markdown file was made by megamann81 to explain this projects purpose for the Stardance Challenge project (this part was made for the repository to explain the PROJECTPURPOSE.md file) Message to Mega was created as a means for people to send messages to me without any judgment and to claim a spot in the registry, like historic visitor websites people have made in the past. People on the website can post a message of their own, use their own username, see other people’s messages, and give suggestions on the website. The website features responsive mobile styling that adapts to mobile browsers. The backend for the project is located at https://wcafxaensepvnhzebixg.supabase.co The backend is not publicly editable, so if someone would like me to delete one of their messages they are encouraged to contact me at [email protected] . Generally, message submissions are run through the backend to allow them to speak their mind, but prevent any kind of blocked words or phrases, spam, promotion, urls, etc. (full list can be found in the project README ) I have also added an adjustable backend variable to change the message character limits easily preventing extremely long messages. Some other features that I have added are a side bar with a page index that allows you to quickly jump to a section and a contact section, a spotify widget that updates to a playlist I have made, a clickable heart counter on the side, and suggestion form box for playlist suggestions. I am currently working on improving the form and am considering removing the spotify widget to protect my personal account privacy. I may also add a total visitor count and remove some of the unnecessary animations in order to be more resource efficient. This project is currently licensed under an MIT license .
Ships:
Message to Mega was created as a means for people to send messages to me without any judgment and to claim a spot in the registry, like historic visitor websites people have made in the past. I have worked on the project mostly disconnected from stardance and hackclub for hours on my own, attempting to make the quality presentable and publishable. People on the website can post a message of their own, use their own username, see other people’s messages, and give suggestions on the website. The website features responsive mobile styling that adapts to mobile browsers. The backend is not publicly editable, so if someone would like me to delete one of their messages they are encouraged to contact me at [email protected] . Generally, message submissions are run through the backend to allow them to speak their mind, but prevent any kind of blocked words or phrases, spam, promotion, urls, etc. (full list can be found in the project README] I have also added an adjustable backend variable to change the message character limits easily preventing extremely long messages. Some other features that I have added are a side bar with a page index that allows you to quickly jump to a section and a contact section, a spotify widget that updates to a playlist I have made, a clickable heart counter on the side, and suggestion form box for playlist suggestions. I am currently working on improving the form and am considering removing the spotify widget to protect my personal account privacy. I may also add a total visitor count and remove some of the unnecessary animations in order to be more resource efficient. This project is currently licensed under an MIT license ....
|
1793685387.3556163
|
1793771787.3556163
|
|
66126
|
Turbo Toads: Neon Run by @Itsalhasa | Stardance
|
Itsalhasa
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-26T22:15:02Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I finished my game Turbo Toads! I put coding, added the player, coins, enemies, platforms and the portal. I also put it on GitHub and made a demo so people can play it. It was not to hard and not to easy but yeah.", "repo": "https://github.com/Alhasa1/Turbo-Toads-", "demo": "https://alhasa1.github.io/Turbo-Toads-/"}]...
|
[{"post_id": 74199, "ts": "202 [{"post_id": 74199, "ts": "2026-09-26T22:10:02Z", "hours": 0.2742, "text": "YOO guys day one making a game"}]...
|
Title: Turbo Toads: Neon Run by @Itsalhasa | Stard Title: Turbo Toads: Neon Run by @Itsalhasa | Stardance
Devlogs:
YOO guys day one making a game
Ships:
I finished my game Turbo Toads! I put coding, added the player, coins, enemies, platforms and the portal. I also put it on GitHub and made a demo so people can play it. It was not to hard and not to easy but yeah....
|
1793685418.7587671
|
1794549418.7587671
|
|
66132
|
Chromebook Batocera PC Case by @vulcan4378 | Stard Chromebook Batocera PC Case by @vulcan4378 | Stardance...
|
vulcan4378
|
0
|
1.88
|
0
|
[]
|
[{"post_id": 74192, "ts": "202 [{"post_id": 74192, "ts": "2026-09-26T21:43:15Z", "hours": 0.3339, "text": "Two tiny addons. First addon being the added vents int the back so hot air gets out. Second addon being the shelf For the motherboards sub board this should be close to the finish"}, {"post_id": 74181, "ts": "2026-09-26T21:11:11Z", "hours": 1.5508, "text": "I started making the case and heatsink. I made the heatsink linier so when the fans blow they blow through keeping both the petg plastic and heatsink cool. I also hid the fans so they are not a eye sore and made sure they get air. In the same slot I made a are so that I can add leds so It looks like a steam machine. There will be more handy addons tomorrow. TIMELAPSE LINKS https://lapse.hackclub.com/timelapse/VSEK-76tTF_P https://lapse.hackclub.com/timelapse/fE0kpQJJf6nG"}]...
|
Title: Chromebook Batocera PC Case by @vulcan4378 Title: Chromebook Batocera PC Case by @vulcan4378 | Stardance
Devlogs:
I started making the case and heatsink. I made the heatsink linier so when the fans blow they blow through keeping both the petg plastic and heatsink cool. I also hid the fans so they are not a eye sore and made sure they get air. In the same slot I made a are so that I can add leds so It looks like a steam machine. There will be more handy addons tomorrow. TIMELAPSE LINKS https://lapse.hackclub.com/timelapse/VSEK-76tTF_P https://lapse.hackclub.com/timelapse/fE0kpQJJf6nG
Two tiny addons. First addon being the added vents int the back so hot air gets out. Second addon being the shelf For the motherboards sub board this should be close to the finish...
|
1793713694.3494768
|
1794318494.3494768
|
|
66011
|
Coder AI by @Vojtik8IT | Stardance
|
Vojtik8IT
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-05T21:54:01Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "**An open-source AI Discord assistant built to help you planning your ideas, building them, and importing them to GitHub! Highlights: Automated code generation with a GitHub integration Lightweight and easy to setup Feedback and stars are welcome!", "repo": "https://github.com/koubik-design/coder-bot", "demo": "https://discord.com/oauth2/authorize?client_id=1537085683955535923"}]...
|
[{"post_id": 74180, "ts": "202 [{"post_id": 74180, "ts": "2026-09-26T21:10:50Z", "hours": 1.6997, "text": "The logging After many thinking i think the logging needs to be better, so i am going to work on a better logging system and try to add: AutoModeration Slash commands"}]...
|
Title: Coder AI by @Vojtik8IT | Stardance
Devlogs Title: Coder AI by @Vojtik8IT | Stardance
Devlogs:
The logging After many thinking i think the logging needs to be better, so i am going to work on a better logging system and try to add: AutoModeration Slash commands
Ships:
**An open-source AI Discord assistant built to help you planning your ideas, building them, and importing them to GitHub! Highlights: Automated code generation with a GitHub integration Lightweight and easy to setup Feedback and stars are welcome!...
|
1793685403.1958
|
1793771803.1958
|
|
65268
|
PrivateOS by @suvrathkesaraju | Stardance
|
suvrathkesaraju
|
1
|
10.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-26T20:55:24Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Private OS! an WEBos thats made to run things locally! Features A desktop enviroment with the abilty to open cand close windows(open by clicking on the app dock item and close using the red circle on the corners of windows) A top bar features a live time in AM/PM format! top bar also features a battery widget but it only works in chromium based browsers (no Tor or Firefox based browsers including but not limited to brave and zen) an appdock that lets you open an app by clicking on the apps icon A notes app that lets you write down plain text and download said plain text so you can keep it on you Hard Drive -A audio player that elts you add your audio file(mp3, wav, etc) and play it back", "repo": "https://github.com/suvrathkesaraju-lgtm/PrivateOS", "demo": "https://suvrathkesaraju-lgtm.github.io/PrivateOS/"}]...
|
[{"post_id": 74173, "ts": "202 [{"post_id": 74173, "ts": "2026-09-26T20:47:17Z", "hours": 0.2692, "text": "Added a README.md and thats about it"}, {"post_id": 74166, "ts": "2026-09-26T20:24:46Z", "hours": 1.4481, "text": "I added a music player app! -new music player app -plays local music files that you give -includes playback controls -does not save your file!!! this part was very challenging when it came to css more than the script the script wasnt easy but i had a good tutorial on youtube that made it so i could quickly make the script part. the css on the otherhand i couldnt just copy from the video and it made sure i had a rough time lol. I spent a sold 20 minutes thinking my seek bar was gone just to realize it was hidden behind another element. anyways im gonna write the read me and ship it soon!"}, {"post_id": 74112, "ts": "2026-09-26T18:21:10Z", "hours": 4.7419, "text": "So i accidentally made this a new project even though it was a restart so i had to do some relinking anwyays heres the 2 dev logs that got deleted as collateral damage of my poor setup ………………………………………………………………………………………………………………………… Restarted Project i was tired for my first attempt at an OS so i gave it a second go (and i wanted to get it rated instead of as a mission) -I made afunctional top bar that updates time realtime -added a battery widget in the top bar that tracks battery -added a dock at the bottom(not been pushed to github yet) -added a notes app(in progress & not been pushed to github) unlike my last attempt this time i seperated all my files my script, css, and html! this not only made it easier to read, it also amde it easier to edit and made this iteration much faster to implement than the last where it took me almost 4 hours to get to the same point! while i was working on my dock on the bottom i noticed that using transform: translate(-50%, -50%) that the dock was always may pixels above the bottom even when “bottom: 0%” so i edited. i didnt realize that the culprit was was the transform and spent 20 minutes before i finally igured out hwo to fix it and changed it to translate(-50%, -10%). ………………………………………………………………………………………………………………………… I added a draggable windows and the first app which is a notes app! -fixed off center time -added app dock that functions -made a functioning notes app -added draggable windows -added closable windows during this session i had one big problem i spent an hour fixing it. it was the save notes button which i added an onclick to but when i did so nothing happened. i thought the logic was wrong and proceeded to spend an hour trying to fix it but after words i noticed that i forgot to type function before the initializing the function and just wrote the function name. I was pretty frustrated at how simple the fix was and now i feel like i lost an hour of my life Lol. ………………………………………………………………………………………………………………………… anyways the project can be tested on github pages!"}, {"post_id": 73792, "ts": "2026-09-26T00:27:07Z", "hours": 1.3786, "text": "I mainly spent my time revamping the UI and adding window dragging! Changes: Swapped the Wallpaper Added Window Dragging and closing Swapped Color Pallette made UI less ‘floaty’ i spent around ~30 minutes to get the windows to drag and ~15 minutes to close them using java script which was not too hard! unfortunately i still struggle with CSS since while i was making it i noticed that there was a scrollbar at the bottom and the page was wider than the screen. I started off trying to fix it by moving the weather checker(which i still have to make function) more inward but that didn’t give much results, so i tried to change the whole body and set a certain width but that made it worse. after around ~50 minutes i tried changing the top bar’s width from 100% down and that fixed it i used trial and error to find the perfect percent before i get a scroll bar as 99.275%."}, {"post_id": 73762, "ts": "2026-09-25T21:35:08Z", "hours": 2.4078, "text": "I started the project! -created the index -added a wallpaper -added a welcome screen -added a top bar -added static time -added my current weather(i will try to create live weather next update) -made windows translucent The first part was going fine until i had to add the image for the music logo onto the welcome! i made the mistake of trying to use position absolute which took the image out of the div which made me lose ~45 minutes of time before i realized that the “position: absolute;” only works on the child so i then i went digging online to find that the best way to do it is to set “display: block; margin: 0 auto;” in style for the image!"}]...
|
Title: PrivateOS by @suvrathkesaraju | Stardance
Title: PrivateOS by @suvrathkesaraju | Stardance
Devlogs:
I started the project! -created the index -added a wallpaper -added a welcome screen -added a top bar -added static time -added my current weather(i will try to create live weather next update) -made windows translucent The first part was going fine until i had to add the image for the music logo onto the welcome! i made the mistake of trying to use position absolute which took the image out of the div which made me lose ~45 minutes of time before i realized that the “position: absolute;” only works on the child so i then i went digging online to find that the best way to do it is to set “display: block; margin: 0 auto;” in style for the image!
I mainly spent my time revamping the UI and adding window dragging! Changes: Swapped the Wallpaper Added Window Dragging and closing Swapped Color Pallette made UI less ‘floaty’ i spent around ~30 minutes to get the windows to drag and ~15 minutes to close them using java script which was not too hard! unfortunately i still struggle with CSS since while i was making it i noticed that there was a scrollbar at the bottom and the page was wider than the screen. I started off trying to fix it by moving the weather checker(which i still have to make function) more inward but that didn’t give much results, so i tried to change the whole body and set a certain width but that made it worse. after around ~50 minutes i tried changing the top bar’s width from 100% down and that fixed it i used trial and error to find the perfect percent before i get a scroll bar as 99.275%.
So i accidentally made this a new project even though it was a restart so i had to do some relinking anwyays heres the 2 dev logs that got deleted as collateral damage of my poor setup ………………………………………………………………………………………………………………………… Restarted Project i was tired for my first attempt at an OS so i gave it a second go (and i wanted to get it rated instead of as a mission) -I made afunctional top bar that updates time realtime -added a battery widget in the top bar that tracks battery -added a dock at the bottom(not been pushed to github yet) -added a notes app(in progress & not been pushed to github) unlike my last attempt this time i seperated all my files my script, css, and html! this not only made it easier to read, it also amde it easier to edit and made this iteration much faster to implement than the last where it took me almost 4 hours to get to the same point! while i was working on my dock on the bottom i noticed that using transform: translate(-50%, -50%) that the dock was always may pixels above the bottom even when “bottom: 0%” so i edited. i didnt realize that the culprit was was the transform and spent 20 minutes before i finally igured out hwo to fix it and changed it to translate(-50%, -10%). ………………………………………………………………………………………………………………………… I added a draggable windows and the first app which is a notes app! -fixed off center time -added app dock that functions -made a functioning notes app -added draggable windows -added closable windows during this session i had one big problem i spent an hour fixing it. it was the save notes button which i added an onclick to but when i did so nothing happened. i thought the logic was wrong and proceeded to spend an hour trying to fix it but after words i noticed that i forgot to type function before the initializing the function and just wrote the function name. I was pretty frustrated at how simple the fix was and now i feel like i lost an hour of my life Lol. ………………………………………………………………………………………………………………………… anyways the project can be tested on github pages!
I added a music player app! -new music player app -plays local music files that you give -includes playback controls -does not save your file!!! this part was very challenging when it came to css more than the script the script wasnt easy but i had a good tutorial on youtube that made it so i could quickly make the script part. the css on the otherhand i couldnt just copy from the video and it made sure i had a rough time lol. I spent a sold 20 minutes thinking my seek bar was gone just to realize it was hidden behind another element. anyways im gonna write the read me and ship it soon!
Added a README.md and thats about it
Ships:
Private OS! an WEBos thats made to run things locally! Features A desktop enviroment with the abilty to open cand close windows(open by clicking on the app dock item and close using the red circle on the corners of windows) A top bar features a live time in AM/PM format! top bar also features a battery widget but it only works in chromium based browsers (no Tor or Firefox based browsers including but not limited to brave and zen) an appdock that lets you open an app by clicking on the apps icon A notes app that lets you write down plain text and download said plain text so you can keep it on you Hard Drive -A audio player that elts you add your audio file(mp3, wav, etc) and play it back...
|
1793685336.037381
|
1793771736.037381
|
|
17221
|
Desktop Quick Note Taker by @Greg_ios | Stardance
|
Greg_ios
|
0
|
0.78
|
0
|
[]
|
[{"post_id": 7417, "ts": "2026 [{"post_id": 7417, "ts": "2026-06-12T10:59:16Z", "hours": 0.3425, "text": "Add note-taking application with system tray support Implemented a Tkinter-based GUI for taking and displaying notes. Integrated JSON file handling for saving and loading notes. Added functionality to show notes in a tree view. Included keyboard shortcut (Ctrl + Alt + N) to open the note-taking app. Set up a system tray icon using pystray for easy access to the application. Added an exit option in the system tray menu to close the application. Included an image asset (notes.png) for the system tray icon."}, {"post_id": 7406, "ts": "2026-06-12T10:36:17Z", "hours": 0.4328, "text": "Make the basic logic for the Desktop Quick Note Taker. But I have some problems with the show notes"}]...
|
Title: Desktop Quick Note Taker by @Greg_ios | Sta Title: Desktop Quick Note Taker by @Greg_ios | Stardance
Devlogs:
Make the basic logic for the Desktop Quick Note Taker. But I have some problems with the show notes
Add note-taking application with system tray support Implemented a Tkinter-based GUI for taking and displaying notes. Integrated JSON file handling for saving and loading notes. Added functionality to show notes in a tree view. Included keyboard shortcut (Ctrl + Alt + N) to open the note-taking app. Set up a system tray icon using pystray for easy access to the application. Added an exit option in the system tray menu to close the application. Included an image asset (notes.png) for the system tray icon....
|
1793519471.016951
|
1794124271.016951
|
|
66117
|
ICloud Alternative by @vaishantn | Stardance
|
vaishantn
|
0
|
10.1
|
0
|
[]
|
[{"post_id": 74169, "ts": "202 [{"post_id": 74169, "ts": "2026-09-26T20:27:02Z", "hours": 10.1044, "text": "I am sick and tired of paid subscriptions. So, I made an alternative to iCloud. This also has an extra feature of converting files."}]...
|
Title: ICloud Alternative by @vaishantn | Stardanc Title: ICloud Alternative by @vaishantn | Stardance
Devlogs:
I am sick and tired of paid subscriptions. So, I made an alternative to iCloud. This also has an extra feature of converting files....
|
1793713656.0891747
|
1794318456.0891747
|