|
24804
|
🚀 NASA Space Lines by @duarda350 | Stardance
|
duarda350
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-23T13:54:30Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "🛰️ NASA API Integration The project uses NASA’s Astronomy Picture of the Day API. API endpoint: https://api.nasa.gov/ The API key is provided at runtime using Flutter’s –dart-define mechanism. Example: flutter run -d chrome –dart-define=NASA_API_KEY=YOUR_API_KEY Important Do not commit your NASA API key to GitHub. The project intentionally reads the API key using: const apiKey = String.fromEnvironment(‘NASA_API_KEY’); This keeps the key outside the source code. Note: because this project runs on Flutter Web, values passed with –dart-define can ultimately be exposed in the client application. For a production application, a backend/proxy and appropriate API restrictions should be considered. 🛠️ Technologies Technology Purpose Flutter Application framework Dart Programming language Flutter Web Web application runtime Material Design UI components NASA APOD API Astronomy data and media HTTP API communication JSON API data format VS Code Development environment Git Version control GitHub Source code repository 📂 Project Structure Nasa_Space_Trip_App/ │ ├── android/ ├── ios/ ├── linux/ ├── macos/ ├── web/ ├── windows/ │ ├── assets/ │ └── imagens/ │ ├── background.jpg │ ├── iss.png │ ├── mars.png │ ├── moon.png │ ├── neptune.png │ ├── saturn.png │ └── sun.png │ ├── lib/ │ ├── screens/ │ │ ├── data/ │ │ │ └── planets.dart │ │ │ │ │ ├── body_screen.dart │ │ ├── home_screen.dart │ │ └── planet_detail_screen.dart │ │ │ ├── services/ │ │ └── nasa_service.dart │ │ │ └── main.dart │ ├── test/ │ ├── pubspec.yaml ├── pubspec.lock ├── analysis_options.yaml └── README.md 🧭 Traceability / Setup Table The table below provides a quick traceability guide for developers who want to run, understand, or troubleshoot the project. Step Component Location Purpose Verification 1 Flutter SDK Local environment Provides the development framework flutter –version 2 Project dependencies pubspec.yaml Defines project packages flutter pub get 3 Assets assets/imagens/ Stores application images Check image files exist 4 Main entry point lib/main.dart Starts the application Run the project 5 Home screen lib/screens/home_screen.dart Application landing screen Home screen appears 6 Destination screen lib/screens/body_screen.dart Displays available destinations Destination list appears 7 Planet data lib/screens/data/planets.dart Stores destination information Destination cards load 8 Detail s", "repo": "https://github.com/mariaeduardabuenoda/Nasa_Space_Trip_App.", "demo": "https://mariaeduardabuenoda.github.io/Nasa_Space_Trip_App./"}]...
|
[{"post_id": 72663, "ts": "202 [{"post_id": 72663, "ts": "2026-09-23T13:31:43Z", "hours": 4.3619, "text": "🚀 NASA Space Lines NASA Space Lines is a space exploration application developed with Flutter and Dart.The project allows users to explore different space destinations, view information about planets and the International Space Station (ISS), access NASA’s Astronomy Picture of the Day (APOD), and calculate how much they would weigh on different celestial bodies.The application was developed as a practical project to improve mobile and web application development skills, API integration, UI development, state management, and problem-solving with Flutter. Click here to see the repository , click here to view the page ."}]...
|
Title: 🚀 NASA Space Lines by @duarda350 | Stardanc Title: 🚀 NASA Space Lines by @duarda350 | Stardance
Devlogs:
🚀 NASA Space Lines NASA Space Lines is a space exploration application developed with Flutter and Dart.The project allows users to explore different space destinations, view information about planets and the International Space Station (ISS), access NASA’s Astronomy Picture of the Day (APOD), and calculate how much they would weigh on different celestial bodies.The application was developed as a practical project to improve mobile and web application development skills, API integration, UI development, state management, and problem-solving with Flutter. Click here to see the repository , click here to view the page .
Ships:
🛰️ NASA API Integration The project uses NASA’s Astronomy Picture of the Day API. API endpoint: https://api.nasa.gov/ The API key is provided at runtime using Flutter’s –dart-define mechanism. Example: flutter run -d chrome –dart-define=NASA_API_KEY=YOUR_API_KEY Important Do not commit your NASA API key to GitHub. The project intentionally reads the API key using: const apiKey = String.fromEnvironment(‘NASA_API_KEY’); This keeps the key outside the source code. Note: because this project runs on Flutter Web, values passed with –dart-define can ultimately be exposed in the client application. For a production application, a backend/proxy and appropriate API restrictions should be considered. 🛠️ Technologies Technology Purpose Flutter Application framework Dart Programming language Flutter Web Web application runtime Material Design UI components NASA APOD API Astronomy data and media HTTP API communication JSON API data format VS Code Development environment Git Version control GitHub Source code repository 📂 Project Structure Nasa_Space_Trip_App/ │ ├── android/ ├── ios/ ├── linux/ ├── macos/ ├── web/ ├── windows/ │ ├── assets/ │ └── imagens/ │ ├── background.jpg │ ├── iss.png │ ├── mars.png │ ├── moon.png │ ├── neptune.png │ ├── saturn.png │ └── sun.png │ ├── lib/ │ ├── screens/ │ │ ├── data/ │ │ │ └── planets.dart │ │ │ │ │ ├── body_screen.dart │ │ ├── home_screen.dart │ │ └── planet_detail_screen.dart │ │ │ ├── services/ │ │ └── nasa_service.dart │ │ │ └── main.dart │ ├── test/ │ ├── pubspec.yaml ├── pubspec.lock ├── analysis_options.yaml └── README.md 🧭 Traceability / Setup Table The table below provides a quick traceability guide for developers who want to run, understand, or troubleshoot the project. Step Component Location Purpose Verification 1 Flutter SDK Local environment Provides the development framework flutter –version 2 Project dependencies pubspec.yaml Defines project packages flutter pub get 3 Assets assets/imagens/ Stores application images Check image files exist 4 Main entry point lib/main.dart Starts the application Run the project 5 Home screen lib/screens/home_screen.dart Application landing screen Home screen appears 6 Destination screen lib/screens/body_screen.dart Displays available destinations Destination list appears 7 Planet data lib/screens/data/planets.dart Stores destination information Destination cards load 8 Detail s...
|
1793004785.6558766
|
1793091185.6558766
|
|
55819
|
a very Craic site by @craicrat | Stardance
|
craicrat
|
2
|
11.0
|
25
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-20T08:48:23Z", "hours": 1.0, "multiplier": 1.52, "payout": 2, "blessing": "neutral", "text": "here is the second ship of my first personal website. I just added the 4 new images and fixed the video. since my exam date is coming closer i couldnt really get time to work on anything else. decided to do this ship to push forward the changes i did make. hope whoever sees this project has a nice day.", "repo": "https://github.com/SyedUmerAsim/My-Website", "demo": "https://syedumerasim.github.io/My-Website/"}, {"ship_num": 2, "ts": "2026-09-16T19:09:44Z", "hours": 10.0, "multiplier": 2.34, "payout": 23, "blessing": "neutral", "text": "I made my very own personal Website. It isn’t anything professional, if anything its more silly than serious. This was my first time coding on html+css, as well as my first time dealing with github, setting up the repositories, source control(had me losing my mind for an hour). But im happy with the progress ive made, could have done better.", "repo": "https://github.com/SyedUmerAsim/My-Website", "demo": "https://syedumerasim.github.io/My-Website/"}]...
|
[{"post_id": 69716, "ts": "202 [{"post_id": 69716, "ts": "2026-09-17T17:13:58Z", "hours": 1.0097, "text": "I read the Rating reasons thingies, and most of them were about how the video didnt work, so i fixed that, because i wanted people to see what that video really is. Another person pointed out i should have more pictures in the website, i couldn’t figure out where to add pictures in Contacts and Projects, but i added 4 new pics to the Landing page, idk why i didnt think of this before.. I also centered the navigation bar, as it looked too far to the left."}, {"post_id": 69288, "ts": "2026-09-16T18:59:51Z", "hours": 1.6747, "text": "My last devlog(for this project). Ive added everything i could have, everything i could think of, the tabs, the information, the fun stuff, added animations for the contacts images, now they slide In when opening contacts page, and the navigation bar tabs grow and shrink in size when hovering over them. and now i think its time to ship my first project."}, {"post_id": 66118, "ts": "2026-09-11T18:45:48Z", "hours": 2.7975, "text": "been a while since my last devlog, I still didn’t get to the “adding life to About page” part, mainly because i still dont know how to. However I made a “secret” area with “valuable” information inside…only a true keen eye will spot where it is… Other than that i updated projects page. now one box is for, the website itself, second box is supposed to be for a whole different list of all my other projects, but because there aren’t any, I have a feeling its gonna remain WIP even after i ship this project. and for the third one, I thought it would be cool to add my 3x3 Pb but recording is hard. thats all for now."}, {"post_id": 62879, "ts": "2026-09-06T12:27:30Z", "hours": 3.3556, "text": "i finally got the navigation bar working, now it doesnt run into the stupid 404 error anymore. I also added 4 empty slots to display my projects(which hopefully wont remain empty :>) i also gave the contacts a background that matches the websites main background color. I havent done much in these 3 hours but i will say i have learnt more than ever(and still learning!!!) Next I will probably try giving the About page some life, as currently its just three lines, along with some animations. you can see the current state of the website here: https://syedumerasim.github.io/My-Website/"}, {"post_id": 58284, "ts": "2026-08-30T17:29:13Z", "hours": 2.1456, "text": "Created a github repository just today, although i started working on this a 5 days ago. so far theres only 3 pages to it. because i never viewed the website on github before(because like i said i just uploaded it) i had been using the VS code live server extension, which had no issues, but on github when clicking any “Projects” or “Contacts” it runs into a 404 error, im not sure why thats happening but I will try to fix that hopefully before my next devlog.(first devlog, how did i do?)"}]...
|
Title: a very Craic site by @craicrat | Stardance
Title: a very Craic site by @craicrat | Stardance
Devlogs:
Created a github repository just today, although i started working on this a 5 days ago. so far theres only 3 pages to it. because i never viewed the website on github before(because like i said i just uploaded it) i had been using the VS code live server extension, which had no issues, but on github when clicking any “Projects” or “Contacts” it runs into a 404 error, im not sure why thats happening but I will try to fix that hopefully before my next devlog.(first devlog, how did i do?)
i finally got the navigation bar working, now it doesnt run into the stupid 404 error anymore. I also added 4 empty slots to display my projects(which hopefully wont remain empty :>) i also gave the contacts a background that matches the websites main background color. I havent done much in these 3 hours but i will say i have learnt more than ever(and still learning!!!) Next I will probably try giving the About page some life, as currently its just three lines, along with some animations. you can see the current state of the website here: https://syedumerasim.github.io/My-Website/
been a while since my last devlog, I still didn’t get to the “adding life to About page” part, mainly because i still dont know how to. However I made a “secret” area with “valuable” information inside…only a true keen eye will spot where it is… Other than that i updated projects page. now one box is for, the website itself, second box is supposed to be for a whole different list of all my other projects, but because there aren’t any, I have a feeling its gonna remain WIP even after i ship this project. and for the third one, I thought it would be cool to add my 3x3 Pb but recording is hard. thats all for now.
My last devlog(for this project). Ive added everything i could have, everything i could think of, the tabs, the information, the fun stuff, added animations for the contacts images, now they slide In when opening contacts page, and the navigation bar tabs grow and shrink in size when hovering over them. and now i think its time to ship my first project.
I read the Rating reasons thingies, and most of them were about how the video didnt work, so i fixed that, because i wanted people to see what that video really is. Another person pointed out i should have more pictures in the website, i couldn’t figure out where to add pictures in Contacts and Projects, but i added 4 new pics to the Landing page, idk why i didnt think of this before.. I also centered the navigation bar, as it looked too far to the left.
Ships:
I made my very own personal Website. It isn’t anything professional, if anything its more silly than serious. This was my first time coding on html+css, as well as my first time dealing with github, setting up the repositories, source control(had me losing my mind for an hour). But im happy with the progress ive made, could have done better.
here is the second ship of my first personal website. I just added the 4 new images and fixed the video. since my exam date is coming closer i couldnt really get time to work on anything else. decided to do this ship to push forward the changes i did make. hope whoever sees this project has a nice day....
|
1793004784.4923468
|
1793091184.4923468
|
|
50587
|
Sponsor system by @Fiskerz | Stardance
|
Fiskerz
|
1
|
7.0
|
65
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-10T07:29:34Z", "hours": 7.0, "multiplier": 9.63, "payout": 65, "blessing": "neutral", "text": "What it this? This is a Minecraft mod for neoforge 1.21.1. It revolves around the idea of untroducing a brand new way to invite new players while retaining peace. How? Every new player now needs to be sponsored by someone else on the server. If you (for example) decide to invite a new player to the server, you will now hold responsibility for any trouble the new player causes. This helps people think twice before inviting anyone on the server, as it just not might be worth the trouble. Invites This is the core of the mod. Each player gets a limited amount of invites/sponsorships (more on them below), which also makes invites pretty valuable. That is the whole idea of this system. Quite simple, ain’t it? Any players can invite another with the use of /invite * player * Sponsorships Every player can sponsor any other player on the server. This works just about the same as invites; if the player you sponsor breaks the rules, you will suffer the consequences as well. Sponsorships exist for only one reason - to help build a community on the server; people that trust each other. Un-inviting/unsponsoring If you ever get into an argument with the player you sponsor, or invited, you can stop sponsoring them using /uninvite , or /unsponsor . The moment you stop sponsoring them you are freed from the consequences of their actions. If a player loses all of their sponsors they will be in a bit of trouble; they now have 30 mins to find a new sponsor, otherwise they are un-whitelisted and lose access to the server until re-invited by someone. Admin featues The first player that joins the server does not need to be invited, as it is expected to be the admin. That first player also becomes the “root” of the invite tree. Every single player that ever joins needs to be connected to the root player in some way. They do not need to be invited by the root player directly; it can be a player that was invited by the root player, but there still needs to be some way on the tree they will remain connected to the root player. To view who invited who, who is sponsoring who, or who is sponsored by who, you, as an admin can use the /invitetree * player_X * , which will reveal all of this info. All players that will pop-up can be clicked, which will allow you to easily click through the invite tree. Non-admin players get a variant of this command too, the /mysponsors command. It works kinda similar, just only shows the player that used the command and cannot click through the invite tree. Testing/showcasing To make your life just a little bit easier, I have prepared a showcase video you can watch by clicking the try project, as testing this out would require a server and (atleast) two players. You can still very well do so, I am not against it at all, go ahead here , I made the release specifically just for these purposes. Anyways that is about all that I have to say about this project, hope you like it and maybe it can even help you out some day :)", "repo": "https://github.com/Catmaster543/Sponsor-system", "demo": "https://www.curseforge.com/minecraft/mc-mods/sponsor-system"}]...
|
[{"post_id": 65240, "ts": "202 [{"post_id": 65240, "ts": "2026-09-10T07:16:08Z", "hours": 2.8236, "text": "Made a demo video, cleaned up the github repo + preparations for shipping! Devlog #3 for Sponsor system Alright, it’s been a while and I figured that it is time to wrap up this project once and for all, so I made all of the requirements for it. Most things should be ready, soo the next post shall be a ship. Hopefully see you there! What is this project? This is a server-side minecraft mod that adds in an invite system to the game, with working invite system, as well as sponsorships, smart tools for admins, etc. If you find this project cool be sure to follow, though this is the last devlog most likely xd"}, {"post_id": 59777, "ts": "2026-09-01T18:29:02Z", "hours": 2.5583, "text": "Added the /sponsor (and opposites) + admin commands Devlog #2 for Sponsor system Alright, so the /sponsor command is now in, which means you can sponsor a player, which will make you co-responsesible for that players bad actions on the server. Each player gets 10 tickets for invites/sponsoring, meaning you shall choose wisely who you back up. Alongside this command you can also /uninvite or /unsponsor a player (both commands do the same) to stop sponsoring them . For the admin commands - there is /viewtree which allows you to see who sponsors who and whos sponsored by who . All usernames here are clickable, which makes the experience a bit better. And that’s about it I think."}, {"post_id": 51107, "ts": "2026-08-20T16:34:50Z", "hours": 1.3181, "text": "Added the initial mod skeleton! Devlog #1 of Sponsor System mod Soo since this is the first devlog I basically spent time setting up this project, setting up the github repo, etc. Outside the boring set-up stuff though I added the core skeleton of the mod, thus there’s now a command to invite a player. If you have not been invited to the server, you cannot join, since by inviting someone that player is added to the server whitelist. Now funny enough this actually kinda screwed me over during testing, since I was the first player to join, nobody has invited me yet. And since I suck with adding whitelist entries, I was prohibited from joining the server. But not to worry, I’ll be fixing this next time (hopefully)."}]...
|
Title: Sponsor system by @Fiskerz | Stardance
Dev Title: Sponsor system by @Fiskerz | Stardance
Devlogs:
Added the initial mod skeleton! Devlog #1 of Sponsor System mod Soo since this is the first devlog I basically spent time setting up this project, setting up the github repo, etc. Outside the boring set-up stuff though I added the core skeleton of the mod, thus there’s now a command to invite a player. If you have not been invited to the server, you cannot join, since by inviting someone that player is added to the server whitelist. Now funny enough this actually kinda screwed me over during testing, since I was the first player to join, nobody has invited me yet. And since I suck with adding whitelist entries, I was prohibited from joining the server. But not to worry, I’ll be fixing this next time (hopefully).
Added the /sponsor (and opposites) + admin commands Devlog #2 for Sponsor system Alright, so the /sponsor command is now in, which means you can sponsor a player, which will make you co-responsesible for that players bad actions on the server. Each player gets 10 tickets for invites/sponsoring, meaning you shall choose wisely who you back up. Alongside this command you can also /uninvite or /unsponsor a player (both commands do the same) to stop sponsoring them . For the admin commands - there is /viewtree which allows you to see who sponsors who and whos sponsored by who . All usernames here are clickable, which makes the experience a bit better. And that’s about it I think.
Made a demo video, cleaned up the github repo + preparations for shipping! Devlog #3 for Sponsor system Alright, it’s been a while and I figured that it is time to wrap up this project once and for all, so I made all of the requirements for it. Most things should be ready, soo the next post shall be a ship. Hopefully see you there! What is this project? This is a server-side minecraft mod that adds in an invite system to the game, with working invite system, as well as sponsorships, smart tools for admins, etc. If you find this project cool be sure to follow, though this is the last devlog most likely xd
Ships:
What it this? This is a Minecraft mod for neoforge 1.21.1. It revolves around the idea of untroducing a brand new way to invite new players while retaining peace. How? Every new player now needs to be sponsored by someone else on the server. If you (for example) decide to invite a new player to the server, you will now hold responsibility for any trouble the new player causes. This helps people think twice before inviting anyone on the server, as it just not might be worth the trouble. Invites This is the core of the mod. Each player gets a limited amount of invites/sponsorships (more on them below), which also makes invites pretty valuable. That is the whole idea of this system. Quite simple, ain’t it? Any players can invite another with the use of /invite * player * Sponsorships Every player can sponsor any other player on the server. This works just about the same as invites; if the player you sponsor breaks the rules, you will suffer the consequences as well. Sponsorships exist for only one reason - to help build a community on the server; people that trust each other. Un-inviting/unsponsoring If you ever get into an argument with the player you sponsor, or invited, you can stop sponsoring them using /uninvite , or /unsponsor . The moment you stop sponsoring them you are freed from the consequences of their actions. If a player loses all of their sponsors they will be in a bit of trouble; they now have 30 mins to find a new sponsor, otherwise they are un-whitelisted and lose access to the server until re-invited by someone. Admin featues The first player that joins the server does not need to be invited, as it is expected to be the admin. That first player also becomes the “root” of the invite tree. Every single player that ever joins needs to be connected to the root player in some way. They do not need to be invited by the root player directly; it can be a player that was invited by the root player, but there still needs to be some way on the tree they will remain connected to the root player. To view who invited who, who is sponsoring who, or who is sponsored by who, you, as an admin can use the /invitetree * player_X * , which will reveal all of this info. All players that will pop-up can be clicked, which will allow you to easily click through the invite tree. Non-admin players get a variant of this command too, the /mysponsors command. It works kinda similar, just only shows the player that used the command and cannot click through the invite tree. Testing/showcasing To make your life just a little bit easier, I have prepared a showcase video you can watch by clicking the try project, as testing this out would require a server and (atleast) two players. You can still very well do so, I am not against it at all, go ahead here , I made the release specifically just for these purposes. Anyways that is about all that I have to say about this project, hope you like it and maybe it can even help you out some day :)...
|
1793004783.38309
|
1793091183.38309
|
|
50566
|
Hogwarts OS by @Sparky10 | Stardance
|
Sparky10
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T19:39:20Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hi soldiers, I made Hogwarts OS, a browser-based desktop operating system inspired by the magical atmosphere of the Harry Potter universe.It includes desktop app icons, a boot/loading experience with Hedwig’s Song, a wizarding-style display font, themed wallpapers, and interactive built-in apps. The challenging part was making all the different pieces work together without breaking the existing OS — especially integrating boot audio, the loading screen, desktop interactions, wallpapers, and the React/Vite build. I also had to fix a JSX syntax issue that initially caused the Vercel production build to fail. I’m most proud of turning a normal web OS into something that feels like a complete magical desktop environment rather than just a themed webpage. People testing it should wait for the boot screen to finish and, if their browser blocks autoplay, interact with the page to enable the boot music. They can then try the desktop icons and built-in apps.", "repo": "https://github.com/kaviyasuriya10-bot/Web-OS", "demo": "https://web-os-xycc-teal.vercel.app/"}]...
|
[{"post_id": 71795, "ts": "202 [{"post_id": 71795, "ts": "2026-09-21T15:53:27Z", "hours": 1.9528, "text": "Hi guys, actually this is my personal project, but I planned to ship it is Stardance this version 1 of my Hogwarts OS"}]...
|
Title: Hogwarts OS by @Sparky10 | Stardance
Devlo Title: Hogwarts OS by @Sparky10 | Stardance
Devlogs:
Hi guys, actually this is my personal project, but I planned to ship it is Stardance this version 1 of my Hogwarts OS
Ships:
Hi soldiers, I made Hogwarts OS, a browser-based desktop operating system inspired by the magical atmosphere of the Harry Potter universe.It includes desktop app icons, a boot/loading experience with Hedwig’s Song, a wizarding-style display font, themed wallpapers, and interactive built-in apps. The challenging part was making all the different pieces work together without breaking the existing OS — especially integrating boot audio, the loading screen, desktop interactions, wallpapers, and the React/Vite build. I also had to fix a JSX syntax issue that initially caused the Vercel production build to fail. I’m most proud of turning a normal web OS into something that feels like a complete magical desktop environment rather than just a themed webpage. People testing it should wait for the boot screen to finish and, if their browser blocks autoplay, interact with the page to enable the boot music. They can then try the desktop icons and built-in apps....
|
1793004782.5160866
|
1793091182.5160866
|
|
50555
|
NeuralNetwork by @BeytiKebab | Stardance
|
BeytiKebab
|
1
|
19.29
|
153
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-28T02:52:43Z", "hours": 18.0, "multiplier": 17.25, "payout": 153, "blessing": "neutral", "text": "I build this digit classifier CLI tool, which basically allows you to pass and image and guesses which digit it features. I built/trained the neural network from strach using pure python. I did not use and machine learning libraries because I wanted to learn how they work in a deeper level. it is currently trained on 5000 images with 15 iterations, this may sound very little but due to using python list instead of numpy arrays my runtime is alread about ~300 seconds for training. I learned a lot about neural networks while building this project. Although I did not follow any tutorials when builing it I found 3Blue1Brown’s Naural Network videos extremely helpfull when researching fundemental concpets! Even though the research part was hard I feel like the hardest part was optimizing the train function I had to do more research on how batch gradient decesent works and more techniques. Its currently at 92% accuracy with testing data but it might still styrugle with picture that have grey or weird back grounds which I plan to fix next! The model can be tested using the PyPi install route, I also have detailed install/run instructions in my readme. Thank you for reading allong that far!", "repo": "https://github.com/alr11118/NeuralNetwokFromStratch", "demo": "https://pypi.org/project/digitReader/"}]...
|
[{"post_id": 82084, "ts": "202 [{"post_id": 82084, "ts": "2026-10-23T20:07:33Z", "hours": 0.3256, "text": "Added image drawing and imported the drawn image to the neral network. So far the predictions are correct 40% of the time, I suspect thats because of the sharper use drawing mode compared to my training images which are rounder and more blended in yo the background. It also took me a while to realise the MNIST images have black backgrounds"}, {"post_id": 81874, "ts": "2026-10-22T20:29:46Z", "hours": 0.3194, "text": "Adding drawing in progress…. (will have a pygame windows where useds can draw their own digits and view the neeural networks predicion)"}, {"post_id": 78257, "ts": "2026-10-10T05:40:37Z", "hours": 0.6431, "text": "Touch up on the readme and installation"}, {"post_id": 72536, "ts": "2026-09-23T05:01:34Z", "hours": 0.9611, "text": "I’m finally on PyPi! It took way longer than I expected to turn the trained model into teh CLI tool but here we are! I also polised and edited the README. It can be installed by python3 -m pip install digitReader and run by classifyDigit –image image.jpeg. Feel free to check out my project demo!"}, {"post_id": 72109, "ts": "2026-09-22T05:56:02Z", "hours": 3.1719, "text": "Worked on making the woring project a comman line app that precits the digit in the given picture. Next I will write the readme"}, {"post_id": 71442, "ts": "2026-09-20T20:27:55Z", "hours": 1.0694, "text": "Fixed my batch training, my loss calculation was off. Also added weight saving so I dont have to retarin everytime I want to test. And of course seperated test from train! Although it still runs preetry slow 50s train runtime…. I will experinment with different batch sizes, training sizes, number of neurons, learning rates soon. I might also do a version with numpy, my original goal was to not use any libraries to learn the fundementals, but numpy is much faster than python list so I might use that to reduce runtime in a seperate version to see how much of a difference it makes!"}, {"post_id": 71009, "ts": "2026-09-20T06:20:35Z", "hours": 0.9586, "text": "I tried to optimize and add more trainign data but accidently made it even less acurate and take longer to process. Will have to do some research!"}, {"post_id": 70378, "ts": "2026-09-19T02:15:29Z", "hours": 0.8175, "text": "Trained the network with 10 images (first tried with 100 but it was SO SLOW), but it runs and makes a prediction!!!!! altough it thought 5 was a 3….. I am gonna try figure out ways to optimize my train function next fo I can train 100!"}, {"post_id": 70360, "ts": "2026-09-19T01:19:18Z", "hours": 0.7417, "text": "Decoding MINST images! Deconding those with no libraries are harder than I thought and I had to do a TON of research about the data files. But here it is the color value of each pixel of the first imege!! I just have to extract them all, maybe find a better way to store them so I dont have to decode them each time, and pass them to my neural network, which currently have 784 hidden input nurons, 64 hidden neurons and 10 output neurons corresponding to each digit I am trying to predict. Sorry for the super long devlog, I guess I am just excited that its turning into what I am trying to build!"}, {"post_id": 69834, "ts": "2026-09-17T21:28:37Z", "hours": 1.9986, "text": "I added 3 output neurons meaning the neural network will respond in tems of class 1: 0.01, class 2: 0.03, class 3: 0.96. To implement that I had to add softmax fucntion chnage my forwardPass and backwardPass implementations to work with new matrixes."}, {"post_id": 65796, "ts": "2026-09-11T05:26:02Z", "hours": 1.9072, "text": "Added a second varable to the hidden neurons, and organised the code to work with it. Managed to get a very low loss!!!!!"}, {"post_id": 63702, "ts": "2026-09-07T17:08:14Z", "hours": 2.3275, "text": "I worked on the PCB for my Hackpad project for 2 hours and 19 minutes, but accidentally connected the Lapce recording to this project instead. I asked about the situation in #stardance-help, and support confirmed that the time cannot be reassigned due to Hackatime’s data protections. They advised me to mention the situation in both projects’ devlogs so the extra time can be accounted for during review. More details can be found here https://hackclub.slack.com/archives/C0AP0NMSP3P/p1788725484466219"}, {"post_id": 61914, "ts": "2026-09-05T02:46:01Z", "hours": 0.3, "text": "Did the backtpolation to work with many x’s and y’s"}, {"post_id": 61006, "ts": "2026-09-03T18:21:31Z", "hours": 0.9353, "text": "Added 2 more hidden neurons, set up lists to manage their related variables and set up backpropagation for each."}, {"post_id": 60408, "ts": "2026-09-02T18:26:06Z", "hours": 1.1461, "text": "I added a hidden neuron and used backpropagation to set the weights"}, {"post_id": 49127, "ts": "2026-08-17T19:20:35Z", "hours": 1.3722, "text": "Started practicing with a simple linear regression with 3 points!"}]...
|
Title: NeuralNetwork by @BeytiKebab | Stardance
D Title: NeuralNetwork by @BeytiKebab | Stardance
Devlogs:
Started practicing with a simple linear regression with 3 points!
I added a hidden neuron and used backpropagation to set the weights
Added 2 more hidden neurons, set up lists to manage their related variables and set up backpropagation for each.
Did the backtpolation to work with many x’s and y’s
I worked on the PCB for my Hackpad project for 2 hours and 19 minutes, but accidentally connected the Lapce recording to this project instead. I asked about the situation in #stardance-help, and support confirmed that the time cannot be reassigned due to Hackatime’s data protections. They advised me to mention the situation in both projects’ devlogs so the extra time can be accounted for during review. More details can be found here https://hackclub.slack.com/archives/C0AP0NMSP3P/p1788725484466219
Added a second varable to the hidden neurons, and organised the code to work with it. Managed to get a very low loss!!!!!
I added 3 output neurons meaning the neural network will respond in tems of class 1: 0.01, class 2: 0.03, class 3: 0.96. To implement that I had to add softmax fucntion chnage my forwardPass and backwardPass implementations to work with new matrixes.
Decoding MINST images! Deconding those with no libraries are harder than I thought and I had to do a TON of research about the data files. But here it is the color value of each pixel of the first imege!! I just have to extract them all, maybe find a better way to store them so I dont have to decode them each time, and pass them to my neural network, which currently have 784 hidden input nurons, 64 hidden neurons and 10 output neurons corresponding to each digit I am trying to predict. Sorry for the super long devlog, I guess I am just excited that its turning into what I am trying to build!
Trained the network with 10 images (first tried with 100 but it was SO SLOW), but it runs and makes a prediction!!!!! altough it thought 5 was a 3….. I am gonna try figure out ways to optimize my train function next fo I can train 100!
I tried to optimize and add more trainign data but accidently made it even less acurate and take longer to process. Will have to do some research!
Fixed my batch training, my loss calculation was off. Also added weight saving so I dont have to retarin everytime I want to test. And of course seperated test from train! Although it still runs preetry slow 50s train runtime…. I will experinment with different batch sizes, training sizes, number of neurons, learning rates soon. I might also do a version with numpy, my original goal was to not use any libraries to learn the fundementals, but numpy is much faster than python list so I might use that to reduce runtime in a seperate version to see how much of a difference it makes!
Worked on making the woring project a comman line app that precits the digit in the given picture. Next I will write the readme
I’m finally on PyPi! It took way longer than I expected to turn the trained model into teh CLI tool but here we are! I also polised and edited the README. It can be installed by python3 -m pip install digitReader and run by classifyDigit –image image.jpeg. Feel free to check out my project demo!
Touch up on the readme and installation
Adding drawing in progress…. (will have a pygame windows where useds can draw their own digits and view the neeural networks predicion)
Added image drawing and imported the drawn image to the neral network. So far the predictions are correct 40% of the time, I suspect thats because of the sharper use drawing mode compared to my training images which are rounder and more blended in yo the background. It also took me a while to realise the MNIST images have black backgrounds
Ships:
I build this digit classifier CLI tool, which basically allows you to pass and image and guesses which digit it features. I built/trained the neural network from strach using pure python. I did not use and machine learning libraries because I wanted to learn how they work in a deeper level. it is currently trained on 5000 images with 15 iterations, this may sound very little but due to using python list instead of numpy arrays my runtime is alread about ~300 seconds for training. I learned a lot about neural networks while building this project. Although I did not follow any tutorials when builing it I found 3Blue1Brown’s Naural Network videos extremely helpfull when researching fundemental concpets! Even though the research part was hard I feel like the hardest part was optimizing the train function I had to do more research on how batch gradient decesent works and more techniques. Its currently at 92% accuracy with testing data but it might still styrugle with picture that have grey or weird back grounds which I plan to fix next! The model can be tested using the PyPi install route, I also have detailed install/run instructions in my readme. Thank you for reading allong that far!...
|
1793004781.3026135
|
1793091181.3026135
|
|
55798
|
My very own WebOS by @eyosafit | Stardance
|
eyosafit
|
2
|
33.49
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-06T20:36:38Z", "hours": 16.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "i make web based operating system using html, css and javascript. i have learned so much from it. when i started i couldn’t even use git and github but right now i can handle version control in terminal. there is so many thing that i am pround of, but i remeber saying how is that even possible to make operating system that works online but now i can even teach others how to program complex problems like i did in my notebook functionality and how to style their of user interface as i did in all windows and how to use localstorage to save load and delete their data like i did in settings. but i wanna mention the music app because i put a lot of effort at that app. i made that app in way that if you change the music it will automatically change the background that makes it more interactive and gives satisfaction. if you get lost don’t forget to read my readme. Thank you!", "repo": "https://github.com/eyosafit7/MY_OS", "demo": "https://eyosafit7.github.io/My_OS/"}, {"ship_num": 2, "ts": "2026-09-29T16:01:52Z", "hours": 16.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I worked on a web-based operating system. The challenging part was the weather app. I tried so many times before it worked. I am proud of myself because when I started, I didn’t even know how to set up a project through Git, but now I’m confident working with GitHub and git commands", "repo": "https://github.com/eyosafit7/MY_OS", "demo": "https://eyosafit7.github.io/My_OS/"}]...
|
[{"post_id": 77419, "ts": "202 [{"post_id": 77419, "ts": "2026-10-06T22:02:14Z", "hours": 1.4931, "text": "I updated the settings with 4 new cool features. You can easily change the font family, app color, font color, and font size."}, {"post_id": 77120, "ts": "2026-10-05T18:04:30Z", "hours": 1.0536, "text": "i finally deleted weather app because it starts to lag. i also solved a bug with music app. finally wrote my readme."}, {"post_id": 76890, "ts": "2026-10-04T22:55:22Z", "hours": 0.8567, "text": "I get rid of repetitive lines by using one function to handle all of them at once"}, {"post_id": 76874, "ts": "2026-10-04T21:54:09Z", "hours": 3.7353, "text": "I finally finished working on the music window. It was hard for me, but I learned so many things through the process"}, {"post_id": 76681, "ts": "2026-10-04T10:28:18Z", "hours": 1.7167, "text": "I started working on my music app. I will add cool features to it later"}, {"post_id": 76603, "ts": "2026-10-04T04:43:46Z", "hours": 2.7178, "text": "I worked on a notebook file system; now you can save, load, and update what you’ve written, and it has its own password too. created a setting that lets you remove what you don’t want by setting passwords"}, {"post_id": 76225, "ts": "2026-10-02T19:04:19Z", "hours": 5.8008, "text": "Worked on settings functionality. I added wallpaper and made it changeable. Today I added 3 wallpapers. I also made the notebook savable and added settings to clear, load, and save data. Tomorrow I will work on more functionality."}, {"post_id": 75250, "ts": "2026-09-29T15:54:44Z", "hours": 0.2889, "text": "I deployed it. It is now online"}, {"post_id": 75217, "ts": "2026-09-29T14:36:19Z", "hours": 2.0642, "text": "Today, I added a search bar to the weather page so that everyone can see their own city’s weather conditions. Finally, I edited some visual effects and enhanced some color combinations, and I also worked on the welcome screen. As you can see this are all the pages I have been working on"}, {"post_id": 74952, "ts": "2026-09-28T17:46:05Z", "hours": 2.9136, "text": "Today, I worked on the weather app. It’s fully functional and works only when you’re online. I added an icon for it too, and for now I only added 6 cities. Tomorrow I will add a search bar so everyone can see their city’s weather."}, {"post_id": 73282, "ts": "2026-09-24T19:01:18Z", "hours": 1.4875, "text": "I have worked on my mini Notebook window that actually worked well, but some functionality is still missing. I will try to make it fully functional next time. thank you"}, {"post_id": 72921, "ts": "2026-09-24T01:38:29Z", "hours": 2.7678, "text": "I have finished working on the first app in my web-based operating system(Liqlaqo-os). As you can see, it is a fully functional calculator. I also polished the style to make it look attractive, and I’m going to build another app for my operating system. If you wanna see more, don’t forget to like and follow. Thanks for reading. GOOD LUCK!"}, {"post_id": 72631, "ts": "2026-09-23T11:57:33Z", "hours": 1.8267, "text": "I have worked in my welcome window, taskbar, and calculator app(it’s not functional yet)"}, {"post_id": 72563, "ts": "2026-09-23T07:20:44Z", "hours": 2.8394, "text": "Today I made the date and time fully functional in the bottom bar. I am going to build other things too. If you want to know more, don’t forget to like and follow."}, {"post_id": 72009, "ts": "2026-09-22T00:19:34Z", "hours": 1.9081, "text": "liqlaqo-os web-based operating system building with html , css and javascript"}]...
|
Title: My very own WebOS by @eyosafit | Stardance
Title: My very own WebOS by @eyosafit | Stardance
Devlogs:
liqlaqo-os web-based operating system building with html , css and javascript
Today I made the date and time fully functional in the bottom bar. I am going to build other things too. If you want to know more, don’t forget to like and follow.
I have worked in my welcome window, taskbar, and calculator app(it’s not functional yet)
I have finished working on the first app in my web-based operating system(Liqlaqo-os). As you can see, it is a fully functional calculator. I also polished the style to make it look attractive, and I’m going to build another app for my operating system. If you wanna see more, don’t forget to like and follow. Thanks for reading. GOOD LUCK!
I have worked on my mini Notebook window that actually worked well, but some functionality is still missing. I will try to make it fully functional next time. thank you
Today, I worked on the weather app. It’s fully functional and works only when you’re online. I added an icon for it too, and for now I only added 6 cities. Tomorrow I will add a search bar so everyone can see their city’s weather.
Today, I added a search bar to the weather page so that everyone can see their own city’s weather conditions. Finally, I edited some visual effects and enhanced some color combinations, and I also worked on the welcome screen. As you can see this are all the pages I have been working on
I deployed it. It is now online
Worked on settings functionality. I added wallpaper and made it changeable. Today I added 3 wallpapers. I also made the notebook savable and added settings to clear, load, and save data. Tomorrow I will work on more functionality.
I worked on a notebook file system; now you can save, load, and update what you’ve written, and it has its own password too. created a setting that lets you remove what you don’t want by setting passwords
I started working on my music app. I will add cool features to it later
I finally finished working on the music window. It was hard for me, but I learned so many things through the process
I get rid of repetitive lines by using one function to handle all of them at once
i finally deleted weather app because it starts to lag. i also solved a bug with music app. finally wrote my readme.
I updated the settings with 4 new cool features. You can easily change the font family, app color, font color, and font size.
Ships:
I worked on a web-based operating system. The challenging part was the weather app. I tried so many times before it worked. I am proud of myself because when I started, I didn’t even know how to set up a project through Git, but now I’m confident working with GitHub and git commands
i make web based operating system using html, css and javascript. i have learned so much from it. when i started i couldn’t even use git and github but right now i can handle version control in terminal. there is so many thing that i am pround of, but i remeber saying how is that even possible to make operating system that works online but now i can even teach others how to program complex problems like i did in my notebook functionality and how to style their of user interface as i did in all windows and how to use localstorage to save load and delete their data like i did in settings. but i wanna mention the music app because i put a lot of effort at that app. i made that app in way that if you change the music it will automatically change the background that makes it more interactive and gives satisfaction. if you get lost don’t forget to read my readme. Thank you!...
|
1793004779.9919834
|
1793091179.9919834
|
|
55796
|
Fusion Parameter Animator by @jorm | Stardance
|
jorm
|
1
|
2.0
|
17
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-27T11:16:13Z", "hours": 2.0, "multiplier": 8.42, "payout": 17, "blessing": "neutral", "text": "I made a python script to animate parametric Fusion models! It lets you define keyframes to animate individual parameters of the model, as well as rotate the camera around the model. how it works: Uses the Fusion 360 API to access and modify user parameters in the model. Animations are defined using keyframes, each containing a frame number, parameter value and easing type. For every frame, the script interpolates between keyframes, updates the parameters, and tells Fusion to recompute the model. Added easing curves so changes accelerate and decelerate smoothly instead of moving linearly. Uses Fusion’s Camera API to animate the camera at the same time, including orbiting, zooming and changing viewing angles. Once Fusion has recomputed and refreshed the viewport, the script captures the frame as a PNG. The resulting image sequence can be passed to FFmpeg to create the final video. by FAR the hardest part of this project was figuring out Fusion’s API, but after heavily referencing the documentation I got there in the end.", "repo": "https://github.com/jormy/Fusion-Parameter-Animator", "demo": "https://github.com/jormy/Fusion-Parameter-Animator/releases/tag/v1.0"}]...
|
[{"post_id": 57317, "ts": "202 [{"post_id": 57317, "ts": "2026-08-29T13:02:42Z", "hours": 1.6133, "text": "I recently made a parametric Fusion model and wanted a better way to show off what it could actually do. I couldn’t find anything that did exactly what I wanted, so I ended up making a script. how it works: Uses the Fusion 360 API to access and modify user parameters in the model. Animations are defined using keyframes, each containing a frame number, parameter value and easing type. For every frame, the script interpolates between keyframes, updates the parameters, and tells Fusion to recompute the model. Added easing functions like smoothstep so changes accelerate and decelerate smoothly instead of moving linearly. Uses Fusion’s Camera API to animate the camera at the same time, including orbiting, zooming and changing viewing angles. Once Fusion has recomputed and refreshed the viewport, the script captures the frame as a PNG. The resulting image sequence is passed to FFmpeg to create the final video."}]...
|
Title: Fusion Parameter Animator by @jorm | Starda Title: Fusion Parameter Animator by @jorm | Stardance
Devlogs:
I recently made a parametric Fusion model and wanted a better way to show off what it could actually do. I couldn’t find anything that did exactly what I wanted, so I ended up making a script. how it works: Uses the Fusion 360 API to access and modify user parameters in the model. Animations are defined using keyframes, each containing a frame number, parameter value and easing type. For every frame, the script interpolates between keyframes, updates the parameters, and tells Fusion to recompute the model. Added easing functions like smoothstep so changes accelerate and decelerate smoothly instead of moving linearly. Uses Fusion’s Camera API to animate the camera at the same time, including orbiting, zooming and changing viewing angles. Once Fusion has recomputed and refreshed the viewport, the script captures the frame as a PNG. The resulting image sequence is passed to FFmpeg to create the final video.
Ships:
I made a python script to animate parametric Fusion models! It lets you define keyframes to animate individual parameters of the model, as well as rotate the camera around the model. how it works: Uses the Fusion 360 API to access and modify user parameters in the model. Animations are defined using keyframes, each containing a frame number, parameter value and easing type. For every frame, the script interpolates between keyframes, updates the parameters, and tells Fusion to recompute the model. Added easing curves so changes accelerate and decelerate smoothly instead of moving linearly. Uses Fusion’s Camera API to animate the camera at the same time, including orbiting, zooming and changing viewing angles. Once Fusion has recomputed and refreshed the viewport, the script captures the frame as a PNG. The resulting image sequence can be passed to FFmpeg to create the final video. by FAR the hardest part of this project was figuring out Fusion’s API, but after heavily referencing the documentation I got there in the end....
|
1793004779.0899396
|
1793091179.0899396
|
|
55794
|
Love Vada Pav by @teerth | Stardance
|
teerth
|
1
|
15.9
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-17T20:40:16Z", "hours": 14.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Presenting LOVE VADA PAV A game about reuniting the best couple in the universe through a set of time-bound minigames But beware! You have only 5 fried chilies (5 lives) and yes, you can chill till you have at least one fried chili but after that… youre fried!!!!! Jk you just lose the game, then you try again, till you can reunite the best couple in this universe. Cause this game is all about: LOVE. VADA. PAV.", "repo": "https://github.com/spiceTheCode/vadapav-ware", "demo": "https://teerthyatraaa.itch.io/love-vada-pav"}]...
|
[{"post_id": 81750, "ts": "202 [{"post_id": 81750, "ts": "2026-10-22T10:53:28Z", "hours": 1.9, "text": "NEW MINIGAME IN THE WORKS!! My potato bowl shoots potato balls so that they can be covered in besan (Batter) to be sent for frying!"}, {"post_id": 69809, "ts": "2026-09-17T20:24:58Z", "hours": 0.5717, "text": "READY TO SHIP!!! Thank y’all for being a part of the ver 1 of this game VADA AND PAV WILL RETURN IN DOOMSDAY?!?? Anyways spent the last few minutes making readme better and making a promo asset in godot itself. Also the name’s official now: LOVE VADA PAV!!!"}, {"post_id": 69760, "ts": "2026-09-17T18:51:58Z", "hours": 3.8256, "text": "FONT UPDATE These are the following updates Fixed Global Audio Issues Changed Font to something more fun Designed Winning and Losing Scenes We are so ready to ship, only readme remains"}, {"post_id": 68560, "ts": "2026-09-15T10:11:24Z", "hours": 4.6208, "text": "THIRD MINIGAME READY!!!!! I abso-dupso-lutely loved making this one, becuase I had to do everything myself from collision to dragging, and I loved it. Im nearing the completion of this game, I would love to see how y’all reach to my game… Also im working on adding some music and sound effects so that the game feels more like… well, a game. Cheers! 🥂 P.S. I didn’t take all of these 4.5 hours just to develop this minigame, a lot of it went into making winner and looser screens and making other minigames more fun!"}, {"post_id": 63411, "ts": "2026-09-07T07:17:35Z", "hours": 1.0461, "text": "2nd minigame complete! I added a bit more difficulty by making the player choose between burnt and unburnt vadas Click all the unburnt vadas before the timer hits 0!"}, {"post_id": 61397, "ts": "2026-09-04T09:11:50Z", "hours": 1.4147, "text": "Minigame 1 Ready!!!! and level screen! In the first minigame you have to collect 3 vadas to make the supreme triple vada pav I’m thinking of making the second minigame about picking cooked vadas from a pot! Cheers!"}, {"post_id": 59065, "ts": "2026-08-31T17:42:06Z", "hours": 2.4217, "text": "ARE YOU ALSO A PAV LOOKING FOR A VADA?? Probably not… No worries tho, you can stimulate that here!"}]...
|
Title: Love Vada Pav by @teerth | Stardance
Devlo Title: Love Vada Pav by @teerth | Stardance
Devlogs:
ARE YOU ALSO A PAV LOOKING FOR A VADA?? Probably not… No worries tho, you can stimulate that here!
Minigame 1 Ready!!!! and level screen! In the first minigame you have to collect 3 vadas to make the supreme triple vada pav I’m thinking of making the second minigame about picking cooked vadas from a pot! Cheers!
2nd minigame complete! I added a bit more difficulty by making the player choose between burnt and unburnt vadas Click all the unburnt vadas before the timer hits 0!
THIRD MINIGAME READY!!!!! I abso-dupso-lutely loved making this one, becuase I had to do everything myself from collision to dragging, and I loved it. Im nearing the completion of this game, I would love to see how y’all reach to my game… Also im working on adding some music and sound effects so that the game feels more like… well, a game. Cheers! 🥂 P.S. I didn’t take all of these 4.5 hours just to develop this minigame, a lot of it went into making winner and looser screens and making other minigames more fun!
FONT UPDATE These are the following updates Fixed Global Audio Issues Changed Font to something more fun Designed Winning and Losing Scenes We are so ready to ship, only readme remains
READY TO SHIP!!! Thank y’all for being a part of the ver 1 of this game VADA AND PAV WILL RETURN IN DOOMSDAY?!?? Anyways spent the last few minutes making readme better and making a promo asset in godot itself. Also the name’s official now: LOVE VADA PAV!!!
NEW MINIGAME IN THE WORKS!! My potato bowl shoots potato balls so that they can be covered in besan (Batter) to be sent for frying!
Ships:
Presenting LOVE VADA PAV A game about reuniting the best couple in the universe through a set of time-bound minigames But beware! You have only 5 fried chilies (5 lives) and yes, you can chill till you have at least one fried chili but after that… youre fried!!!!! Jk you just lose the game, then you try again, till you can reunite the best couple in this universe. Cause this game is all about: LOVE. VADA. PAV....
|
1793004777.9539208
|
1793091177.9539208
|
|
50524
|
OtterOS by @p1zZa | Stardance
|
p1zZa
|
2
|
37.0
|
92
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-24T18:07:22Z", "hours": 15.0, "multiplier": 6.16, "payout": 92, "blessing": "neutral", "text": "Since the last ship of this project i have added 5 new features which include a clicker game, JS paint, a to-do app, a typing animation for the title of the webpage, a little otter which follows your mouse around. I’m really proud of how the whole project turned out since i’m a complete beginner. The most challenging part was coming up with features that i can add with my current skill set 〒▽〒. I worked really hard on this so i hope you enjoy!!!!!", "repo": "https://github.com/piZzA-175/OtterOS", "demo": "https://pizza-175.github.io/OtterOS/"}, {"ship_num": 2, "ts": "2026-09-29T15:07:58Z", "hours": 22.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Presenting to you — OTTEROS. It is a WebOS based on otters and it contains an app called Otterwiki and a calculator app. I would say the hardest thing for me was figuring out how the Javascript works becuz i’m a complete beginner /_ . I’m really proud of the Otterwiki app cuz it honestly took a lot of time and effort to gather all that information. (i actually felt like giving up cuz it was taking so long to complete) i’m happy i powered through anyway (/≧▽≦)/", "repo": "https://github.com/piZzA-175/OtterOS", "demo": "https://pizza-175.github.io/OtterOS/"}]...
|
[{"post_id": 82383, "ts": "202 [{"post_id": 82383, "ts": "2026-10-24T17:49:57Z", "hours": 1.0125, "text": "I finished working on the To-do app so now even if you close the OS and reopen; ur tasks will still be there!! I also updated the README."}, {"post_id": 82218, "ts": "2026-10-24T09:52:31Z", "hours": 4.3272, "text": "I made a new app- its a To-Do app ( ̄▽ ̄) * I’m almost done, i just need to make sure the todos get saved even when you close the website and open it again and also i need to work on the delete button."}, {"post_id": 81061, "ts": "2026-10-19T18:18:15Z", "hours": 3.7069, "text": "Sorry for the late update- I finished the Clicker game and added JS Paint asw (●ˇ∀ˇ●). Andd yeaaa thats about it. I’m still searching for more things to add to this OS but i genuinely can’t think of anything(┬┬﹏┬┬)"}, {"post_id": 80219, "ts": "2026-10-16T19:43:35Z", "hours": 2.7222, "text": "I added my first upgrade to the clicker game. I still need to work on the javascript for this upgrade but i shall do so tmrw. i also added a otter that follows the cursor and also leaves a trail >.< honestly i do not know how it took me almost 3 hours to design the first upgrade TwT but atleast now the rest of the upgrades will take lesser time."}, {"post_id": 79735, "ts": "2026-10-15T08:09:11Z", "hours": 3.16, "text": "I added a typing animation to the title of the webpage and also started working on A clicker game. hehe (¬‿¬)"}, {"post_id": 75206, "ts": "2026-09-29T14:16:29Z", "hours": 3.3836, "text": "I made a calculator!!!!!!!!!!!!!!!!! i think i can make it look better but im too busy rn so it’ll have to do T-T. i hope yall like it!! ALSO HAPPY SEA OTTER AWARENESS WEEK!!!"}, {"post_id": 72401, "ts": "2026-09-22T20:54:19Z", "hours": 4.7261, "text": "I’ve finished the first app in the OS (/≧▽≦)/. This app is called Otterwiki and it contains information about each of the 14 otter species. Making this took a very long time lol-cuz i had to gather a lot of information. I hope yall like it!!!"}, {"post_id": 70728, "ts": "2026-09-19T17:39:19Z", "hours": 10.2133, "text": "Almost done with my first app!! its called Otterwiki and i will update you on what it is when its done. till now i wrote 4 different sections and rn im gonna work on the javascript to hide the sections and only open it when u toggle it in the side bar. Will update yall soon!!(oh yea i also added an otter in the corner since this is an otteros but there was no otter in sight ( ̄▽ ̄)* )"}, {"post_id": 59768, "ts": "2026-09-01T18:17:20Z", "hours": 2.9067, "text": "I finished the 2nd and 3rd parts. I made the welcome window thingy a little bigger and also added a top bar along with making the window movable. When you click on the brown circle it closes and when u click on the “live laugh love otters”, it opens the welcome window. i might change it later so u can open it by clicking an ‘app’. But yea this is what i have so far. ^^"}, {"post_id": 50316, "ts": "2026-08-19T14:09:06Z", "hours": 0.7908, "text": "I finished the 1st and half of the second part of the guide. Instead of styling everything in the html file i put all the style elements in a css file cuz its hard to read when theyre in the same file. About the background- i dont really know if i should keep it or not but i’ll change it in the future if i want. Also i had no idea what to keep for the intro so i kept it simple, might also change that in the future. Now i’m gonna need to add the Javascript. I do not know javascript so i might learn it first and then add the javascript instead of just copying the guide. :P"}]...
|
Title: OtterOS by @p1zZa | Stardance
Devlogs:
I f Title: OtterOS by @p1zZa | Stardance
Devlogs:
I finished the 1st and half of the second part of the guide. Instead of styling everything in the html file i put all the style elements in a css file cuz its hard to read when theyre in the same file. About the background- i dont really know if i should keep it or not but i’ll change it in the future if i want. Also i had no idea what to keep for the intro so i kept it simple, might also change that in the future. Now i’m gonna need to add the Javascript. I do not know javascript so i might learn it first and then add the javascript instead of just copying the guide. :P
I finished the 2nd and 3rd parts. I made the welcome window thingy a little bigger and also added a top bar along with making the window movable. When you click on the brown circle it closes and when u click on the “live laugh love otters”, it opens the welcome window. i might change it later so u can open it by clicking an ‘app’. But yea this is what i have so far. ^^
Almost done with my first app!! its called Otterwiki and i will update you on what it is when its done. till now i wrote 4 different sections and rn im gonna work on the javascript to hide the sections and only open it when u toggle it in the side bar. Will update yall soon!!(oh yea i also added an otter in the corner since this is an otteros but there was no otter in sight ( ̄▽ ̄)* )
I’ve finished the first app in the OS (/≧▽≦)/. This app is called Otterwiki and it contains information about each of the 14 otter species. Making this took a very long time lol-cuz i had to gather a lot of information. I hope yall like it!!!
I made a calculator!!!!!!!!!!!!!!!!! i think i can make it look better but im too busy rn so it’ll have to do T-T. i hope yall like it!! ALSO HAPPY SEA OTTER AWARENESS WEEK!!!
I added a typing animation to the title of the webpage and also started working on A clicker game. hehe (¬‿¬)
I added my first upgrade to the clicker game. I still need to work on the javascript for this upgrade but i shall do so tmrw. i also added a otter that follows the cursor and also leaves a trail >.< honestly i do not know how it took me almost 3 hours to design the first upgrade TwT but atleast now the rest of the upgrades will take lesser time.
Sorry for the late update- I finished the Clicker game and added JS Paint asw (●ˇ∀ˇ●). Andd yeaaa thats about it. I’m still searching for more things to add to this OS but i genuinely can’t think of anything(┬┬﹏┬┬)
I made a new app- its a To-Do app ( ̄▽ ̄) * I’m almost done, i just need to make sure the todos get saved even when you close the website and open it again and also i need to work on the delete button.
I finished working on the To-do app so now even if you close the OS and reopen; ur tasks will still be there!! I also updated the README.
Ships:
Presenting to you — OTTEROS. It is a WebOS based on otters and it contains an app called Otterwiki and a calculator app. I would say the hardest thing for me was figuring out how the Javascript works becuz i’m a complete beginner /_ . I’m really proud of the Otterwiki app cuz it honestly took a lot of time and effort to gather all that information. (i actually felt like giving up cuz it was taking so long to complete) i’m happy i powered through anyway (/≧▽≦)/
Since the last ship of this project i have added 5 new features which include a clicker game, JS paint, a to-do app, a typing animation for the title of the webpage, a little otter which follows your mouse around. I’m really proud of how the whole project turned out since i’m a complete beginner. The most challenging part was coming up with features that i can add with my current skill set 〒▽〒. I worked really hard on this so i hope you enjoy!!!!!...
|
1793004776.758729
|
1793091176.758729
|
|
50505
|
8 Bit OS by @Trident | Stardance
|
Trident
|
1
|
8.11
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-16T20:53:35Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A retro inspired OS that runs in the browser. With draggable windows, a calculator, notepad and a paint app", "repo": "https://github.com/raiyan-islam-dev/8-Bit-OS", "demo": "https://8-bit-os.vercel.app"}]...
|
[{"post_id": 70312, "ts": "202 [{"post_id": 70312, "ts": "2026-09-18T22:30:47Z", "hours": 2.1108, "text": "Added a file browser, it is fully functional. Notepad and Paint now have an option called “File”, press it and you can save your masterpiece. Right now there isn’t much to do (unless you want to make a masterpiece), next ig I’ll add a game or two."}, {"post_id": 69342, "ts": "2026-09-16T20:49:17Z", "hours": 0.4008, "text": "finally shipping 😄"}, {"post_id": 69250, "ts": "2026-09-16T17:42:35Z", "hours": 2.0542, "text": "Got rid of the emoji icons, I’ll make icons for each one later, also added a paint app."}, {"post_id": 68836, "ts": "2026-09-15T20:41:59Z", "hours": 0.6497, "text": "Finally got verified 😭"}, {"post_id": 49955, "ts": "2026-08-18T23:02:32Z", "hours": 0.8308, "text": "Added a welcome screen and a calculator app. Shipping it now."}, {"post_id": 49930, "ts": "2026-08-18T21:59:40Z", "hours": 0.9361, "text": "Added draggable windows and a Notepad app"}, {"post_id": 49884, "ts": "2026-08-18T20:50:44Z", "hours": 0.8931, "text": "Started building my first webOS today, going with a retro xp theme. Got the base layout, taskbar and live clock running so far."}]...
|
Title: 8 Bit OS by @Trident | Stardance
Devlogs:
Title: 8 Bit OS by @Trident | Stardance
Devlogs:
Started building my first webOS today, going with a retro xp theme. Got the base layout, taskbar and live clock running so far.
Added draggable windows and a Notepad app
Added a welcome screen and a calculator app. Shipping it now.
Finally got verified 😭
Got rid of the emoji icons, I’ll make icons for each one later, also added a paint app.
finally shipping 😄
Added a file browser, it is fully functional. Notepad and Paint now have an option called “File”, press it and you can save your masterpiece. Right now there isn’t much to do (unless you want to make a masterpiece), next ig I’ll add a game or two.
Ships:
A retro inspired OS that runs in the browser. With draggable windows, a calculator, notepad and a paint app...
|
1793004775.5884924
|
1793091175.5884924
|
|
55743
|
SmartPing Discord by @Azazel_261 | Stardance
|
Azazel_261
|
1
|
19.0
|
314
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T13:32:33Z", "hours": 19.0, "multiplier": 16.45, "payout": 314, "blessing": "neutral", "text": "Sup, it sure has been a minute! With fully operational v1 of the bot, here’s what you need to know: The SpartPing discord bot is a bot designed to call your friends for you, literally! Mentioning users to attract their attention quickly becomes annoying, and when it’s time to assemble the crew, the message quickly becomes very long and mainly consists of “@ user1, @ user2, etc.”. Discord solved this problem by adding roles that can be pinged, but that introduces new problems, that SmartPing is designed to solve: Discord enforces a strict limit of 250 roles per server, and a large community might have better uses for those than organizing 15 people to play minecraft once a week. SmartPing solves this by organizing and mentioning users via its own system, independent of roles You need a relatively high access level within a discord server to be able to create and manage, so the amount of people capable of that is limited, especially on a large server. Solution: since SmartPing is independent of the role system, call groups can be created and managed by regular users, with server admins always being able to intervene and take control if needed Should you create a role, it is either only mentionable by administrators or everyone. Former is only viable for announcements, and cannot be used by users to organize themselves. Latter introduces the ability for users to spam the role. This is once again solved by SmartPing by enforcing a once-per-five-minutes ping policy that can only be circumvented by server admins Development of this bot touched, among other things on asynchronous python code and event listeners/handlers, the latter of which is not implemented in hikari, so the handlers for the commands, autocomplete (did i mention the bot features autocomplete for group names?) and callback actions were written by me manually! I also had to touch up on my database knowledge, which, while is kind of annoying, was a lot of fun. I deployed to my dad’s (thanks, dad!) heroku server, where it is to stay for the foreseeable future You can try the bot out yourself, today! After adding it to your server, start by using /group create to create your first call group and then go from there! All commands are available and documented through discord’s in-built slash command system Peace!", "repo": "https://github.com/azazel-261/SmartPing", "demo": "https://discord.com/oauth2/authorize?client_id=1542944613961044138"}]...
|
[{"post_id": 66587, "ts": "202 [{"post_id": 66587, "ts": "2026-09-12T13:12:28Z", "hours": 0.9578, "text": "With some final touches, the bot is deployed to heroku and ready to ship!"}, {"post_id": 66480, "ts": "2026-09-12T10:08:14Z", "hours": 1.3639, "text": "The bot is nearly complete! Transferring group ownership or deleting it now brings up a dialog"}, {"post_id": 65863, "ts": "2026-09-11T09:19:50Z", "hours": 2.0178, "text": "The bot is slowly nearing completion! I’ve finished implementing rest of the commands, such as setting group parameters, added better arg parsing, etc.. All that’s left now is to polish the code, add final touches and deploy it"}, {"post_id": 64776, "ts": "2026-09-09T13:04:55Z", "hours": 1.5311, "text": "Group invites are now being handled properly! This turned out not as hard as i thought it’d be, only requiring one top-level handler function, that could be arranged similarly to the other two i had for commands and autocomplete TODO: settatr for groups"}, {"post_id": 63444, "ts": "2026-09-07T09:25:08Z", "hours": 2.4394, "text": "Most of the bot is now fully working! This includes: Creating, joining, leaving and deleting groups Calling groups Checking user eligibility to call said groups based on group policies TODO: Invites to private groups"}, {"post_id": 60353, "ts": "2026-09-02T17:19:20Z", "hours": 2.0819, "text": "Currently working on deleting and managing call groups"}, {"post_id": 58775, "ts": "2026-08-31T10:54:10Z", "hours": 1.2422, "text": "Database code now allows for creating and joining groups, honoring users with admin permissions I also created a dedicated error code system, instead of relying on try-catch to get all my info"}, {"post_id": 58247, "ts": "2026-08-30T16:40:11Z", "hours": 0.5317, "text": "After a little shenanigans, i finally got autocomplete hints to pull data from the database"}, {"post_id": 57979, "ts": "2026-08-30T09:48:54Z", "hours": 2.6764, "text": "Slowly but steadily, i’m setting up the database"}, {"post_id": 57613, "ts": "2026-08-29T20:27:39Z", "hours": 2.8086, "text": "I have rewritten the bot to use Discord’s built in interactions, which enables it to send messages visible to the command issuer TODO: database 🥲"}, {"post_id": 57190, "ts": "2026-08-29T09:24:28Z", "hours": 1.4425, "text": "Hello, world! So far i have created infrastructure that allows me to easily add and manage commands for the bot"}]...
|
Title: SmartPing Discord by @Azazel_261 | Stardanc Title: SmartPing Discord by @Azazel_261 | Stardance
Devlogs:
Hello, world! So far i have created infrastructure that allows me to easily add and manage commands for the bot
I have rewritten the bot to use Discord’s built in interactions, which enables it to send messages visible to the command issuer TODO: database 🥲
Slowly but steadily, i’m setting up the database
After a little shenanigans, i finally got autocomplete hints to pull data from the database
Database code now allows for creating and joining groups, honoring users with admin permissions I also created a dedicated error code system, instead of relying on try-catch to get all my info
Currently working on deleting and managing call groups
Most of the bot is now fully working! This includes: Creating, joining, leaving and deleting groups Calling groups Checking user eligibility to call said groups based on group policies TODO: Invites to private groups
Group invites are now being handled properly! This turned out not as hard as i thought it’d be, only requiring one top-level handler function, that could be arranged similarly to the other two i had for commands and autocomplete TODO: settatr for groups
The bot is slowly nearing completion! I’ve finished implementing rest of the commands, such as setting group parameters, added better arg parsing, etc.. All that’s left now is to polish the code, add final touches and deploy it
The bot is nearly complete! Transferring group ownership or deleting it now brings up a dialog
With some final touches, the bot is deployed to heroku and ready to ship!
Ships:
Sup, it sure has been a minute! With fully operational v1 of the bot, here’s what you need to know: The SpartPing discord bot is a bot designed to call your friends for you, literally! Mentioning users to attract their attention quickly becomes annoying, and when it’s time to assemble the crew, the message quickly becomes very long and mainly consists of “@ user1, @ user2, etc.”. Discord solved this problem by adding roles that can be pinged, but that introduces new problems, that SmartPing is designed to solve: Discord enforces a strict limit of 250 roles per server, and a large community might have better uses for those than organizing 15 people to play minecraft once a week. SmartPing solves this by organizing and mentioning users via its own system, independent of roles You need a relatively high access level within a discord server to be able to create and manage, so the amount of people capable of that is limited, especially on a large server. Solution: since SmartPing is independent of the role system, call groups can be created and managed by regular users, with server admins always being able to intervene and take control if needed Should you create a role, it is either only mentionable by administrators or everyone. Former is only viable for announcements, and cannot be used by users to organize themselves. Latter introduces the ability for users to spam the role. This is once again solved by SmartPing by enforcing a once-per-five-minutes ping policy that can only be circumvented by server admins Development of this bot touched, among other things on asynchronous python code and event listeners/handlers, the latter of which is not implemented in hikari, so the handlers for the commands, autocomplete (did i mention the bot features autocomplete for group names?) and callback actions were written by me manually! I also had to touch up on my database knowledge, which, while is kind of annoying, was a lot of fun. I deployed to my dad’s (thanks, dad!) heroku server, where it is to stay for the foreseeable future You can try the bot out yourself, today! After adding it to your server, start by using /group create to create your first call group and then go from there! All commands are available and documented through discord’s in-built slash command system Peace!...
|
1793004774.414829
|
1793091174.414829
|
|
35978
|
Quick, Timer's UP! by @ishanmeher09 | Stardanc Quick, Timer's UP! by @ishanmeher09 | Stardance...
|
ishanmeher09
|
2
|
31.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-10T22:25:11Z", "hours": 11.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a collection of fast paced minigames. And this is my second version. The first version had two minigames, a platformer game and a clicker game, but for my second version, I added two more, and they’re a bit more interesting. I added a seesaw game, and it has blocks that randomly spawn at different locations on the plank, and the player has to select a weight and click at different spots to balance it out. Before there was a way to exploit how it works, and click below the plank so the plank would never hit the ground, but you can’t do that anymore. Basically the plank can’t touch the ground until the timer ends. I then added a launcher game, and it has a target that moves back and forth, and the player needs to click and hold or hold spacebar to settle on a power for the shot, and use the mouse to aim the barrel. They need to hit the target before the timer ends. Also, now the timer doesn’t start until the one word instructions on each game fade. Those are the main differences, along with the pause menu, and yeah!", "repo": "https://github.com/whatisupyo12/WarioWareGame/", "demo": "https://2002-2.itch.io/quick-timers-up"}, {"ship_num": 2, "ts": "2026-09-29T23:41:25Z", "hours": 20.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a collection of fast paced minigames, but added my own personal design choices and sprites I made too. It took me a while, because I had a lot of bugs that needed fixing, but it works now. I added a player sprite that has animations, and also worked on my finished screen so it has confetti (yay). My death screen’s pretty basic though. In general for now, it works, and I’ll probably be adding more soon.", "repo": "https://github.com/whatisupyo12/WarioWareGame/", "demo": "https://2002-2.itch.io/quick-timers-up"}]...
|
[{"post_id": 78475, "ts": "202 [{"post_id": 78475, "ts": "2026-10-10T21:59:29Z", "hours": 7.7939, "text": "I finished my fourth minigame and final, a launcher minigame, where the player has to hold down click or space while aiming the cannon, in order to hit the target and win. I also completed third minigame too, the balancing one (I forgot to devlog it, oops). It’s a seesaw minigame, and basically weights fall and how have to balance the seesaw by selecting different weights and dropping them. It now has weight labels which it didnt have earlier, and weights automatically spawn now, when initially it just had two blocks that would cause a tilt."}, {"post_id": 77117, "ts": "2026-10-05T17:43:48Z", "hours": 2.83, "text": "Worked on a functional pause screen that goes back to menu or can resume game, took a while since I wasnt able to figure out why I couldn’t do some of the functions to hide the pause panel within one function, but if it works, it works."}, {"post_id": 75403, "ts": "2026-09-29T23:37:30Z", "hours": 1.675, "text": "I finished tweaking all the bugs, and my game is ready to ship with my two current minigames."}, {"post_id": 75222, "ts": "2026-09-29T14:43:25Z", "hours": 7.9036, "text": "Finished an ending/lose scene, and finished all minigames, I’m probably just going to start working on more minigames now."}, {"post_id": 74906, "ts": "2026-09-28T15:57:57Z", "hours": 7.665, "text": "Finished both minigames and now I’ll be working on the final ending scene as in a custom win/loss"}, {"post_id": 73432, "ts": "2026-09-25T02:33:21Z", "hours": 2.5306, "text": "Working on Game UI, and its functional and works now, also made sprites"}]...
|
Title: Quick, Timer's UP! by @ishanmeher09 | S Title: Quick, Timer's UP! by @ishanmeher09 | Stardance
Devlogs:
Working on Game UI, and its functional and works now, also made sprites
Finished both minigames and now I’ll be working on the final ending scene as in a custom win/loss
Finished an ending/lose scene, and finished all minigames, I’m probably just going to start working on more minigames now.
I finished tweaking all the bugs, and my game is ready to ship with my two current minigames.
Worked on a functional pause screen that goes back to menu or can resume game, took a while since I wasnt able to figure out why I couldn’t do some of the functions to hide the pause panel within one function, but if it works, it works.
I finished my fourth minigame and final, a launcher minigame, where the player has to hold down click or space while aiming the cannon, in order to hit the target and win. I also completed third minigame too, the balancing one (I forgot to devlog it, oops). It’s a seesaw minigame, and basically weights fall and how have to balance the seesaw by selecting different weights and dropping them. It now has weight labels which it didnt have earlier, and weights automatically spawn now, when initially it just had two blocks that would cause a tilt.
Ships:
I made a collection of fast paced minigames, but added my own personal design choices and sprites I made too. It took me a while, because I had a lot of bugs that needed fixing, but it works now. I added a player sprite that has animations, and also worked on my finished screen so it has confetti (yay). My death screen’s pretty basic though. In general for now, it works, and I’ll probably be adding more soon.
I made a collection of fast paced minigames. And this is my second version. The first version had two minigames, a platformer game and a clicker game, but for my second version, I added two more, and they’re a bit more interesting. I added a seesaw game, and it has blocks that randomly spawn at different locations on the plank, and the player has to select a weight and click at different spots to balance it out. Before there was a way to exploit how it works, and click below the plank so the plank would never hit the ground, but you can’t do that anymore. Basically the plank can’t touch the ground until the timer ends. I then added a launcher game, and it has a target that moves back and forth, and the player needs to click and hold or hold spacebar to settle on a power for the shot, and use the mouse to aim the barrel. They need to hit the target before the timer ends. Also, now the timer doesn’t start until the one word instructions on each game fade. Those are the main differences, along with the pause menu, and yeah!...
|
1793004770.6986685
|
1793091170.6986685
|
|
45623
|
App Launcher by @Samyak | Stardance
|
Samyak
|
1
|
11.0
|
117
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-01T18:37:56Z", "hours": 11.0, "multiplier": 10.96, "payout": 117, "blessing": "neutral", "text": "App Launcher helps in finding and launching apps with ease. Many PC’s which are budget, running experimental versions of windows or general may find that Start Menu would lag sometimes. App Launcher is Instant, very minimal resource consumption, Modern Light/Dark Mode, fuzzy search which Start doesn’t support and clear icon view and navigation with arrow keys in the launcher. Its made in Python and compiled using pyinstaller and Setup made using Inno Setup. It essentially replaces the start menu in some way. Its hotkey to launch is Alt+X which is easily accessible. It has a priority system as well as soon as you open the Launcher, the list you see is the recently launched apps by it. Comparitively its much lighter to 99% of other launchers too. I had a lot of difficulty and lot pf googling for this latest update in which i include better quality icons(had do dive into ctypes and stuff) uwp icons(more advanced logics and stuff) and small but good to have UI Changes, theme switcher based on windows modes and much more", "repo": "https://github.com/SpaceCoderPro/App-Launcher", "demo": "https://github.com/SpaceCoderPro/App-Launcher/releases"}]...
|
[{"post_id": 75941, "ts": "202 [{"post_id": 75941, "ts": "2026-10-01T17:43:26Z", "hours": 0.6683, "text": "Just did some minor UI Changes like now 7 rows instead of 6, improved window size, removed scroll bar while maintaining scroll functionality and globalized some variables…"}, {"post_id": 75869, "ts": "2026-10-01T13:00:40Z", "hours": 10.0175, "text": "I worked on improving it. Its now much better.: Stability Improvements, Better Quality Icons, UWP Icons, Finally- An App Icon, Better Performance, Better Alt + X Capturing, Arrow Key Functionality. It wasn’t easy but not that hard. I definitely had to do a lot of googling. And i finally got Git working properly for the Repo with assistance from Gemini. I worked like 2hr and 30min(From i think 28 Sep), the 10h is just my past Macondo data btw…"}]...
|
Title: App Launcher by @Samyak | Stardance
Devlog Title: App Launcher by @Samyak | Stardance
Devlogs:
I worked on improving it. Its now much better.: Stability Improvements, Better Quality Icons, UWP Icons, Finally- An App Icon, Better Performance, Better Alt + X Capturing, Arrow Key Functionality. It wasn’t easy but not that hard. I definitely had to do a lot of googling. And i finally got Git working properly for the Repo with assistance from Gemini. I worked like 2hr and 30min(From i think 28 Sep), the 10h is just my past Macondo data btw…
Just did some minor UI Changes like now 7 rows instead of 6, improved window size, removed scroll bar while maintaining scroll functionality and globalized some variables…
Ships:
App Launcher helps in finding and launching apps with ease. Many PC’s which are budget, running experimental versions of windows or general may find that Start Menu would lag sometimes. App Launcher is Instant, very minimal resource consumption, Modern Light/Dark Mode, fuzzy search which Start doesn’t support and clear icon view and navigation with arrow keys in the launcher. Its made in Python and compiled using pyinstaller and Setup made using Inno Setup. It essentially replaces the start menu in some way. Its hotkey to launch is Alt+X which is easily accessible. It has a priority system as well as soon as you open the Launcher, the list you see is the recently launched apps by it. Comparitively its much lighter to 99% of other launchers too. I had a lot of difficulty and lot pf googling for this latest update in which i include better quality icons(had do dive into ctypes and stuff) uwp icons(more advanced logics and stuff) and small but good to have UI Changes, theme switcher based on windows modes and much more...
|
1793004769.571565
|
1793091169.571565
|
|
45607
|
Grade 10 English literature reader Book by @Lalith Grade 10 English literature reader Book by @Lalith | Stardance...
|
Lalith
|
1
|
22.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-16T15:19:30Z", "hours": 22.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A school friendly website for my school about this poem ‘The Rime Of The Ancient Mariner’ as a example for my website", "repo": "https://github.com/Hustlenix/The-Rime-Of-The-Ancient-Mariner", "demo": "https://hustlenix.github.io/The-Rime-Of-The-Ancient-Mariner/"}]...
|
[{"post_id": 69177, "ts": "202 [{"post_id": 69177, "ts": "2026-09-16T15:18:54Z", "hours": 6.235, "text": "As we begin the new academic session, this is the perfect time to build a strong foundation from day one! If you want to stay ahead and practice smarter, The Rime Of the Ancient Mariner Question Bank is your best companion 📖"}, {"post_id": 48217, "ts": "2026-08-16T14:55:16Z", "hours": 0.4689, "text": "I am currently on a mission to make my website https://hustlenix.github.io/The-Rime-Of-The-Ancient-Mariner/ more fun, interactive, and non boring website both in mobile and desktop. So tely’ll be more interested in studying and learning. through my website."}, {"post_id": 48179, "ts": "2026-08-16T14:02:09Z", "hours": 7.9622, "text": "Here is a ultra-crisp, casual version designed to fit right into your Hack Club devlog style:Devlog #5 — Teacher Tools & Parchment Restyle (~7h logged)Turned the portal into a full teacher workspace—built a question bank, a test paper generator, and a print library, then polished accessibility, bundle size, tests, and CSS!What got built:Teacher Backend (db.js, teacher.js): Added schemas for questions and paper templates. Generating a paper snapshots the questions so editing the bank later won’t ruin past test history.Smart Autofill (autofill.js): Builds papers based on difficulty (1–5), question types, and chapters while tracking usage frequency so questions don’t over-repeat.Paper Builder & CSV Import: 3-step wizard with preset CBSE formats (like 29-mark setups) and bulk CSV question uploading.A11y & Performance: Lazy-loaded all 14 routes to cut bundle size from 221 KB to 186 KB. Fixed screen-reader toggle text and added offline PWA caching.Parchment Theme: Redid CSS with warm ivory (#f0ece2), clean cards, serif fonts (Source Serif 4), and dark mode tokens.Autofill Logic Snippet:JavaScriptconst candidates = pool .filter((q) => !excluded.has(Number(q.id)) && !picked.has(Number(q.id))) .filter((q) => matchesSection(q, spec, user)) .map((q, i) => ({ q, i, tiebreak: rng() })) .sort((a, b) => a.q.usage_count - b.q.usage_count || a.tiebreak - b.tiebreak) .map((x) => x.q); What I Learned:A11y live regions: Always announce the result of a toggle to screen readers, while setting the button label to the next action.GitHub Pages hosting: Used static fallback data for student views so everything works smoothly without a live Express server.Next up: Direct PDF exports for the print queue! I am gonna finish this in no time and get my money, right."}, {"post_id": 43966, "ts": "2026-08-09T13:14:59Z", "hours": 1.3111, "text": "Ig that my free study website for stressed 10th graders from India to Indians is coming to an end, now that I have entered all of the data for the website like all poems, lessone and stuff I think with some touch ups and some polish I am gonna ship this in no time. W GNG"}, {"post_id": 43844, "ts": "2026-08-09T08:36:53Z", "hours": 1.2144, "text": "I tried a Neo-Brutalism style thing for the got, but it is not going well😭✌🏻. Someone pleaase help me make a study website from scratch"}, {"post_id": 43660, "ts": "2026-08-09T01:47:05Z", "hours": 1.3222, "text": "As i know how to make a simple study website, I got a idea to expand this for the whole book, like anyone can use this who wants to learn no cost, fully free and funded🤣🤣, i first used claude, gemini, chatgpt, and perplexity for research, like i asked them and combined all of them and used it as a raw data to build this master peice and gave it to opencode to data evaluate it and it helped me a lot and i used it to build the website around this ‘Grade 10 Literature Reader’ Book. Stay Studied GNG"}, {"post_id": 43329, "ts": "2026-08-08T15:03:20Z", "hours": 3.6222, "text": "I’ve used the most underrated free AI coding tool (Opencode) to help me with coding and helping me through the code and stuff, as of now i have used it to give me content for HTML and structured, and I’ll admit that it help me code CSS and JavaScript. Until now I have come till having Home, Summary, Theme on the poem, Poetic devices, Question/Answers, Quiz to test their knowledge, Flashcards to help them understand, and a useless AUTH even thogh anyone can use it even if we are in guest mode😭😭🐬. Stay Knowledged GNG"}]...
|
Title: Grade 10 English literature reader Book by Title: Grade 10 English literature reader Book by @Lalith | Stardance
Devlogs:
I’ve used the most underrated free AI coding tool (Opencode) to help me with coding and helping me through the code and stuff, as of now i have used it to give me content for HTML and structured, and I’ll admit that it help me code CSS and JavaScript. Until now I have come till having Home, Summary, Theme on the poem, Poetic devices, Question/Answers, Quiz to test their knowledge, Flashcards to help them understand, and a useless AUTH even thogh anyone can use it even if we are in guest mode😭😭🐬. Stay Knowledged GNG
As i know how to make a simple study website, I got a idea to expand this for the whole book, like anyone can use this who wants to learn no cost, fully free and funded🤣🤣, i first used claude, gemini, chatgpt, and perplexity for research, like i asked them and combined all of them and used it as a raw data to build this master peice and gave it to opencode to data evaluate it and it helped me a lot and i used it to build the website around this ‘Grade 10 Literature Reader’ Book. Stay Studied GNG
I tried a Neo-Brutalism style thing for the got, but it is not going well😭✌🏻. Someone pleaase help me make a study website from scratch
Ig that my free study website for stressed 10th graders from India to Indians is coming to an end, now that I have entered all of the data for the website like all poems, lessone and stuff I think with some touch ups and some polish I am gonna ship this in no time. W GNG
Here is a ultra-crisp, casual version designed to fit right into your Hack Club devlog style:Devlog #5 — Teacher Tools & Parchment Restyle (~7h logged)Turned the portal into a full teacher workspace—built a question bank, a test paper generator, and a print library, then polished accessibility, bundle size, tests, and CSS!What got built:Teacher Backend (db.js, teacher.js): Added schemas for questions and paper templates. Generating a paper snapshots the questions so editing the bank later won’t ruin past test history.Smart Autofill (autofill.js): Builds papers based on difficulty (1–5), question types, and chapters while tracking usage frequency so questions don’t over-repeat.Paper Builder & CSV Import: 3-step wizard with preset CBSE formats (like 29-mark setups) and bulk CSV question uploading.A11y & Performance: Lazy-loaded all 14 routes to cut bundle size from 221 KB to 186 KB. Fixed screen-reader toggle text and added offline PWA caching.Parchment Theme: Redid CSS with warm ivory (#f0ece2), clean cards, serif fonts (Source Serif 4), and dark mode tokens.Autofill Logic Snippet:JavaScriptconst candidates = pool .filter((q) => !excluded.has(Number(q.id)) && !picked.has(Number(q.id))) .filter((q) => matchesSection(q, spec, user)) .map((q, i) => ({ q, i, tiebreak: rng() })) .sort((a, b) => a.q.usage_count - b.q.usage_count || a.tiebreak - b.tiebreak) .map((x) => x.q); What I Learned:A11y live regions: Always announce the result of a toggle to screen readers, while setting the button label to the next action.GitHub Pages hosting: Used static fallback data for student views so everything works smoothly without a live Express server.Next up: Direct PDF exports for the print queue! I am gonna finish this in no time and get my money, right.
I am currently on a mission to make my website https://hustlenix.github.io/The-Rime-Of-The-Ancient-Mariner/ more fun, interactive, and non boring website both in mobile and desktop. So tely’ll be more interested in studying and learning. through my website.
As we begin the new academic session, this is the perfect time to build a strong foundation from day one! If you want to stay ahead and practice smarter, The Rime Of the Ancient Mariner Question Bank is your best companion 📖
Ships:
A school friendly website for my school about this poem ‘The Rime Of The Ancient Mariner’ as a example for my website...
|
1793004768.068694
|
1793091168.068694
|
|
50495
|
LME Luna Machine Executable by @redsimit | Stardan LME Luna Machine Executable by @redsimit | Stardance...
|
redsimit
|
1
|
7.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-27T16:47:45Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Made my own compiler from scratch, called Luna Machine Executable (LME). Written in C++, compiles a tiny language with Turkish keywords into real x86-64 assembly, then assembles + links it with nasm/ld into an actual Linux binary. Right now it handles one statement: cik ; compiles to a binary that exits with that code. Full pipeline: tokenizer -> parser -> generator -> asm -> nasm -> ld -> binary. Hardest part was understanding how a parser turns tokens into a tree, and how the generator walks it. Never written a compiler before, so most time went into learning that. Proudest of getting it to run end to end with zero hand-patching, “cik 42;” in, real binary that exits 42 out. To test: download luna + test.lme, sudo apt install nasm binutils, chmod +x luna, ./luna test.lme && ./out && echo $?", "repo": "https://github.com/Simit6155/LME", "demo": "https://github.com/Simit6155/LME/releases/tag/v0.1.0"}]...
|
[{"post_id": 74544, "ts": "202 [{"post_id": 74544, "ts": "2026-09-27T16:31:42Z", "hours": 2.9511, "text": "LME My own Compiler Devlog #5 Finished the first real end-to-end version of Luna today. Wrote generation.h - takes the parse tree from the parser and walks it to spit out x86-64 NASM assembly. Right now it just handles the one node type I have (NodeExit) and generates the mov/syscall pair for exiting with a given code. Rewired main.cpp so it actually uses the tokenizer -> parser -> generator pipeline properly instead of skipping straight from tokens to asm like before. Cleaner flow now: source -> tokens -> parse tree -> asm -> nasm -> ld -> binary Tested it with: cik 42; Compiled clean, ran the output binary, echo $? gave 42. First time the whole pipeline worked end to end without me hand-patching anything. Also wrote a proper README and a .gitignore so I can actually put this on GitHub without dumping build folders and .idea junk into the repo. Still only supports one statement (cik ;), no variables or math yet. Next up: probably adding a second statement type so the parser/generator actually have to branch on something."}, {"post_id": 51674, "ts": "2026-08-21T14:07:47Z", "hours": 2.0042, "text": "DEVLOG #4 Took me allot to understand how a parse tree/Syntax tree works and how to programm it. So I will be using the recursive descent technique and making nodes for each production."}, {"post_id": 50468, "ts": "2026-08-19T17:07:49Z", "hours": 1.2317, "text": "Cleaned up code, made another file for the tokenization(lexer) almost at parsing tree ( [ SOURCE CODE ] │ ▼ LEXICAL ANALYSIS (Tokenizer) ◄─── finished here [ TOKEN STREAM ] │ ▼ SYNTAX ANALYSIS (Parser) [ ABSTRACT SYNTAX TREE (AST) ] │ ▼ SEMANTIC ANALYSIS (Type Checker) [ DECORATED AST ] │ ▼ INTERMEDIATE CODE GENERATION (IR) [ IR CODE ] (e.g., Three-Address Code, Bytecode) │ ▼ CODE OPTIMIZATION [ OPTIMIZED IR ] │ ▼ TARGET CODE GENERATION [ MACHINE CODE / ASSEMBLY ] (Final Executable) “there are two types of programmers - those who have written a compiler and those who haven’t” -Terry Davis"}, {"post_id": 49577, "ts": "2026-08-18T13:44:26Z", "hours": 0.5333, "text": "LME My own Compiler Devlog #2 I got the basic compiler pipeline working for Luna.I implemented a tokenizer that converts Luna source code into tokens, including:cik → exit token integers → integer literals; → semicolon token then added code generation that converts the tokens into x86-64 NASM assembly using the Linux exit syscall.For example: cik 42; gets compiled into assembly that exits the program with status code 42.I also fixed a bounds-checking bug in the token parser and verified that the generated executable runs correctly under Linux/WSL.The basic pipeline is now:Luna source → tokenizer → tokens → x86-64 assembly → executable Next step is the Parse Tree"}, {"post_id": 49538, "ts": "2026-08-18T12:42:59Z", "hours": 0.4053, "text": "Building my own compiler (vexa compiler) devlog #1 Semicolon based, whitespace does not matter. File ending will be .tr so main.tr. Syntax language will be turkish. Now writing the tokenization stuff "}]...
|
Title: LME Luna Machine Executable by @redsimit | Title: LME Luna Machine Executable by @redsimit | Stardance
Devlogs:
Building my own compiler (vexa compiler) devlog #1 Semicolon based, whitespace does not matter. File ending will be .tr so main.tr. Syntax language will be turkish. Now writing the tokenization stuff
LME My own Compiler Devlog #2 I got the basic compiler pipeline working for Luna.I implemented a tokenizer that converts Luna source code into tokens, including:cik → exit token integers → integer literals; → semicolon token then added code generation that converts the tokens into x86-64 NASM assembly using the Linux exit syscall.For example: cik 42; gets compiled into assembly that exits the program with status code 42.I also fixed a bounds-checking bug in the token parser and verified that the generated executable runs correctly under Linux/WSL.The basic pipeline is now:Luna source → tokenizer → tokens → x86-64 assembly → executable Next step is the Parse Tree
Cleaned up code, made another file for the tokenization(lexer) almost at parsing tree ( [ SOURCE CODE ] │ ▼ LEXICAL ANALYSIS (Tokenizer) ◄─── finished here [ TOKEN STREAM ] │ ▼ SYNTAX ANALYSIS (Parser) [ ABSTRACT SYNTAX TREE (AST) ] │ ▼ SEMANTIC ANALYSIS (Type Checker) [ DECORATED AST ] │ ▼ INTERMEDIATE CODE GENERATION (IR) [ IR CODE ] (e.g., Three-Address Code, Bytecode) │ ▼ CODE OPTIMIZATION [ OPTIMIZED IR ] │ ▼ TARGET CODE GENERATION [ MACHINE CODE / ASSEMBLY ] (Final Executable) “there are two types of programmers - those who have written a compiler and those who haven’t” -Terry Davis
DEVLOG #4 Took me allot to understand how a parse tree/Syntax tree works and how to programm it. So I will be using the recursive descent technique and making nodes for each production.
LME My own Compiler Devlog #5 Finished the first real end-to-end version of Luna today. Wrote generation.h - takes the parse tree from the parser and walks it to spit out x86-64 NASM assembly. Right now it just handles the one node type I have (NodeExit) and generates the mov/syscall pair for exiting with a given code. Rewired main.cpp so it actually uses the tokenizer -> parser -> generator pipeline properly instead of skipping straight from tokens to asm like before. Cleaner flow now: source -> tokens -> parse tree -> asm -> nasm -> ld -> binary Tested it with: cik 42; Compiled clean, ran the output binary, echo $? gave 42. First time the whole pipeline worked end to end without me hand-patching anything. Also wrote a proper README and a .gitignore so I can actually put this on GitHub without dumping build folders and .idea junk into the repo. Still only supports one statement (cik ;), no variables or math yet. Next up: probably adding a second statement type so the parser/generator actually have to branch on something.
Ships:
Made my own compiler from scratch, called Luna Machine Executable (LME). Written in C++, compiles a tiny language with Turkish keywords into real x86-64 assembly, then assembles + links it with nasm/ld into an actual Linux binary. Right now it handles one statement: cik ; compiles to a binary that exits with that code. Full pipeline: tokenizer -> parser -> generator -> asm -> nasm -> ld -> binary. Hardest part was understanding how a parser turns tokens into a tree, and how the generator walks it. Never written a compiler before, so most time went into learning that. Proudest of getting it to run end to end with zero hand-patching, “cik 42;” in, real binary that exits 42 out. To test: download luna + test.lme, sudo apt install nasm binutils, chmod +x luna, ./luna test.lme && ./out && echo $?...
|
1793004766.7701495
|
1793091166.7701495
|
|
55695
|
ApurvaGautam by @apurvagautam | Stardance
|
apurvagautam
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-30T15:59:09Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I updated my existing portfolio website i created months ago the design was boring so i updated to modern style still it aint good so in future i am thinking of updating it again. as myself i cant completely write the code as i am just in the learning phase an dlearning things from doing it from ai and understanding how its done and why its done. Most of my project is made by ai but i am using it to learn myself how does eveyrthing works. and i havent created a readme page till now as of now there arent any new outof the world things i am just learning basics and learning by doing.", "repo": "https://github.com/Margemmelluss/apurvagautam", "demo": "https://www.apurvagautam.me"}]...
|
[{"post_id": 75618, "ts": "202 [{"post_id": 75618, "ts": "2026-09-30T15:50:42Z", "hours": 0.4981, "text": "I was integrating new ai models in my agents in github copilot :( but i will try again later"}, {"post_id": 57097, "ts": "2026-08-29T06:02:47Z", "hours": 1.2942, "text": "I changed the entire web design and removed some contents still a lot of work is remaining :("}]...
|
Title: ApurvaGautam by @apurvagautam | Stardance
Title: ApurvaGautam by @apurvagautam | Stardance
Devlogs:
I changed the entire web design and removed some contents still a lot of work is remaining :(
I was integrating new ai models in my agents in github copilot :( but i will try again later
Ships:
I updated my existing portfolio website i created months ago the design was boring so i updated to modern style still it aint good so in future i am thinking of updating it again. as myself i cant completely write the code as i am just in the learning phase an dlearning things from doing it from ai and understanding how its done and why its done. Most of my project is made by ai but i am using it to learn myself how does eveyrthing works. and i havent created a readme page till now as of now there arent any new outof the world things i am just learning basics and learning by doing....
|
1793004765.9033935
|
1793091165.9033935
|
|
55693
|
JARVIS by @caesium | Stardance
|
caesium
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-23T03:20:20Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What did you make? I built JARVIS V4, a futuristic personal AI assistant with a JARVIS-style interface, voice interaction, AI capabilities, and system controls. What was challenging? Making the assistant fast and lightweight while creating a polished interface that could run smoothly on low-end hardware. What are you proud of? I’m proud that JARVIS V4 is a real working project built around my own setup, not just a visual concept. What should people know to test it?? Open the demo URL, click ACTIVATE, SLEEP, or DIAGNOSTICS, and explore the interface. The full source is available on GitHub…… **ALSO GUYSSS , U should have your Gemini and Groq API keys ready for this project . It requires those API keys . THANK YOU", "repo": "https://github.com/prototype-caesium/jarvis-v4", "demo": "https://prototype-caesium.github.io/JARVIS-V4/"}]...
|
[{"post_id": 72141, "ts": "202 [{"post_id": 72141, "ts": "2026-09-22T09:34:19Z", "hours": 1.0239, "text": "Holaaa guysss i am building an ir module through which my Jarvis can connect to my ac and tv and operate them with voice commands"}]...
|
Title: JARVIS by @caesium | Stardance
Devlogs:
Ho Title: JARVIS by @caesium | Stardance
Devlogs:
Holaaa guysss i am building an ir module through which my Jarvis can connect to my ac and tv and operate them with voice commands
Ships:
What did you make? I built JARVIS V4, a futuristic personal AI assistant with a JARVIS-style interface, voice interaction, AI capabilities, and system controls. What was challenging? Making the assistant fast and lightweight while creating a polished interface that could run smoothly on low-end hardware. What are you proud of? I’m proud that JARVIS V4 is a real working project built around my own setup, not just a visual concept. What should people know to test it?? Open the demo URL, click ACTIVATE, SLEEP, or DIAGNOSTICS, and explore the interface. The full source is available on GitHub…… **ALSO GUYSSS , U should have your Gemini and Groq API keys ready for this project . It requires those API keys . THANK YOU...
|
1793004765.0445583
|
1793091165.0445583
|
|
55692
|
nephthys+ by @Devansh | Stardance
|
Devansh
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-22T16:29:28Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made nephthys+, a alternative to nephthys which has many more feautres. prometheus api integration support for custom macros, made in slack home page, not in code macros send with user name and pfp above integretures with taut client forward macro comming soon! to forward it to other help channels! hopefully will get this on a hackclub repo!", "repo": "https://github.com/aoishik/nephthys-plus", "demo": "https://hackclub.enterprise.slack.com/archives/C07TM4C0AQ5"}]...
|
[{"post_id": 72284, "ts": "202 [{"post_id": 72284, "ts": "2026-09-22T16:13:35Z", "hours": 1.5697, "text": "another big update! help now uses it, along with hackclub-ai-help . unfortunetley aoishik kidnaped the repo idk why but probably to auto deploy on push Anyways firstly we tried but failed to fix why slack mesage deleiton wasnt working. I also added integretion with taut, so now taut will show it as me sending it with small app icon instead of showing it from a app, it looks realy cool more updates to follow(or probably not, i have exams so ill ship now but updates will come after sd ends) Plan for future is to make it so that i can run ?forward #stardance-help to forward the ticket it would make much things easier And i will kidnap the wait time form unified help, and probaly get this on a hackclub repo! The picture shows a custom macro i made to redirect to stardance"}, {"post_id": 57096, "ts": "2026-08-29T06:01:54Z", "hours": 3.6097, "text": "i did a lot of stuf! made so that you can add macros on app homepage made it use the promethus api instead of a ws admin token! no ned to bother a ws admin now just ask evan! is safer too since only for one channel made macros use helper pfp cuz looks better"}]...
|
Title: nephthys+ by @Devansh | Stardance
Devlogs: Title: nephthys+ by @Devansh | Stardance
Devlogs:
i did a lot of stuf! made so that you can add macros on app homepage made it use the promethus api instead of a ws admin token! no ned to bother a ws admin now just ask evan! is safer too since only for one channel made macros use helper pfp cuz looks better
another big update! help now uses it, along with hackclub-ai-help . unfortunetley aoishik kidnaped the repo idk why but probably to auto deploy on push Anyways firstly we tried but failed to fix why slack mesage deleiton wasnt working. I also added integretion with taut, so now taut will show it as me sending it with small app icon instead of showing it from a app, it looks realy cool more updates to follow(or probably not, i have exams so ill ship now but updates will come after sd ends) Plan for future is to make it so that i can run ?forward #stardance-help to forward the ticket it would make much things easier And i will kidnap the wait time form unified help, and probaly get this on a hackclub repo! The picture shows a custom macro i made to redirect to stardance
Ships:
I made nephthys+, a alternative to nephthys which has many more feautres. prometheus api integration support for custom macros, made in slack home page, not in code macros send with user name and pfp above integretures with taut client forward macro comming soon! to forward it to other help channels! hopefully will get this on a hackclub repo!...
|
1793004764.176452
|
1793091164.176452
|
|
38078
|
ISS OVERHEAD by @Gingembre | Stardance
|
Gingembre
|
1
|
18.0
|
172
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-20T14:39:20Z", "hours": 18.0, "multiplier": 9.72, "payout": 172, "blessing": "neutral", "text": "I made an app that tells users when the International Space Station flies over them. It contains a lot of cool features like it being able to tell how high the ISS will be in the sky during the next pass. I am proud of this project because it is my first application and I learned a lot coding it.", "repo": "https://github.com/Gingembre3005/ISS_Overhead", "demo": "https://github.com/Gingembre3005/ISS_Overhead/releases/tag/V1.0.0"}]...
|
[{"post_id": 70670, "ts": "202 [{"post_id": 70670, "ts": "2026-09-19T15:49:10Z", "hours": 6.3675, "text": "I have polished the app to get it ready for shipping. This means I completely reworked the UI by displaying numbers in a “Digital Clock” style and the text with a more space like font. You can see a fail I had when trying to display text with the “Digital Clock” font on the third picture : ). I also added notifications to let the user know when the ISS flies over him. And to top it off, now you can see the ISS crossing the background when you are on the app!"}, {"post_id": 65028, "ts": "2026-09-09T20:37:33Z", "hours": 3.325, "text": "In the last few days I have been working on getting the app to calculate at what time the ISS is going to fly over the user again. Now that this is done, I feel like all the core features are done. Do you maybe have an idea of a feature or something that would be interesting to see in the finished app? Let me know in the comments! I’d be more than happy to hear your ideas : )"}, {"post_id": 61754, "ts": "2026-09-04T20:14:05Z", "hours": 3.1083, "text": "My app is finally working! The main thing I want it to do is send the user a notification when the International Space Station flies over them. Right now it can tell the user if the ISS is in his field of view by calculating its position over the horizon. If the amount of degrees over the horizon is positive, then the user should be able to see the ISS (if we neglect the sunlight, weather and so on…)."}, {"post_id": 56838, "ts": "2026-08-28T19:45:11Z", "hours": 4.8992, "text": "This summer I started working on my first mobile app. Since I am very interested in astronomy, I decided to build an app that gives you a notification when the ISS flies over you. Right now I only have two windows, one of which is used to get the user’s location."}]...
|
Title: ISS OVERHEAD by @Gingembre | Stardance
Dev Title: ISS OVERHEAD by @Gingembre | Stardance
Devlogs:
This summer I started working on my first mobile app. Since I am very interested in astronomy, I decided to build an app that gives you a notification when the ISS flies over you. Right now I only have two windows, one of which is used to get the user’s location.
My app is finally working! The main thing I want it to do is send the user a notification when the International Space Station flies over them. Right now it can tell the user if the ISS is in his field of view by calculating its position over the horizon. If the amount of degrees over the horizon is positive, then the user should be able to see the ISS (if we neglect the sunlight, weather and so on…).
In the last few days I have been working on getting the app to calculate at what time the ISS is going to fly over the user again. Now that this is done, I feel like all the core features are done. Do you maybe have an idea of a feature or something that would be interesting to see in the finished app? Let me know in the comments! I’d be more than happy to hear your ideas : )
I have polished the app to get it ready for shipping. This means I completely reworked the UI by displaying numbers in a “Digital Clock” style and the text with a more space like font. You can see a fail I had when trying to display text with the “Digital Clock” font on the third picture : ). I also added notifications to let the user know when the ISS flies over him. And to top it off, now you can see the ISS crossing the background when you are on the app!
Ships:
I made an app that tells users when the International Space Station flies over them. It contains a lot of cool features like it being able to tell how high the ISS will be in the sky during the next pass. I am proud of this project because it is my first application and I learned a lot coding it....
|
1793004763.0102959
|
1793091163.0102959
|
|
38815
|
CountryGuessr by @anmol_bhat | Stardance
|
anmol_bhat
|
1
|
16.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-11T14:07:49Z", "hours": 16.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Made a game about guessing countries inspired by others such as Globle and Geoguessr.", "repo": "https://github.com/Cod3rQwerty/CountryGuessr", "demo": "https://country-guessr-sandy.vercel.app/"}]...
|
[{"post_id": 78742, "ts": "202 [{"post_id": 78742, "ts": "2026-10-11T14:01:42Z", "hours": 4.6144, "text": "Devlog 5 - I Completed the Game Loop! I added a losing screen and also added a backend for the API. For the backend, I used Python with FastAPI because I used it before for a different project. All I needed to make was a proxy API for the API I used to get country data, so it didn’t take that long."}, {"post_id": 42691, "ts": "2026-08-07T15:28:33Z", "hours": 2.5019, "text": "Devlog 4 - Correct Answers So now, I added 2 of the things I said I was gonna fix in my previous devlog, a popup for when the user guesses the correct country, and filtering out duplicate hints. Duplicate Hints Filtering out duplicate hints was pretty easy, all I needed to do was make an array to store hints that were already used, USED_HINTS , and every time the user was given a hint, add the hint type, as defined here: const HINT_TYPES = { \" HARD \" : [ \" DRIVING-SIDE \" , // HARD hints give away the least info \" LANDLOCKED \" , \" CONTINENT \" , \" AREA \" , \" G20 \" , \" CURRENCY \" ], \" MEDIUM \" : [ \" BORDERS-3 \" , \" COUNTRY-FIRST-LETTER \" , \" LANGUAGES \" , \" POPULATION \" , \" GOVERNMENT-TYPE \" , \" CAPITAL-FIRST-LETTER \" ], \" EASY \" : [ // EASY hints give away the most info \" FLAG-DESC \" , \" CAPITAL \" , \" ALL-BORDERS \" ] } Then, I added a line to the generate_hints() function to not include any hints in USED_HINTS in the possible hints, here is that updated function: function generate_hints ( country_name ) { var generated = {} Object . entries ( HINT_TYPES ). forEach (( difficulty ) => { generated [ difficulty [ 0 ]] = {} difficulty [ 1 ]. forEach (( hint_type ) => { if ( ! USED_HINTS . includes ( hint_type )) { generated [ difficulty [ 0 ]][ hint_type ] = get_hint_text ( country_name , hint_type ) } else { // Hint already used so dont add it to possible hints } }) }) return generated ; } With this, a hint already given cannot be given again, improving the user experience. The Win Dialog I also made a dialog appear when the user guessed the correct country, at first I was gonna use a <div> for this, but I found out about an element in HTML called <dialog> which made things much easier, instead of having to center the div on the screen, and then position it so it was above everything else, etc, the dialog already handled all of that for me. Plus, it came with a handy ::backdrop selector for CSS, which allowed me to give the background of it a cool blur effect with: .win-dialog ::backdrop { background-color : rgba ( 15 , 23 , 42 , 0.5 ); backdrop-filter : blur ( 8px ); } I would’ve had to create a whole separate for the background if I had tried to do this with a div, so I’m glad I didn’t. As for the design of it, I chose to stay consistent with the website’s design of mostly black with a blue accent color. I also added the country’s flag because I just thought it looked nice. What I ended up with is in the screenshots, and I like how it looks, but it took me an hour to style lol Stuff I will (probably) add next devlog 1. A losing screen dialog Obviously, because I have a winning dialog, I should also make a losing dialog for when the player has more than 6 attempts, I will probably just make it look like the win dialog, but maybe with a red accent colour. 2. A backend endpoint for my api! So I also tried to get my project on GitHub, but then I realised my scripts.js file had a fetch() request which exposed my API key! Maybe after I make a losing screen, I will try to make a Netlify function or something so that I don’t give everyone my API key. 3. A better way to restart Right now, the Play Again button in the win dialog just reloads the page, which I think is kind of a hacky way of doing it, I will probably make a restart() function which resets all the variables and stuff but it will be very time consuming, so I’ll just put it off till later."}, {"post_id": 37270, "ts": "2026-07-29T21:01:08Z", "hours": 1.0853, "text": "Devlog 3 - FLAG-DESC So today I fixed the bug from earlier where the flag description wasnt working, basically sometimes in the description it would use the official name of the country, for example instead of just Afghanistan (which is its common name) the description would say Islamic Emirate of Afghanistan (which is its official name) there are also other examples where the name used in the description was neither its official name nor the common name, but it was one of the alternate names given by the API, so I had to include those as well in my filter. In the end, I made this function: function getSanitizedDescription ( countryName ) { const countryData = JSON . parse ( localStorage . getItem ( \" countryData \" ))[ countryName ]; if ( ! countryData ) return null ; // Combine all names into a single array cuz description name format is inconsistently weird const names = [ ...( countryData . names . alternates || []), countryData . names . official , countryData . names . common , ]. filter ( Boolean ); let description = countryData . flag . description ; for ( const name of names ) { description = description . replaceAll ( name , \" this country \" ); } return description ; } This works by firstly getting an array of all the names associated with the country provided in the API, and then testing the description against every single one of them until the country name is not in the description, and it returns the sanitized description. Stuff I need to Fix 1. Not allowing duplicate countries/hints Currently, if the user types the same country twice, the app allows them to, in theory I allow this (its not game breaking its just bad strategy) but I think it would be better if I didn’t let them. Whats more game-breaking, however, is duplicate hints, which are very annoying. I will probably fix this in the next devlog 2. Giving the user a message when they guess the right country Currently, the app just assumes you didn’t guess the correct country and never tells you if you guessed it right, which is not good game design! I will probably fix Bug #1 first before tackling this, as I’ll need to make and style a whole new popup for when the user wins, and program a restart, etc. Anyways, see you next devlog!"}, {"post_id": 35868, "ts": "2026-07-27T16:12:05Z", "hours": 3.6375, "text": "Devlog 2 - Hints! So over the last 2 days I added hints to the website, I did it by firstly making an object to store the different types of hints there can be, eg. BORDERS-3 would be 3 countries that this country borders, LANGUAGES are the languages this country speaks, etc. I grouped them by HARD , MEDIUM and EASY so that you get more obvious hints as you go on (easy is most obvious, hard is least obvious) I also made a massive 150 line function: get_hint_text(country_name, hint_type) which gets the hint text for a hint type and a country using a switch for every hint type (there’s probably a better way of doing this but I cba lol) Using this, I made another function: add_hint(country_name, hint_number, hint_type) which i can use to give the user a hint in JS. Issues Encountered There was largely no major issues - apart from one hint_type: FLAG-DESC. FLAG-DESC is simply a description of the flag of the country provided by the REST Countries API, however, the descriptions provided by the API have the country name in them, eg. The flag of Canada is composed of a red vertical band on the … which makes it pretty obvious what the answer is! To fix this, I initially simply replaced the name of the country to ‘this country’, which worked fine, unless for exceptions like DRC, where if I did that the FLAG-DESC would be: The flag of the Democratic Republic of the Congo has a sky-blue field with a … as the name of that country in the API is DRC . Similar things also happen with Afghanistan and Congo, where the name given in the description is different than that of the API. Targets for next Devlog: Fix the FLAG-DESC bug Give the user a hint every guess"}, {"post_id": 34775, "ts": "2026-07-25T19:21:22Z", "hours": 3.7022, "text": "Devlog 1 - The Start I made the UI with HTML and CSS, and made the Guess button add countries to the guessed list, which I’m pretty proud of for my first real web project. Tomorrow, I’ll probably add hints and polish the code a little more because its kinda messy. Cya tomorrow!"}]...
|
Title: CountryGuessr by @anmol_bhat | Stardance
D Title: CountryGuessr by @anmol_bhat | Stardance
Devlogs:
Devlog 1 - The Start I made the UI with HTML and CSS, and made the Guess button add countries to the guessed list, which I’m pretty proud of for my first real web project. Tomorrow, I’ll probably add hints and polish the code a little more because its kinda messy. Cya tomorrow!
Devlog 2 - Hints! So over the last 2 days I added hints to the website, I did it by firstly making an object to store the different types of hints there can be, eg. BORDERS-3 would be 3 countries that this country borders, LANGUAGES are the languages this country speaks, etc. I grouped them by HARD , MEDIUM and EASY so that you get more obvious hints as you go on (easy is most obvious, hard is least obvious) I also made a massive 150 line function: get_hint_text(country_name, hint_type) which gets the hint text for a hint type and a country using a switch for every hint type (there’s probably a better way of doing this but I cba lol) Using this, I made another function: add_hint(country_name, hint_number, hint_type) which i can use to give the user a hint in JS. Issues Encountered There was largely no major issues - apart from one hint_type: FLAG-DESC. FLAG-DESC is simply a description of the flag of the country provided by the REST Countries API, however, the descriptions provided by the API have the country name in them, eg. The flag of Canada is composed of a red vertical band on the … which makes it pretty obvious what the answer is! To fix this, I initially simply replaced the name of the country to ‘this country’, which worked fine, unless for exceptions like DRC, where if I did that the FLAG-DESC would be: The flag of the Democratic Republic of the Congo has a sky-blue field with a … as the name of that country in the API is DRC . Similar things also happen with Afghanistan and Congo, where the name given in the description is different than that of the API. Targets for next Devlog: Fix the FLAG-DESC bug Give the user a hint every guess
Devlog 3 - FLAG-DESC So today I fixed the bug from earlier where the flag description wasnt working, basically sometimes in the description it would use the official name of the country, for example instead of just Afghanistan (which is its common name) the description would say Islamic Emirate of Afghanistan (which is its official name) there are also other examples where the name used in the description was neither its official name nor the common name, but it was one of the alternate names given by the API, so I had to include those as well in my filter. In the end, I made this function: function getSanitizedDescription ( countryName ) { const countryData = JSON . parse ( localStorage . getItem ( " countryData " ))[ countryName ]; if ( ! countryData ) return null ; // Combine all names into a single array cuz description name format is inconsistently weird const names = [ ...( countryData . names . alternates || []), countryData . names . official , countryData . names . common , ]. filter ( Boolean ); let description = countryData . flag . description ; for ( const name of names ) { description = description . replaceAll ( name , " this country " ); } return description ; } This works by firstly getting an array of all the names associated with the country provided in the API, and then testing the description against every single one of them until the country name is not in the description, and it returns the sanitized description. Stuff I need to Fix 1. Not allowing duplicate countries/hints Currently, if the user types the same country twice, the app allows them to, in theory I allow this (its not game breaking its just bad strategy) but I think it would be better if I didn’t let them. Whats more game-breaking, however, is duplicate hints, which are very annoying. I will probably fix this in the next devlog 2. Giving the user a message when they guess the right country Currently, the app just assumes you didn’t guess the correct country and never tells you if you guessed it right, which is not good game design! I will probably fix Bug #1 first before tackling this, as I’ll need to make and style a whole new popup for when the user wins, and program a restart, etc. Anyways, see you next devlog!
Devlog 4 - Correct Answers So now, I added 2 of the things I said I was gonna fix in my previous devlog, a popup for when the user guesses the correct country, and filtering out duplicate hints. Duplicate Hints Filtering out duplicate hints was pretty easy, all I needed to do was make an array to store hints that were already used, USED_HINTS , and every time the user was given a hint, add the hint type, as defined here: const HINT_TYPES = { " HARD " : [ " DRIVING-SIDE " , // HARD hints give away the least info " LANDLOCKED " , " CONTINENT " , " AREA " , " G20 " , " CURRENCY " ], " MEDIUM " : [ " BORDERS-3 " , " COUNTRY-FIRST-LETTER " , " LANGUAGES " , " POPULATION " , " GOVERNMENT-TYPE " , " CAPITAL-FIRST-LETTER " ], " EASY " : [ // EASY hints give away the most info " FLAG-DESC " , " CAPITAL " , " ALL-BORDERS " ] } Then, I added a line to the generate_hints() function to not include any hints in USED_HINTS in the possible hints, here is that updated function: function generate_hints ( country_name ) { var generated = {} Object . entries ( HINT_TYPES ). forEach (( difficulty ) => { generated [ difficulty [ 0 ]] = {} difficulty [ 1 ]. forEach (( hint_type ) => { if ( ! USED_HINTS . includes ( hint_type )) { generated [ difficulty [ 0 ]][ hint_type ] = get_hint_text ( country_name , hint_type ) } else { // Hint already used so dont add it to possible hints } }) }) return generated ; } With this, a hint already given cannot be given again, improving the user experience. The Win Dialog I also made a dialog appear when the user guessed the correct country, at first I was gonna use a <div> for this, but I found out about an element in HTML called <dialog> which made things much easier, instead of having to center the div on the screen, and then position it so it was above everything else, etc, the dialog already handled all of that for me. Plus, it came with a handy ::backdrop selector for CSS, which allowed me to give the background of it a cool blur effect with: .win-dialog ::backdrop { background-color : rgba ( 15 , 23 , 42 , 0.5 ); backdrop-filter : blur ( 8px ); } I would’ve had to create a whole separate for the background if I had tried to do this with a div, so I’m glad I didn’t. As for the design of it, I chose to stay consistent with the website’s design of mostly black with a blue accent color. I also added the country’s flag because I just thought it looked nice. What I ended up with is in the screenshots, and I like how it looks, but it took me an hour to style lol Stuff I will (probably) add next devlog 1. A losing screen dialog Obviously, because I have a winning dialog, I should also make a losing dialog for when the player has more than 6 attempts, I will probably just make it look like the win dialog, but maybe with a red accent colour. 2. A backend endpoint for my api! So I also tried to get my project on GitHub, but then I realised my scripts.js file had a fetch() request which exposed my API key! Maybe after I make a losing screen, I will try to make a Netlify function or something so that I don’t give everyone my API key. 3. A better way to restart Right now, the Play Again button in the win dialog just reloads the page, which I think is kind of a hacky way of doing it, I will probably make a restart() function which resets all the variables and stuff but it will be very time consuming, so I’ll just put it off till later.
Devlog 5 - I Completed the Game Loop! I added a losing screen and also added a backend for the API. For the backend, I used Python with FastAPI because I used it before for a different project. All I needed to make was a proxy API for the API I used to get country data, so it didn’t take that long.
Ships:
Made a game about guessing countries inspired by others such as Globle and Geoguessr....
|
1793004761.882399
|
1793091161.882399
|
|
1954
|
The Emerald Engineers Website by @Rizzington_I | S The Emerald Engineers Website by @Rizzington_I | Stardance...
|
Rizzington_I
|
1
|
17.0
|
190
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-28T02:46:38Z", "hours": 17.0, "multiplier": 11.05, "payout": 190, "blessing": "neutral", "text": "I created a website for my team that has information about my team and who we are and what we do. Rather than just creating any other boring site I have designed a dynamic background that makes the site more interesting. Other than that I have also created a 3D visualizer where viewers can drag the image around and take a look at our robot from the past season at various angles. There is also a fun Team Gallery page with captions and funny moments from our season. The Meet the Team page shows us our members and who we are. The hardest part of making this website was the 3D visualizer and the dynamic background. Both elements require complex javascript which made it extremely hard to code. I spent almost half of my time dedicated just to both of those elements in this website just because of how much time it took to perfect it. For the visualizer I ended up taking over 72 photos to get everything at the right angle and compress all the images together with javascript in order to get the visualizer working. I put a lot of time into perfecting the small kinks here and there to make this site stand out so I hope you enjoy it!", "repo": "https://github.com/Rizzington-III/FTC-Team-Website-32483", "demo": "https://rizzington-iii.github.io/FTC-Team-Website-32483/index.html"}]...
|
[{"post_id": 73995, "ts": "202 [{"post_id": 73995, "ts": "2026-09-26T14:17:34Z", "hours": 8.6269, "text": "DevLog #5: Final Touches In this final Devlog I have spent countless hours touching up on final edits to make sure this project is ready to ship. It took a lot of configuring to get the site running up on GitHub pages and unfortunately because this website is a part of my team repository I cannot create it. DONT WORRY: I found a solution… Instead, I have put the website code into a new repository where I have admin access and I have added the link for the GitHub Pages! I hope you guys enjoy it and I’ll put the link here if you want to check it out. BTW: I reccomend taking a look at the Team Gallery and the Robot Page as I would consider those the fun parts of the site. LINK: https://rizzington-iii.github.io/FTC-Team-Website-32483/index.html Enjoy!"}, {"post_id": 23013, "ts": "2026-07-05T18:46:08Z", "hours": 4.7439, "text": "The Article Hub page is complete with scrolling containers for differing categories that hold cards with the article title, date, article-class, as well as an image. These cards are linked to HTML pages that contain the actual article but those are yet to be updated. Now I’ve moved onto the robot page where I am going to insert information on our past season’s robot (ARC). I am currently trying to put in a 3D image visualizer where the user can drag around the see the image, which is going to be our robot. I’ve also added contact details that are linked onto the sidebar. One thing that was really annoying was formatting and making sure that the containers are all aligned because some of the scrolling containers overlapped into other categories and it looked really messy. Turns out in the end it was just one misplaced line between two css classes."}, {"post_id": 19904, "ts": "2026-07-01T10:32:37Z", "hours": 2.5964, "text": "So far this is what I have finished: The sidebar is complete but I may still have to add other pages The About Us, Meet the Team, Sponsor Us, Feedback, Mission Statement, and Outreach page are complete. Although some of them have placeholder images for the time being until I can dig up the right ones from my phone. The stuff that I am currently working on: I am working on the Article Hub page which is essentially a page that contains more pages. It has links to these small blog posts (articles) that could be useful for other robotics teams that participate in the upcoming season. The stuff that still hasn’t been touched: The robot page isn’t done and all the links to the blogs lead me to a blank white page. So I still have more work to do. Back to what I’m working on: In the article hub, for some reason the div cards that are links to their respective articles are placed correctly in my first section which is labeled latest releases. On the other hand in my second section (Hardware Articles), the cards don’t start in the same spot and for some reason the title of the Hardware Article is covered behind the scrolling container of the first section. By the way the article cards are div cards that are linked to the html blog pages as well as contain the title of the article, an image, the date, and what type of info is covered: (hardware, software, team management, exclusive stories). Debugging this is going to take some extra time but all great things take time and hopefully this turns out well."}, {"post_id": 19066, "ts": "2026-06-30T08:09:48Z", "hours": 1.2281, "text": "Currently on the website I am working on the outreach page of our team website. I am part of a FTC (FIRST Tech Challenge) team and I am coding this website for our team. This is going to be our second year and we want to share our knowledge from the past season to other rookie teams which is why we have created this website. I have added an Article Hub page which I will start to edit next once the outreach page is done. The article Hub contains articles for teams and viewers to read which have information that can help teams be successful during their season. The outreach page that I am working on right now contains an image carousel that I have the css styling for on a different page. I tried to create a version two but make it smaller and it worked but for some reason it doesn’t allow the div card with text show up. When I change images I can see the text show up and then vanish as it moves from one image to another. I tinkered with this for a while and I’m either going to have to re-create a new css styling class for the image carousel or shift it to the right. For some reason if I keep the carousel to the right with the text on the left it works perfectly but if do it the other way around it messes it up."}]...
|
Title: The Emerald Engineers Website by @Rizzingto Title: The Emerald Engineers Website by @Rizzington_I | Stardance
Devlogs:
Currently on the website I am working on the outreach page of our team website. I am part of a FTC (FIRST Tech Challenge) team and I am coding this website for our team. This is going to be our second year and we want to share our knowledge from the past season to other rookie teams which is why we have created this website. I have added an Article Hub page which I will start to edit next once the outreach page is done. The article Hub contains articles for teams and viewers to read which have information that can help teams be successful during their season. The outreach page that I am working on right now contains an image carousel that I have the css styling for on a different page. I tried to create a version two but make it smaller and it worked but for some reason it doesn’t allow the div card with text show up. When I change images I can see the text show up and then vanish as it moves from one image to another. I tinkered with this for a while and I’m either going to have to re-create a new css styling class for the image carousel or shift it to the right. For some reason if I keep the carousel to the right with the text on the left it works perfectly but if do it the other way around it messes it up.
So far this is what I have finished: The sidebar is complete but I may still have to add other pages The About Us, Meet the Team, Sponsor Us, Feedback, Mission Statement, and Outreach page are complete. Although some of them have placeholder images for the time being until I can dig up the right ones from my phone. The stuff that I am currently working on: I am working on the Article Hub page which is essentially a page that contains more pages. It has links to these small blog posts (articles) that could be useful for other robotics teams that participate in the upcoming season. The stuff that still hasn’t been touched: The robot page isn’t done and all the links to the blogs lead me to a blank white page. So I still have more work to do. Back to what I’m working on: In the article hub, for some reason the div cards that are links to their respective articles are placed correctly in my first section which is labeled latest releases. On the other hand in my second section (Hardware Articles), the cards don’t start in the same spot and for some reason the title of the Hardware Article is covered behind the scrolling container of the first section. By the way the article cards are div cards that are linked to the html blog pages as well as contain the title of the article, an image, the date, and what type of info is covered: (hardware, software, team management, exclusive stories). Debugging this is going to take some extra time but all great things take time and hopefully this turns out well.
The Article Hub page is complete with scrolling containers for differing categories that hold cards with the article title, date, article-class, as well as an image. These cards are linked to HTML pages that contain the actual article but those are yet to be updated. Now I’ve moved onto the robot page where I am going to insert information on our past season’s robot (ARC). I am currently trying to put in a 3D image visualizer where the user can drag around the see the image, which is going to be our robot. I’ve also added contact details that are linked onto the sidebar. One thing that was really annoying was formatting and making sure that the containers are all aligned because some of the scrolling containers overlapped into other categories and it looked really messy. Turns out in the end it was just one misplaced line between two css classes.
DevLog #5: Final Touches In this final Devlog I have spent countless hours touching up on final edits to make sure this project is ready to ship. It took a lot of configuring to get the site running up on GitHub pages and unfortunately because this website is a part of my team repository I cannot create it. DONT WORRY: I found a solution… Instead, I have put the website code into a new repository where I have admin access and I have added the link for the GitHub Pages! I hope you guys enjoy it and I’ll put the link here if you want to check it out. BTW: I reccomend taking a look at the Team Gallery and the Robot Page as I would consider those the fun parts of the site. LINK: https://rizzington-iii.github.io/FTC-Team-Website-32483/index.html Enjoy!
Ships:
I created a website for my team that has information about my team and who we are and what we do. Rather than just creating any other boring site I have designed a dynamic background that makes the site more interesting. Other than that I have also created a 3D visualizer where viewers can drag the image around and take a look at our robot from the past season at various angles. There is also a fun Team Gallery page with captions and funny moments from our season. The Meet the Team page shows us our members and who we are. The hardest part of making this website was the 3D visualizer and the dynamic background. Both elements require complex javascript which made it extremely hard to code. I spent almost half of my time dedicated just to both of those elements in this website just because of how much time it took to perfect it. For the visualizer I ended up taking over 72 photos to get everything at the right angle and compress all the images together with javascript in order to get the visualizer working. I put a lot of time into perfecting the small kinks here and there to make this site stand out so I hope you enjoy it!...
|
1793004760.7792833
|
1793091160.7792833
|
|
50446
|
ISS Live Tracker by @KarthikB | Stardance
|
KarthikB
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-24T14:50:33Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "ISS Live Tracker 🛰️ A real time web app that tracks the International Space Station’s live position on an interactive map and predicts exactly when and whether it’ll be visible from anywhere on Earth. Click any spot on the map to get the next visible pass for that location, complete with duration and whether you will able to see it. Built from scratch with plain HTML, CSS, and JavaScript — no frameworks. Features a live updating marker with a real orbital trail, real time day/night shading calculated from the sun’s actual position, and a pass predictor powered by real ISS tracking APIs. As a beginner, this was my first fully shipped project, including real deployment debugging (HTTPS/mixed-content issues, case-sensitivity bugs between Windows and Linux, and switching APIs mid-project when one proved unreliable in production). Live demo: https://droid678.github.io/ISS-tracker/ Repo: https://github.com/droid678/ISS-tracker", "repo": "https://github.com/droid678/ISS-tracker", "demo": "https://droid678.github.io/ISS-tracker/"}]...
|
[{"post_id": 72655, "ts": "202 [{"post_id": 72655, "ts": "2026-09-23T13:00:28Z", "hours": 2.1564, "text": "Pass Predictor: Done and Shipped 🛰️ Added the second big feature to my ISS Live Tracker: click anywhere on the map, and it tells you when the ISS will next be visible from that exact spot, not just when it passes overhead, but whether it’ll actually be dark enough and sunlit enough to see with your own eyes. Started by building this with real orbital mechanics using satellite.js, fetching the ISS’s TLE (orbital data) and calculating look angles myself. Got it fully working locally. Then deployment broke almost everything: My ISS position API was using http://, but GitHub Pages serves over HTTPS. Browsers block that mix silently. Switched to an HTTPS-only API. The TLE data source (Celestrak) returned a 403 error specifically when called from my live domain, even though it worked fine locally — likely some kind of bot protection treating GitHub Pages differently. At that point, with the deadline close, I made the call to stop fighting the orbital math myself and switched to a purpose-built free API (Pollux Labs’ ISS Pass API) that does the prediction directly. Simpler, more reliable, and it even factors in visibility (daylight/shadow), which my own calculation didn’t. Also did a UI pass — added a tagline, a live status badge, grouped the info text into a proper panel, and a favicon. Live demo: https://droid678.github.io/ISS-tracker/ Repo: https://github.com/droid678/ISS-tracker.git"}, {"post_id": 48981, "ts": "2026-08-17T15:51:59Z", "hours": 2.0272, "text": "Started my ISS Live Tracker for Stardance 🛰️ Decided to build a real-time tracker for the International Space Station after realizing I wanted something that felt genuinely mine, not a pre-made project idea. Built with plain HTML/CSS/JS + Leaflet.js for the map — no frameworks, kept it simple so I could actually understand every line. What’s working so far: -Live ISS position fetched from the Open Notify API, updating every few seconds -A moving marker with a custom satellite icon -A trail line showing the ISS’s recent path -Real-time day/night shading on the map, using a library that calculates the sun’s actual position -A full dark theme dashboard redesign Funniest bug: my map completely broke and the console said map is not a function, turned out, autocomplete had renamed my L.map(…) calls to LargestContentfulPaint.map(…) without me noticing. Took a while to spot since it looked so plausible at a glance. Next up: either a pass predictor (so you can tell when the ISS is visible from your location) or expanding into a broader space weather dashboard."}]...
|
Title: ISS Live Tracker by @KarthikB | Stardance
Title: ISS Live Tracker by @KarthikB | Stardance
Devlogs:
Started my ISS Live Tracker for Stardance 🛰️ Decided to build a real-time tracker for the International Space Station after realizing I wanted something that felt genuinely mine, not a pre-made project idea. Built with plain HTML/CSS/JS + Leaflet.js for the map — no frameworks, kept it simple so I could actually understand every line. What’s working so far: -Live ISS position fetched from the Open Notify API, updating every few seconds -A moving marker with a custom satellite icon -A trail line showing the ISS’s recent path -Real-time day/night shading on the map, using a library that calculates the sun’s actual position -A full dark theme dashboard redesign Funniest bug: my map completely broke and the console said map is not a function, turned out, autocomplete had renamed my L.map(…) calls to LargestContentfulPaint.map(…) without me noticing. Took a while to spot since it looked so plausible at a glance. Next up: either a pass predictor (so you can tell when the ISS is visible from your location) or expanding into a broader space weather dashboard.
Pass Predictor: Done and Shipped 🛰️ Added the second big feature to my ISS Live Tracker: click anywhere on the map, and it tells you when the ISS will next be visible from that exact spot, not just when it passes overhead, but whether it’ll actually be dark enough and sunlit enough to see with your own eyes. Started by building this with real orbital mechanics using satellite.js, fetching the ISS’s TLE (orbital data) and calculating look angles myself. Got it fully working locally. Then deployment broke almost everything: My ISS position API was using http://, but GitHub Pages serves over HTTPS. Browsers block that mix silently. Switched to an HTTPS-only API. The TLE data source (Celestrak) returned a 403 error specifically when called from my live domain, even though it worked fine locally — likely some kind of bot protection treating GitHub Pages differently. At that point, with the deadline close, I made the call to stop fighting the orbital math myself and switched to a purpose-built free API (Pollux Labs’ ISS Pass API) that does the prediction directly. Simpler, more reliable, and it even factors in visibility (daylight/shadow), which my own calculation didn’t. Also did a UI pass — added a tagline, a live status badge, grouped the info text into a proper panel, and a favicon. Live demo: https://droid678.github.io/ISS-tracker/ Repo: https://github.com/droid678/ISS-tracker.git
Ships:
ISS Live Tracker 🛰️ A real time web app that tracks the International Space Station’s live position on an interactive map and predicts exactly when and whether it’ll be visible from anywhere on Earth. Click any spot on the map to get the next visible pass for that location, complete with duration and whether you will able to see it. Built from scratch with plain HTML, CSS, and JavaScript — no frameworks. Features a live updating marker with a real orbital trail, real time day/night shading calculated from the sun’s actual position, and a pass predictor powered by real ISS tracking APIs. As a beginner, this was my first fully shipped project, including real deployment debugging (HTTPS/mixed-content issues, case-sensitivity bugs between Windows and Linux, and switching APIs mid-project when one proved unreliable in production). Live demo: https://droid678.github.io/ISS-tracker/ Repo: https://github.com/droid678/ISS-tracker...
|
1793004759.6587703
|
1793091159.6587703
|
|
55648
|
DIY Desk Audio Amplifier with Tone Control & D DIY Desk Audio Amplifier with Tone Control & Dual Input by @jeremyngai | Stardance...
|
jeremyngai
|
1
|
14.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-19T10:04:24Z", "hours": 14.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is a desk audio amplifier I designed and built to quickly switch between 2 audio sources and apply custom analogue Baxandall EQ to audio without software dependency. It is capable of delivering a maximum of 2x5W output compatible with 4 ohm and 8 ohm speakers. I was frustrated when switching speaker input between my pc and my piano keyboard because I had to move my pc off my desk just to unplug the audio cable from the chassis and plug it back in after my piano practice multiple times a day. That time, I was using my PAM8403 module with the audio cable directly soldered onboard. So, the audio cable cannot be unplugged on the module end. A while after that, I decided to make another amplifier board upgraded with removable audio jack connector onboard to make my life easier. However, just as I thought it would finally be over, the module came faulty.. Total waste of time. This is why I came up with this over-engineered audio amplifier that lets me switch 2 audio sources with just a switch and lets me control EQ without software. Power Input The build is powered with 5V input via USB Type-C and through a toggle switch to control power. It also works with PD negotiation with a pull-down resistor on CC lines. Audio Input Allows 2 distinct audio sources to be quickly switched with a DPDT toggle switch without unplugging/replugging audio jacks. It is compatible with TRRS and TRS connectors Audio Tone Control The build uses a passive 2 channel Baxandall tone control circuit to alter bass and treble frequencies before reaching the main amplifier module. This introduces an insertion loss of around 20dB. Bass Turnover Frequency ( f c ): ~72Hz Treble Turnover Frequency ( f c ): ~7.2kHz Amplification The amplifier system is powered by the HT8696 Class D/AB stereo ready-made module capable of outputting ~10W at 5V with anti-clipping capability to reduce buzzing issues.", "repo": "https://github.com/Jeremy-Ngai-Sew-Poh/DIY-Audio-Tone-Amplifier", "demo": ""}]...
|
[{"post_id": 66320, "ts": "202 [{"post_id": 66320, "ts": "2026-09-12T02:40:10Z", "hours": 3.1667, "text": "Yesterday, all my parts have arrived!! Soldering them one by one took me 3 hours. The PCB turns out perfect as expected and the slide potentiometer is just as smooth. It didn’t work at first… However a reflow saved both my time and money spent lol. Overall it worked great, the baxandall tone control works and it is so fascinating to be building one myself. However at first the tone control didn’t work because of a mismatch of ground plane of the aux input and common ground. So i shorted the aux ground directly to the common ground. I made 3 shorts on the best location for EMI, and the buzzing noise is completely gone (at least to my ears)! The soft underglow also turned out greattt. So ill be vibing and booming with my new audio amplifier 24/7, and as i vibe, ill continue with my github repo. stay tuned then!"}, {"post_id": 61999, "ts": "2026-09-05T06:30:13Z", "hours": 0.9333, "text": "While waiting for all my parts to arrive, i worked on the github repository bill of materials. once all parts arrive, ill solder them!!"}, {"post_id": 60159, "ts": "2026-09-02T10:52:29Z", "hours": 3.0358, "text": "Last few days, i worked on the PCB layout, i kept it at a size of 90x90 to fit on my desk, and also there’s a warm white backlight on the bottom so it gives vibee i dont really know how will it look like but i have good feeling about it! anyways i ordered the pcb on JLCPCB and ill be very excited for it haha, then i can solder everything and hopefully it works.. if not, uhh…."}, {"post_id": 57341, "ts": "2026-08-29T13:50:58Z", "hours": 6.6906, "text": "Today is the first progress of my diy custom audio amp. i completed my schematics and pcb layout. Im basically using a ht8696 audio amplifier module alongside with baxandoll tone control circuit, also made it togglable whether to apply tone or not. Im surprized by today’s progress its really quick without realising, im excited to move on to the pcb wiring tomorrow. today’s task definitely motivated me alot and i plan to order my pcb in a few days!!"}]...
|
Title: DIY Desk Audio Amplifier with Tone Control Title: DIY Desk Audio Amplifier with Tone Control & Dual Input by @jeremyngai | Stardance
Devlogs:
Today is the first progress of my diy custom audio amp. i completed my schematics and pcb layout. Im basically using a ht8696 audio amplifier module alongside with baxandoll tone control circuit, also made it togglable whether to apply tone or not. Im surprized by today’s progress its really quick without realising, im excited to move on to the pcb wiring tomorrow. today’s task definitely motivated me alot and i plan to order my pcb in a few days!!
Last few days, i worked on the PCB layout, i kept it at a size of 90x90 to fit on my desk, and also there’s a warm white backlight on the bottom so it gives vibee i dont really know how will it look like but i have good feeling about it! anyways i ordered the pcb on JLCPCB and ill be very excited for it haha, then i can solder everything and hopefully it works.. if not, uhh….
While waiting for all my parts to arrive, i worked on the github repository bill of materials. once all parts arrive, ill solder them!!
Yesterday, all my parts have arrived!! Soldering them one by one took me 3 hours. The PCB turns out perfect as expected and the slide potentiometer is just as smooth. It didn’t work at first… However a reflow saved both my time and money spent lol. Overall it worked great, the baxandall tone control works and it is so fascinating to be building one myself. However at first the tone control didn’t work because of a mismatch of ground plane of the aux input and common ground. So i shorted the aux ground directly to the common ground. I made 3 shorts on the best location for EMI, and the buzzing noise is completely gone (at least to my ears)! The soft underglow also turned out greattt. So ill be vibing and booming with my new audio amplifier 24/7, and as i vibe, ill continue with my github repo. stay tuned then!
Ships:
This is a desk audio amplifier I designed and built to quickly switch between 2 audio sources and apply custom analogue Baxandall EQ to audio without software dependency. It is capable of delivering a maximum of 2x5W output compatible with 4 ohm and 8 ohm speakers. I was frustrated when switching speaker input between my pc and my piano keyboard because I had to move my pc off my desk just to unplug the audio cable from the chassis and plug it back in after my piano practice multiple times a day. That time, I was using my PAM8403 module with the audio cable directly soldered onboard. So, the audio cable cannot be unplugged on the module end. A while after that, I decided to make another amplifier board upgraded with removable audio jack connector onboard to make my life easier. However, just as I thought it would finally be over, the module came faulty.. Total waste of time. This is why I came up with this over-engineered audio amplifier that lets me switch 2 audio sources with just a switch and lets me control EQ without software. Power Input The build is powered with 5V input via USB Type-C and through a toggle switch to control power. It also works with PD negotiation with a pull-down resistor on CC lines. Audio Input Allows 2 distinct audio sources to be quickly switched with a DPDT toggle switch without unplugging/replugging audio jacks. It is compatible with TRRS and TRS connectors Audio Tone Control The build uses a passive 2 channel Baxandall tone control circuit to alter bass and treble frequencies before reaching the main amplifier module. This introduces an insertion loss of around 20dB. Bass Turnover Frequency ( f c ): ~72Hz Treble Turnover Frequency ( f c ): ~7.2kHz Amplification The amplifier system is powered by the HT8696 Class D/AB stereo ready-made module capable of outputting ~10W at 5V with anti-clipping capability to reduce buzzing issues....
|
1793004758.5609484
|
1793091158.5609484
|
|
55635
|
Silly macropad :3 by @Lawnard | Stardance
|
Lawnard
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-10T20:09:07Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is just what i did for the macropad mission", "repo": "https://github.com/LawrnardKerman/mymacropad", "demo": ""}]...
|
[{"post_id": 78434, "ts": "202 [{"post_id": 78434, "ts": "2026-10-10T19:56:54Z", "hours": 1.9714, "text": "ITS ALIVE!!"}, {"post_id": 61181, "ts": "2026-09-03T23:57:25Z", "hours": 0.4561, "text": "gng, how long does it usually take for the people at hackclub hq to review a design, i really want to ship something during stardance(btw, my slack isnt working, thats why im posting here)(the image is of the final version of the pcb)"}, {"post_id": 58917, "ts": "2026-08-31T14:17:07Z", "hours": 1.0356, "text": "alr gng, i finished the firmware! yeppi yay :3"}, {"post_id": 58125, "ts": "2026-08-30T14:10:44Z", "hours": 1.2333, "text": "i set up the github page and made the BOM and CPL file because i am not going to hand solder those tiny smd componets"}, {"post_id": 58042, "ts": "2026-08-30T12:03:24Z", "hours": 1.805, "text": "i got done with the cad the final design has 5 cherry mx switched, 1 rotary encoder, and 1 led now i just have to make the firmware i redid the traces again because one of my friends called it “horrible” and they said it was so bad that they would “do it for me”"}, {"post_id": 57700, "ts": "2026-08-29T22:50:55Z", "hours": 2.2589, "text": "im having so much fun bro im gonna abandon all my other projects for like a week so i can actually ship something during stardance, im almost done with cad(pcb design is so fun) i also redid all the traces because it looked like spagetti. I’m DREADING the firmware though ps: rn i have no motivation for my other projects, im still riding the high from starting a new project"}, {"post_id": 57319, "ts": "2026-08-29T13:07:02Z", "hours": 2.1817, "text": "i finished the case & the pcb i have 6 switches and 3 leds i feel so much more motivation for this project tbh"}]...
|
Title: Silly macropad :3 by @Lawnard | Stardance
Title: Silly macropad :3 by @Lawnard | Stardance
Devlogs:
i finished the case & the pcb i have 6 switches and 3 leds i feel so much more motivation for this project tbh
im having so much fun bro im gonna abandon all my other projects for like a week so i can actually ship something during stardance, im almost done with cad(pcb design is so fun) i also redid all the traces because it looked like spagetti. I’m DREADING the firmware though ps: rn i have no motivation for my other projects, im still riding the high from starting a new project
i got done with the cad the final design has 5 cherry mx switched, 1 rotary encoder, and 1 led now i just have to make the firmware i redid the traces again because one of my friends called it “horrible” and they said it was so bad that they would “do it for me”
i set up the github page and made the BOM and CPL file because i am not going to hand solder those tiny smd componets
alr gng, i finished the firmware! yeppi yay :3
gng, how long does it usually take for the people at hackclub hq to review a design, i really want to ship something during stardance(btw, my slack isnt working, thats why im posting here)(the image is of the final version of the pcb)
ITS ALIVE!!
Ships:
This is just what i did for the macropad mission...
|
1793004757.345064
|
1793091157.345064
|
|
55629
|
Drawpad by @magomango | Stardance
|
magomango
|
1
|
10.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T01:55:01Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a drawpad using Arduino. It includes a screen and a reset button physically. There’s an intial passcode screen to protect your devious drawings and a clear button the side which functions as a lock button or a clear pass attempt. Currently there’s 4 colors and a clear button.", "repo": "https://github.com/magnolia345/Gamepad", "demo": ""}]...
|
[{"post_id": 71519, "ts": "202 [{"post_id": 71519, "ts": "2026-09-20T23:59:07Z", "hours": 3.7739, "text": "Added a simple pass You now need to enter the correct passcode to view the drawpad, and it locks by pressing the left side button. Necessary to protect any… private drawings. 👀 But then i just leaked it to everyone who sees this. Oops gotta change it"}, {"post_id": 63669, "ts": "2026-09-07T16:31:47Z", "hours": 6.2542, "text": "A cool gamepad - 1st Devlog, DRAWPAD This is the first time I’m posting hardware, and I lwk didn’t know there was an option to record build time lmao. Uh ok. And also forgot to make devlogs along the way so we got this. ~ What is this? I’m making a gamepad using Arduino, with different games on it. With Arduino Uno and a TFT LCD Display, I made this tiny drawing pad, which will eventually be one part of the overall gamepad, with 4 different colors and a clear button. For size reference, it’s about the size of an airpod pro case. ~ Plan For this drawpad specifically, I’ll add an erase button and possibly more colors! I will make a retro pingpong game and add it to the overall gameboard. More to come on that. corn…."}]...
|
Title: Drawpad by @magomango | Stardance
Devlogs: Title: Drawpad by @magomango | Stardance
Devlogs:
A cool gamepad - 1st Devlog, DRAWPAD This is the first time I’m posting hardware, and I lwk didn’t know there was an option to record build time lmao. Uh ok. And also forgot to make devlogs along the way so we got this. ~ What is this? I’m making a gamepad using Arduino, with different games on it. With Arduino Uno and a TFT LCD Display, I made this tiny drawing pad, which will eventually be one part of the overall gamepad, with 4 different colors and a clear button. For size reference, it’s about the size of an airpod pro case. ~ Plan For this drawpad specifically, I’ll add an erase button and possibly more colors! I will make a retro pingpong game and add it to the overall gameboard. More to come on that. corn….
Added a simple pass You now need to enter the correct passcode to view the drawpad, and it locks by pressing the left side button. Necessary to protect any… private drawings. 👀 But then i just leaked it to everyone who sees this. Oops gotta change it
Ships:
I made a drawpad using Arduino. It includes a screen and a reset button physically. There’s an intial passcode screen to protect your devious drawings and a clear button the side which functions as a lock button or a clear pass attempt. Currently there’s 4 colors and a clear button....
|
1793004756.2612386
|
1793091156.2612386
|
|
50393
|
Frictionless by @misbahgauri9 | Stardance
|
misbahgauri9
|
1
|
10.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-29T11:38:54Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a note taking website, so this is basically the Web version of good notes [ well we are not quite there yet] and I made it as a free and accessible. the most challenging part more than coding for me as someone who is doing it for the first time was to figure things and set up things:}", "repo": "https://github.com/misbahgauri/BeeMark", "demo": "https://misbahgauri.github.io/BeeMark/"}]...
|
[{"post_id": 75172, "ts": "202 [{"post_id": 75172, "ts": "2026-09-29T11:32:58Z", "hours": 0.4397, "text": "guys I added a readme and fixed the errors I was getting w GitHub, its shipped now so please check it out and leave honest revieww so happy RN!!!"}, {"post_id": 74460, "ts": "2026-09-27T12:51:19Z", "hours": 0.3867, "text": "it’s doneeee yayyyy try it ouut yall"}, {"post_id": 73570, "ts": "2026-09-25T12:40:07Z", "hours": 1.4192, "text": "things I did: 1. added new fonts, increased the storage & added grid. 2. change the whole css cuz i wanted to change the colour pallet and layout so it kinda fits the futuristic biophilic aesthetics and for that I added some unnatural shapes and textures. 3. worked on making the already existing features work better. [ AKA the hardest part]"}, {"post_id": 69674, "ts": "2026-09-17T15:31:28Z", "hours": 1.0711, "text": "after so many days of working its still glitching and storage sucks!!"}, {"post_id": 61445, "ts": "2026-09-04T11:26:04Z", "hours": 0.9364, "text": "dev log #3 ok i know it’s been a while that’s cuz i’ve been figuring out a few things in the code aswell as my life :) so far i have worked on the stylus writting feauture and adding more bg options. but I am yet to add a better storage system, more fonts , text editing optin and integrate AI feautures also improve th UI, Any tips?"}, {"post_id": 53747, "ts": "2026-08-24T12:40:04Z", "hours": 0.3094, "text": "devlog 2 guys I worked on my HTML, CSS and java and today I added a handwritten notes feature where users can write through stylus as well as type and also added a feature through which 3d models and images can be uploaded on the page and some more basic features."}, {"post_id": 53110, "ts": "2026-08-23T15:22:32Z", "hours": 5.3506, "text": "this my note taking app ‘bee mark’ I am working on this as my first ever coding project since I’m a newbie but the reason I chose to make an actual note taking app rather than a ‘quick notes’ web cuz I actually wanted to create a cutesy and Pinterest coded version that is actually function and has features that can help students make note taking process a bit easier and is free to use also I’ll explain more about my web in next post and if you have suggestions or features that you would personally like to see in such plsssss do let me know. here’s my HTML progress as of now. there is more but i could only upload one about 128 lines."}]...
|
Title: Frictionless by @misbahgauri9 | Stardance
Title: Frictionless by @misbahgauri9 | Stardance
Devlogs:
this my note taking app ‘bee mark’ I am working on this as my first ever coding project since I’m a newbie but the reason I chose to make an actual note taking app rather than a ‘quick notes’ web cuz I actually wanted to create a cutesy and Pinterest coded version that is actually function and has features that can help students make note taking process a bit easier and is free to use also I’ll explain more about my web in next post and if you have suggestions or features that you would personally like to see in such plsssss do let me know. here’s my HTML progress as of now. there is more but i could only upload one about 128 lines.
devlog 2 guys I worked on my HTML, CSS and java and today I added a handwritten notes feature where users can write through stylus as well as type and also added a feature through which 3d models and images can be uploaded on the page and some more basic features.
dev log #3 ok i know it’s been a while that’s cuz i’ve been figuring out a few things in the code aswell as my life :) so far i have worked on the stylus writting feauture and adding more bg options. but I am yet to add a better storage system, more fonts , text editing optin and integrate AI feautures also improve th UI, Any tips?
after so many days of working its still glitching and storage sucks!!
things I did: 1. added new fonts, increased the storage & added grid. 2. change the whole css cuz i wanted to change the colour pallet and layout so it kinda fits the futuristic biophilic aesthetics and for that I added some unnatural shapes and textures. 3. worked on making the already existing features work better. [ AKA the hardest part]
it’s doneeee yayyyy try it ouut yall
guys I added a readme and fixed the errors I was getting w GitHub, its shipped now so please check it out and leave honest revieww so happy RN!!!
Ships:
I made a note taking website, so this is basically the Web version of good notes [ well we are not quite there yet] and I made it as a free and accessible. the most challenging part more than coding for me as someone who is doing it for the first time was to figure things and set up things:}...
|
1793004755.0952144
|
1793091155.0952144
|
|
30836
|
calc82: Web Scientific Calculator by @rigel | Star calc82: Web Scientific Calculator by @rigel | Stardance...
|
rigel
|
1
|
120.0
|
2248
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-09T04:20:09Z", "hours": 120.0, "multiplier": 19.41, "payout": 2248, "blessing": "neutral", "text": "What did you make? calc82: A calculator web-app inspired by the Casio fx-82 series of scientific calculators. These calculators are common in high schools in my country. My project simulates the behaviour of the Casio calculator, while maintaining a good user experience on both desktop and mobile. What was challenging? Creating reliable algebraic (non-linear) input parsing was the most difficult part of the project. This was because it required some difficult array traversal to avoid invalid states - even one mistake would break the whole input. It took a lot of iterations to get to a working input system that passed all my tests. Close contenders for most challenging were the sheer volume of functions I needed to implement, as well as all possible states the calculator can be in. However, the challenge for this was finding time to get around to everything, rather than technical challenge. What are you proud of? I’m most proud of my implementation of the input-to-result pipeline. I was able to incorporate new-to-me concepts such as tokenisers and abstract syntax trees, yet the resulting code is arguably the cleanest part of the program. I’m also proud of the responsive layout, which supports desktop and mobile well, and that the user experience is similar enough to the Casio that my muscle memory carries over. Finally, I’m proud that I managed to finish the project, as it’s the largest software project I’ve ever managed to complete. Demo: https://rigelseven.github.io/calc82/ Source: https://github.com/rigelseven/calc82/", "repo": "https://github.com/rigelseven/calc82", "demo": "https://rigelseven.github.io/calc82/"}]...
|
[{"post_id": 64600, "ts": "202 [{"post_id": 64600, "ts": "2026-09-09T03:36:33Z", "hours": 1.0264, "text": "calc82: Devlog #14 9/09/2026 calc82: because calculators are for everyone Final devlog. It’s done!! This last stretch was writing the readme and publishing everything to Github pages. You can now access it at https://rigelseven.github.io/calc82/ Now for a short reflection calc82 is the largest personal software project I have ever completed. This project taught me a lot about input parsing - specifically, tokenisers and syntax trees - and the importance of keeping a large codebase tidy . Overall, the structure of the project is well laid out. However, there are architectural decisions I made early on that I came to regret later (such as the fact that input is represented as a string, whereas it should probably be a tree). Developing calc82 also showed me that I am capable of putting together such an app from scratch. I’m pleased to have participated in Stardance and be given this opportunity."}, {"post_id": 64551, "ts": "2026-09-09T01:44:48Z", "hours": 8.6039, "text": "calc82: Devlog #13 9/09/2026 calc82: because calculators are for everyone This devlog follows the addition of help and about menus to my calculator, as well as bundling into one js file. 🌟 New functionality summary Help menu Lookup function by calculator button (reuses key bind selector logic) Q&A About page About the calculator Contribute Legal License All JS files are bundled into one file Service worker makes app available offline 📦 Bundling and service worker I chose to use esbuild for bundling. This allows the many JS files to be condensed down into one file, reducing the number of requests that need to be made. This build system is much simpler than other options such as node.js. I also added a simple service worker that caches all requests locally. This makes the calculator available offline. ⚖️ Licensing & Legal I chose GPLv3 for this project as it is an end-user product. Essentially, this means others are free to modify and distribute the project as long as they make the source available. I also added legal disclaimers to the about page of the calculator. 📈 Next steps Write the readme, publicise the repo, and host! Thanks for reading :)"}, {"post_id": 63421, "ts": "2026-09-07T07:56:19Z", "hours": 9.6403, "text": "calc82: Devlog #12 7/09/2026 calc82: because calculators are for everyone This devlog follows the addition of customisable and accessible keyboard bindings to my calculator. 🌟 New functionality summary Settings menu Switches between sidebar and popup dependent on screen width Key rebinding Flow of choosing button, then pressing key to rebind Stores in local storage Help hotkey Shows all currently bound keys. Key hint consideration The default keyboard map has been implemented as a const dictionary for a while now, allowing lookup of buttons from keyboard keys. This was extended with a user dictionary that can be dynamically updated. However, generating the help hotkey hints needed to go in the opposite direction of the dictionary. The naive approach of iterating through values to find a key for each would perform poorly with O(n^2). Instead, we precalculate a reversed dictionary to lookup keyboard keys from each button. This precalculation is O(n), and setting the keys is also O(n), resulting in O(n) time overall. 📈 Next steps Development Brief manual for each calculator function (considering reusing the on click functionality from key mapper) ) Info menubar button with author & project information, and disclaimers Fullscreen button for mobile devices Preparation for shipping Webpack, choose a license, write readme, publicise repo, host. Thanks for reading :)"}, {"post_id": 62611, "ts": "2026-09-06T02:35:54Z", "hours": 8.5919, "text": "calc82: Devlog #11 6/09/2026 calc82: because calculators are for everyone This devlog follows the addition of a few final features to my calculator, and then my worst nightmare, frontend UI 😧 🌟 New functionality summary Prime factorisation using Pollard’s rho algorithm Engineering notation button Degree/minute/second output button CSS styling!! + menu bar buttons Fixed some input quirks Dark and light mode (based on system default) with manual toggle 🐚 Pollards rho algorithm for prime factorisation Prime factorisation or integer factorisation is the decomposition of a positive integer into a product of integers. The simplest way to implement this is trial division , which is straightforward but has O(√n) time complexity. I thought this would be too slow, so I decided to implement Pollard’s rho algorithm. This has a nicer complexity of O(√p) where p is the smallest prime factor of the number. However, further observation showed that that the Casio calculator probably doesn’t do this - for numbers without easy factors, it just doesn’t bother. Despite this, I’ve already implemented the algorithm, so I’m not going to remove functionality for the sake of exactly replicating the calculator’s behaviour. 🎨 CSS and styling My goal with the styling was to make the calculator as similar across browsers as possible. I bundled the Inter font (best font) into the program and removed browser-specific button styling. Implementing the CSS styling was mostly painless. I opted for a simple design with a menubar that adapts to horizontal or vertical depending on the window’s aspect ratio for the web app functionality. Additionally the css uses the system theme to automatically choose light or dark mode. 📈 Next steps This project is nearly finished - should only be one or two devlogs left until I ship. Here’s what I have left to do: Development Keybind show and edit Brief manual for each calculator function Info menubar button with author & project information, and disclaimers: that I am not affiliated with casio that the calculator is in a beta state and not guaranteed to be correct for all inputs Fullscreen button for mobile devices Preparation for shipping Webpack or similar Choose a license and publicise repo Write a readme Host on github pages (?) Hope that I did enough to not receive legal action from casio 🙃 Thanks for reading :)"}, {"post_id": 60028, "ts": "2026-09-02T04:16:18Z", "hours": 9.8953, "text": "calc82: Devlog #10 2/09/2026 calc82: because calculators are for everyone This devlog follows the addition of a lot of small features to my calculator that were last on my to-do list, as well as a slight shift in scope. 🌟 New functionality summary Colon operator for multiple operations Saving variables and settings to LocalStorage Clearing this memory Polar and rectangular coordinates (finally!) Forward delete key (keyboard only) Scrolling screen with a nicer cursor! Colon operator This is an operator I’ve never used on my calculator, but its quite powerful. you can type Ans+1:Ans*2:Ans^2 and it will calculate the first expression, then the second, and so on until it loops back to the start. ➡️ Forward delete Although this functionality is not part of the original calculator, it makes it much more pleasant to use on a computer keyboard. This was implemented as a hidden button. Scrolling Scrolling was surprisingly easy to implement! The browser handles all of the hard work, and all I had to do was set the right CSS tags. Granted, with my CSS experience, this was still difficult, but I made it work in the end. 📈 Next steps I have decided to shift the current scope of the project (before shipping) to just be implementing the main compute mode . This means I will not need to do STAT, VERIFY or LINEIO mode. This is for three reasons: With my semester starting, I will not have as much time to work on this project before the deadline I have very little experience with using these other modes I want to focus my time on the user experience. With this shift in scope, the calculator part of the project is all but done - I only have three buttons remaining. (I had to push this devlog out before 10 hours, which is why they’re not done). Then, I can focus on adding the surrounding UI and UX, which should make it actually possible for other people to use my project. Thanks for reading :)"}, {"post_id": 58608, "ts": "2026-08-31T02:44:52Z", "hours": 8.6944, "text": "calc82: Devlog #9 31/08/2026 calc82: because calculators are for everyone This devlog follows the addition of menus and the status bar to my calculator. 🌟 New functionality summary Extensible menu system that allows for easy creation of paginated and nested menus Status bar with indicators that change based on the current calculator state M+ and M- special variables Mixed fraction display 📋 Menu system The menu system uses a dictionary to encode the menu pages and their entries, making it easy to add new menus. However, I couldn’t find a way to easily encode functions and arguments in this structure, so the actual actions are handled by a big switch statement. When the menu is active, most buttons have no action and the input/output display is hidden. 🧀 Status bar The status bar consists of a row of elements with adjustable opacity (to represent their active state). It is handled by a class which allows items to be toggled with a single method call, meaning it can retroactively be integrated into other components. The original calculator has some menu elements that can never be activated - for example, there is a complex mode indicator, but the calculator cannot show complex numbers. I omitted these on calc82, as they took up unnecessary space. 📈 Next steps The project is almost nearing completion :) I made complete list of every feature missing from the calculator (too long to post here). It should should get shorter every devlog from now! Hopefully I can finally ship this project in the next couple of weeks. Thanks for reading :)"}, {"post_id": 45453, "ts": "2026-08-11T22:22:45Z", "hours": 10.3792, "text": "calc82: Devlog #8 12/08/2026 calc82: because calculators are for everyone Sorry its been a while since the last devlog, I’ve had this one sitting for a while and not had the chance to finish and post it. This devlog follows the improvement of the user interface to my calculator, as well as the addition of variables . 🌟 New functionality summary Add keyboard mappings for buttons Variables - assign and recall Navigate through history Recall history and edit it. 🦋 Modifier keys It was difficult porting the modifier (shift/alpha) keys to keyboard because Shift is used to type symbols such as + and *, and there is also a Shift key on the calculator… My solution was making tapping shift without any other input to toggle the calculator shift modifier, and combining it with another key to not toggle it. 🗒️ Notes Use of the calculator I’ve actually started using the calculator in class, and it’s been faithful to the original so far (for implemented functionality). I still don’t really trust it though and want to run it through some formalised tests before shipping. Keyboard mappings So far, I have been hardcoding keyboard mappings based on what feels natural to me. However, it would probably be better to have user-editable mappings for other people to customise. 📈 Next steps Immediate: M+ and M- special variable Variable and history persistence in the browser Implement polar/rectangualr conversion Medium: Add menu system and settings Add other modes (STAT, VERIFY) Create a test suite to ensure there is no unwanted behaviour Long-term: Tidy up visuals Ship :)"}, {"post_id": 32188, "ts": "2026-07-21T05:53:53Z", "hours": 9.9386, "text": "calc82: Devlog #7 21/07/2026 calc82: because calculators are for everyone This devlog follows the introduction of an actual user interface to my calculator. 🌟 New functionality summary Grid of calculator buttons Different button output when modifiers pressed Navigation buttons work Calculator resembles a real calculator 👇 Button handling The calculator needed buttons resembling that of the Casio to fulfil my purpose. Buttons are dynamically built from an array, which defines their labels and actions. This allows easy changes. For most buttons, the area surrounding the button also acts as a clickable area for better touch input. However, I didn’t find an easy way to do this for the navigation buttons (which are positioned off the grid). 🎨 CSS CSS Grid allows a 2D layout system based on rows and columns. It has been supported by all major browsers since October 2017. CSS Grid was used, as it allows consistent positioning across browsers. In addition, relative units were used to prevent resizing the calculator from affecting it. This should make it easier to make dynamic sizing in the future. 🗒️ Notes Accessibility <button> s are preferred over clickable <div> s because they work with screen readers and legacy browsers . However, I also made the surrounding elements clickable for a better touch experience. Also, keyboard input will make use significantly easier for computer users. Aesthetics The CSS applied so far is purely functional. In the future, I will improve the aesthetics of the calculator through CSS - but for now, this barebones look makes development easier and more focused. 📈 Next steps The todo list was getting too empty, so it has been updated with new tasks Immediate: Add remaining functions Add keyboard shortcuts Medium: Add menu system and settings Multi-line calculation (Ans) and setting variables Implement polar/rectangualr conversion Add other modes (STAT, VERIFY) Add Long-term: Create a test suite to ensure there is no unwanted behaviour Ship :)"}, {"post_id": 30511, "ts": "2026-07-18T04:36:43Z", "hours": 9.605, "text": "calc82: Devlog #6 18/07/2026 calc82: because calculators are for everyone This devlog follows the further development of algebraic I/O to my calculator, including turning this into an actual result. 🌟 New functionality summary Input and output formatting through KaTeX Square root, arbitrary root, mixed fraction, and absolute values Tokeniser now directly reads input tokens Errors now move the cursor to the position where it occurred 🌊 New program flow inputHandler -> [input tokens] -> tokeniser -> [calculator tokens] -> parser -> AST -> evaluator -> result This: improves speed (compared to parsing text) allows cursor to be moved to error location since we never flatten to text You might notice I have two sets of tokens. They are similar, but input tokens deal with digits and combined symbols ( sin( ), and calculator tokens are whole numbers and separated symbols. 🗒️ Notes Avoiding the lazy route My first approach was turning the input tokens into a string, which my tokeniser already knew how to deal with. However, this added much processing overhead and made it harder to find out the position at which errors occurred. Spending the time to implement the token conversion made this step much easier Misplaced math errors When implementing error handling, I passed down the original position of each token in the input token array down to each step of the calculation process. However, because my evaluator is recursive, it would constantly update the error position to the latest token, meaning the errors were always placed at the end. This was an easy fix in the end - but hard to spot! 📈 Next steps Immediate: Buttons input Add remaining functions (once buttons are added can be done) Medium: Multi-line calculation (Ans) and setting variables Implement polar/rectangualr conversion (delayed until UI is more fleshed out) Build UI Long-term (but getting closer!): Create a usable UX Ship :)"}, {"post_id": 29405, "ts": "2026-07-16T10:32:06Z", "hours": 9.6708, "text": "calc82: Devlog #5 16/07/2026 calc82: because calculators are for everyone This devlog mainly follows the addition of algebraic I/O to my calculator. This is just a check-in since I was getting close to 10 hours since the last devlog - I still have some work to do on this aspect before I move on. 🌟 New functionality summary Input and output formatting through KaTeX Fractions and powers formatted correctly in the input Ability to intuitively traverse the input with arrow keys ⚖️ Algebraic IO with KaTeX I decided on KaTeX because it is both fast (no reflow!) and does not rely on dependencies . KaTeX is a math formatting library that uses LaTeX commands to create beautiful equations from code. For example, \\frac{2^{\\frac{3}{4}}}{4\\sin(30)}\\times 2\\pi turns into the attached image. Input is currently captured directly from the keyboard to build a 1D array of tokens. The tokens are then converted into KaTeX formatting for algebraic display. In the future, there will also be buttons onscreen as an alternative. Fractions and powers Fractions and powers cannot be represented as a single token. Rather, fractions have a beginning, middle and end, and powers have a beginning and end. The program traverses the array to decide where to put them (and take them out for deletion). 🗒️ Notes The cursor It is surprisingly difficult to make a vertical bar to act as a cursor in KaTeX, without affecting the spacing of the rest of the expression. For now, I am using a \\clap{\\rule{0.1em}{0.5em}} for the cursor, but I am looking to replace this with custom CSS in the future. Replicating exact behaviour? The fx-82 has some interesting behaviour wherein an empty power is not allowed to exist directly after another power. I am unsure whether I should replicate this - but for now, I am leaving it out. Dealing with broken LaTeX I have been able to get the display pretty bulletproof when it comes to not producing broken LaTeX. However, I’m sure there’s something I haven’t run into in debugging! I want to have this be dealt with gracefully rather than blowing up in the user’s face. 📈 Next steps Immediate: Implement mixed fractions, roots, and Abs to algebraic display Make the input token array able to be parsed into the AST to be calculated Medium: Multi-line calculation (Ans) and setting variables Implement polar/rectangualr conversion (delayed until UI is more fleshed out) Build UI Long-term (but getting closer!): Create a usable UX Ship :)"}, {"post_id": 27701, "ts": "2026-07-13T14:20:52Z", "hours": 7.1211, "text": "calc82: Devlog #4 14/07/2026 calc82: because calculators are for everyone This devlog mainly follows the addition of fractional I/O to my calculator. 🌟 New functionality summary Fractional input, including fractions Computation of fractions - add/sub,div/mult,power,root other operations convert the fraction to a decimal Fractional output (temporary UI) LCM/GCD separate execute and fraction/decimal converting buttons 🔢 fractional io :) I defined a separate fraction data type: it’s like a decimal, but with a numerator and denominator, and optionally a whole component: for example, 1 and 1/3, or 4/3. Using fractions means that numbers can be represented more naturally and precisely. I.e. 1/7 instead of 0.142857143 🧮 Fractional calculation Additionally calculations can be made more precise. For example (1/7) * (2/3) can be directly computed by multiplying the numerators and denominators. My implementation attempts to convert user input and the products of divisions into fractions wherever possible in order to chase this precision. 🗒️ Notes Web design is not my thing I realised the importance of UI and UX (user experience) by looking at other projects on Stardance. As of the current iteration, this project lacks this a bit.. But I will give it a shot My next developments will begin to focus more on this - starting with the algebraic input, and eventually moving onto the CSS and design aspects. I am also considering whether I should use a Javascript framework. 📈 Next steps Immediate: Create algebraic display functionality Medium: Multi-line calculation (Ans) and setting variables Implement polar/rectangualr conversion (delayed until UI is more fleshed out) Build UI Long-term (but getting closer!): Create a usable UX Ship :)"}, {"post_id": 25807, "ts": "2026-07-10T08:35:45Z", "hours": 6.5419, "text": "calc82: Devlog #3 10/07/2026 calc82: because calculators are for everyone Oh dear, looks like I lost 4 hours of counted time in the last devlog… let’s try to make this one a bit shorter! This devlog follows the implementation of the other inline functions of the calculator: 🌟 New functionality summary inverse and hyperbolic trig arbitrary roots absolute value percent random numbers: Ran and RanInt scientific notation: *10^x / E combinatorics: nPr and nCr variables (not yet adjustable) 📋 Implementation details Implementing most of this functionality followed the same general steps: identify implement test. As I undertook this process. other dependent requirements popped up - such as the implementation of multivariable functions , which in turn required the expansion of the tokeniser and parser. Also, I implemented degrees, radians, and gradians modes into the calculator, and the associated functions (as postfix expressions - e.g. sin(30d) for degrees) . 🗄️ decimal.js changes Finally, I applied some further changes to decimal.js.: Rounding now depends on the closeness of the output to a known value, rather than the input, reducing unnecessary rounding Near-decimal values close to 0, 0.25, 0.5, 0.75 and 1 are now caught. 🗒️ Notes: Remembering that Javascript is weird NaN === NaN is FALSE! Spent a good 10 minutes figuring this one out. The solution was to use isNaN() . Fixing negative-base powers: (-8)^(1/3) should equal 2 but returns NaN Fixed by taking the denominator from the output of a decimal.js toFraction() function, which attempts to create a rational fraction. This overcomes the tiny precision loss and evaluates the function correctly 📈 Next steps Immediate: Add fractional I/O Implement polar/rectangualr conversion Medium: Create algebraic display functionality Multi-line calculation (Ans) and setting variables Long-term: Build UI Ship :) This has been a bit of a shorter devlog. But I’m still proud of what I achieved! Thanks so much for reading. If you have any suggestions, please leave me a comment. Take care"}, {"post_id": 25217, "ts": "2026-07-09T10:31:56Z", "hours": 14.0967, "text": "calc82: Devlog #2 08/07/2026 calc82: because calculators are for everyone This devlog follows the handling of nasty floating point errors in my web calculator - inspired by and designed to work with Casio’s fx-82au. I realised that relying purely on the Javascript math system was unsuitable for a scientific calculator that works with decimal numbers. This is due to binary floating point not translating well to decimal. 0.1+0.2=0.30000000000000004 >:( I researched and considered a few approaches. 🥧 Symbolic simplifier? The idea behind this is to perform algebra and avoid evaluating constants and functions to values until strictly necessary. However, the scope of this seemed massive, and I did not observe this behaviour in the Casio. 🔟 Decimal arithmetic Instead, I stumbled upon the fact that decimal arithmetic can be implemented in a computer. While IEEE floats use binary representation, there is no reason we cannot use decimals internally, avoiding errors that arise from conversion. Decimal floats can be stored by: Sign: +/- Mantissa: the number itself, in my case an array of digits Exponent: what power of 10 the number should be multiplied by. I started implementation, made decent progress, but found out that I was re-doing work that was already done by other people. 🗄️ Decimal.js I found the decimal.js library after researching how to handle decimal addition. Implementing this quickly fixed my floating point errors, but did not fix trig approximation. 👀 Observing the calculator I observed some of the behaviour of the real calculator to work out how it functions. Handles small-angle approximation based on a threshold Drops precision as the trig function argument value increases Appears to use a 15-digit mantissa Refuses to evaluate trig functions with argument above a certain limit I tried my best to implement the behaviour I observed, some of which required editing the code of the decimal.js library. 📝 Editing decimal.js The decimal.js library uses more than the set precision for some internal calculations. However, arithmetic with pi is otherwise only the set precision, causing drift. My fix for this was to adjust the internal pi value to match the mantissa size of the real calculator. Troubles with the library When given a less accurate value for pi (in line with that of the real calculator) sine quadrant is incorrectly calculated. I found that the isOdd function is flawed! function isOdd(n) { return n.d[n.d.length - 1] & 1; } I replaced it with one that works for my use case (if less efficient): function isOdd(n) { return n.mod(2).eq(1); } I need to see if this is just due to my low precision pi, or an actual problem in the library, in the future. But for now my issue is fixed. I also found an error in the cosine function: if (x.isZero()) return x needed to be changed to if (x.isZero()) return new Ctor(1) . Again, I’m going to have to look into this more before submitting a pr or anything, since decimal.js is not made for such an imprecise pi. 🗒️ Notes Deviations There are still small deviations between my calculator and the real one at really, really large trig angles. One idea to reduce error could be optimising the order of operations in the AST to prevent dropping precision unnecessarily. I might explore this later However, I want to press on with other features, instead of tiny inaccuracies that would never show up in real-world use. I have slightly rearranged the to-do list below. 📈 Next steps Immediate: Implement the other calculator buttons and functions Add fractional I/O Medium: Create algebraic display functionality Multi-line calculation (Ans) and variables Long-term: Build UI Ship :) Thanks so much for reading! If you have any suggestions, please leave me a comment. Until next time"}, {"post_id": 23363, "ts": "2026-07-06T09:05:57Z", "hours": 6.4844, "text": "calc82: Project Introduction and Devlog #1 calc82: because calculators are for everyone The aim of this project is to create a free, software-based browser calculator which mimics the behaviour of the Casio fx-82au. This is the most common calculator in high schools in my country. 🔥 Motivation My motivation for this project is the following: calculators are cool i dont always have my calculator on me (most notably) not everyone has access to a scientific calculator 🎯 Approach I will take a black-box reverse engineering approach . This means analysing the inputs and outputs of the calculator and attempting to replicate the behaviour without looking at the underlying code. This along with avoiding patents and copyright should keep the project okay legally. 📈 Goals and scope The final goal for the project is to create a fully functional calculator (obviously) which works on most types of devices. This means both touch and keyboard input, resolution scaling, wide browser support… I have moderate experience with creating web apps. and a lot of experience using this calculator. so this project should be pretty fun :) Devlog #1 06/07/2026 This devlog covers the initial development of the parts of the calculator that do math. Essentially turning an input expression into an output. I chose a high-level structure similar to that used by programming language syntax analysers. That is: Input -> Tokeniser -> Parser -> Evaluator -> Output 🪙 Tokeniser yes, with an s >:( The tokeniser converts the input into a list of tokens (think individual pieces of the expression). It does this by scanning the input string and identifying what each character corresponds to. The tokeniser only knows what each symbol is , not what it does . Then it passes the token array to the… 🌲 Parser The parser converts the token array into an Abstract Syntax Tree (AST). Essentially this is a tree which shows how the expressions should be evaluated in order to produce the desired output. This properly lets me implement order of operations. The exact type of parser I am using is a recursive descent parser . It attempts to match the tokens with known symbols recursively, meaning i can rely on the call stack :) The order of operations can be defined by the order of function calls within the parser. 🧮 Evaluator The evaluator’s job is easy: it just traverses the tree made by the parser and runs the necessary operations. Because all of the hard work regarding order of operations has been done by the other components, implementing the evaluator was really easy. Its also recursive. your call stack is gonna love me for this 🗒️ Notes Why not eval? It’s true that JavaScript has a perfectly good expression parser, which I could have used. However, its behaviour is more suited to a programming language than a calculator. For example, 4(2+3) should implicitly multiply , but will instead complain TypeError: 4 is not a function . Writing my own system gives me more flexibility to make the calculator how I want. Floating point precision Because it uses Javascript’s internal math engine, i have floating-point problems. This results in expressions like sin(2pi) = -2.44929360e-16 I will likely fix this by using a math library, or a novel approach. Last-minute catch I was just writing an example for this devlog when I found that .3ln(4)*5^2 raised an error. In fact, ANYTHING * or / followed by x^n would error - but other operators wouldn’t. This was a quick fix, but I’m glad I caught it! 📈 Next steps Immediate: Fix math imprecision Add fractional I/O Medium: Create algebraic display functionality Multi-line calculation (Ans) and variables Long-term: Make the calculator functionally equivalent to the fx-82 Build UI Ship :) Thanks so much for reading! If you have any suggestions, please leave me a comment"}]...
|
Title: calc82: Web Scientific Calculator by @rigel Title: calc82: Web Scientific Calculator by @rigel | Stardance
Devlogs:
calc82: Project Introduction and Devlog #1 calc82: because calculators are for everyone The aim of this project is to create a free, software-based browser calculator which mimics the behaviour of the Casio fx-82au. This is the most common calculator in high schools in my country. 🔥 Motivation My motivation for this project is the following: calculators are cool i dont always have my calculator on me (most notably) not everyone has access to a scientific calculator 🎯 Approach I will take a black-box reverse engineering approach . This means analysing the inputs and outputs of the calculator and attempting to replicate the behaviour without looking at the underlying code. This along with avoiding patents and copyright should keep the project okay legally. 📈 Goals and scope The final goal for the project is to create a fully functional calculator (obviously) which works on most types of devices. This means both touch and keyboard input, resolution scaling, wide browser support… I have moderate experience with creating web apps. and a lot of experience using this calculator. so this project should be pretty fun :) Devlog #1 06/07/2026 This devlog covers the initial development of the parts of the calculator that do math. Essentially turning an input expression into an output. I chose a high-level structure similar to that used by programming language syntax analysers. That is: Input -> Tokeniser -> Parser -> Evaluator -> Output 🪙 Tokeniser yes, with an s >:( The tokeniser converts the input into a list of tokens (think individual pieces of the expression). It does this by scanning the input string and identifying what each character corresponds to. The tokeniser only knows what each symbol is , not what it does . Then it passes the token array to the… 🌲 Parser The parser converts the token array into an Abstract Syntax Tree (AST). Essentially this is a tree which shows how the expressions should be evaluated in order to produce the desired output. This properly lets me implement order of operations. The exact type of parser I am using is a recursive descent parser . It attempts to match the tokens with known symbols recursively, meaning i can rely on the call stack :) The order of operations can be defined by the order of function calls within the parser. 🧮 Evaluator The evaluator’s job is easy: it just traverses the tree made by the parser and runs the necessary operations. Because all of the hard work regarding order of operations has been done by the other components, implementing the evaluator was really easy. Its also recursive. your call stack is gonna love me for this 🗒️ Notes Why not eval? It’s true that JavaScript has a perfectly good expression parser, which I could have used. However, its behaviour is more suited to a programming language than a calculator. For example, 4(2+3) should implicitly multiply , but will instead complain TypeError: 4 is not a function . Writing my own system gives me more flexibility to make the calculator how I want. Floating point precision Because it uses Javascript’s internal math engine, i have floating-point problems. This results in expressions like sin(2pi) = -2.44929360e-16 I will likely fix this by using a math library, or a novel approach. Last-minute catch I was just writing an example for this devlog when I found that .3ln(4)*5^2 raised an error. In fact, ANYTHING * or / followed by x^n would error - but other operators wouldn’t. This was a quick fix, but I’m glad I caught it! 📈 Next steps Immediate: Fix math imprecision Add fractional I/O Medium: Create algebraic display functionality Multi-line calculation (Ans) and variables Long-term: Make the calculator functionally equivalent to the fx-82 Build UI Ship :) Thanks so much for reading! If you have any suggestions, please leave me a comment
calc82: Devlog #2 08/07/2026 calc82: because calculators are for everyone This devlog follows the handling of nasty floating point errors in my web calculator - inspired by and designed to work with Casio’s fx-82au. I realised that relying purely on the Javascript math system was unsuitable for a scientific calculator that works with decimal numbers. This is due to binary floating point not translating well to decimal. 0.1+0.2=0.30000000000000004 >:( I researched and considered a few approaches. 🥧 Symbolic simplifier? The idea behind this is to perform algebra and avoid evaluating constants and functions to values until strictly necessary. However, the scope of this seemed massive, and I did not observe this behaviour in the Casio. 🔟 Decimal arithmetic Instead, I stumbled upon the fact that decimal arithmetic can be implemented in a computer. While IEEE floats use binary representation, there is no reason we cannot use decimals internally, avoiding errors that arise from conversion. Decimal floats can be stored by: Sign: +/- Mantissa: the number itself, in my case an array of digits Exponent: what power of 10 the number should be multiplied by. I started implementation, made decent progress, but found out that I was re-doing work that was already done by other people. 🗄️ Decimal.js I found the decimal.js library after researching how to handle decimal addition. Implementing this quickly fixed my floating point errors, but did not fix trig approximation. 👀 Observing the calculator I observed some of the behaviour of the real calculator to work out how it functions. Handles small-angle approximation based on a threshold Drops precision as the trig function argument value increases Appears to use a 15-digit mantissa Refuses to evaluate trig functions with argument above a certain limit I tried my best to implement the behaviour I observed, some of which required editing the code of the decimal.js library. 📝 Editing decimal.js The decimal.js library uses more than the set precision for some internal calculations. However, arithmetic with pi is otherwise only the set precision, causing drift. My fix for this was to adjust the internal pi value to match the mantissa size of the real calculator. Troubles with the library When given a less accurate value for pi (in line with that of the real calculator) sine quadrant is incorrectly calculated. I found that the isOdd function is flawed! function isOdd(n) { return n.d[n.d.length - 1] & 1; } I replaced it with one that works for my use case (if less efficient): function isOdd(n) { return n.mod(2).eq(1); } I need to see if this is just due to my low precision pi, or an actual problem in the library, in the future. But for now my issue is fixed. I also found an error in the cosine function: if (x.isZero()) return x needed to be changed to if (x.isZero()) return new Ctor(1) . Again, I’m going to have to look into this more before submitting a pr or anything, since decimal.js is not made for such an imprecise pi. 🗒️ Notes Deviations There are still small deviations between my calculator and the real one at really, really large trig angles. One idea to reduce error could be optimising the order of operations in the AST to prevent dropping precision unnecessarily. I might explore this later However, I want to press on with other features, instead of tiny inaccuracies that would never show up in real-world use. I have slightly rearranged the to-do list below. 📈 Next steps Immediate: Implement the other calculator buttons and functions Add fractional I/O Medium: Create algebraic display functionality Multi-line calculation (Ans) and variables Long-term: Build UI Ship :) Thanks so much for reading! If you have any suggestions, please leave me a comment. Until next time
calc82: Devlog #3 10/07/2026 calc82: because calculators are for everyone Oh dear, looks like I lost 4 hours of counted time in the last devlog… let’s try to make this one a bit shorter! This devlog follows the implementation of the other inline functions of the calculator: 🌟 New functionality summary inverse and hyperbolic trig arbitrary roots absolute value percent random numbers: Ran and RanInt scientific notation: *10^x / E combinatorics: nPr and nCr variables (not yet adjustable) 📋 Implementation details Implementing most of this functionality followed the same general steps: identify implement test. As I undertook this process. other dependent requirements popped up - such as the implementation of multivariable functions , which in turn required the expansion of the tokeniser and parser. Also, I implemented degrees, radians, and gradians modes into the calculator, and the associated functions (as postfix expressions - e.g. sin(30d) for degrees) . 🗄️ decimal.js changes Finally, I applied some further changes to decimal.js.: Rounding now depends on the closeness of the output to a known value, rather than the input, reducing unnecessary rounding Near-decimal values close to 0, 0.25, 0.5, 0.75 and 1 are now caught. 🗒️ Notes: Remembering that Javascript is weird NaN === NaN is FALSE! Spent a good 10 minutes figuring this one out. The solution was to use isNaN() . Fixing negative-base powers: (-8)^(1/3) should equal 2 but returns NaN Fixed by taking the denominator from the output of a decimal.js toFraction() function, which attempts to create a rational fraction. This overcomes the tiny precision loss and evaluates the function correctly 📈 Next steps Immediate: Add fractional I/O Implement polar/rectangualr conversion Medium: Create algebraic display functionality Multi-line calculation (Ans) and setting variables Long-term: Build UI Ship :) This has been a bit of a shorter devlog. But I’m still proud of what I achieved! Thanks so much for reading. If you have any suggestions, please leave me a comment. Take care
calc82: Devlog #4 14/07/2026 calc82: because calculators are for everyone This devlog mainly follows the addition of fractional I/O to my calculator. 🌟 New functionality summary Fractional input, including fractions Computation of fractions - add/sub,div/mult,power,root other operations convert the fraction to a decimal Fractional output (temporary UI) LCM/GCD separate execute and fraction/decimal converting buttons 🔢 fractional io :) I defined a separate fraction data type: it’s like a decimal, but with a numerator and denominator, and optionally a whole component: for example, 1 and 1/3, or 4/3. Using fractions means that numbers can be represented more naturally and precisely. I.e. 1/7 instead of 0.142857143 🧮 Fractional calculation Additionally calculations can be made more precise. For example (1/7) * (2/3) can be directly computed by multiplying the numerators and denominators. My implementation attempts to convert user input and the products of divisions into fractions wherever possible in order to chase this precision. 🗒️ Notes Web design is not my thing I realised the importance of UI and UX (user experience) by looking at other projects on Stardance. As of the current iteration, this project lacks this a bit.. But I will give it a shot My next developments will begin to focus more on this - starting with the algebraic input, and eventually moving onto the CSS and design aspects. I am also considering whether I should use a Javascript framework. 📈 Next steps Immediate: Create algebraic display functionality Medium: Multi-line calculation (Ans) and setting variables Implement polar/rectangualr conversion (delayed until UI is more fleshed out) Build UI Long-term (but getting closer!): Create a usable UX Ship :)
calc82: Devlog #5 16/07/2026 calc82: because calculators are for everyone This devlog mainly follows the addition of algebraic I/O to my calculator. This is just a check-in since I was getting close to 10 hours since the last devlog - I still have some work to do on this aspect before I move on. 🌟 New functionality summary Input and output formatting through KaTeX Fractions and powers formatted correctly in the input Ability to intuitively traverse the input with arrow keys ⚖️ Algebraic IO with KaTeX I decided on KaTeX because it is both fast (no reflow!) and does not rely on dependencies . KaTeX is a math formatting library that uses LaTeX commands to create beautiful equations from code. For example, \frac{2^{\frac{3}{4}}}{4\sin(30)}\times 2\pi turns into the attached image. Input is currently captured directly from the keyboard to build a 1D array of tokens. The tokens are then converted into KaTeX formatting for algebraic display. In the future, there will also be buttons onscreen as an alternative. Fractions and powers Fractions and powers cannot be represented as a single token. Rather, fractions have a beginning, middle and end, and powers have a beginning and end. The program traverses the array to decide where to put them (and take them out for deletion). 🗒️ Notes The cursor It is surprisingly difficult to make a vertical bar to act as a cursor in KaTeX, without affecting the spacing of the rest of the expression. For now, I am using a \clap{\rule{0.1em}{0.5em}} for the cursor, but I am looking to replace this with custom CSS in the future. Replicating exact behaviour? The fx-82 has some interesting behaviour wherein an empty power is not allowed to exist directly after another power. I am unsure whether I should replicate this - but for now, I am leaving it out. Dealing with broken LaTeX I have been able to get the display pretty bulletproof when it comes to not producing broken LaTeX. However, I’m sure there’s something I haven’t run into in debugging! I want to have this be dealt with gracefully rather than blowing up in the user’s face. 📈 Next steps Immediate: Implement mixed fractions, roots, and Abs to algebraic display Make the input token array able to be parsed into the AST to be calculated Medium: Multi-line calculation (Ans) and setting variables Implement polar/rectangualr conversion (delayed until UI is more fleshed out) Build UI Long-term (but getting closer!): Create a usable UX Ship :)
calc82: Devlog #6 18/07/2026 calc82: because calculators are for everyone This devlog follows the further development of algebraic I/O to my calculator, including turning this into an actual result. 🌟 New functionality summary Input and output formatting through KaTeX Square root, arbitrary root, mixed fraction, and absolute values Tokeniser now directly reads input tokens Errors now move the cursor to the position where it occurred 🌊 New program flow inputHandler -> [input tokens] -> tokeniser -> [calculator tokens] -> parser -> AST -> evaluator -> result This: improves speed (compared to parsing text) allows cursor to be moved to error location since we never flatten to text You might notice I have two sets of tokens. They are similar, but input tokens deal with digits and combined symbols ( sin( ), and calculator tokens are whole numbers and separated symbols. 🗒️ Notes Avoiding the lazy route My first approach was turning the input tokens into a string, which my tokeniser already knew how to deal with. However, this added much processing overhead and made it harder to find out the position at which errors occurred. Spending the time to implement the token conversion made this step much easier Misplaced math errors When implementing error handling, I passed down the original position of each token in the input token array down to each step of the calculation process. However, because my evaluator is recursive, it would constantly update the error position to the latest token, meaning the errors were always placed at the end. This was an easy fix in the end - but hard to spot! 📈 Next steps Immediate: Buttons input Add remaining functions (once buttons are added can be done) Medium: Multi-line calculation (Ans) and setting variables Implement polar/rectangualr conversion (delayed until UI is more fleshed out) Build UI Long-term (but getting closer!): Create a usable UX Ship :)
calc82: Devlog #7 21/07/2026 calc82: because calculators are for everyone This devlog follows the introduction of an actual user interface to my calculator. 🌟 New functionality summary Grid of calculator buttons Different button output when modifiers pressed Navigation buttons work Calculator resembles a real calculator 👇 Button handling The calculator needed buttons resembling that of the Casio to fulfil my purpose. Buttons are dynamically built from an array, which defines their labels and actions. This allows easy changes. For most buttons, the area surrounding the button also acts as a clickable area for better touch input. However, I didn’t find an easy way to do this for the navigation buttons (which are positioned off the grid). 🎨 CSS CSS Grid allows a 2D layout system based on rows and columns. It has been supported by all major browsers since October 2017. CSS Grid was used, as it allows consistent positioning across browsers. In addition, relative units were used to prevent resizing the calculator from affecting it. This should make it easier to make dynamic sizing in the future. 🗒️ Notes Accessibility <button> s are preferred over clickable <div> s because they work with screen readers and legacy browsers . However, I also made the surrounding elements clickable for a better touch experience. Also, keyboard input will make use significantly easier for computer users. Aesthetics The CSS applied so far is purely functional. In the future, I will improve the aesthetics of the calculator through CSS - but for now, this barebones look makes development easier and more focused. 📈 Next steps The todo list was getting too empty, so it has been updated with new tasks Immediate: Add remaining functions Add keyboard shortcuts Medium: Add menu system and settings Multi-line calculation (Ans) and setting variables Implement polar/rectangualr conversion Add other modes (STAT, VERIFY) Add Long-term: Create a test suite to ensure there is no unwanted behaviour Ship :)
calc82: Devlog #8 12/08/2026 calc82: because calculators are for everyone Sorry its been a while since the last devlog, I’ve had this one sitting for a while and not had the chance to finish and post it. This devlog follows the improvement of the user interface to my calculator, as well as the addition of variables . 🌟 New functionality summary Add keyboard mappings for buttons Variables - assign and recall Navigate through history Recall history and edit it. 🦋 Modifier keys It was difficult porting the modifier (shift/alpha) keys to keyboard because Shift is used to type symbols such as + and *, and there is also a Shift key on the calculator… My solution was making tapping shift without any other input to toggle the calculator shift modifier, and combining it with another key to not toggle it. 🗒️ Notes Use of the calculator I’ve actually started using the calculator in class, and it’s been faithful to the original so far (for implemented functionality). I still don’t really trust it though and want to run it through some formalised tests before shipping. Keyboard mappings So far, I have been hardcoding keyboard mappings based on what feels natural to me. However, it would probably be better to have user-editable mappings for other people to customise. 📈 Next steps Immediate: M+ and M- special variable Variable and history persistence in the browser Implement polar/rectangualr conversion Medium: Add menu system and settings Add other modes (STAT, VERIFY) Create a test suite to ensure there is no unwanted behaviour Long-term: Tidy up visuals Ship :)
calc82: Devlog #9 31/08/2026 calc82: because calculators are for everyone This devlog follows the addition of menus and the status bar to my calculator. 🌟 New functionality summary Extensible menu system that allows for easy creation of paginated and nested menus Status bar with indicators that change based on the current calculator state M+ and M- special variables Mixed fraction display 📋 Menu system The menu system uses a dictionary to encode the menu pages and their entries, making it easy to add new menus. However, I couldn’t find a way to easily encode functions and arguments in this structure, so the actual actions are handled by a big switch statement. When the menu is active, most buttons have no action and the input/output display is hidden. 🧀 Status bar The status bar consists of a row of elements with adjustable opacity (to represent their active state). It is handled by a class which allows items to be toggled with a single method call, meaning it can retroactively be integrated into other components. The original calculator has some menu elements that can never be activated - for example, there is a complex mode indicator, but the calculator cannot show complex numbers. I omitted these on calc82, as they took up unnecessary space. 📈 Next steps The project is almost nearing completion :) I made complete list of every feature missing from the calculator (too long to post here). It should should get shorter every devlog from now! Hopefully I can finally ship this project in the next couple of weeks. Thanks for reading :)
calc82: Devlog #10 2/09/2026 calc82: because calculators are for everyone This devlog follows the addition of a lot of small features to my calculator that were last on my to-do list, as well as a slight shift in scope. 🌟 New functionality summary Colon operator for multiple operations Saving variables and settings to LocalStorage Clearing this memory Polar and rectangular coordinates (finally!) Forward delete key (keyboard only) Scrolling screen with a nicer cursor! Colon operator This is an operator I’ve never used on my calculator, but its quite powerful. you can type Ans+1:Ans*2:Ans^2 and it will calculate the first expression, then the second, and so on until it loops back to the start. ➡️ Forward delete Although this functionality is not part of the original calculator, it makes it much more pleasant to use on a computer keyboard. This was implemented as a hidden button. Scrolling Scrolling was surprisingly easy to implement! The browser handles all of the hard work, and all I had to do was set the right CSS tags. Granted, with my CSS experience, this was still difficult, but I made it work in the end. 📈 Next steps I have decided to shift the current scope of the project (before shipping) to just be implementing the main compute mode . This means I will not need to do STAT, VERIFY or LINEIO mode. This is for three reasons: With my semester starting, I will not have as much time to work on this project before the deadline I have very little experience with using these other modes I want to focus my time on the user experience. With this shift in scope, the calculator part of the project is all but done - I only have three buttons remaining. (I had to push this devlog out before 10 hours, which is why they’re not done). Then, I can focus on adding the surrounding UI and UX, which should make it actually possible for other people to use my project. Thanks for reading :)
calc82: Devlog #11 6/09/2026 calc82: because calculators are for everyone This devlog follows the addition of a few final features to my calculator, and then my worst nightmare, frontend UI 😧 🌟 New functionality summary Prime factorisation using Pollard’s rho algorithm Engineering notation button Degree/minute/second output button CSS styling!! + menu bar buttons Fixed some input quirks Dark and light mode (based on system default) with manual toggle 🐚 Pollards rho algorithm for prime factorisation Prime factorisation or integer factorisation is the decomposition of a positive integer into a product of integers. The simplest way to implement this is trial division , which is straightforward but has O(√n) time complexity. I thought this would be too slow, so I decided to implement Pollard’s rho algorithm. This has a nicer complexity of O(√p) where p is the smallest prime factor of the number. However, further observation showed that that the Casio calculator probably doesn’t do this - for numbers without easy factors, it just doesn’t bother. Despite this, I’ve already implemented the algorithm, so I’m not going to remove functionality for the sake of exactly replicating the calculator’s behaviour. 🎨 CSS and styling My goal with the styling was to make the calculator as similar across browsers as possible. I bundled the Inter font (best font) into the program and removed browser-specific button styling. Implementing the CSS styling was mostly painless. I opted for a simple design with a menubar that adapts to horizontal or vertical depending on the window’s aspect ratio for the web app functionality. Additionally the css uses the system theme to automatically choose light or dark mode. 📈 Next steps This project is nearly finished - should only be one or two devlogs left until I ship. Here’s what I have left to do: Development Keybind show and edit Brief manual for each calculator function Info menubar button with author & project information, and disclaimers: that I am not affiliated with casio that the calculator is in a beta state and not guaranteed to be correct for all inputs Fullscreen button for mobile devices Preparation for shipping Webpack or similar Choose a license and publicise repo Write a readme Host on github pages (?) Hope that I did enough to not receive legal action from casio 🙃 Thanks for reading :)
calc82: Devlog #12 7/09/2026 calc82: because calculators are for everyone This devlog follows the addition of customisable and accessible keyboard bindings to my calculator. 🌟 New functionality summary Settings menu Switches between sidebar and popup dependent on screen width Key rebinding Flow of choosing button, then pressing key to rebind Stores in local storage Help hotkey Shows all currently bound keys. Key hint consideration The default keyboard map has been implemented as a const dictionary for a while now, allowing lookup of buttons from keyboard keys. This was extended with a user dictionary that can be dynamically updated. However, generating the help hotkey hints needed to go in the opposite direction of the dictionary. The naive approach of iterating through values to find a key for each would perform poorly with O(n^2). Instead, we precalculate a reversed dictionary to lookup keyboard keys from each button. This precalculation is O(n), and setting the keys is also O(n), resulting in O(n) time overall. 📈 Next steps Development Brief manual for each calculator function (considering reusing the on click functionality from key mapper) ) Info menubar button with author & project information, and disclaimers Fullscreen button for mobile devices Preparation for shipping Webpack, choose a license, write readme, publicise repo, host. Thanks for reading :)
calc82: Devlog #13 9/09/2026 calc82: because calculators are for everyone This devlog follows the addition of help and about menus to my calculator, as well as bundling into one js file. 🌟 New functionality summary Help menu Lookup function by calculator button (reuses key bind selector logic) Q&A About page About the calculator Contribute Legal License All JS files are bundled into one file Service worker makes app available offline 📦 Bundling and service worker I chose to use esbuild for bundling. This allows the many JS files to be condensed down into one file, reducing the number of requests that need to be made. This build system is much simpler than other options such as node.js. I also added a simple service worker that caches all requests locally. This makes the calculator available offline. ⚖️ Licensing & Legal I chose GPLv3 for this project as it is an end-user product. Essentially, this means others are free to modify and distribute the project as long as they make the source available. I also added legal disclaimers to the about page of the calculator. 📈 Next steps Write the readme, publicise the repo, and host! Thanks for reading :)
calc82: Devlog #14 9/09/2026 calc82: because calculators are for everyone Final devlog. It’s done!! This last stretch was writing the readme and publishing everything to Github pages. You can now access it at https://rigelseven.github.io/calc82/ Now for a short reflection calc82 is the largest personal software project I have ever completed. This project taught me a lot about input parsing - specifically, tokenisers and syntax trees - and the importance of keeping a large codebase tidy . Overall, the structure of the project is well laid out. However, there are architectural decisions I made early on that I came to regret later (such as the fact that input is represented as a string, whereas it should probably be a tree). Developing calc82 also showed me that I am capable of putting together such an app from scratch. I’m pleased to have participated in Stardance and be given this opportunity.
Ships:
What did you make? calc82: A calculator web-app inspired by the Casio fx-82 series of scientific calculators. These calculators are common in high schools in my country. My project simulates the behaviour of the Casio calculator, while maintaining a good user experience on both desktop and mobile. What was challenging? Creating reliable algebraic (non-linear) input parsing was the most difficult part of the project. This was because it required some difficult array traversal to avoid invalid states - even one mistake would break the whole input. It took a lot of iterations to get to a working input system that passed all my tests. Close contenders for most challenging were the sheer volume of functions I needed to implement, as well as all possible states the calculator can be in. However, the challenge for this was finding time to get around to everything, rather than technical challenge. What are you proud of? I’m most proud of my implementation of the input-to-result pipeline. I was able to incorporate new-to-me concepts such as tokenisers and abstract syntax trees, yet the resulting code is arguably the cleanest part of the program. I’m also proud of the responsive layout, which supports desktop and mobile well, and that the user experience is similar enough to the Casio that my muscle memory carries over. Finally, I’m proud that I managed to finish the project, as it’s the largest software project I’ve ever managed to complete. Demo: https://rigelseven.github.io/calc82/ Source: https://github.com/rigelseven/calc82/...
|
1793004753.863248
|
1793091153.863248
|
|
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...
|
1793004752.7198625
|
1793091152.7198625
|
|
50283
|
AEGIS by @sudarsh | Stardance
|
sudarsh
|
1
|
8.93
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-30T20:00:07Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "AEGIS (Advanced Earth Guard & Intelligence System) is a real-time planetary │ defense mission control dashboard that monitors near-Earth asteroids, solar │ weather events, and ISS orbital telemetry. Built with React, Three.js, Express, │ and SQLite, it visualizes an interactive 3D Solar System with custom GLSL │ planetary shaders while actively streaming live data from NASA NeoWs, NASA DONKI, │ NOAA SWPC, and WhereTheISS.at.", "repo": "https://github.com/sudarshandev-llm/aegis-star", "demo": "https://beastsudarsh09.hackclub.app"}]...
|
[{"post_id": 79052, "ts": "202 [{"post_id": 79052, "ts": "2026-10-12T14:34:27Z", "hours": 1.9278, "text": "AEGIS got returned, and that’s fair The Shipwrights returned AEGIS. Their feedback was that it reads as AI-generated end to end, without enough of my own input. I used AI heavily to build the first version, so I can’t really argue with that. So I’m going to remake it properly. This time: I’ll redesign the UI myself, with my own layout, colors and panel designs I’ll go through the code until I can explain how each part works (the NASA polling, the DEFCON logic, the ISS tracker, the Earth shader) I’ll make smaller, more frequent commits so the progress is visible I’ll add an “AI usage” section to the README that says honestly what was AI-assisted and what I wrote Will post updates as I go. To be continued…"}, {"post_id": 75705, "ts": "2026-09-30T19:58:52Z", "hours": 1.3342, "text": "Finally AEGIS is live check out 🎊🎊🎊🎊"}, {"post_id": 72251, "ts": "2026-09-22T15:08:34Z", "hours": 0.4294, "text": "I know I haven’t posted a devlog for a while — and there’s a reason. While working on AEGIS, I ran into an unexpected issue that broke the entire simulation tab and its mappings. A lot of the work had to be rebuilt and remapped from scratch, which completely disrupted the development timeline. Instead of rushing out an update, I decided to fix the foundation properly. Now I’m back on track, rebuilding the simulation system and continuing AEGIS toward its bigger goal: real-time space data, simulations, research tools, and eventually more advanced systems for exploring space technology."}, {"post_id": 71334, "ts": "2026-09-20T17:21:39Z", "hours": 0.3914, "text": "🚀 AEGIS — Development Update Just pushed another major update to AEGIS. I’ve now integrated NASA’s space-data APIs to bring live/near-real-time space data directly into the AEGIS interface — including: ☀️ Solar Activity & CME data ☄️ Near-Earth Object tracking 🛰️ ISS orbital-position data The goal isn’t to simply display numbers on a screen. AEGIS is being built as a foundation for exploring and researching space systems. I’m now focusing on taking it further — turning these real-time data streams into tools that can help us analyze space environments, study orbital behavior, monitor celestial events, and eventually support the design of more advanced devices for space research. This is still an early stage, but the direction is becoming much clearer: From data → to analysis → to research → to real space technology."}, {"post_id": 70682, "ts": "2026-09-19T16:12:29Z", "hours": 0.4678, "text": "I have just made an simulation for Aegis(Advanced Earth-orbit & Geospatial Intelligence System) I have made this 3D space visualization and simulation interface as part of AEGIS. It provides an interactive view of Earth, planetary bodies, orbital paths, asteroids, and space objects in a dynamic environment. Users can track objects, zoom through space, control simulation speed, enable real-time rotation, and switch between different simulation states. The interface is designed like a mission-control environment, combining scientific visualization with a clean futuristic HUD. My focus was on making complex orbital and space data visually understandable while keeping the experience interactive and immersive. This is one of the core visualization components I built for AEGIS."}, {"post_id": 70191, "ts": "2026-09-18T17:40:50Z", "hours": 4.2275, "text": "Designing the AEGIS Frontend 🚀"}]...
|
Title: AEGIS by @sudarsh | Stardance
Devlogs:
Des Title: AEGIS by @sudarsh | Stardance
Devlogs:
Designing the AEGIS Frontend 🚀
I have just made an simulation for Aegis(Advanced Earth-orbit & Geospatial Intelligence System) I have made this 3D space visualization and simulation interface as part of AEGIS. It provides an interactive view of Earth, planetary bodies, orbital paths, asteroids, and space objects in a dynamic environment. Users can track objects, zoom through space, control simulation speed, enable real-time rotation, and switch between different simulation states. The interface is designed like a mission-control environment, combining scientific visualization with a clean futuristic HUD. My focus was on making complex orbital and space data visually understandable while keeping the experience interactive and immersive. This is one of the core visualization components I built for AEGIS.
🚀 AEGIS — Development Update Just pushed another major update to AEGIS. I’ve now integrated NASA’s space-data APIs to bring live/near-real-time space data directly into the AEGIS interface — including: ☀️ Solar Activity & CME data ☄️ Near-Earth Object tracking 🛰️ ISS orbital-position data The goal isn’t to simply display numbers on a screen. AEGIS is being built as a foundation for exploring and researching space systems. I’m now focusing on taking it further — turning these real-time data streams into tools that can help us analyze space environments, study orbital behavior, monitor celestial events, and eventually support the design of more advanced devices for space research. This is still an early stage, but the direction is becoming much clearer: From data → to analysis → to research → to real space technology.
I know I haven’t posted a devlog for a while — and there’s a reason. While working on AEGIS, I ran into an unexpected issue that broke the entire simulation tab and its mappings. A lot of the work had to be rebuilt and remapped from scratch, which completely disrupted the development timeline. Instead of rushing out an update, I decided to fix the foundation properly. Now I’m back on track, rebuilding the simulation system and continuing AEGIS toward its bigger goal: real-time space data, simulations, research tools, and eventually more advanced systems for exploring space technology.
Finally AEGIS is live check out 🎊🎊🎊🎊
AEGIS got returned, and that’s fair The Shipwrights returned AEGIS. Their feedback was that it reads as AI-generated end to end, without enough of my own input. I used AI heavily to build the first version, so I can’t really argue with that. So I’m going to remake it properly. This time: I’ll redesign the UI myself, with my own layout, colors and panel designs I’ll go through the code until I can explain how each part works (the NASA polling, the DEFCON logic, the ISS tracker, the Earth shader) I’ll make smaller, more frequent commits so the progress is visible I’ll add an “AI usage” section to the README that says honestly what was AI-assisted and what I wrote Will post updates as I go. To be continued…
Ships:
AEGIS (Advanced Earth Guard & Intelligence System) is a real-time planetary │ defense mission control dashboard that monitors near-Earth asteroids, solar │ weather events, and ISS orbital telemetry. Built with React, Three.js, Express, │ and SQLite, it visualizes an interactive 3D Solar System with custom GLSL │ planetary shaders while actively streaming live data from NASA NeoWs, NASA DONKI, │ NOAA SWPC, and WhereTheISS.at....
|
1793004751.5412922
|
1793091151.5412922
|
|
50256
|
Mihera F1 RC car by @Alcaraz9219 | Stardance
|
Alcaraz9219
|
1
|
15.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-05T17:40:10Z", "hours": 15.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a F1 radio control car that works with Arduino and electronic components. The entire car and the remote control was build from scratch and with a 3D printer. This proyect teach me that they don’t always turn out the way we want them to the first time round, and I made a lot of mistakes that I had to solve them designing and printing again, or using the tools that I have, but I have learnt a lot in this proyect and , although I couldn’t compleately at all and I know that is not the best radio control car, I am so proud of it.", "repo": "https://github.com/Alcaraz9219/F1-RC-car", "demo": ""}]...
|
[{"post_id": 70694, "ts": "202 [{"post_id": 70694, "ts": "2026-09-19T16:29:33Z", "hours": 3.1525, "text": "To wrap up the project a bit, I’ve designed and printed the front nose and I’ve also printed the front wing. The car’s electronics are now complete after I replaced the transmitter and receiver modules with two NRF24L01 PA+LNA units with antennas, which work much better and have a much greater range. And although the F1 bodywork and the DRS are still missing, I’ll leave it as finished for the time being because I don’t have time to work on it any further and also because the Stardance deadline is approaching. So that’s it for now, and I hope people have enjoyed the project."}, {"post_id": 62812, "ts": "2026-09-06T10:29:26Z", "hours": 6.2022, "text": "After a few problems with the printer, I’ve finally finished making the control unit and fitting all the components inside; I can say that the car is now working. But there’s another problem: to connect the car’s Arduino R4 to the R3 – which I ended up having to use due to technical issues with the ESP32 – I’ve used a 433 MHz RF transmitter and receiver module that has a very short range, and as I want to fit it inside the casing on both the car and the remote control, the distance is practically zero. So I’ve already bought an NRF24L01 PA+LNA, which is another bidirectional transmitter with a much greater range and comes with an antenna; the next step will be to fit it and carry out the final test before installing the DRS and the casing."}, {"post_id": 52967, "ts": "2026-08-23T10:49:03Z", "hours": 1.7503, "text": "In this section, I have designed the casing for the controller, which I have decided should be shaped like an F1 steering wheel. The controller will use a Steamaker ESP32 Plus board; a joystick will be used to control the car’s steering, and there will be two buttons to control the motors so that the car can move forwards and backwards. Also, to make it look more like a real F1 car, the steering wheel will feature a display showing information about the controller and the car, such as battery level, speed and the status of the DRS – which is the opening of the rear wing to reduce aerodynamic drag, something that’s very helpful in real cars. The next step will be to create the 3D model of the hollow steering wheel and add the mounts for the components. If anyone can think of any extras to add to the car or the controller, please let me know; if it’s a good idea, I’ll take it into account and add it."}, {"post_id": 50886, "ts": "2026-08-20T10:58:06Z", "hours": 3.8042, "text": "On 2 June, I started a project. The idea was to build a radio-controlled car in the shape and style of a Formula 1 car, but I wanted to build the whole thing myself from scratch. The car is being built solely from my own designs, which are being 3D-printed. This project is divided into two parts: the car, which contains electronic components such as an Arduino R4 Wi-Fi, a servomotor for the steering, another for the DRS system, an L298N controller and two motors, as well as a battery holder with its own switch; and the remote control, which communicates with the car via a transmitter module in the remote and a receiver in the car. The remote control features components such as a Steemakers ESP32 Plus, a joystick for the motors, two buttons for steering, another to activate the DRS, and a display to show information. This is the plan for the project, which is not yet finished. Unfortunately, when I started this project I wasn’t familiar with Stardance, so I haven’t recorded all the hours spent doing calculations, looking through all the files and their dates, photos and videos – it could easily have been around 45 hours of unrecorded work. Anyway, what I’ve done so far has been to design the chassis and the mounts for the components, fit everything into the car, and build the steering system – which has undoubtedly been the most difficult part and caused me the most headaches, but which eventually ended up working. Since I started on Stardance, I’ve been designing the front wing, assembling the whole car to check that it works, and finally fitting just the remote control components to check that they work before designing the remote control itself. This isn’t proving to be an easy project – there are lots of errors cropping up – but you learn a lot from them. The next step will be to design the remote control in 3D and then print it."}]...
|
Title: Mihera F1 RC car by @Alcaraz9219 | Stardanc Title: Mihera F1 RC car by @Alcaraz9219 | Stardance
Devlogs:
On 2 June, I started a project. The idea was to build a radio-controlled car in the shape and style of a Formula 1 car, but I wanted to build the whole thing myself from scratch. The car is being built solely from my own designs, which are being 3D-printed. This project is divided into two parts: the car, which contains electronic components such as an Arduino R4 Wi-Fi, a servomotor for the steering, another for the DRS system, an L298N controller and two motors, as well as a battery holder with its own switch; and the remote control, which communicates with the car via a transmitter module in the remote and a receiver in the car. The remote control features components such as a Steemakers ESP32 Plus, a joystick for the motors, two buttons for steering, another to activate the DRS, and a display to show information. This is the plan for the project, which is not yet finished. Unfortunately, when I started this project I wasn’t familiar with Stardance, so I haven’t recorded all the hours spent doing calculations, looking through all the files and their dates, photos and videos – it could easily have been around 45 hours of unrecorded work. Anyway, what I’ve done so far has been to design the chassis and the mounts for the components, fit everything into the car, and build the steering system – which has undoubtedly been the most difficult part and caused me the most headaches, but which eventually ended up working. Since I started on Stardance, I’ve been designing the front wing, assembling the whole car to check that it works, and finally fitting just the remote control components to check that they work before designing the remote control itself. This isn’t proving to be an easy project – there are lots of errors cropping up – but you learn a lot from them. The next step will be to design the remote control in 3D and then print it.
In this section, I have designed the casing for the controller, which I have decided should be shaped like an F1 steering wheel. The controller will use a Steamaker ESP32 Plus board; a joystick will be used to control the car’s steering, and there will be two buttons to control the motors so that the car can move forwards and backwards. Also, to make it look more like a real F1 car, the steering wheel will feature a display showing information about the controller and the car, such as battery level, speed and the status of the DRS – which is the opening of the rear wing to reduce aerodynamic drag, something that’s very helpful in real cars. The next step will be to create the 3D model of the hollow steering wheel and add the mounts for the components. If anyone can think of any extras to add to the car or the controller, please let me know; if it’s a good idea, I’ll take it into account and add it.
After a few problems with the printer, I’ve finally finished making the control unit and fitting all the components inside; I can say that the car is now working. But there’s another problem: to connect the car’s Arduino R4 to the R3 – which I ended up having to use due to technical issues with the ESP32 – I’ve used a 433 MHz RF transmitter and receiver module that has a very short range, and as I want to fit it inside the casing on both the car and the remote control, the distance is practically zero. So I’ve already bought an NRF24L01 PA+LNA, which is another bidirectional transmitter with a much greater range and comes with an antenna; the next step will be to fit it and carry out the final test before installing the DRS and the casing.
To wrap up the project a bit, I’ve designed and printed the front nose and I’ve also printed the front wing. The car’s electronics are now complete after I replaced the transmitter and receiver modules with two NRF24L01 PA+LNA units with antennas, which work much better and have a much greater range. And although the F1 bodywork and the DRS are still missing, I’ll leave it as finished for the time being because I don’t have time to work on it any further and also because the Stardance deadline is approaching. So that’s it for now, and I hope people have enjoyed the project.
Ships:
I made a F1 radio control car that works with Arduino and electronic components. The entire car and the remote control was build from scratch and with a 3D printer. This proyect teach me that they don’t always turn out the way we want them to the first time round, and I made a lot of mistakes that I had to solve them designing and printing again, or using the tools that I have, but I have learnt a lot in this proyect and , although I couldn’t compleately at all and I know that is not the best radio control car, I am so proud of it....
|
1793004750.4154975
|
1793091150.4154975
|
|
27703
|
Dance App by @Venkatesh | Stardance
|
Venkatesh
|
1
|
28.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T15:19:10Z", "hours": 28.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Before you guys review this project poorly for the usage of AI, I would wanna make it clear that i still learnt a really good amount of development. At the end of the day software development is about shaping the user experience and design a product that solved the problem and is worth using. I used AI to aid me with the tedious work that would have otherwise been impossible within my timeframe of less than 2 weeks. ⠀ Cutting to the chase this dance game was made for a local competition in my country. The theme for the competition was about how culture can be preserved using technology. The full project also includes a physical arcade style device with a dancing servo robot with 6 joints (excluding knees). ⠀ The goal of the project is to act as an entry point for students in Singapore to learn more about cultural dances in Singapore. I chose to approach the preservation of culture via learning cultural dances as it bypasses any linguistic barriers to make it more widely accessible to better serve as an entry point for younger kids to have at least a faint idea on how other cultures are like. ⠀ With about 28 hours spent on coding this and countless more on the hardware, ideation, documentation, admin and much more, I managed to clench first place in the competition. I also feel that the current state of the app is satisfactory as a prototype. ⠀ Even though quite buggy and somewhat unstable, I would potentially update the project near the end of the year, until then i would be moving onto other projects! I hope yall find this attempt at preserving culture with technology meaningful, fun or at least interesting, thanks for reading!", "repo": "https://github.com/vensah-dev/wro-project", "demo": "https://vensah.dev/wro-project"}]...
|
[{"post_id": 64843, "ts": "202 [{"post_id": 64843, "ts": "2026-09-09T15:14:56Z", "hours": 5.7175, "text": "Added: Made all the songs more stable and lenient in detection for compete mode (took up a lot of time) added fun facts for each mode Made the select mode have a bg The grading system us revised to work on score rather than accuracy percentage Leaderboard badges"}, {"post_id": 64145, "ts": "2026-09-08T10:50:22Z", "hours": 12.1842, "text": "Features added: Working main menu page hosted on github itself to try ability to send serial input to an ESP controlled robot doll Additional Screen Effects added Leaderboards system to help compete mode"}, {"post_id": 48892, "ts": "2026-08-17T13:39:07Z", "hours": 7.9083, "text": "I am working on a dance app for a local competition where the theme is robots meet culture, so the idea is to make a software based dance game that will help users traditional dances and compete with their friends through dancing. Thus far, i have added in the ability to dance to a song and a learn mode which lets you move ur body to the different dance moves at ur own pace. Selection menu to choose song and select whether they wanna learn or dance (compete mode) to that song Soon i will be making compete mode a local 1v1 and add in a main menu like in minecraft for settings, quitting and entering the actual game."}, {"post_id": 28689, "ts": "2026-07-15T02:57:24Z", "hours": 1.7333, "text": "An app where an AI model will be able to detect the movement of body joints to verify if the player is dancing a certain dance. planned features: users can compete with someone else in real life by taking turns doing a certain dance. The ‘accuracy’ of the dance will affect the scoring users can learn how to dance by dancing certain moves until they get it correct current state: currently I have setup the Google MediaPipe Pose Landmarks model to detect realtime body movement, tuned to be able to track well in differig lighting conditions"}]...
|
Title: Dance App by @Venkatesh | Stardance
Devlog Title: Dance App by @Venkatesh | Stardance
Devlogs:
An app where an AI model will be able to detect the movement of body joints to verify if the player is dancing a certain dance. planned features: users can compete with someone else in real life by taking turns doing a certain dance. The ‘accuracy’ of the dance will affect the scoring users can learn how to dance by dancing certain moves until they get it correct current state: currently I have setup the Google MediaPipe Pose Landmarks model to detect realtime body movement, tuned to be able to track well in differig lighting conditions
I am working on a dance app for a local competition where the theme is robots meet culture, so the idea is to make a software based dance game that will help users traditional dances and compete with their friends through dancing. Thus far, i have added in the ability to dance to a song and a learn mode which lets you move ur body to the different dance moves at ur own pace. Selection menu to choose song and select whether they wanna learn or dance (compete mode) to that song Soon i will be making compete mode a local 1v1 and add in a main menu like in minecraft for settings, quitting and entering the actual game.
Features added: Working main menu page hosted on github itself to try ability to send serial input to an ESP controlled robot doll Additional Screen Effects added Leaderboards system to help compete mode
Added: Made all the songs more stable and lenient in detection for compete mode (took up a lot of time) added fun facts for each mode Made the select mode have a bg The grading system us revised to work on score rather than accuracy percentage Leaderboard badges
Ships:
Before you guys review this project poorly for the usage of AI, I would wanna make it clear that i still learnt a really good amount of development. At the end of the day software development is about shaping the user experience and design a product that solved the problem and is worth using. I used AI to aid me with the tedious work that would have otherwise been impossible within my timeframe of less than 2 weeks. ⠀ Cutting to the chase this dance game was made for a local competition in my country. The theme for the competition was about how culture can be preserved using technology. The full project also includes a physical arcade style device with a dancing servo robot with 6 joints (excluding knees). ⠀ The goal of the project is to act as an entry point for students in Singapore to learn more about cultural dances in Singapore. I chose to approach the preservation of culture via learning cultural dances as it bypasses any linguistic barriers to make it more widely accessible to better serve as an entry point for younger kids to have at least a faint idea on how other cultures are like. ⠀ With about 28 hours spent on coding this and countless more on the hardware, ideation, documentation, admin and much more, I managed to clench first place in the competition. I also feel that the current state of the app is satisfactory as a prototype. ⠀ Even though quite buggy and somewhat unstable, I would potentially update the project near the end of the year, until then i would be moving onto other projects! I hope yall find this attempt at preserving culture with technology meaningful, fun or at least interesting, thanks for reading!...
|
1793004749.259167
|
1793091149.259167
|
|
50207
|
School Tracker by @Slime | Stardance
|
Slime
|
1
|
11.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-09T15:22:16Z", "hours": 11.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Do you know which subject you are gonna study today? I don’t . So i made a website for it. This was a cool project to build specially since it is actually useful for me. And i am new to coding and specially new to JS so i took my time learning it. This is supposed to be a website that is useful for it work rather than looks so it looks ahhh… my bad abt that. Well, i used some AI too since i couldn’t have done it alone at all. And i didn’t onow abt devlog only being able to take 10hrs so only 1 devlog is available.", "repo": "https://github.com/Slime-x/School-Tracker", "demo": "https://slime-x.github.io/School-Tracker/"}]...
|
[{"post_id": 48768, "ts": "202 [{"post_id": 48768, "ts": "2026-08-17T09:20:34Z", "hours": 11.1114, "text": "I made a project for my school tracker! it helps me to know abt my subjects that i need to read today."}]...
|
Title: School Tracker by @Slime | Stardance
Devlo Title: School Tracker by @Slime | Stardance
Devlogs:
I made a project for my school tracker! it helps me to know abt my subjects that i need to read today.
Ships:
Do you know which subject you are gonna study today? I don’t . So i made a website for it. This was a cool project to build specially since it is actually useful for me. And i am new to coding and specially new to JS so i took my time learning it. This is supposed to be a website that is useful for it work rather than looks so it looks ahhh… my bad abt that. Well, i used some AI too since i couldn’t have done it alone at all. And i didn’t onow abt devlog only being able to take 10hrs so only 1 devlog is available....
|
1793004748.4045706
|
1793091148.4045706
|
|
5750
|
Halyra IDE by @aavarvd | Stardance
|
aavarvd
|
1
|
21.82
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T02:15:08Z", "hours": 19.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hi guys! Its been 19 hours of development and bug-fixing pain already! I’ve been working on this “little” project about a python IDE written with Kotlin Compose named Halyra, I am probably going to continue working in it in future ships, and this ship is just usable neough for me to publish it to the world! Current features: Lexer based Syntax highlighting Python execution I/O Open/Save/Save as Tab based editing Open folder as project(altho project does not save) Planned features: Write a text drawable canvas myself as BasicTextField has issues processing files over 100KB Make a working custom title bar because windows default sucks WONTFIX: Find/Replace bar(you can still check it with ctrl+F and ctrl+H, but i won’t fix it anymore) My main objectives making this IDE was lightweight and good UI, which I think is what I;m currently stepping towards to, and I wish I could still have a chance to continue on this project!", "repo": "https://github.com/aavarvdXD/HalyraUltra", "demo": "https://github.com/aavarvdXD/HalyraUltra/releases"}]...
|
[{"post_id": 70154, "ts": "202 [{"post_id": 70154, "ts": "2026-09-18T16:02:46Z", "hours": 0.2592, "text": "The ones who know should know"}, {"post_id": 69897, "ts": "2026-09-18T01:01:59Z", "hours": 0.4633, "text": "Finished fixing terminal bugs, moved the toggle button of PowerShell and output console to the bottom and added a stop button"}, {"post_id": 69470, "ts": "2026-09-17T03:56:47Z", "hours": 1.3422, "text": "Improved README as shipping staff said"}, {"post_id": 67720, "ts": "2026-09-13T22:34:21Z", "hours": 0.7578, "text": "guess what guys, I discovered a new bug sitting there and I went fixing it before it was reviewed for ship"}, {"post_id": 66296, "ts": "2026-09-12T01:51:41Z", "hours": 0.4822, "text": "I found the problem, it was becuase the file was too large it takes a minute to load and render, I’m trying to optimize by not giivng BasicTextField a big file in once, and while I’m fixing that, I added a user warning"}, {"post_id": 66282, "ts": "2026-09-12T00:59:01Z", "hours": 2.0608, "text": "I’ve been working on this feature that opens a folder to show a structure of the project but for some reason it crashes when opening an markdown file, I’m trying my best to fix it, I suspected it was the lexer trying to analyze through it and exploded because it wasnt python syntax, but even after disabling the lexer is still freezes, and crashes, the weird part is that i can’t close it with alt f4…. Btw for the ones who don’t know I absolutely gave up on making the find and replace bar work"}, {"post_id": 63313, "ts": "2026-09-07T01:58:56Z", "hours": 0.2778, "text": "Fixing tabs"}, {"post_id": 62283, "ts": "2026-09-05T16:04:18Z", "hours": 0.3231, "text": "Wow, tab handling went easier that what I was expecting.."}, {"post_id": 61957, "ts": "2026-09-05T04:27:50Z", "hours": 0.4111, "text": "Improved UI! and tab support still in demo details: I added a terminal button at the sidebar to toggle visibility and also made the terminal vertically resizeable"}, {"post_id": 61299, "ts": "2026-09-04T04:26:13Z", "hours": 0.4156, "text": "I made an icon based sidebar with tooltips once hovered! Now working on making temp file execution(aka no need to save to execute, perfect for prototyping)"}, {"post_id": 60627, "ts": "2026-09-03T02:56:36Z", "hours": 0.5039, "text": "Can anyone help me? I really don’t know how to deal with this error… Could not load the value of field valueSourceType of org.gradle.api.internal.provider.DefaultValueSourceProviderFactory$DefaultObtainedValue bean found in field obtainedValue of org.gradle.internal.cc.impl.fingerprint.ConfigurationCacheFingerprint$ValueSource bean found in Gradle runtime. Class ‘org.jetbrains.kotlin.gradle.internal.IsInIdeaSyncValueSource’ not found in class loader ‘InstrumentingVisitableURLClassLoader(ClassLoaderScopeIdentifier.Id{coreAndPlugins:settings[:]:buildSrc[:]:root-project : })’ of type ‘org.gradle.internal.classloader.VisitableURLClassLoader$InstrumentingVisitableURLClassLoader’."}, {"post_id": 59378, "ts": "2026-09-01T04:41:49Z", "hours": 0.3589, "text": "Im still working on findbar focus requesting, probably wont add devlogs more until i fix it"}, {"post_id": 58537, "ts": "2026-08-30T23:39:34Z", "hours": 2.1778, "text": "added auto closing brakcets, and still fixing search amd replace"}, {"post_id": 42841, "ts": "2026-08-07T19:39:16Z", "hours": 0.8042, "text": "Finished searchEngine, I decided to use the built-in Kotlin’s string searching, modified app.kt and hotkeys.kt for integrating ctrl+f(search) and ctrl+h(search and replace) Everything worked normally during the test, now aiming to make the UI to integrate to the app."}, {"post_id": 36683, "ts": "2026-07-28T22:00:14Z", "hours": 1.8456, "text": "Hi guys! Its been a long time since i posted my last devlog, the main reason was because….. LEXER IS SO HARD TO IMPLEMENT before in Halyra PySide6 Edition, I just used a regex and everything works perfectly, but in Kotlin, somehow it didnt work, so i had to search for techniques and try to implement one myself(Kotlin tutorials are hard to find ಥ_ಥ) I retried and retried until I got what i wanted, class definition/call rendering, keyword, numbers string, and others rendering perfectly…. I was planning to use parser to detect variable definitions and calls, but It was so hard that i eventually gave up.. Anyways, I made it! I’m aiming for find and replace next ;)"}, {"post_id": 27499, "ts": "2026-07-13T03:43:46Z", "hours": 2.1828, "text": "LETS GOOOOOOOOOOOOOOOOOOOOOO🎉🎉🎉🎉!!!!! After about 4 to 6 hours, I MADE TO FIX THE INDENTING GLITCHES!!! Summary: After trying 3 different algorithms, I reinspected the code of all my commits and noticed the true issue: I was trying to make the same implementation to handle different behaviors , which caused the bug. Basically Tab in editors had two different behaviors: prin|t(“a”) after tab: prin |t(“a”) the second behavior happens at the start of a line: |print(“a”) after tab: |print(\"a\") I originally planned to use the same code to detect what the user wants, and it didn’t work well no matter how hard I tried until I separated the two behaviors into two snnipets completely, which just ended the bug that I tried fixing for hours. I’ll never be lazy again…."}, {"post_id": 22971, "ts": "2026-07-05T17:26:02Z", "hours": 1.4756, "text": "found a bug at indenting and still fixing….. Im going to explode"}, {"post_id": 19584, "ts": "2026-06-30T22:37:32Z", "hours": 0.795, "text": "finished indenting part"}, {"post_id": 15832, "ts": "2026-06-25T19:00:36Z", "hours": 1.305, "text": "finished adding auto indenting to the IDE, it was the most difficult task ever….. at least for now"}, {"post_id": 11572, "ts": "2026-06-18T21:11:07Z", "hours": 0.3175, "text": "Finished fixing bugs"}, {"post_id": 11504, "ts": "2026-06-18T20:00:00Z", "hours": 1.3561, "text": "added a glitchy syntax higlighting, will continue fixing"}, {"post_id": 4677, "ts": "2026-06-08T02:28:13Z", "hours": 1.2625, "text": "Added a not very well-looking custom title bar, I will fix it later"}, {"post_id": 3954, "ts": "2026-06-07T02:43:37Z", "hours": 0.78, "text": "Changed Buttons and migrated to Box() instead of Button"}, {"post_id": 1740, "ts": "2026-06-03T22:29:53Z", "hours": 0.3461, "text": "I successfully added line numebrs and auto scrolling, aiming for keyword highlightin next"}]...
|
Title: Halyra IDE by @aavarvd | Stardance
Devlogs Title: Halyra IDE by @aavarvd | Stardance
Devlogs:
I successfully added line numebrs and auto scrolling, aiming for keyword highlightin next
Changed Buttons and migrated to Box() instead of Button
Added a not very well-looking custom title bar, I will fix it later
added a glitchy syntax higlighting, will continue fixing
Finished fixing bugs
finished adding auto indenting to the IDE, it was the most difficult task ever….. at least for now
finished indenting part
found a bug at indenting and still fixing….. Im going to explode
LETS GOOOOOOOOOOOOOOOOOOOOOO🎉🎉🎉🎉!!!!! After about 4 to 6 hours, I MADE TO FIX THE INDENTING GLITCHES!!! Summary: After trying 3 different algorithms, I reinspected the code of all my commits and noticed the true issue: I was trying to make the same implementation to handle different behaviors , which caused the bug. Basically Tab in editors had two different behaviors: prin|t(“a”) after tab: prin |t(“a”) the second behavior happens at the start of a line: |print(“a”) after tab: |print("a") I originally planned to use the same code to detect what the user wants, and it didn’t work well no matter how hard I tried until I separated the two behaviors into two snnipets completely, which just ended the bug that I tried fixing for hours. I’ll never be lazy again….
Hi guys! Its been a long time since i posted my last devlog, the main reason was because….. LEXER IS SO HARD TO IMPLEMENT before in Halyra PySide6 Edition, I just used a regex and everything works perfectly, but in Kotlin, somehow it didnt work, so i had to search for techniques and try to implement one myself(Kotlin tutorials are hard to find ಥ_ಥ) I retried and retried until I got what i wanted, class definition/call rendering, keyword, numbers string, and others rendering perfectly…. I was planning to use parser to detect variable definitions and calls, but It was so hard that i eventually gave up.. Anyways, I made it! I’m aiming for find and replace next ;)
Finished searchEngine, I decided to use the built-in Kotlin’s string searching, modified app.kt and hotkeys.kt for integrating ctrl+f(search) and ctrl+h(search and replace) Everything worked normally during the test, now aiming to make the UI to integrate to the app.
added auto closing brakcets, and still fixing search amd replace
Im still working on findbar focus requesting, probably wont add devlogs more until i fix it
Can anyone help me? I really don’t know how to deal with this error… Could not load the value of field valueSourceType of org.gradle.api.internal.provider.DefaultValueSourceProviderFactory$DefaultObtainedValue bean found in field obtainedValue of org.gradle.internal.cc.impl.fingerprint.ConfigurationCacheFingerprint$ValueSource bean found in Gradle runtime. Class ‘org.jetbrains.kotlin.gradle.internal.IsInIdeaSyncValueSource’ not found in class loader ‘InstrumentingVisitableURLClassLoader(ClassLoaderScopeIdentifier.Id{coreAndPlugins:settings[:]:buildSrc[:]:root-project : })’ of type ‘org.gradle.internal.classloader.VisitableURLClassLoader$InstrumentingVisitableURLClassLoader’.
I made an icon based sidebar with tooltips once hovered! Now working on making temp file execution(aka no need to save to execute, perfect for prototyping)
Improved UI! and tab support still in demo details: I added a terminal button at the sidebar to toggle visibility and also made the terminal vertically resizeable
Wow, tab handling went easier that what I was expecting..
Fixing tabs
I’ve been working on this feature that opens a folder to show a structure of the project but for some reason it crashes when opening an markdown file, I’m trying my best to fix it, I suspected it was the lexer trying to analyze through it and exploded because it wasnt python syntax, but even after disabling the lexer is still freezes, and crashes, the weird part is that i can’t close it with alt f4…. Btw for the ones who don’t know I absolutely gave up on making the find and replace bar work
I found the problem, it was becuase the file was too large it takes a minute to load and render, I’m trying to optimize by not giivng BasicTextField a big file in once, and while I’m fixing that, I added a user warning
guess what guys, I discovered a new bug sitting there and I went fixing it before it was reviewed for ship
Improved README as shipping staff said
Finished fixing terminal bugs, moved the toggle button of PowerShell and output console to the bottom and added a stop button
The ones who know should know
Ships:
Hi guys! Its been 19 hours of development and bug-fixing pain already! I’ve been working on this “little” project about a python IDE written with Kotlin Compose named Halyra, I am probably going to continue working in it in future ships, and this ship is just usable neough for me to publish it to the world! Current features: Lexer based Syntax highlighting Python execution I/O Open/Save/Save as Tab based editing Open folder as project(altho project does not save) Planned features: Write a text drawable canvas myself as BasicTextField has issues processing files over 100KB Make a working custom title bar because windows default sucks WONTFIX: Find/Replace bar(you can still check it with ctrl+F and ctrl+H, but i won’t fix it anymore) My main objectives making this IDE was lightweight and good UI, which I think is what I;m currently stepping towards to, and I wish I could still have a chance to continue on this project!...
|
1793004747.1430962
|
1793091147.1430962
|
|
33555
|
Rural Coders Society by @-Sophie- | Stardance
|
-Sophie-
|
1
|
12.0
|
252
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-20T18:58:04Z", "hours": 12.0, "multiplier": 17.99, "payout": 252, "blessing": "neutral", "text": "I made a revamped webpage for Rural Coders Society, a fiscally sponsored project under Hack Club! This was my first time using full blown React for an actual project, so there was a huge learning curve. But I’m really proud with how it turned out! Challenges: Using external libraries like NumberFlow and SplideJS for the first time (lots of documentation to read D:) Gauging what I should make a component and what I should just put on the page Making the card system modular (esp for different amounts of content and such) and streamlining the process of adding cards to the website Using useState for the first (practical) time to make a navbar :0 What I’m proud of: I’m proud that I overcame these challenges despite it being discouraging at times How I was able successfully integrate external libraries and troubleshoot through card issues and being stubborn to not use AI to debug (it was tempting but I know I wouldn’t learn) Using TailwindCSS for the first time and it’s actually so good I don’t think I can return to regular CSS anymore I’m glad I was able to reference other sites on the web and somewhat replicate it with react and tailwind with my own creativity on my own page Using and understanding how to use react routes and Link elements You can check the page out at www.ruralcoderssociety.org ! Thanks for reading :))))", "repo": "https://github.com/gwak-amole/ruralcoderssociety", "demo": "https://www.ruralcoderssociety.org/"}]...
|
[{"post_id": 71368, "ts": "202 [{"post_id": 71368, "ts": "2026-09-20T18:18:33Z", "hours": 1.7058, "text": "FINISHED THE SITE!! I added mobile compatibility The site was looking really good until someone looked on it on their phone or something other than a desktop, so this was the final element to ship it! No more fixed widths The fixed widths, I found, were the culprit for all the breaking when the website was viewed in other dimensions, so I made use of sm:some property and md:some property and lg:some property in tailwind and also w-full and max-w-some number to make the cards flexible depending on the dimensions it’s viewed from NAVBAR I’m really proud of this because I used useState for the first time on an actual website to create the hamburger navigation thing. It opens like a set of links if you click it and the text changes from a three-line hamburger thing to an x. useState is actually amazing so many use cases Challenges The main challenge was just tweaking what text/font sizes should go with sm/md/lg displays–just a lot of trial and error Another challenge was making the hamburger opening look good because the background was only coloring to the height of the navbar,, I realized that I needed to move the appearing navigation outside of the navbar and it worked wonders Future additions Just if the nonprofit gets more metrics or after outreach initiatives it’s apparent we’re missing some important content. but it’s done and I’m going to ship this!!"}, {"post_id": 66091, "ts": "2026-09-11T17:49:29Z", "hours": 1.1672, "text": "Finished About Me Page + program page struggles Finished the about me! It’ s a simple about me page; I got inspiration from other NPO about me pages online! Program Page work in progress I’m trying to use the same components across two pages for information cards on the programs we do, but the cards need to be two different heights. I’ve been hacking at this for a while but I’m going to rest before I try resolving this problem again :’))))) (as you can see the images go off the cards for this second component. I want each card to be a standardized height but differ across pages. gl to me in the future lol) Future additions After I finish adjusting these card heights, my website will be finished! I just need to hook it to our website domain and replace our outdated website!! yayyy"}, {"post_id": 59083, "ts": "2026-08-31T18:09:12Z", "hours": 2.5033, "text": "Added project carousel! React component I used React to make a reusable image carousel thing where you can pass an array of photos as an argument and it will put it into the the SplideJS slides Used SplideJS again Added a featured projects carousel that has some cool projects that our Code Without Borders Bootcamp participants made!! Added arrows to the carousel too Tailwind Added a gradient background for aesthetic purposes :) Challenges I generally had a hard time figuring out how to style the features component–it was really looking rough to start with but we landed on something 😭 I think the gradient helped a lot Additional information I also tweaked styling for the rest of the webpage I added some join buttons and linked the donation page Updated the impact numbers Future additions About to add the proper join form and also get started on the about us page :D"}, {"post_id": 29809, "ts": "2026-07-16T23:01:41Z", "hours": 1.1256, "text": "Added footer + more I added a footer to the home page to make it feel more complete Number animations now the number statistics animate when you scroll upon them. so i attached a video to show u what that looks like. I used the NumberFlow React library–it was pretty intuitive itself but then i had to use useState, useEffect, and useRef hooks and understand how to use those and how to defer the useEffect until the window detects it 😭 😭 u can do it with the native .getBoundingClientRect tho and u have to do it to an element you want to be the trigger, in my case i made the card the trigger, so if it shows then the animation will happen. and then make sure it’s less than window.innerHeight and element’s position.bottom must be greater than 0, which means that the element is below the top edge of ur screen holy yap but this is how i teach myself bc that was something new for me 😭"}, {"post_id": 28588, "ts": "2026-07-14T22:37:09Z", "hours": 0.6417, "text": "Added card types and prop types to specify the kind of card design you want I added different card types, and so now you can switch between them. So CardGrid is extra reusable LOL This is through capitalized variables that I just learned! I could work logic between choosing components using a capitalized variable (yk the one that uses PascalCase)"}, {"post_id": 28564, "ts": "2026-07-14T21:53:38Z", "hours": 0.3922, "text": "Reworked some card grid component logic I heard it’s better to create an array of the props rather than an array of the cards, so after struggling a bit I got to do it the conventional way with array mapping! Not entirely sure what the individual mapping keys are for but I will look more deeply into that. It says online that you have to keep keys stable so that React knows which item you’re referencing but don’t totally understand why it would need to know that lol"}, {"post_id": 28551, "ts": "2026-07-14T21:28:11Z", "hours": 0.8739, "text": "Card Component + Card Grid Both are reusable! Card Component I create InfoCard.jsx component which makes these light blue cards. I used props for the first time, so you can pass in an argument making these components completely reusable across the platform! Card Grid I created an array of cards and then passed them through the Card Grid. I made it so that the cols prop you pass in leads to the amount of columns created with Tailwind CSS by assigning 1 to “grid-col-1” etc etc in an object and then using that for part of the Tailwind CSS for the Card Grid. super simple logic but im still proud nevertheless LOL"}, {"post_id": 26415, "ts": "2026-07-11T06:05:56Z", "hours": 1.3447, "text": "I implemented Splide JS into the website so it could create this photo gallery carousel!! i’m so proud of it! and the syntax for Splide was surprisingly easy and intuitive–I followed a tutorial on Medium to understand how to use it. The home page is already looking more polished."}, {"post_id": 26386, "ts": "2026-07-11T04:30:11Z", "hours": 1.0606, "text": "Added a hero to the website. It’s currently a placeholder, I’m working on a swiping photo gallery as the hero. I also styled everything with tailwind-css because I’m trying to get used to it."}, {"post_id": 26290, "ts": "2026-07-11T00:20:44Z", "hours": 0.8678, "text": "Why is react so painful? anyhow I made a router without styling yet with react-router-dom and so yeah that’s progress :’). I’m getting used to the react-router-dom way of things and having to configure main.jsx and stuff it’s so painful LOL"}]...
|
Title: Rural Coders Society by @-Sophie- | Stardan Title: Rural Coders Society by @-Sophie- | Stardance
Devlogs:
Why is react so painful? anyhow I made a router without styling yet with react-router-dom and so yeah that’s progress :’). I’m getting used to the react-router-dom way of things and having to configure main.jsx and stuff it’s so painful LOL
Added a hero to the website. It’s currently a placeholder, I’m working on a swiping photo gallery as the hero. I also styled everything with tailwind-css because I’m trying to get used to it.
I implemented Splide JS into the website so it could create this photo gallery carousel!! i’m so proud of it! and the syntax for Splide was surprisingly easy and intuitive–I followed a tutorial on Medium to understand how to use it. The home page is already looking more polished.
Card Component + Card Grid Both are reusable! Card Component I create InfoCard.jsx component which makes these light blue cards. I used props for the first time, so you can pass in an argument making these components completely reusable across the platform! Card Grid I created an array of cards and then passed them through the Card Grid. I made it so that the cols prop you pass in leads to the amount of columns created with Tailwind CSS by assigning 1 to “grid-col-1” etc etc in an object and then using that for part of the Tailwind CSS for the Card Grid. super simple logic but im still proud nevertheless LOL
Reworked some card grid component logic I heard it’s better to create an array of the props rather than an array of the cards, so after struggling a bit I got to do it the conventional way with array mapping! Not entirely sure what the individual mapping keys are for but I will look more deeply into that. It says online that you have to keep keys stable so that React knows which item you’re referencing but don’t totally understand why it would need to know that lol
Added card types and prop types to specify the kind of card design you want I added different card types, and so now you can switch between them. So CardGrid is extra reusable LOL This is through capitalized variables that I just learned! I could work logic between choosing components using a capitalized variable (yk the one that uses PascalCase)
Added footer + more I added a footer to the home page to make it feel more complete Number animations now the number statistics animate when you scroll upon them. so i attached a video to show u what that looks like. I used the NumberFlow React library–it was pretty intuitive itself but then i had to use useState, useEffect, and useRef hooks and understand how to use those and how to defer the useEffect until the window detects it 😭 😭 u can do it with the native .getBoundingClientRect tho and u have to do it to an element you want to be the trigger, in my case i made the card the trigger, so if it shows then the animation will happen. and then make sure it’s less than window.innerHeight and element’s position.bottom must be greater than 0, which means that the element is below the top edge of ur screen holy yap but this is how i teach myself bc that was something new for me 😭
Added project carousel! React component I used React to make a reusable image carousel thing where you can pass an array of photos as an argument and it will put it into the the SplideJS slides Used SplideJS again Added a featured projects carousel that has some cool projects that our Code Without Borders Bootcamp participants made!! Added arrows to the carousel too Tailwind Added a gradient background for aesthetic purposes :) Challenges I generally had a hard time figuring out how to style the features component–it was really looking rough to start with but we landed on something 😭 I think the gradient helped a lot Additional information I also tweaked styling for the rest of the webpage I added some join buttons and linked the donation page Updated the impact numbers Future additions About to add the proper join form and also get started on the about us page :D
Finished About Me Page + program page struggles Finished the about me! It’ s a simple about me page; I got inspiration from other NPO about me pages online! Program Page work in progress I’m trying to use the same components across two pages for information cards on the programs we do, but the cards need to be two different heights. I’ve been hacking at this for a while but I’m going to rest before I try resolving this problem again :’))))) (as you can see the images go off the cards for this second component. I want each card to be a standardized height but differ across pages. gl to me in the future lol) Future additions After I finish adjusting these card heights, my website will be finished! I just need to hook it to our website domain and replace our outdated website!! yayyy
FINISHED THE SITE!! I added mobile compatibility The site was looking really good until someone looked on it on their phone or something other than a desktop, so this was the final element to ship it! No more fixed widths The fixed widths, I found, were the culprit for all the breaking when the website was viewed in other dimensions, so I made use of sm:some property and md:some property and lg:some property in tailwind and also w-full and max-w-some number to make the cards flexible depending on the dimensions it’s viewed from NAVBAR I’m really proud of this because I used useState for the first time on an actual website to create the hamburger navigation thing. It opens like a set of links if you click it and the text changes from a three-line hamburger thing to an x. useState is actually amazing so many use cases Challenges The main challenge was just tweaking what text/font sizes should go with sm/md/lg displays–just a lot of trial and error Another challenge was making the hamburger opening look good because the background was only coloring to the height of the navbar,, I realized that I needed to move the appearing navigation outside of the navbar and it worked wonders Future additions Just if the nonprofit gets more metrics or after outreach initiatives it’s apparent we’re missing some important content. but it’s done and I’m going to ship this!!
Ships:
I made a revamped webpage for Rural Coders Society, a fiscally sponsored project under Hack Club! This was my first time using full blown React for an actual project, so there was a huge learning curve. But I’m really proud with how it turned out! Challenges: Using external libraries like NumberFlow and SplideJS for the first time (lots of documentation to read D:) Gauging what I should make a component and what I should just put on the page Making the card system modular (esp for different amounts of content and such) and streamlining the process of adding cards to the website Using useState for the first (practical) time to make a navbar :0 What I’m proud of: I’m proud that I overcame these challenges despite it being discouraging at times How I was able successfully integrate external libraries and troubleshoot through card issues and being stubborn to not use AI to debug (it was tempting but I know I wouldn’t learn) Using TailwindCSS for the first time and it’s actually so good I don’t think I can return to regular CSS anymore I’m glad I was able to reference other sites on the web and somewhat replicate it with react and tailwind with my own creativity on my own page Using and understanding how to use react routes and Link elements You can check the page out at www.ruralcoderssociety.org ! Thanks for reading :))))...
|
1793004745.956177
|
1793091145.956177
|
|
45338
|
ESP32 MP3 Player by @tanvu | Stardance
|
tanvu
|
1
|
62.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-14T23:20:39Z", "hours": 62.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made an ESP32 MP3 player on breadboard, complete with a file system and a multi-function playback controller. I went into this project essentially from zero - I had never used an ESP32 and had barely any experience with hobbyist electronics. I wasn’t even aware of the concept of debounce was until I naturally encountered button/encoder jitters in testing. What I’m most proud of is the journey from getting blinky on ESP32 just a few days before starting this project to having a complete embedded system.", "repo": "https://github.com/tanvu29/esp-mp3-player", "demo": ""}]...
|
[{"post_id": 57107, "ts": "202 [{"post_id": 57107, "ts": "2026-08-29T06:34:26Z", "hours": 4.5472, "text": "Final devlog! The main program came together pretty quick since I went through the gauntlet of writing classes for each major component. Quick summary of the MP3 player: Load up a microSD with songs/albums in MP3 format. Then navigate the file browser using the rotary encoder to scroll through and button to select. You can play/pause, skip to next song, and toggle between playback and browser mode at any time. I would love to continue improving this, like right now the ESP32 has trouble registering double button clicks if it’s also streaming audio at the same time. That’s why you see me pause songs before double clicking in the video LOL. Unfortunately with school starting soon I decided to wrap it up here. Still super proud of how far I’ve come considering I was only getting blinky on ESP32 one month ago. This is also meant to be a breadboard proof of concept for a larger PCB project I’ll be tackling, and I’m definitely glad I learned some lessons here and not while working on the PCB. I doubt finishing the PCB is in scope with a month left of stardance but stay tuned haha"}, {"post_id": 55329, "ts": "2026-08-27T02:18:26Z", "hours": 10.1339, "text": "File system stress tested When you start debugging you realize writing code was only half the battle"}, {"post_id": 54335, "ts": "2026-08-25T09:12:14Z", "hours": 3.8667, "text": "Day 9 - File system class written 700+ lines of code between the header and source files :o Once the final version of this class is tested, all classes will have been written and ready to be integrated into the final program. In the home stretch!"}, {"post_id": 54265, "ts": "2026-08-25T04:54:24Z", "hours": 10.0006, "text": "File system in progress Approaching 10 hrs so had to devlog lol Will be back once file system is finished"}, {"post_id": 52710, "ts": "2026-08-23T00:45:57Z", "hours": 11.8506, "text": "Day 8 - writing a proper class start to finish Display class for the LCD is now complete, ready to be integrated with rest of program. Learnings: Use C strings over String objects to avoid heap fragmentation Use structs when you want to store different kinds of information about a state Consider what the class needs to know about the program, but also what it doesn’t need to know"}, {"post_id": 51146, "ts": "2026-08-20T17:18:32Z", "hours": 4.4336, "text": "Day 7 - debugging, oop, state machines The only new functionality added today was updating my button state machine for double click and long press detection. Intended behavior: While a song is playing, double click to play the next song or long press to return to the file navigator / song selector. Demo test in video The more interesting part to me was getting experience with two real big potato things: debugging & oop in c++. I got a taste of debugging low-level errors using toolchains. In this case it was the Xtensa addr2line tool used to convert ESP32 memory address logs into the exact file and line number involved in the error. Shoutout RoboService on youtube with 10 subscribers for making a banger tutorial. I also kinda went headfirst into c++ classes. My main arduino ide sketch was getting long enough to the point where partitioning it into classes became the smart move. I got the hang of it faster than expected. The new part is learning c++ specific syntax, but the fundamental concepts are the same across all oop languages."}, {"post_id": 50137, "ts": "2026-08-19T07:22:05Z", "hours": 5.3003, "text": "Day 6 - song progress timer complete with the help of codex Didn’t realize how complicated calculating song duration from an MP3 would be. You would think duration is stored in metadata but you actually need to do some reverse engineering & check for a bunch of different compression formats yada yada Anyways now a basic timer is working. Also replaced the headphone jack with speakers like the engineers of the MAX98357 amp modules intended. Still lots more to implement like file navigation and song selection"}, {"post_id": 49358, "ts": "2026-08-18T04:15:32Z", "hours": 3.0836, "text": "Day 5 - hello world LCD display I2C protocol learnings: SDA and SCL lines are held HIGH by external pull-up resistors. Connecting to GPIO pins with internal pull-down resistors will interfere with the pull-ups and cause a serial error. I was stuck on that for a hot minute lol Looking forward, I’ll be implementing song title/artist, timer, progress bar, and hopefully file navigation functionality"}, {"post_id": 47356, "ts": "2026-08-15T07:45:24Z", "hours": 2.2667, "text": "Day 3 & 4 - Audio is now playing! Found a library called arduino-audio-tools that conveniently abstracts the MP3 -> PCM -> I2S pipeline, so no need to reinvent the wheel. This library provides functions like setVolume(), play(), and stop(). All I had to do was integrate these functions into my rotary encoder code from Day 1, and voila there’s volume control and pause/resume. The next session will likely be debugging the static & flicker coming out of the TRRS headphone jack"}, {"post_id": 46204, "ts": "2026-08-13T08:29:49Z", "hours": 3.2169, "text": "Day 2 - Researched SD card reading on the Arduino platform. This one took waayyyy too long - once I realized the native arduino SD library doesn’t support my >32GB exFAT microSD I spent the entire day looking into and testing various libraries.. turns out it was a hardware problem. I was using custom pins for SPI instead of the standard ESP32 VSPI pins and assumed it would work the same. Guess I chose a bad pin?"}, {"post_id": 45555, "ts": "2026-08-12T03:46:31Z", "hours": 3.0333, "text": "Day 1 - Prototyped volume control, scrolling, and button press on a KY-040 rotary encoder. Button press was done with a timer based debounce, but nailing down debounce logic for volume/scrolling was more tricky… The solution I landed on was making a state transition table, which maps changes in the encoder’s quadrature signal to a physical turn, CW or CCW. In the screenshot you can see debounce in action - button press is registered 3 times but the actual output only changes once!"}]...
|
Title: ESP32 MP3 Player by @tanvu | Stardance
Dev Title: ESP32 MP3 Player by @tanvu | Stardance
Devlogs:
Day 1 - Prototyped volume control, scrolling, and button press on a KY-040 rotary encoder. Button press was done with a timer based debounce, but nailing down debounce logic for volume/scrolling was more tricky… The solution I landed on was making a state transition table, which maps changes in the encoder’s quadrature signal to a physical turn, CW or CCW. In the screenshot you can see debounce in action - button press is registered 3 times but the actual output only changes once!
Day 2 - Researched SD card reading on the Arduino platform. This one took waayyyy too long - once I realized the native arduino SD library doesn’t support my >32GB exFAT microSD I spent the entire day looking into and testing various libraries.. turns out it was a hardware problem. I was using custom pins for SPI instead of the standard ESP32 VSPI pins and assumed it would work the same. Guess I chose a bad pin?
Day 3 & 4 - Audio is now playing! Found a library called arduino-audio-tools that conveniently abstracts the MP3 -> PCM -> I2S pipeline, so no need to reinvent the wheel. This library provides functions like setVolume(), play(), and stop(). All I had to do was integrate these functions into my rotary encoder code from Day 1, and voila there’s volume control and pause/resume. The next session will likely be debugging the static & flicker coming out of the TRRS headphone jack
Day 5 - hello world LCD display I2C protocol learnings: SDA and SCL lines are held HIGH by external pull-up resistors. Connecting to GPIO pins with internal pull-down resistors will interfere with the pull-ups and cause a serial error. I was stuck on that for a hot minute lol Looking forward, I’ll be implementing song title/artist, timer, progress bar, and hopefully file navigation functionality
Day 6 - song progress timer complete with the help of codex Didn’t realize how complicated calculating song duration from an MP3 would be. You would think duration is stored in metadata but you actually need to do some reverse engineering & check for a bunch of different compression formats yada yada Anyways now a basic timer is working. Also replaced the headphone jack with speakers like the engineers of the MAX98357 amp modules intended. Still lots more to implement like file navigation and song selection
Day 7 - debugging, oop, state machines The only new functionality added today was updating my button state machine for double click and long press detection. Intended behavior: While a song is playing, double click to play the next song or long press to return to the file navigator / song selector. Demo test in video The more interesting part to me was getting experience with two real big potato things: debugging & oop in c++. I got a taste of debugging low-level errors using toolchains. In this case it was the Xtensa addr2line tool used to convert ESP32 memory address logs into the exact file and line number involved in the error. Shoutout RoboService on youtube with 10 subscribers for making a banger tutorial. I also kinda went headfirst into c++ classes. My main arduino ide sketch was getting long enough to the point where partitioning it into classes became the smart move. I got the hang of it faster than expected. The new part is learning c++ specific syntax, but the fundamental concepts are the same across all oop languages.
Day 8 - writing a proper class start to finish Display class for the LCD is now complete, ready to be integrated with rest of program. Learnings: Use C strings over String objects to avoid heap fragmentation Use structs when you want to store different kinds of information about a state Consider what the class needs to know about the program, but also what it doesn’t need to know
File system in progress Approaching 10 hrs so had to devlog lol Will be back once file system is finished
Day 9 - File system class written 700+ lines of code between the header and source files :o Once the final version of this class is tested, all classes will have been written and ready to be integrated into the final program. In the home stretch!
File system stress tested When you start debugging you realize writing code was only half the battle
Final devlog! The main program came together pretty quick since I went through the gauntlet of writing classes for each major component. Quick summary of the MP3 player: Load up a microSD with songs/albums in MP3 format. Then navigate the file browser using the rotary encoder to scroll through and button to select. You can play/pause, skip to next song, and toggle between playback and browser mode at any time. I would love to continue improving this, like right now the ESP32 has trouble registering double button clicks if it’s also streaming audio at the same time. That’s why you see me pause songs before double clicking in the video LOL. Unfortunately with school starting soon I decided to wrap it up here. Still super proud of how far I’ve come considering I was only getting blinky on ESP32 one month ago. This is also meant to be a breadboard proof of concept for a larger PCB project I’ll be tackling, and I’m definitely glad I learned some lessons here and not while working on the PCB. I doubt finishing the PCB is in scope with a month left of stardance but stay tuned haha
Ships:
I made an ESP32 MP3 player on breadboard, complete with a file system and a multi-function playback controller. I went into this project essentially from zero - I had never used an ESP32 and had barely any experience with hobbyist electronics. I wasn’t even aware of the concept of debounce was until I naturally encountered button/encoder jitters in testing. What I’m most proud of is the journey from getting blinky on ESP32 just a few days before starting this project to having a complete embedded system....
|
1793004744.7573504
|
1793091144.7573504
|
|
35928
|
Cheap, Versatile Robotic Arm by @Bennediktiner | S Cheap, Versatile Robotic Arm by @Bennediktiner | Stardance...
|
Bennediktiner
|
1
|
10.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-10T08:29:50Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A 3D Printed, 2 Segment Robotic Arm with IK Solver Find the Code at: https://github.com/MoustacheBob/2-Segment-Robotic-Arm/tree/main Find all models at: https://www.printables.com/model/1837281-simple-2-segment-robotic-arm I made a mostly 3D printed robotic Arm, thats controlledusing an Arduino doing the Inverse Kinematics calculations for the coordinates sent by a custom PyQt Desktop GUI. I made this mostly to learn Cad and proper Design, aswell as how to work with PyQt and the Arduino IDE Along the way I made semi Custom libraries to control the servos and stepper along with TMC2209 motor driver, learnt Fusion 360 from Scratch and got the basics of PyQt, PySerial and matplotlib. Note: I do not recommend recreating anything here as it is probably hopelessly flawed. In the demo video you will se me have to hold it down as i was too lazy to make a proper mount and smoother simultaneous movement of the motors would be possible if that would not surpass the current Limit of my Power supply. In the future I might expand the concept to a 6 dof Arm, though not as the very next project.", "repo": "https://github.com/MoustacheBob/2-Segment-Robotic-Arm", "demo": ""}]...
|
[{"post_id": 65260, "ts": "202 [{"post_id": 65260, "ts": "2026-09-10T08:17:06Z", "hours": 1.6672, "text": "Final Devlog I shall never give time estimates again So obviously didnt finish it that weekend and the couldnt work on it for a week because of School Nevertheless i had to make some small adjustments in the design as i had to change one of the motors and have a different way to attach the Motors to the axles. Unfortunately i dont have a proper soldering setup, which is why the wiring is done near entirely with Crocodile clamps. Finally though i am finished, achieving my main goal of creating a 2 segment arm that can move to specified coordinates with an IK-solver, and learnt a lot on the way there. Am shipping soon, thanks for your time."}, {"post_id": 56828, "ts": "2026-08-28T19:28:21Z", "hours": 0.9333, "text": "Devlog 3 School’s back, but so am I! Havent had a lot of time recently as you can tell, but im here to present the finished CAD!!! im very glad I don’t have to deal with Fusion 360 for a bit. Im pretty happy with how everythin turned out, the design is pretty decent, the file is Solidly parametric, just tolerances between the printed and non printed parts are going to be a hassle. To be fully honest though, the design is probably hot ass, i have no idea if any of it will hold up assembled, torque calculation for the length of the arms was all done on a complete whim, but hey, I made it and it’s mine :) I have some free time this weekend and nothing better to do, so im really sprinting to finish this project and assemble everything. Part of the work has already started, I just hope im not underestimating the time soldering will take. note: in red, all parts to be printed"}, {"post_id": 38141, "ts": "2026-07-31T11:37:06Z", "hours": 4.5456, "text": "Devlog 2 Ive been a bit lazy as always Good news Though: the entire software side of things is pretty much finished! The Stepper Motor for base rotation is using the AccelStepper ( by Mike McCauley ) alongside a custom wrapper class to work with degrees and some QoL functions. The 2 MG90s Servos use the SeroEasing library (by Armin Joachimsmeyer) to smoothly move to the desired position. This means that all motors can now move the respective degrees calculated by the arduino, which receives the desired Coordinates from the desktop programm. Bad News: Still have to do the entire goddamn CAD. i dont wannaaaa :( ."}, {"post_id": 34594, "ts": "2026-07-25T13:35:04Z", "hours": 0.8647, "text": "Devlog 1 Had a bit of a rough time if anyone has a recommendation for a reliable adjustable PSU or knows a design workaound for sliprings Please hit me up!! Good Stuff: Parts arrived!!! Had a great time trying out the new parts like a Nema 17 Stepper motor (which is way overkill but idc, probably need it later on anyway). Started the Cad. Its hit or miss, some parts work, others dont. printed Parts. As you can see in the picture, i started printing some parts from the Cad i was confident int, though i need to adjust some tolerances. (They were all printed on a Prusa Mini+ with .2mm layer height) Bad stuff: To power the motors I need a better power supply than a 9v battery. Will probably buy an adjustable psu soon, since i dont want to power every project off of a battery pack, but itll be expensive… the base of the arm also probably needs a slip ring (if anyone has ideas to not need one im very open) and some longer wires. Thats why im having problems with the cad design, since i failed to account for those thing. Forgot to track pretty much all the Cad work with lookout (who on earth remembers to turn that on…) Problems are a bit of a bummer, since it means waiting on parts to arrive and, since im great at procrastinating, my summer break is going to be over somewhat soon. Thx for reading my rant, thx to the contest organisers and if anyone has a recommendation for a reliable adjustable PSU or knows a design workaound for sliprings Please hit me up!!"}, {"post_id": 32291, "ts": "2026-07-21T11:26:27Z", "hours": 1.9497, "text": "Devlog 0 have to do a devlog 0 since i started workin on this before i knew about this event My basic goal with this project is just to learn and get better at CAD and coding by actually building something, not to create something crazy innovative. The current goal of the project is to build a 2 segment robotic arm, that can be controlled using desktop software, sending 3D coordinates to an arduino which then computes the motor angles. (having just 2 segments means i can use a simple trigonometric ik- solver) So far I have the basic software done, made using PyQt, Pyserial and matplotlib (see picture), aswell as the ik solver in the arduino IDE. Since you need some time captured in hackatime/lapse to post a devlog, the current tracked time is mostly dicking around with color settings in PyQt and starting some templates in Fusion what im planning to do now: Finish the cad Model Order Motors, Drivers, etc. Integrate the motor controls into the aruino code -> Probably ship the project -> if im not tired of it, expand every aspect to fit a 6 DoF robotic arm and ship that as a new project. once again, this project is just to learn and not anything impressive, thx for reading and to the competition organisors."}]...
|
Title: Cheap, Versatile Robotic Arm by @Bennedikti Title: Cheap, Versatile Robotic Arm by @Bennediktiner | Stardance
Devlogs:
Devlog 0 have to do a devlog 0 since i started workin on this before i knew about this event My basic goal with this project is just to learn and get better at CAD and coding by actually building something, not to create something crazy innovative. The current goal of the project is to build a 2 segment robotic arm, that can be controlled using desktop software, sending 3D coordinates to an arduino which then computes the motor angles. (having just 2 segments means i can use a simple trigonometric ik- solver) So far I have the basic software done, made using PyQt, Pyserial and matplotlib (see picture), aswell as the ik solver in the arduino IDE. Since you need some time captured in hackatime/lapse to post a devlog, the current tracked time is mostly dicking around with color settings in PyQt and starting some templates in Fusion what im planning to do now: Finish the cad Model Order Motors, Drivers, etc. Integrate the motor controls into the aruino code -> Probably ship the project -> if im not tired of it, expand every aspect to fit a 6 DoF robotic arm and ship that as a new project. once again, this project is just to learn and not anything impressive, thx for reading and to the competition organisors.
Devlog 1 Had a bit of a rough time if anyone has a recommendation for a reliable adjustable PSU or knows a design workaound for sliprings Please hit me up!! Good Stuff: Parts arrived!!! Had a great time trying out the new parts like a Nema 17 Stepper motor (which is way overkill but idc, probably need it later on anyway). Started the Cad. Its hit or miss, some parts work, others dont. printed Parts. As you can see in the picture, i started printing some parts from the Cad i was confident int, though i need to adjust some tolerances. (They were all printed on a Prusa Mini+ with .2mm layer height) Bad stuff: To power the motors I need a better power supply than a 9v battery. Will probably buy an adjustable psu soon, since i dont want to power every project off of a battery pack, but itll be expensive… the base of the arm also probably needs a slip ring (if anyone has ideas to not need one im very open) and some longer wires. Thats why im having problems with the cad design, since i failed to account for those thing. Forgot to track pretty much all the Cad work with lookout (who on earth remembers to turn that on…) Problems are a bit of a bummer, since it means waiting on parts to arrive and, since im great at procrastinating, my summer break is going to be over somewhat soon. Thx for reading my rant, thx to the contest organisers and if anyone has a recommendation for a reliable adjustable PSU or knows a design workaound for sliprings Please hit me up!!
Devlog 2 Ive been a bit lazy as always Good news Though: the entire software side of things is pretty much finished! The Stepper Motor for base rotation is using the AccelStepper ( by Mike McCauley ) alongside a custom wrapper class to work with degrees and some QoL functions. The 2 MG90s Servos use the SeroEasing library (by Armin Joachimsmeyer) to smoothly move to the desired position. This means that all motors can now move the respective degrees calculated by the arduino, which receives the desired Coordinates from the desktop programm. Bad News: Still have to do the entire goddamn CAD. i dont wannaaaa :( .
Devlog 3 School’s back, but so am I! Havent had a lot of time recently as you can tell, but im here to present the finished CAD!!! im very glad I don’t have to deal with Fusion 360 for a bit. Im pretty happy with how everythin turned out, the design is pretty decent, the file is Solidly parametric, just tolerances between the printed and non printed parts are going to be a hassle. To be fully honest though, the design is probably hot ass, i have no idea if any of it will hold up assembled, torque calculation for the length of the arms was all done on a complete whim, but hey, I made it and it’s mine :) I have some free time this weekend and nothing better to do, so im really sprinting to finish this project and assemble everything. Part of the work has already started, I just hope im not underestimating the time soldering will take. note: in red, all parts to be printed
Final Devlog I shall never give time estimates again So obviously didnt finish it that weekend and the couldnt work on it for a week because of School Nevertheless i had to make some small adjustments in the design as i had to change one of the motors and have a different way to attach the Motors to the axles. Unfortunately i dont have a proper soldering setup, which is why the wiring is done near entirely with Crocodile clamps. Finally though i am finished, achieving my main goal of creating a 2 segment arm that can move to specified coordinates with an IK-solver, and learnt a lot on the way there. Am shipping soon, thanks for your time.
Ships:
A 3D Printed, 2 Segment Robotic Arm with IK Solver Find the Code at: https://github.com/MoustacheBob/2-Segment-Robotic-Arm/tree/main Find all models at: https://www.printables.com/model/1837281-simple-2-segment-robotic-arm I made a mostly 3D printed robotic Arm, thats controlledusing an Arduino doing the Inverse Kinematics calculations for the coordinates sent by a custom PyQt Desktop GUI. I made this mostly to learn Cad and proper Design, aswell as how to work with PyQt and the Arduino IDE Along the way I made semi Custom libraries to control the servos and stepper along with TMC2209 motor driver, learnt Fusion 360 from Scratch and got the basics of PyQt, PySerial and matplotlib. Note: I do not recommend recreating anything here as it is probably hopelessly flawed. In the demo video you will se me have to hold it down as i was too lazy to make a proper mount and smoother simultaneous movement of the motors would be possible if that would not surpass the current Limit of my Power supply. In the future I might expand the concept to a 6 dof Arm, though not as the very next project....
|
1793004743.6435983
|
1793091143.6435983
|
|
35569
|
Vinland Saga OS by @AriDev24 | Stardance
|
AriDev24
|
2
|
28.0
|
15
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T18:50:08Z", "hours": 3.0, "multiplier": 5.24, "payout": 15, "blessing": "neutral", "text": "(Vinland Saga OS v0.6) is a Web-Based OS inspired by my favourite anime, Vinland Saga. It’s a Japanese animated series. It’s my first-ever Hack Club project and a first-ever fully working website. I Know there are still many bugs but I tried my best and I will improve it more. To be honest, I learned so many new things with this project, especially JavaScript. I have never written JS myself before, but you made me use it on my own. This is my WebOS 2 so in this WebOS 2 version i added and improved many things : The first thing I added is to open the gallery image in full screen when clicked. The second and best feature i added is to save whatever you write in notes so that every time you open it you can see and intract with your saved notes. The third and the fun feature i added is a random quote generator. I converted my single quote card to this quote generator. The fourth feature i added is that when you open the OS, you have to open the gallery manually like an app. I did this only with Gallery because it did not feel good to me as a widget on the screen. Soo Thats It, Bye…", "repo": "https://github.com/aridev24/Vinland-Saga-OS", "demo": "https://vinland-saga-os.vercel.app/"}, {"ship_num": 2, "ts": "2026-09-20T20:13:22Z", "hours": 25.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Vinland Saga OS is a Web-Based OS inspired by my favourite anime, Vinland Saga. It’s a Japanese animated series. It’s my first-ever Hack Club project and a first-ever fully working website. I Know there are still many bugs but I tried my best and I will improve it more. To be honest, I learned so many new things with this project, especially JavaScript. I have never written JS myself before, but you made me use it on my own without AI, yea but i will be honest with you: there was a lil hidden bug in some 2 lines of JS, I tried my best to debug but at the end i asked copilot to tell me why this code is not working and it told me, the lines were swapped with each other, so then I debugged it.", "repo": "https://github.com/aridev24/Vinland-Saga-OS", "demo": "https://vinland-saga-os.vercel.app/"}]...
|
[{"post_id": 71889, "ts": "202 [{"post_id": 71889, "ts": "2026-09-21T18:19:14Z", "hours": 2.8381, "text": "(Vinland Saga OS v0.7) Added 4 new features. Today, in this, i added many new features to enhance the user experience, The first thing I added is to open the gallery image in full screen when clicked. The second and best feature i added is to save whatever you write in notes so that every time you open it you can see and intract with your saved notes. The third and the fun feature i added is a random quote generator. I converted my single quote card to this quote generator. The fourth feature i added is that when you open the OS, you have to open the gallery manually like an app. I did this only with Gallery because it did not feel good to me as a widget on the screen. Soo Thats It, Bye…"}, {"post_id": 71191, "ts": "2026-09-20T12:42:32Z", "hours": 1.2247, "text": "(Vinland Saga OS v0.6) Final polish has been completed and now i am finally shipping it. In the final polish i added Vikings Norse symbols to the OS and added more images to the gallery. Finding and editing the Norse symbols to match the theme took me too much time. Soo tell if something can be improved. BTW I’m going to ship it…😄"}, {"post_id": 70534, "ts": "2026-09-19T10:19:21Z", "hours": 8.4975, "text": "Finally Its Time To ship (Vinland Saga OS v0.5) Completed This Time i added many new features like opening and closing the windows/Apps, Actually my app are like widgets on screen, i also a pre loading screen, added more images to gallery and made a new beautiful clock widget. Now Its time for Just a final polish and Doneee…"}, {"post_id": 69306, "ts": "2026-09-16T19:31:34Z", "hours": 3.6294, "text": "Late Night New Features Update to Vinland Saga OS Today before adding new feature i thought to modify theme colors because they were looking boring so first i change the color, and then i started to add more features to my OS but i dont have any new feature idea after searching and thinking here and there i thought to add a song and a gallery, so first i downloaded a Vinland Saga opening song and some images stolen from Pinterest 😅, and start building the features and here the results are in front of you…(Please let me know I you like it😥) Now tomorrow i will add more features"}, {"post_id": 68762, "ts": "2026-09-15T18:14:07Z", "hours": 5.0728, "text": "Sooo… Finally New Features Added To Vinland Saga OS the most dangerous part was literally JavaScript 😭 Added a Side bar for apps icon and add a image at the top of it to make it look badass. Add a Quick Notes App that took me two Daaays because to make it draggable, open and close using java script ( Its my fist time of using Java script 😭) Still Adding new Apps and features 😉 (oh and also added a custom knife cursor but you cant see it in the screenshot)"}, {"post_id": 67937, "ts": "2026-09-14T07:59:02Z", "hours": 2.8878, "text": "Oh Finally now its far better than before after searching hours i found a perfect background for my OS, and i also changed the background color and text color of the pannels to make it look much better and match the theme. The most difficult part was choosing the theme color that will look perfect with the background and ancient theme, currently its not haiving much features but soon it will look greate with useful features (Maybe😅) oh and i fogot to tell that i also make some windows movable anywhere on screen"}, {"post_id": 67291, "ts": "2026-09-13T11:20:26Z", "hours": 3.7989, "text": "A Gift For Anime Fans, Building a Vinland Saga Web-Based OS"}]...
|
Title: Vinland Saga OS by @AriDev24 | Stardance
D Title: Vinland Saga OS by @AriDev24 | Stardance
Devlogs:
A Gift For Anime Fans, Building a Vinland Saga Web-Based OS
Oh Finally now its far better than before after searching hours i found a perfect background for my OS, and i also changed the background color and text color of the pannels to make it look much better and match the theme. The most difficult part was choosing the theme color that will look perfect with the background and ancient theme, currently its not haiving much features but soon it will look greate with useful features (Maybe😅) oh and i fogot to tell that i also make some windows movable anywhere on screen
Sooo… Finally New Features Added To Vinland Saga OS the most dangerous part was literally JavaScript 😭 Added a Side bar for apps icon and add a image at the top of it to make it look badass. Add a Quick Notes App that took me two Daaays because to make it draggable, open and close using java script ( Its my fist time of using Java script 😭) Still Adding new Apps and features 😉 (oh and also added a custom knife cursor but you cant see it in the screenshot)
Late Night New Features Update to Vinland Saga OS Today before adding new feature i thought to modify theme colors because they were looking boring so first i change the color, and then i started to add more features to my OS but i dont have any new feature idea after searching and thinking here and there i thought to add a song and a gallery, so first i downloaded a Vinland Saga opening song and some images stolen from Pinterest 😅, and start building the features and here the results are in front of you…(Please let me know I you like it😥) Now tomorrow i will add more features
Finally Its Time To ship (Vinland Saga OS v0.5) Completed This Time i added many new features like opening and closing the windows/Apps, Actually my app are like widgets on screen, i also a pre loading screen, added more images to gallery and made a new beautiful clock widget. Now Its time for Just a final polish and Doneee…
(Vinland Saga OS v0.6) Final polish has been completed and now i am finally shipping it. In the final polish i added Vikings Norse symbols to the OS and added more images to the gallery. Finding and editing the Norse symbols to match the theme took me too much time. Soo tell if something can be improved. BTW I’m going to ship it…😄
(Vinland Saga OS v0.7) Added 4 new features. Today, in this, i added many new features to enhance the user experience, The first thing I added is to open the gallery image in full screen when clicked. The second and best feature i added is to save whatever you write in notes so that every time you open it you can see and intract with your saved notes. The third and the fun feature i added is a random quote generator. I converted my single quote card to this quote generator. The fourth feature i added is that when you open the OS, you have to open the gallery manually like an app. I did this only with Gallery because it did not feel good to me as a widget on the screen. Soo Thats It, Bye…
Ships:
Vinland Saga OS is a Web-Based OS inspired by my favourite anime, Vinland Saga. It’s a Japanese animated series. It’s my first-ever Hack Club project and a first-ever fully working website. I Know there are still many bugs but I tried my best and I will improve it more. To be honest, I learned so many new things with this project, especially JavaScript. I have never written JS myself before, but you made me use it on my own without AI, yea but i will be honest with you: there was a lil hidden bug in some 2 lines of JS, I tried my best to debug but at the end i asked copilot to tell me why this code is not working and it told me, the lines were swapped with each other, so then I debugged it.
(Vinland Saga OS v0.6) is a Web-Based OS inspired by my favourite anime, Vinland Saga. It’s a Japanese animated series. It’s my first-ever Hack Club project and a first-ever fully working website. I Know there are still many bugs but I tried my best and I will improve it more. To be honest, I learned so many new things with this project, especially JavaScript. I have never written JS myself before, but you made me use it on my own. This is my WebOS 2 so in this WebOS 2 version i added and improved many things : The first thing I added is to open the gallery image in full screen when clicked. The second and best feature i added is to save whatever you write in notes so that every time you open it you can see and intract with your saved notes. The third and the fun feature i added is a random quote generator. I converted my single quote card to this quote generator. The fourth feature i added is that when you open the OS, you have to open the gallery manually like an app. I did this only with Gallery because it did not feel good to me as a widget on the screen. Soo Thats It, Bye…...
|
1793004742.4805794
|
1793091142.4805794
|
|
20172
|
Rakon's portfolio site by @Rakon150 | Stardanc Rakon's portfolio site by @Rakon150 | Stardance...
|
Rakon150
|
2
|
16.0
|
48
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-07T15:52:40Z", "hours": 6.0, "multiplier": 6.23, "payout": 34, "blessing": "neutral", "text": "This is the second ship of my personal portfolio with button to popup animations working on desktop and mobile, projects page, status dot linked to uptime kuma api and a carbon background. Even though this project took more than it should I learned a lot and I am happy with how this project turned out. Main challanges for me were the animations and uptime kuma api.", "repo": "https://github.com/Rakon150/Homepage", "demo": "https://rakon.qzz.io"}, {"ship_num": 2, "ts": "2026-09-26T18:11:20Z", "hours": 10.0, "multiplier": 1.37, "payout": 14, "blessing": "neutral", "text": "Selfhosted portfolio website for my projects, links and about me. To open any info the button expands into a popup windows with all the text. The animation was probably the hardest thing on this entire project. Then on /projects there is a list of all my projects with links to github. There are still things to improve but this is a finalised version of my website.", "repo": "https://github.com/Rakon150/Homepage", "demo": "https://rakon.qzz.io"}]...
|
[{"post_id": 77591, "ts": "202 [{"post_id": 77591, "ts": "2026-10-07T15:47:47Z", "hours": 2.4567, "text": "Devlog #5 The mobile UI is now fully usable although it depends on what screen you have but most phones are all right. The project is ready for a v2 ship with the new status dot, fully working mobile UI and some other small changes Everything now finished on rakon.qzz.io"}, {"post_id": 76502, "ts": "2026-10-03T19:26:49Z", "hours": 3.075, "text": "Devlog #4 - time for edits for second ship So because some people said that adding a back button to the projects page would be good so I added it 100% revolutionary feature - status dot, all it does is react to my uptime kuma API and show the status of my services. This took me too long to get it working because of CORS of all things but that is all fixed"}, {"post_id": 74041, "ts": "2026-09-26T16:10:14Z", "hours": 2.3339, "text": "#Devlog #3 the project is finally ready to ship TO-DO make it more mobile friendly possibly rewrite in react (if I have spare time) DONE the entire website is done along side the projects page /projects now shows all my projects I have done everything is deployed on rakon.qzz.io selfhosted on my server"}, {"post_id": 73184, "ts": "2026-09-24T15:22:57Z", "hours": 5.0536, "text": "Devlog #2 TO-DO add the /projects page ideally make the projects easily “addable” so its faster possibly rewrite in react (if I have spare time) The stuff that is actually done there is actually stuff now a beautiful popup animation with a beautiful blur (definitely not biased)"}, {"post_id": 13024, "ts": "2026-06-21T09:25:27Z", "hours": 3.0919, "text": "The first Devlog actually started work on the portfolio now and its going well I have the main structure of the page but still WIP cause nothing works (for now) I got the site up and hosted on my server so anyone can find it on rakon.qzz.io The plan: add popups with the info for all the buttons I would like to test out making some sort of animation for the background if I find a way how to implement that so it would work well possibly try to rewrite the site in Tailwind/React make it presentable"}]...
|
Title: Rakon's portfolio site by @Rakon150 | S Title: Rakon's portfolio site by @Rakon150 | Stardance
Devlogs:
The first Devlog actually started work on the portfolio now and its going well I have the main structure of the page but still WIP cause nothing works (for now) I got the site up and hosted on my server so anyone can find it on rakon.qzz.io The plan: add popups with the info for all the buttons I would like to test out making some sort of animation for the background if I find a way how to implement that so it would work well possibly try to rewrite the site in Tailwind/React make it presentable
Devlog #2 TO-DO add the /projects page ideally make the projects easily “addable” so its faster possibly rewrite in react (if I have spare time) The stuff that is actually done there is actually stuff now a beautiful popup animation with a beautiful blur (definitely not biased)
#Devlog #3 the project is finally ready to ship TO-DO make it more mobile friendly possibly rewrite in react (if I have spare time) DONE the entire website is done along side the projects page /projects now shows all my projects I have done everything is deployed on rakon.qzz.io selfhosted on my server
Devlog #4 - time for edits for second ship So because some people said that adding a back button to the projects page would be good so I added it 100% revolutionary feature - status dot, all it does is react to my uptime kuma API and show the status of my services. This took me too long to get it working because of CORS of all things but that is all fixed
Devlog #5 The mobile UI is now fully usable although it depends on what screen you have but most phones are all right. The project is ready for a v2 ship with the new status dot, fully working mobile UI and some other small changes Everything now finished on rakon.qzz.io
Ships:
Selfhosted portfolio website for my projects, links and about me. To open any info the button expands into a popup windows with all the text. The animation was probably the hardest thing on this entire project. Then on /projects there is a list of all my projects with links to github. There are still things to improve but this is a finalised version of my website.
This is the second ship of my personal portfolio with button to popup animations working on desktop and mobile, projects page, status dot linked to uptime kuma api and a carbon background. Even though this project took more than it should I learned a lot and I am happy with how this project turned out. Main challanges for me were the animations and uptime kuma api....
|
1793004741.2823746
|
1793091141.2823746
|
|
28680
|
Copy-Paste-Pad by @kallioderso | Stardance
|
kallioderso
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-27T19:25:51Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hey there i created the Copy-Paste-Pad, a macropad able provide up to six clipboards at the same time. So 6x more than normaly possible under windows. For this you have a so called copy mode (left down button) and a paste mofe (right down button) after activating the specific mode each click at the remaining keys triggers an specific copy or paste event for the pressed key slot. This happenes in a laptop sided software, reacting on hid signals from the device to trigger strg + c or strg + p to copy something and than store it in one of the 6 Storage variables. Creating this laptop sided software was really challanging in comparison to the firmware for the macropad itself due to how hid events work and to copy something without loosing the original clipboard context. I really hope you all like this project as much as i do. I am really proud of the geberal design and look of everything", "repo": "https://github.com/kallioderso/Copy-Paste-Pad", "demo": ""}]...
|
[{"post_id": 74608, "ts": "202 [{"post_id": 74608, "ts": "2026-09-27T19:20:08Z", "hours": 0.5119, "text": "Finally finished everything and now ready for ship (had to fix the CAD files another time xD)"}, {"post_id": 74516, "ts": "2026-09-27T15:27:13Z", "hours": 2.7533, "text": "In this Build-devlog did i assembly everything (while destroying 2 of the 5 platines) and compiling everything. As well did i fix my CAD files, so that everything is now fine"}, {"post_id": 48075, "ts": "2026-08-16T11:18:09Z", "hours": 2.0358, "text": "Long time since i uploaded the last devlog. one thing i forgot to upload was these changes which includes a lot of code reworking and commenting everthing to make it more understandable. in the future i will create custom applications with UI using .net Maui. at least if i got enough time remaining :)"}, {"post_id": 22912, "ts": "2026-07-05T15:32:29Z", "hours": 0.4372, "text": "i finally fixed everything. because inside the last devlog did i commpletly forgot to update the Readme file and therefore every important piece of information towards the firmware xD. but i fixed it :) and as well added the .dxf files needed for CNC machining, in case someone would like to CNC machine his copy of my creation. (i did it as well)"}, {"post_id": 22893, "ts": "2026-07-05T15:05:29Z", "hours": 1.7742, "text": "with this devlog, i finally finished the entire firmware for the first ship of the Copy-Paste-Pad and all of its functions. unfortunatly is it so, that it took very long to compile the qmk, which is the reason why i as well included it inside github. so that others dont have to life trough the same struggle xD. apart from that, did i comment every single file and as well understood the things i wrote with the help of ai, so that i could rewritte and improve it inside the next ship or better sayed until the next ship. i tried as well to documentate everything as good as possible, so that it would be easy to understand and use. up to this point i as well made some little but nice improvements towards the casing and the pcb, as i accidently put the oled towards the 5V and a bunch of other small mistakes as well :P"}, {"post_id": 22822, "ts": "2026-07-05T12:47:21Z", "hours": 1.4356, "text": "I created the whole firmware, but sadly did i had to use ai for most of the .exe firmware part, there to solve the copying and pasting inside the computere, as it had to do with complicated librarys. But dont worry, before shipping will i fix the code and rewritte it, so that the ai aspect almost gets missing, just wanted a prove of concept. As well did i create a wood casing inside my stephfathers cnc mashine as i loved the idea of letting the Copy-Paste-Pad appear premium with wood, glas and so on."}, {"post_id": 22033, "ts": "2026-07-04T09:03:11Z", "hours": 2.4039, "text": "I Tryed my best to create the firmware, but i struggle so much : P"}, {"post_id": 20691, "ts": "2026-07-02T11:02:40Z", "hours": 0.8958, "text": "Creating the Github Repo (forgot to record all of it, like 45min) and polished the casing"}, {"post_id": 19275, "ts": "2026-06-30T15:27:02Z", "hours": 0.65, "text": "Created the entire Casing for the Copy-Paste-Board"}, {"post_id": 19238, "ts": "2026-06-30T14:32:57Z", "hours": 1.2906, "text": "Finalized the PCB and Schematic"}]...
|
Title: Copy-Paste-Pad by @kallioderso | Stardance
Title: Copy-Paste-Pad by @kallioderso | Stardance
Devlogs:
Finalized the PCB and Schematic
Created the entire Casing for the Copy-Paste-Board
Creating the Github Repo (forgot to record all of it, like 45min) and polished the casing
I Tryed my best to create the firmware, but i struggle so much : P
I created the whole firmware, but sadly did i had to use ai for most of the .exe firmware part, there to solve the copying and pasting inside the computere, as it had to do with complicated librarys. But dont worry, before shipping will i fix the code and rewritte it, so that the ai aspect almost gets missing, just wanted a prove of concept. As well did i create a wood casing inside my stephfathers cnc mashine as i loved the idea of letting the Copy-Paste-Pad appear premium with wood, glas and so on.
with this devlog, i finally finished the entire firmware for the first ship of the Copy-Paste-Pad and all of its functions. unfortunatly is it so, that it took very long to compile the qmk, which is the reason why i as well included it inside github. so that others dont have to life trough the same struggle xD. apart from that, did i comment every single file and as well understood the things i wrote with the help of ai, so that i could rewritte and improve it inside the next ship or better sayed until the next ship. i tried as well to documentate everything as good as possible, so that it would be easy to understand and use. up to this point i as well made some little but nice improvements towards the casing and the pcb, as i accidently put the oled towards the 5V and a bunch of other small mistakes as well :P
i finally fixed everything. because inside the last devlog did i commpletly forgot to update the Readme file and therefore every important piece of information towards the firmware xD. but i fixed it :) and as well added the .dxf files needed for CNC machining, in case someone would like to CNC machine his copy of my creation. (i did it as well)
Long time since i uploaded the last devlog. one thing i forgot to upload was these changes which includes a lot of code reworking and commenting everthing to make it more understandable. in the future i will create custom applications with UI using .net Maui. at least if i got enough time remaining :)
In this Build-devlog did i assembly everything (while destroying 2 of the 5 platines) and compiling everything. As well did i fix my CAD files, so that everything is now fine
Finally finished everything and now ready for ship (had to fix the CAD files another time xD)
Ships:
Hey there i created the Copy-Paste-Pad, a macropad able provide up to six clipboards at the same time. So 6x more than normaly possible under windows. For this you have a so called copy mode (left down button) and a paste mofe (right down button) after activating the specific mode each click at the remaining keys triggers an specific copy or paste event for the pressed key slot. This happenes in a laptop sided software, reacting on hid signals from the device to trigger strg + c or strg + p to copy something and than store it in one of the 6 Storage variables. Creating this laptop sided software was really challanging in comparison to the firmware for the macropad itself due to how hid events work and to copy something without loosing the original clipboard context. I really hope you all like this project as much as i do. I am really proud of the geberal design and look of everything...
|
1793004740.0434165
|
1793091140.0434165
|
|
4994
|
Tamagochi pet by @S0l4Ce | Stardance
|
S0l4Ce
|
1
|
52.03
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-20T05:08:22Z", "hours": 45.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a tamagotchi pet (i am aware that throughout the project, the spelling of it has been inconsistent) But anyway, what i found most challenging was having to look through the loop constantly making adjustments based off minor errors during each test run and incorrect wiring making me feel like i had the code wrong. I am proud that I learned surprisingly a lot. The screenshot is merely just part of it and you should check it out yourself! both the source for the software and hardware is in there. The latest software build is in a separate branch and you may need to scope around for the latest hardware build. PLEASE note that all of the hardware additions - if you truly want to build it yourself, is pushing the limits of the esp32 so please run it while using a powerful cable.", "repo": "https://github.com/mootonlee/tamagotchi-", "demo": ""}]...
|
[{"post_id": 81143, "ts": "202 [{"post_id": 81143, "ts": "2026-10-20T02:14:13Z", "hours": 1.0578, "text": "spent this hour troubleshooting and figuring out how to add wires. was super unsucessful and wasted my time. im pretty annoyed"}, {"post_id": 80851, "ts": "2026-10-19T00:50:55Z", "hours": 2.3, "text": "Finished adding modules like the LEDs, resistors, etc. All i need now is the wiring which i heard is tedious"}, {"post_id": 80585, "ts": "2026-10-18T07:04:57Z", "hours": 1.4167, "text": "Im very proud of my work! i finished up the screen, fixed misalignments, ensured precision, and in the end, everything fit perfectly!"}, {"post_id": 80513, "ts": "2026-10-17T22:48:45Z", "hours": 2.26, "text": "got mad countless times. Im doing my CAD for my project because youll now get permanently rejected if you miss it and i never knew. Im making the screen myself because i cant find it online. Below is a picture of how its assembled so far, and i would post the part im making right now but this just looks better. Also, does the CAD have to be fully accurate? ive never done a CAD before so parts i make myself may look off but ill try my best to make the measurements right."}, {"post_id": 70980, "ts": "2026-09-20T04:48:45Z", "hours": 6.0014, "text": "finally finished the 2nd personality. will be shipping my project. only thing left to do is fix bugs (i already scanned software and hardware for bugs. though the code seems somewhat contradictory to itself, it still works but please report bugs under this one’s comment and check out my submission and the demo video!"}, {"post_id": 63407, "ts": "2026-09-07T07:10:06Z", "hours": 1.4625, "text": "im starting work on the radiobuttons for interchangable personality to wrap up the project. im using placeholders so the face looks red if the radiobuttons are selected so it would look unpleasant to see but yeah"}, {"post_id": 59986, "ts": "2026-09-02T02:11:14Z", "hours": 2.4203, "text": "Got back on track, finally! It now gets visibly dim below 50 value on light, and dark below 25, along with squint and sleep. Im now going to begin working on the other expressions after I finish adding the dim to smile and alone faces. This thing is ending soon so idk if i will be able to add the computer control functions as promised :( I also switched to cachyos so Idk how that would go either. Check out the hardware version on my page though! its finished"}, {"post_id": 52633, "ts": "2026-08-22T21:16:19Z", "hours": 0.5211, "text": "My windows OS broke, not sure how, so im running on my second SSD and my most recent work has been erased! (software version) random thumbnail ig but im gonna be re-doing whatever has been erased.."}, {"post_id": 41108, "ts": "2026-08-05T03:07:48Z", "hours": 3.4297, "text": "finally added a sleep system, dimming system, and a fully fixed and functional lonely system. when lights are at or below 50, the lights will go dim, and below 25, they will go even dimmer, and it will sleep (software) I will the face variants next, and then actual interactive computer controls. shy and moody are still not ready yet"}, {"post_id": 34593, "ts": "2026-07-25T13:29:57Z", "hours": 2.5967, "text": "added lonely, smile, and neutral, also added placeholders for the soon to be added personalities and a brightness slider. Both are unfunctional and i only have the 3 faces for now. go check out my hardware version, its fully functional"}, {"post_id": 32247, "ts": "2026-07-21T09:09:49Z", "hours": 1.2072, "text": "working on a software version of my project 🔥 I main micropython but I’m adjusting to python for this and learning the different ways things are written, and figuring out how to make faces. Can anyone tell me if theres a designer that gives you the code when you draw something on a canvas? similar to lopaka?? The software version is projected to have more features for computer control than the hardware version. After finishing the faces and overall logic, I will add the additional side controls for it, like light and stuff"}, {"post_id": 32144, "ts": "2026-07-21T03:23:42Z", "hours": 9.8794, "text": "built an extension for the pet. It connects to the pet using gnd and 4 labeled gpio pins, though the 4th one connects to 0 and not 40. It works somewhat like a stream deck; It opens 2 games, 2 code editors, a browser, and shuts off or closes tabs on my computer without needing special permissions, it is built for windows though. Most of the hours logged came from trial and error. Most of the time the buttons wouldnt register, spam the same commands, double clicks wouldnt register, and it was a mess for hours. did some bugfixes involving screen bugs during personality swaps, and the pet “forgetting” its personality. please suggest additional ideas."}, {"post_id": 30476, "ts": "2026-07-18T02:37:34Z", "hours": 1.7375, "text": "Rewired to remove clutter. Back isn’t looking too good but the front is, when I run out of ideas ill probably build a shell for it please make recommendations"}, {"post_id": 30124, "ts": "2026-07-17T13:22:42Z", "hours": 2.4481, "text": "Added another personality, shy. added “cores” that determine the personality when plugged in, red for moody and blue for shy. unplug for normal. The shy personality features new unique faces. led colors and shaken face remain same"}, {"post_id": 29977, "ts": "2026-07-17T06:07:54Z", "hours": 1.6644, "text": "Ignore devlog: Tried making online demo but i pressed a button and all my tabs refreshed all at once and reset my work. Im publishing the devlog because i still did the work and i dont want it to go to waste (IGNORE THIS DEVLOG)"}, {"post_id": 29812, "ts": "2026-07-16T23:08:57Z", "hours": 3.2333, "text": "Added extra personality. If you plug a red LED in, it will get a more of a moody personality. It will look angry, sleep angry, and will usually just be angry (shaken face does not change.) unplugging the red LED will make it instantly revert to default personality let me know other interchangeable personalities I should add, or other software and hardware suggestions. Thanks."}, {"post_id": 28868, "ts": "2026-07-15T13:02:50Z", "hours": 2.6472, "text": "Added a gyroscope so the pet can become dizzy when shook. It features a red backlight, and remains dizzy for about 5 seconds. It was really a 20-30 minute setup after learning how to code and use one, and installing the libraries, but that extra addition turned into hours of additional troubleshooting since I was unfamiliar with the hardware. I eventually got it working after plenty of trial and error, and the real issue was just a couple lines of code. I’m unfortunately not getting much views, which is discouraging, but if you do come across this and decide to click on it, please suggest something in the comments. Thanks."}, {"post_id": 28151, "ts": "2026-07-14T08:19:06Z", "hours": 0.6217, "text": "Added status lights; finishing off full basic functionality for the pet. any additional features would be improvements, hardware additions, and wiring. full explanation of functions below: The “pet” is a TFT resistive touchscreen. Its face, as you can see, is a simple white and black pixelated look. 4 functions (for now): lonely - after 30 seconds of no interaction, after waking up or not being pet, it will become lonely, which is a sad face of course. The backlight glows a gloomy blue, slightly purple. neutral - base face, the pet is neutral when it isn’t lonely, had just woken up, and had recently been pet. the 3 other moods can occur when it is neutral. the backlight is white. sleeping - when the ambient light is low enough the pet will sleep. It cannot be disturbed and cannot become lonely until woken up. This is what i personally thought was a nice addition to the pet and would bring more realism and life to the pet. This is done by having a photocell near the face for most light accuracy. the backlight features a light purple blue. happy - when you pet it (or interact with the screen), it will smile. the blush being blue and not red was both intentional and unintentional feature. The color system is inverted same with the screen rotation. I did not know how to correct it but i felt the blue looked different and I kinda liked it so I didn’t spend extra time troubleshooting. the backlight features a bright hot pink color. PLEASE add any suggestions and I will likely consider, like adding a thermistor, weather, USB OTG, etc. When i feel like it, I may add a USB mode where it can do things on my computer when plugged in, like opening an app or powering off my computer. (the 35 minutes logged was for fixing the code and adding the lights. Not the full code itself.)"}, {"post_id": 27970, "ts": "2026-07-13T22:34:39Z", "hours": 3.7561, "text": "added functionality to the pet and added made a separate smaller one. It now has multiple moods with the ability to sleep when lights are dimmed enough."}, {"post_id": 16541, "ts": "2026-06-26T22:02:40Z", "hours": 1.0939, "text": "working on the wiring of the tomogachi pet n stuff no coding yet has a touchscreen now"}]...
|
Title: Tamagochi pet by @S0l4Ce | Stardance
Devlo Title: Tamagochi pet by @S0l4Ce | Stardance
Devlogs:
working on the wiring of the tomogachi pet n stuff no coding yet has a touchscreen now
added functionality to the pet and added made a separate smaller one. It now has multiple moods with the ability to sleep when lights are dimmed enough.
Added status lights; finishing off full basic functionality for the pet. any additional features would be improvements, hardware additions, and wiring. full explanation of functions below: The “pet” is a TFT resistive touchscreen. Its face, as you can see, is a simple white and black pixelated look. 4 functions (for now): lonely - after 30 seconds of no interaction, after waking up or not being pet, it will become lonely, which is a sad face of course. The backlight glows a gloomy blue, slightly purple. neutral - base face, the pet is neutral when it isn’t lonely, had just woken up, and had recently been pet. the 3 other moods can occur when it is neutral. the backlight is white. sleeping - when the ambient light is low enough the pet will sleep. It cannot be disturbed and cannot become lonely until woken up. This is what i personally thought was a nice addition to the pet and would bring more realism and life to the pet. This is done by having a photocell near the face for most light accuracy. the backlight features a light purple blue. happy - when you pet it (or interact with the screen), it will smile. the blush being blue and not red was both intentional and unintentional feature. The color system is inverted same with the screen rotation. I did not know how to correct it but i felt the blue looked different and I kinda liked it so I didn’t spend extra time troubleshooting. the backlight features a bright hot pink color. PLEASE add any suggestions and I will likely consider, like adding a thermistor, weather, USB OTG, etc. When i feel like it, I may add a USB mode where it can do things on my computer when plugged in, like opening an app or powering off my computer. (the 35 minutes logged was for fixing the code and adding the lights. Not the full code itself.)
Added a gyroscope so the pet can become dizzy when shook. It features a red backlight, and remains dizzy for about 5 seconds. It was really a 20-30 minute setup after learning how to code and use one, and installing the libraries, but that extra addition turned into hours of additional troubleshooting since I was unfamiliar with the hardware. I eventually got it working after plenty of trial and error, and the real issue was just a couple lines of code. I’m unfortunately not getting much views, which is discouraging, but if you do come across this and decide to click on it, please suggest something in the comments. Thanks.
Added extra personality. If you plug a red LED in, it will get a more of a moody personality. It will look angry, sleep angry, and will usually just be angry (shaken face does not change.) unplugging the red LED will make it instantly revert to default personality let me know other interchangeable personalities I should add, or other software and hardware suggestions. Thanks.
Ignore devlog: Tried making online demo but i pressed a button and all my tabs refreshed all at once and reset my work. Im publishing the devlog because i still did the work and i dont want it to go to waste (IGNORE THIS DEVLOG)
Added another personality, shy. added “cores” that determine the personality when plugged in, red for moody and blue for shy. unplug for normal. The shy personality features new unique faces. led colors and shaken face remain same
Rewired to remove clutter. Back isn’t looking too good but the front is, when I run out of ideas ill probably build a shell for it please make recommendations
built an extension for the pet. It connects to the pet using gnd and 4 labeled gpio pins, though the 4th one connects to 0 and not 40. It works somewhat like a stream deck; It opens 2 games, 2 code editors, a browser, and shuts off or closes tabs on my computer without needing special permissions, it is built for windows though. Most of the hours logged came from trial and error. Most of the time the buttons wouldnt register, spam the same commands, double clicks wouldnt register, and it was a mess for hours. did some bugfixes involving screen bugs during personality swaps, and the pet “forgetting” its personality. please suggest additional ideas.
working on a software version of my project 🔥 I main micropython but I’m adjusting to python for this and learning the different ways things are written, and figuring out how to make faces. Can anyone tell me if theres a designer that gives you the code when you draw something on a canvas? similar to lopaka?? The software version is projected to have more features for computer control than the hardware version. After finishing the faces and overall logic, I will add the additional side controls for it, like light and stuff
added lonely, smile, and neutral, also added placeholders for the soon to be added personalities and a brightness slider. Both are unfunctional and i only have the 3 faces for now. go check out my hardware version, its fully functional
finally added a sleep system, dimming system, and a fully fixed and functional lonely system. when lights are at or below 50, the lights will go dim, and below 25, they will go even dimmer, and it will sleep (software) I will the face variants next, and then actual interactive computer controls. shy and moody are still not ready yet
My windows OS broke, not sure how, so im running on my second SSD and my most recent work has been erased! (software version) random thumbnail ig but im gonna be re-doing whatever has been erased..
Got back on track, finally! It now gets visibly dim below 50 value on light, and dark below 25, along with squint and sleep. Im now going to begin working on the other expressions after I finish adding the dim to smile and alone faces. This thing is ending soon so idk if i will be able to add the computer control functions as promised :( I also switched to cachyos so Idk how that would go either. Check out the hardware version on my page though! its finished
im starting work on the radiobuttons for interchangable personality to wrap up the project. im using placeholders so the face looks red if the radiobuttons are selected so it would look unpleasant to see but yeah
finally finished the 2nd personality. will be shipping my project. only thing left to do is fix bugs (i already scanned software and hardware for bugs. though the code seems somewhat contradictory to itself, it still works but please report bugs under this one’s comment and check out my submission and the demo video!
got mad countless times. Im doing my CAD for my project because youll now get permanently rejected if you miss it and i never knew. Im making the screen myself because i cant find it online. Below is a picture of how its assembled so far, and i would post the part im making right now but this just looks better. Also, does the CAD have to be fully accurate? ive never done a CAD before so parts i make myself may look off but ill try my best to make the measurements right.
Im very proud of my work! i finished up the screen, fixed misalignments, ensured precision, and in the end, everything fit perfectly!
Finished adding modules like the LEDs, resistors, etc. All i need now is the wiring which i heard is tedious
spent this hour troubleshooting and figuring out how to add wires. was super unsucessful and wasted my time. im pretty annoyed
Ships:
I made a tamagotchi pet (i am aware that throughout the project, the spelling of it has been inconsistent) But anyway, what i found most challenging was having to look through the loop constantly making adjustments based off minor errors during each test run and incorrect wiring making me feel like i had the code wrong. I am proud that I learned surprisingly a lot. The screenshot is merely just part of it and you should check it out yourself! both the source for the software and hardware is in there. The latest software build is in a separate branch and you may need to scope around for the latest hardware build. PLEASE note that all of the hardware additions - if you truly want to build it yourself, is pushing the limits of the esp32 so please run it while using a powerful cable....
|
1793004735.0102348
|
1793091135.0102348
|
|
45273
|
Pirate game by @Martisos | Stardance
|
Martisos
|
1
|
32.3
|
437
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T16:06:09Z", "hours": 32.0, "multiplier": 13.56, "payout": 437, "blessing": "neutral", "text": "I made a survival, Vampire Survivors-like game! You control a ship that automatically shoots. I had so much fun creating this project—it’s only the second game I’ve ever created on a ‘professional’ level. For the art style, I wanted to try something interesting… imagine a kid drawing this game in their school notebook. I used just two main colors, and I hope the concept comes across clearly. I’m super proud of how it turned down, and I hope everyone has as much fun playing it as I did making it!", "repo": "https://github.com/Martisos/Pirate-rogue-like", "demo": "https://martisos.itch.io/piratink"}]...
|
[{"post_id": 71823, "ts": "202 [{"post_id": 71823, "ts": "2026-09-21T16:46:27Z", "hours": 0.3, "text": "Quick README UPDATE I rewrote the readme, so it’s more fitting to the resources -> “Writing a README that doesn’t suck”… Also added some screenshots to readme."}, {"post_id": 71797, "ts": "2026-09-21T15:58:23Z", "hours": 3.7986, "text": "I’M DONE The game is out! I named it PiratINK like I said in previous devlog. I added some stuff, here it is: Exp Loot So now there are 3 random sprites for exp. No more yellow rectangle! It’s random, also random scale and rotation so every loot looks unique. Cleaned project files and code There were a lot of trash files. I stored there every animation frame, even though i had spritesheet ready. Also code comments and prints. Cross Update No more green dot. Now I use special icon with shader! I think it looks good enough. README There is not much there, but small description, instructions and links are inside. IM SO EXCITED 30 hours is so much for me, I thought I will be working on this for 10? maybe 15 hours… That took a lot more time, but still I think i made really good job in quite small amount of time. Yesterday I was so excited i didn’t record 2 sprites I draw… Ooops. I made resprite for rare card and cross icon… I had so much fun… and sometimes hard time, but overall it was fantastic. Check out the game <3"}, {"post_id": 70823, "ts": "2026-09-19T20:33:26Z", "hours": 7.2333, "text": "(Probably) FINAL DEVLOG A lot happened, like always. There was a lot of work but I’m almost ready with the project. Here I come with 7 hours of coding and drawing assets. Major things that changed: THE NAME I think about… PiratINK….. Yup y’know. Pirating and INK. Something like that. Main Menu As you can see in the video there are small animations in it. The waves show in music beat (but for some reason OBS wasn’t recording the intro of music?), then Ship arrives. It floats on the water, synched with waves moving. I think it looks awesome :D Sounds There is music now in my game! I used sonatina - infinity-crystal (its on itch). I love how it sounds. This RPG music is doing well in my project and you can feel the battle on the sea. Large Enemy Last enemy i had to draw. I think it looks good enought. At first I wasn’t so sure about it, but now i think it’s okay. Cannonballs Now there are 6 unique sprites. Also size is random and rotation of each ball, so every feel unique. And more… A LOT of bug fixes, game feel etc etc. I hope you will like the game! I’m so close to release and I’m really really excited! Have a great day!"}, {"post_id": 67346, "ts": "2026-09-13T12:49:54Z", "hours": 5.8914, "text": "Another Updates! As always, i made a lot of changes, so I will summarise most of the major ones! Upgrade Cards got major update! Upgrade Cards Scene I’m now using a different scene for selecting upgrades. You can see 5 different card borders (dont look at the rare one, it was a placeholder and it looks terrible, so I will change it in the near future) Debuffs It now works perfectly fine! Last time enemies could run away from you instead of slowing down. Other really weird things kept happening… But now everything is under control 25 Unique Upgrade Cards I have 8 categories of upgrades, but you can get them in different rarities, so you can get a lot of power ups and debuffs to use on enemies! Main Menu Main menu has two sliding buttons, it will look cool when i’ll draw a big ship so the menu isn’t that empty. Options You can disable: camera shake, water; And you can enable player stats (i don’t think it will have any special styling, just plain text for nerds idk :D) Medium Enemy Added As always -> 3 frames for an enemy sprite. I wonder if the player should be able to upgrade their ship to this one… Maybe in some super-giga-epicly-legendary-1% upgrade. Cannonball Update Cannonball Range It’s not that big, but not only the ball disappears when it exit your screen, but also after +-3seconds. I had to make a small animation for it, because if you have a really big camera zoom you could see it just popping up in the middle of nothing. Particles It’s small a thing but i think it feels better now with it implemented That’s not all I made a lot in those 6h, but school started and sometimes i had to just write code for 5 minutes to get the streak… So I kinda don’t really remember the mini stuff i did lol. But it’s there! See ya on the sea or something <3"}, {"post_id": 61051, "ts": "2026-09-03T19:21:40Z", "hours": 4.2042, "text": "Pirate Game Updates! I (again) made a lot of stuff. The school started so… Nothing will change (i hope) and I will still be able to work on my small game :DDD. Major things are: Enemy Debuffs You can now draw upgrades cards that change enemy stats! I’m using global scripts to do that, I think the idea is cool and you will be able to combo it quite easily with player’s upgrades Mini Enemy I made two things for this enemy: Middle Cannon 3 frame sprite Middle cannon works differently from Left/Right cannon -> enemy DOES NOT rotate before shooting at you. I think now it looks more realistic? idk Sprite is kinda cool. I like the oars animation… It’s silly but i like it Upgrades Menu In Level Up Menu you can now see your upgrades! The style is only temporary (i know it looks awful but i will change it! Promise!). I had troubles making this one because menu in godot is just pain… Much more small details! I did a lot, even small changed matter to me so i’m happy i improved some other, smaller things"}, {"post_id": 57707, "ts": "2026-08-29T23:09:36Z", "hours": 2.0503, "text": "General Update I’ve added a lot of things! Most of them are really small changes that had to be done to upgrade the experience. Mainly: Upgrade Cards Rarities Now you have chance to get a card based on its rarity! # 0 - common; 1 - rare, 2 - epic, 3 - legendary const RARITY_WEIGHTS = { 0 : 40.0 , 1 : 30.0 , 2 : 20.0 , 3 : 10.0 } So it randomly chooses what cards are left and shuffles them! Player UI I mean it’s only two bars but they work perfectly fine. They have small animations and are connected to the player. Player now collects exp with magnet area Player has an area where you can collect the exp and it will go straight to you! It’s a small circle and if you catch exp in it, the exp will go into your ship I have ‘TODO’ list There are over 20 things i have to do… I know this devlog looks crappy, like i didn’t do that much but trust there are A LOT of small changes. I hope you like it!"}, {"post_id": 54117, "ts": "2026-08-24T22:48:57Z", "hours": 2.1286, "text": "Pirate Game - Testing & Updating I have much work to do… So i started with probably the major update in this devlog: Enemy pathfinding. It was simple at the beginning: Enemy just moved directly at you, and as you can imagine it wasn’t perfect. So I added Pathfinder (NavigatonAgent2D). Now enemies make space for each others… It still looks goofy and if there’s too many they just bump each other and still kill others… I have to manually change some properties and it will work more efficient (TRUST ME (maybe)) Some icons and cannonball I drew icons for almost all upgrades and, as you could see in the video, for the cannonball. Someone suggested that player’s and enemies bullets should be different -> yup, i agree i will probably add some shading/light on yours (like in isaac or something). Cannonball sprite looks a bit static so i wanna draw like 5 of those and change it mid-air. (IM NOT AN ARTIST SO PLEASE DON’T EXPECT ANYTHING CRAZY). Testing I did a lot of tests and minor changes, so i know what i should work on!"}, {"post_id": 52678, "ts": "2026-08-22T23:00:02Z", "hours": 2.4783, "text": "Pirate Game - Textures and Upgrade Cards I added 10+ upgrade cards (mostly for testing). You can see the stats in top-left corner. I really like the ship texture. Even if it’s simple, I think the 3 frame animation looks really good. I also added a shader for the water (also i made the water texture) but something isn’t quite right… I’ll be changing it later! I had to change water’s brightness… Even though i wanted the game to be only 2 colors, I think that’s impossible because you can’t see shi…p. It messes up with the player and i think darker version isn’t that bad (i think)."}, {"post_id": 51906, "ts": "2026-08-21T20:16:41Z", "hours": 1.3744, "text": "Pirate Rogue Like Game (late 2 day) I added upgrade cards system, so you can choose 3 (i made only 2, so there are no 3 on screen…) and then the stats will apply to the player! Next, I will make a lot of those cards and probably start drawing, because those color rects and godot icons don’t fit at all. That’s all for today, have a marvelous day (or night)"}, {"post_id": 51844, "ts": "2026-08-21T18:24:59Z", "hours": 3.0642, "text": "Pirate Rogue Like Game (day1+2) So i made basic systems: movement (click to move), enemies spawning and shooting. There are no textures yet but i want to try with some ink/paper design so it will look like a child is playing in his notebook or something."}]...
|
Title: Pirate game by @Martisos | Stardance
Devlo Title: Pirate game by @Martisos | Stardance
Devlogs:
Pirate Rogue Like Game (day1+2) So i made basic systems: movement (click to move), enemies spawning and shooting. There are no textures yet but i want to try with some ink/paper design so it will look like a child is playing in his notebook or something.
Pirate Rogue Like Game (late 2 day) I added upgrade cards system, so you can choose 3 (i made only 2, so there are no 3 on screen…) and then the stats will apply to the player! Next, I will make a lot of those cards and probably start drawing, because those color rects and godot icons don’t fit at all. That’s all for today, have a marvelous day (or night)
Pirate Game - Textures and Upgrade Cards I added 10+ upgrade cards (mostly for testing). You can see the stats in top-left corner. I really like the ship texture. Even if it’s simple, I think the 3 frame animation looks really good. I also added a shader for the water (also i made the water texture) but something isn’t quite right… I’ll be changing it later! I had to change water’s brightness… Even though i wanted the game to be only 2 colors, I think that’s impossible because you can’t see shi…p. It messes up with the player and i think darker version isn’t that bad (i think).
Pirate Game - Testing & Updating I have much work to do… So i started with probably the major update in this devlog: Enemy pathfinding. It was simple at the beginning: Enemy just moved directly at you, and as you can imagine it wasn’t perfect. So I added Pathfinder (NavigatonAgent2D). Now enemies make space for each others… It still looks goofy and if there’s too many they just bump each other and still kill others… I have to manually change some properties and it will work more efficient (TRUST ME (maybe)) Some icons and cannonball I drew icons for almost all upgrades and, as you could see in the video, for the cannonball. Someone suggested that player’s and enemies bullets should be different -> yup, i agree i will probably add some shading/light on yours (like in isaac or something). Cannonball sprite looks a bit static so i wanna draw like 5 of those and change it mid-air. (IM NOT AN ARTIST SO PLEASE DON’T EXPECT ANYTHING CRAZY). Testing I did a lot of tests and minor changes, so i know what i should work on!
General Update I’ve added a lot of things! Most of them are really small changes that had to be done to upgrade the experience. Mainly: Upgrade Cards Rarities Now you have chance to get a card based on its rarity! # 0 - common; 1 - rare, 2 - epic, 3 - legendary const RARITY_WEIGHTS = { 0 : 40.0 , 1 : 30.0 , 2 : 20.0 , 3 : 10.0 } So it randomly chooses what cards are left and shuffles them! Player UI I mean it’s only two bars but they work perfectly fine. They have small animations and are connected to the player. Player now collects exp with magnet area Player has an area where you can collect the exp and it will go straight to you! It’s a small circle and if you catch exp in it, the exp will go into your ship I have ‘TODO’ list There are over 20 things i have to do… I know this devlog looks crappy, like i didn’t do that much but trust there are A LOT of small changes. I hope you like it!
Pirate Game Updates! I (again) made a lot of stuff. The school started so… Nothing will change (i hope) and I will still be able to work on my small game :DDD. Major things are: Enemy Debuffs You can now draw upgrades cards that change enemy stats! I’m using global scripts to do that, I think the idea is cool and you will be able to combo it quite easily with player’s upgrades Mini Enemy I made two things for this enemy: Middle Cannon 3 frame sprite Middle cannon works differently from Left/Right cannon -> enemy DOES NOT rotate before shooting at you. I think now it looks more realistic? idk Sprite is kinda cool. I like the oars animation… It’s silly but i like it Upgrades Menu In Level Up Menu you can now see your upgrades! The style is only temporary (i know it looks awful but i will change it! Promise!). I had troubles making this one because menu in godot is just pain… Much more small details! I did a lot, even small changed matter to me so i’m happy i improved some other, smaller things
Another Updates! As always, i made a lot of changes, so I will summarise most of the major ones! Upgrade Cards got major update! Upgrade Cards Scene I’m now using a different scene for selecting upgrades. You can see 5 different card borders (dont look at the rare one, it was a placeholder and it looks terrible, so I will change it in the near future) Debuffs It now works perfectly fine! Last time enemies could run away from you instead of slowing down. Other really weird things kept happening… But now everything is under control 25 Unique Upgrade Cards I have 8 categories of upgrades, but you can get them in different rarities, so you can get a lot of power ups and debuffs to use on enemies! Main Menu Main menu has two sliding buttons, it will look cool when i’ll draw a big ship so the menu isn’t that empty. Options You can disable: camera shake, water; And you can enable player stats (i don’t think it will have any special styling, just plain text for nerds idk :D) Medium Enemy Added As always -> 3 frames for an enemy sprite. I wonder if the player should be able to upgrade their ship to this one… Maybe in some super-giga-epicly-legendary-1% upgrade. Cannonball Update Cannonball Range It’s not that big, but not only the ball disappears when it exit your screen, but also after +-3seconds. I had to make a small animation for it, because if you have a really big camera zoom you could see it just popping up in the middle of nothing. Particles It’s small a thing but i think it feels better now with it implemented That’s not all I made a lot in those 6h, but school started and sometimes i had to just write code for 5 minutes to get the streak… So I kinda don’t really remember the mini stuff i did lol. But it’s there! See ya on the sea or something <3
(Probably) FINAL DEVLOG A lot happened, like always. There was a lot of work but I’m almost ready with the project. Here I come with 7 hours of coding and drawing assets. Major things that changed: THE NAME I think about… PiratINK….. Yup y’know. Pirating and INK. Something like that. Main Menu As you can see in the video there are small animations in it. The waves show in music beat (but for some reason OBS wasn’t recording the intro of music?), then Ship arrives. It floats on the water, synched with waves moving. I think it looks awesome :D Sounds There is music now in my game! I used sonatina - infinity-crystal (its on itch). I love how it sounds. This RPG music is doing well in my project and you can feel the battle on the sea. Large Enemy Last enemy i had to draw. I think it looks good enought. At first I wasn’t so sure about it, but now i think it’s okay. Cannonballs Now there are 6 unique sprites. Also size is random and rotation of each ball, so every feel unique. And more… A LOT of bug fixes, game feel etc etc. I hope you will like the game! I’m so close to release and I’m really really excited! Have a great day!
I’M DONE The game is out! I named it PiratINK like I said in previous devlog. I added some stuff, here it is: Exp Loot So now there are 3 random sprites for exp. No more yellow rectangle! It’s random, also random scale and rotation so every loot looks unique. Cleaned project files and code There were a lot of trash files. I stored there every animation frame, even though i had spritesheet ready. Also code comments and prints. Cross Update No more green dot. Now I use special icon with shader! I think it looks good enough. README There is not much there, but small description, instructions and links are inside. IM SO EXCITED 30 hours is so much for me, I thought I will be working on this for 10? maybe 15 hours… That took a lot more time, but still I think i made really good job in quite small amount of time. Yesterday I was so excited i didn’t record 2 sprites I draw… Ooops. I made resprite for rare card and cross icon… I had so much fun… and sometimes hard time, but overall it was fantastic. Check out the game <3
Quick README UPDATE I rewrote the readme, so it’s more fitting to the resources -> “Writing a README that doesn’t suck”… Also added some screenshots to readme.
Ships:
I made a survival, Vampire Survivors-like game! You control a ship that automatically shoots. I had so much fun creating this project—it’s only the second game I’ve ever created on a ‘professional’ level. For the art style, I wanted to try something interesting… imagine a kid drawing this game in their school notebook. I used just two main colors, and I hope the concept comes across clearly. I’m super proud of how it turned down, and I hope everyone has as much fun playing it as I did making it!...
|
1793004733.8096113
|
1793091133.8096113
|
|
6233
|
Ctrlpad by @brainlesslukas | Stardance
|
brainlesslukas
|
1
|
113.51
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T02:50:42Z", "hours": 97.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hello everyone! I built an Elgato Stream Deck alternative called Ctrlpad. Ctrlpad runs actions when you press its button. For example, opening applications like Discord really fast. It can genuinely improve your workflow. At the beginning I had trouble getting the Ctrlpad to communicate with my computer, but then I learned about BLE. I also coded a desktop app to configure the layout, colors, icons, actions and more. The ecosystem is only available on Linux for now, since I wanted to focus on the important things first. The project is split into three separate repositories: the Firmware (the code flashed onto the ESP), the Desktop Application (the interface used to configure actions like opening apps or changing the volume), and the Daemon (a background service that runs continuously on your computer to execute those actions).", "repo": "https://github.com/CtrlPad/firmware", "demo": ""}]...
|
[{"post_id": 82289, "ts": "202 [{"post_id": 82289, "ts": "2026-10-24T14:13:56Z", "hours": 6.5797, "text": "Devlog #21 The last days I added some important updates to the Ctrlpad website: Major refactoring: Cleaned and reorganized parts Responsive design, full mobile and Tablet support The website is now better structured for future additions :)"}, {"post_id": 74628, "ts": "2026-09-27T20:09:54Z", "hours": 6.8083, "text": "Devlog #20 Today i created this fancy feature page on the website :)."}, {"post_id": 71859, "ts": "2026-09-21T17:43:40Z", "hours": 3.1214, "text": "Devlog #19 I’m back after my first week of school after the holidays :) The newest update is that I implemented rendering for the icons you select in the desktop software. The mechanism behind it wasn’t easy, but here’s my final implementation: Each button’s icon arrives over BLE as a base64-encoded bitmap in the JSON config. renderIcon() decodes it and hands it off to changeIcon(), which builds an lv_image_dsc_t and assigns it via lv_image_set_src() to that button’s LVGL image widget or blanks it out if no icon string was provided. I also fixed some things in the Desktop software :) The next step, is making the config persistent on the ESP"}, {"post_id": 59956, "ts": "2026-09-02T01:01:38Z", "hours": 2.4636, "text": "Devlog #18 Today I applied the features I built last week: editing button colors. One big problem was that I had used a button matrix, and it’s almost impossible to change the background color of just one button in a matrix. So I did some refactoring. I moved from a matrix to six normal, standalone buttons. After that, I wrote the functions to apply the config. In the pictures you can now see how it’s possible to change the button color you select in the app. (Please ignore my dusty, messy desk xD)"}, {"post_id": 59284, "ts": "2026-09-01T00:04:06Z", "hours": 3.7492, "text": "Devlog # 17 Today I made it possible to send the button background color and the icon SVG to the BLE config. I also built a little preview (left corner). The next step is to display the SVG icon and the background color on the CtrlPad."}, {"post_id": 57712, "ts": "2026-08-29T23:27:07Z", "hours": 7.4522, "text": "Devlog #16 I wasn’t really motivated to code this last week. But I did build something for the desktop software! I created a color and icon selector. The icons are fetched from Simple Icons. It’s only the UI for now. The feature for the ctrlPad firmware is coming in the next version(s) :) Stay tuned!"}, {"post_id": 52374, "ts": "2026-08-22T14:17:41Z", "hours": 5.5839, "text": "Devlog #15 I was on vacation for the last two weeks, so I didn’t get much done. But I’m back now. Since then I’ve been working on the hardware side: I 3D printed a case for the CYD, and it now sits perfectly on my desk. For now it’s a model from MakerWorld. I’d like to design my own later, but I haven’t had the time yet. I’m also working on a few fixes for the daemon. Unfortunately, I noticed that the problem with the path is still there. :("}, {"post_id": 45411, "ts": "2026-08-11T20:47:02Z", "hours": 2.315, "text": "Devlog #14 Today was a warm one, but I still managed to sit down at my PC :) I ended up writing some docs, mostly because I couldn’t decide what else to work on. Added installation instructions for the packages I released over the last few days. Nix and Snap. I couldn’t add the AUR one yet, since the AUR is still down and I haven’t been able to finish that release :( Wrote the README for Ctrlpad’s web project. It covers how to set up the web app and gives an overview of what the repo contains."}, {"post_id": 44701, "ts": "2026-08-10T17:19:22Z", "hours": 4.3517, "text": "Devlog #13 Originally, I wanted to release both packages (daemon & desktop app) on the AUR, but it’s still down. So instead I released the desktop app on Nix with a flake. Now both packages are on Nix(-OS). I also released the desktop app on Snap."}, {"post_id": 41974, "ts": "2026-08-06T14:44:36Z", "hours": 2.2144, "text": "#Devlog #12 The last two days I worked on releasing the daemon for Nix(-OS) users. It’s now available as a flake, so they can pull it in directly."}, {"post_id": 40655, "ts": "2026-08-04T10:36:17Z", "hours": 4.1378, "text": "Devlog #11 Last night I wanted to start publishing my ctrlpad-daemon library on the AUR, but it was down. So I released it on the Snap(craft) package manager instead. It took a while, but now it’s online! https://snapcraft.io/ctrlpad-daemon"}, {"post_id": 40080, "ts": "2026-08-03T13:44:48Z", "hours": 11.7772, "text": "Devlog #10 The last three days were pretty frustrating. In the last devlog I mentioned building a website with Next.js. But I soon realized a hero section wasn’t enough. I also needed documentation. So I set out to embed Markdown (Nextra). It was tedious work, and it took me over five hours to get it running (the /docs route just refused to render for the longest time). With that working, I started writing some basic docs. A few minutes in, a question hit me: “How is the user actually going to flash the board themselves?” For that I turned to ESP Web Tools, a neat library that lets you flash an ESP directly from the browser. I ran into plenty of problems, but the biggest one was my own browser. It worked fine on my second PC, yet failed on my main one. The reason? An outdated Chromium version. I spent six-plus hours tracking that down. But it’s all working now and everyone can flash the board with my firmware! Amazing"}, {"post_id": 35902, "ts": "2026-07-27T17:08:35Z", "hours": 6.8169, "text": "Devlog #9 Things have been busy with school over the last two weeks, but I managed to make some solid progress on CtrlPad: Website Launched: Built the landing page using Next.js and published it live at ctrlpad.xyz Hosting: Configured my local home server to host the site directly. CI/CD Pipeline: Set up an automated CI/CD pipeline so future commits deploy automatically. Source Code: The website repository is open source on GitHub . Stay tuned!"}, {"post_id": 21048, "ts": "2026-07-02T20:29:04Z", "hours": 8.6403, "text": "Devlog #8 Over the past day, I built the CtrlPad daemon using Golang. This background service listens for commands sent from the CtrlPad via BLE (Bluetooth Low Energy). In the example below, you can see the daemon logs in action as it successfully receives and executes commands for “Spotify” and “Proton VPN”. To make things even smoother, I also wrote a dedicated installation script for the daemon to streamline the setup process."}, {"post_id": 15883, "ts": "2026-06-25T20:13:12Z", "hours": 1.1181, "text": "Devlog #7 Today, I ventured into Inkscape to design an icon. I usually dread the intricacies of SVG creation, but, to my surprise, everything came together quite smoothly. With the design finalized, I generated the necessary icon variations and implemented them into the Tauri project. The icon is designed to be a clean, minimalist recreation of the CtrlPad."}, {"post_id": 15320, "ts": "2026-06-24T21:44:20Z", "hours": 7.8344, "text": "Devlog #6 In the last day, I was really busy and didn’t have much time to code, but I managed to accomplish some amazing things: CI/CD Pipeline: Created a pipeline to build the application automatically Tooling Integration: Added git-cliff for automated changelogs, alongside Prettier, ESLint, and commitlint for code quality Bug Fixes: Successfully found and resolved several existing bugs I also implemented real configuration uploads to the ctrlPad instead of using an example JSON string"}, {"post_id": 10903, "ts": "2026-06-17T21:22:54Z", "hours": 10.435, "text": "Devlog #5 This update was all about tackling the tough stuff. First, I had to figure out how to scan and display every installed application on your system, a feature that turned out to be incredibly tricky to implement. After that, I spent a lot of time wrestling with the drag-and-drop system for the ctrlPad actions. It took a while, but it was worth it. To wrap things up, I also built a solid README to guide you through the development setup and other project essentials."}, {"post_id": 6485, "ts": "2026-06-10T22:07:05Z", "hours": 7.2067, "text": "Devlog #4 Today was a refactoring day! I updated the entire desktop UI and made everything cleaner. I also made it possible to connect to Bluetooth devices and send an example layout configuration to them."}, {"post_id": 5176, "ts": "2026-06-08T21:19:28Z", "hours": 4.3003, "text": "Devlog #3 These past few days were intense, packed with non-stop coding. Listing every single detail would take forever, so let’s skip straight to the highlights! Right now, the main focus is building the ctrlPad Desktop App. The central hub for configuring button layouts, custom actions, and more. The biggest decision? Tauri vs. Electron. The winner: Tauri. Because let’s be honest: Rust is king. Here is the quick breakdown of what went down: Firmware Repo: Added a brand-new, foolproof “Development Setup” section to the README.md. App Architecture: Kicked off the Tauri application and integrated TanStack Router for seamless navigation. UI/UX: Designed the very first frontend layout, complete with a sleek sidebar and the core button layout on the dashboard. The foundation is laid. Stay tuned!"}, {"post_id": 3059, "ts": "2026-06-05T23:01:18Z", "hours": 0.8392, "text": "Devlog #2 In this devlog the following things were done: Created the README.md and added some basic information Added the compilation database for PlatformIO Formatted all files with a code formatter (clangd) Applied the “camelCase” naming convention instead of “snake_case”"}, {"post_id": 2769, "ts": "2026-06-05T15:45:09Z", "hours": 5.5439, "text": "Devlog #1 I started making my own DIY Stream Deck! It runs on an ESP32 (CYD) and I named it ctrlPad. It features six buttons, each of which can be dynamically customized with different programs, actions, and macros. Just like the official Elgato software, the layout will be configured using an external desktop application. To keep it completely wireless, the configuration is sent via Bluetooth (BLE). Soon I build a custom driver then handles executing the programs or triggering actions (like muting the microphone). Thanks to all the customization options, every single ctrlPad will be completely unique!"}]...
|
Title: Ctrlpad by @brainlesslukas | Stardance
Dev Title: Ctrlpad by @brainlesslukas | Stardance
Devlogs:
Devlog #1 I started making my own DIY Stream Deck! It runs on an ESP32 (CYD) and I named it ctrlPad. It features six buttons, each of which can be dynamically customized with different programs, actions, and macros. Just like the official Elgato software, the layout will be configured using an external desktop application. To keep it completely wireless, the configuration is sent via Bluetooth (BLE). Soon I build a custom driver then handles executing the programs or triggering actions (like muting the microphone). Thanks to all the customization options, every single ctrlPad will be completely unique!
Devlog #2 In this devlog the following things were done: Created the README.md and added some basic information Added the compilation database for PlatformIO Formatted all files with a code formatter (clangd) Applied the “camelCase” naming convention instead of “snake_case”
Devlog #3 These past few days were intense, packed with non-stop coding. Listing every single detail would take forever, so let’s skip straight to the highlights! Right now, the main focus is building the ctrlPad Desktop App. The central hub for configuring button layouts, custom actions, and more. The biggest decision? Tauri vs. Electron. The winner: Tauri. Because let’s be honest: Rust is king. Here is the quick breakdown of what went down: Firmware Repo: Added a brand-new, foolproof “Development Setup” section to the README.md. App Architecture: Kicked off the Tauri application and integrated TanStack Router for seamless navigation. UI/UX: Designed the very first frontend layout, complete with a sleek sidebar and the core button layout on the dashboard. The foundation is laid. Stay tuned!
Devlog #4 Today was a refactoring day! I updated the entire desktop UI and made everything cleaner. I also made it possible to connect to Bluetooth devices and send an example layout configuration to them.
Devlog #5 This update was all about tackling the tough stuff. First, I had to figure out how to scan and display every installed application on your system, a feature that turned out to be incredibly tricky to implement. After that, I spent a lot of time wrestling with the drag-and-drop system for the ctrlPad actions. It took a while, but it was worth it. To wrap things up, I also built a solid README to guide you through the development setup and other project essentials.
Devlog #6 In the last day, I was really busy and didn’t have much time to code, but I managed to accomplish some amazing things: CI/CD Pipeline: Created a pipeline to build the application automatically Tooling Integration: Added git-cliff for automated changelogs, alongside Prettier, ESLint, and commitlint for code quality Bug Fixes: Successfully found and resolved several existing bugs I also implemented real configuration uploads to the ctrlPad instead of using an example JSON string
Devlog #7 Today, I ventured into Inkscape to design an icon. I usually dread the intricacies of SVG creation, but, to my surprise, everything came together quite smoothly. With the design finalized, I generated the necessary icon variations and implemented them into the Tauri project. The icon is designed to be a clean, minimalist recreation of the CtrlPad.
Devlog #8 Over the past day, I built the CtrlPad daemon using Golang. This background service listens for commands sent from the CtrlPad via BLE (Bluetooth Low Energy). In the example below, you can see the daemon logs in action as it successfully receives and executes commands for “Spotify” and “Proton VPN”. To make things even smoother, I also wrote a dedicated installation script for the daemon to streamline the setup process.
Devlog #9 Things have been busy with school over the last two weeks, but I managed to make some solid progress on CtrlPad: Website Launched: Built the landing page using Next.js and published it live at ctrlpad.xyz Hosting: Configured my local home server to host the site directly. CI/CD Pipeline: Set up an automated CI/CD pipeline so future commits deploy automatically. Source Code: The website repository is open source on GitHub . Stay tuned!
Devlog #10 The last three days were pretty frustrating. In the last devlog I mentioned building a website with Next.js. But I soon realized a hero section wasn’t enough. I also needed documentation. So I set out to embed Markdown (Nextra). It was tedious work, and it took me over five hours to get it running (the /docs route just refused to render for the longest time). With that working, I started writing some basic docs. A few minutes in, a question hit me: “How is the user actually going to flash the board themselves?” For that I turned to ESP Web Tools, a neat library that lets you flash an ESP directly from the browser. I ran into plenty of problems, but the biggest one was my own browser. It worked fine on my second PC, yet failed on my main one. The reason? An outdated Chromium version. I spent six-plus hours tracking that down. But it’s all working now and everyone can flash the board with my firmware! Amazing
Devlog #11 Last night I wanted to start publishing my ctrlpad-daemon library on the AUR, but it was down. So I released it on the Snap(craft) package manager instead. It took a while, but now it’s online! https://snapcraft.io/ctrlpad-daemon
#Devlog #12 The last two days I worked on releasing the daemon for Nix(-OS) users. It’s now available as a flake, so they can pull it in directly.
Devlog #13 Originally, I wanted to release both packages (daemon & desktop app) on the AUR, but it’s still down. So instead I released the desktop app on Nix with a flake. Now both packages are on Nix(-OS). I also released the desktop app on Snap.
Devlog #14 Today was a warm one, but I still managed to sit down at my PC :) I ended up writing some docs, mostly because I couldn’t decide what else to work on. Added installation instructions for the packages I released over the last few days. Nix and Snap. I couldn’t add the AUR one yet, since the AUR is still down and I haven’t been able to finish that release :( Wrote the README for Ctrlpad’s web project. It covers how to set up the web app and gives an overview of what the repo contains.
Devlog #15 I was on vacation for the last two weeks, so I didn’t get much done. But I’m back now. Since then I’ve been working on the hardware side: I 3D printed a case for the CYD, and it now sits perfectly on my desk. For now it’s a model from MakerWorld. I’d like to design my own later, but I haven’t had the time yet. I’m also working on a few fixes for the daemon. Unfortunately, I noticed that the problem with the path is still there. :(
Devlog #16 I wasn’t really motivated to code this last week. But I did build something for the desktop software! I created a color and icon selector. The icons are fetched from Simple Icons. It’s only the UI for now. The feature for the ctrlPad firmware is coming in the next version(s) :) Stay tuned!
Devlog # 17 Today I made it possible to send the button background color and the icon SVG to the BLE config. I also built a little preview (left corner). The next step is to display the SVG icon and the background color on the CtrlPad.
Devlog #18 Today I applied the features I built last week: editing button colors. One big problem was that I had used a button matrix, and it’s almost impossible to change the background color of just one button in a matrix. So I did some refactoring. I moved from a matrix to six normal, standalone buttons. After that, I wrote the functions to apply the config. In the pictures you can now see how it’s possible to change the button color you select in the app. (Please ignore my dusty, messy desk xD)
Devlog #19 I’m back after my first week of school after the holidays :) The newest update is that I implemented rendering for the icons you select in the desktop software. The mechanism behind it wasn’t easy, but here’s my final implementation: Each button’s icon arrives over BLE as a base64-encoded bitmap in the JSON config. renderIcon() decodes it and hands it off to changeIcon(), which builds an lv_image_dsc_t and assigns it via lv_image_set_src() to that button’s LVGL image widget or blanks it out if no icon string was provided. I also fixed some things in the Desktop software :) The next step, is making the config persistent on the ESP
Devlog #20 Today i created this fancy feature page on the website :).
Devlog #21 The last days I added some important updates to the Ctrlpad website: Major refactoring: Cleaned and reorganized parts Responsive design, full mobile and Tablet support The website is now better structured for future additions :)
Ships:
Hello everyone! I built an Elgato Stream Deck alternative called Ctrlpad. Ctrlpad runs actions when you press its button. For example, opening applications like Discord really fast. It can genuinely improve your workflow. At the beginning I had trouble getting the Ctrlpad to communicate with my computer, but then I learned about BLE. I also coded a desktop app to configure the layout, colors, icons, actions and more. The ecosystem is only available on Linux for now, since I wanted to focus on the important things first. The project is split into three separate repositories: the Firmware (the code flashed onto the ESP), the Desktop Application (the interface used to configure actions like opening apps or changing the volume), and the Daemon (a background service that runs continuously on your computer to execute those actions)....
|
1793004732.3934894
|
1793091132.3934894
|
|
50067
|
YSH v8 Uni by @Yousuff | Stardance
|
Yousuff
|
1
|
6.0
|
20
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-11T18:57:03Z", "hours": 6.0, "multiplier": 6.34, "payout": 20, "blessing": "neutral", "text": "YSH Terminal — A custom terminal environment built from the ground up, evolving YSH from a simple shell into a more complete terminal experience. It features real filesystem interaction, shell-style commands, networking tools, themes, ASCII branding, developer features, a mini CLI game, and a growing set of utilities.", "repo": "https://github.com/YousufProjs-exe/YSH-v8/", "demo": "https://yousufprojs-exe.github.io/YSH-WEBSITE/"}]...
|
[{"post_id": 66125, "ts": "202 [{"post_id": 66125, "ts": "2026-09-11T18:53:14Z", "hours": 0.5556, "text": "YSH v8, best of current YSH is ready and is live on Github, now YSH is an actual shell with Filesystem and utilities but YSH aint a regular termianl its comes with LAN Networking(Chat and Fileshare), CLI Applications, Eastereggs and more!"}, {"post_id": 49561, "ts": "2026-08-18T13:17:05Z", "hours": 1.5011, "text": "Fixed all the Shorcuts and better File Share"}, {"post_id": 49192, "ts": "2026-08-17T20:50:57Z", "hours": 4.2697, "text": "YSH-Terminal with LAN Networking , CLI Applications and more.!!"}]...
|
Title: YSH v8 Uni by @Yousuff | Stardance
Devlogs Title: YSH v8 Uni by @Yousuff | Stardance
Devlogs:
YSH-Terminal with LAN Networking , CLI Applications and more.!!
Fixed all the Shorcuts and better File Share
YSH v8, best of current YSH is ready and is live on Github, now YSH is an actual shell with Filesystem and utilities but YSH aint a regular termianl its comes with LAN Networking(Chat and Fileshare), CLI Applications, Eastereggs and more!
Ships:
YSH Terminal — A custom terminal environment built from the ground up, evolving YSH from a simple shell into a more complete terminal experience. It features real filesystem interaction, shell-style commands, networking tools, themes, ASCII branding, developer features, a mini CLI game, and a growing set of utilities....
|
1793004731.2335951
|
1793091131.2335951
|
|
45204
|
My own site! by @nathany100 | Stardance
|
nathany100
|
1
|
18.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-16T21:11:43Z", "hours": 18.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "My 1st formal website! This is probably my most worked-on project, and i’m very proud of it :> Building the background was tricky (first time doing design on a website), especially animating the waves and stars. The hardest part of the project tho was the music player because it was very, very difficult to code in js as well as positioning all the elements to look good. The carousel in the hobbies section was not that hard to code but looks and works great. So, after a lot of effort, i’m happy to present to you my first website! its deployed on github pages, so you can go check out my small corner of the internet without installing anything :D (also, this website will be updated frequently with more songs, images, text or other stuff!)", "repo": "https://github.com/nathany213/aboutme", "demo": "https://nathany213.github.io/aboutme/"}]...
|
[{"post_id": 69338, "ts": "202 [{"post_id": 69338, "ts": "2026-09-16T20:44:47Z", "hours": 0.6158, "text": "Devlog #7! (this was a while ago, i just forgot to devlog it) Since it was my first time hosting in github, i asked ai to direct me and also help upload a large folder to github, and that did NOT go well (aka i nearly lost all my commits and reverted my code to a previous version) :("}, {"post_id": 64990, "ts": "2026-09-09T19:20:18Z", "hours": 2.4039, "text": "Devlog #6! Added carousel + images and it looks great! I’m not sure what else to add except maybe a little more text, so i think im nearly ready to ship"}, {"post_id": 59526, "ts": "2026-09-01T12:11:26Z", "hours": 2.3739, "text": "Devlog #5! (not that much stuff changed) Ok so I updated the github repo and added more text to my page, i’m thinking of putting a carousel and adding some images because text on its own looks a bit bland"}, {"post_id": 58173, "ts": "2026-08-30T15:09:48Z", "hours": 5.9375, "text": "Devlog 4! Sorry that i haven’t updated for a while, I was stuck on some code and forgot to devlog… Anyways i got the music player mostly working, and im working on making it look good now. (text hidden to make it easier to see)"}, {"post_id": 53808, "ts": "2026-08-24T14:43:39Z", "hours": 2.6353, "text": "Devlog #3 :> Ok so i absolutely locked in and it looks much better now! (it is animated btw) This took sooooo long but was definitely worth it. Now I’m probably going to add some actual text to read, but i think it would be cool to add in some bgm or like a music player for my website"}, {"post_id": 52939, "ts": "2026-08-23T09:54:53Z", "hours": 1.8328, "text": "2nd devlog :D Ok so as you can see it still looks meh (the space image is a placeholder) but soo much better than before. Also, I added a particle system in the background, after 10 google searches, 3 yt tutorials and a lot of failing. (anything you see here might change still cuz im just seeing what looks good as of now)"}, {"post_id": 51598, "ts": "2026-08-21T11:24:42Z", "hours": 2.1614, "text": "1st devlog!!!!!!!!!!!!! okok so i just finished the base of the project, and I know it looks very bad right now, but trust me it’s going to look better (this is my 1st attempt). 2nd devlog hopefully soon"}]...
|
Title: My own site! by @nathany100 | Stardance
De Title: My own site! by @nathany100 | Stardance
Devlogs:
1st devlog!!!!!!!!!!!!! okok so i just finished the base of the project, and I know it looks very bad right now, but trust me it’s going to look better (this is my 1st attempt). 2nd devlog hopefully soon
2nd devlog :D Ok so as you can see it still looks meh (the space image is a placeholder) but soo much better than before. Also, I added a particle system in the background, after 10 google searches, 3 yt tutorials and a lot of failing. (anything you see here might change still cuz im just seeing what looks good as of now)
Devlog #3 :> Ok so i absolutely locked in and it looks much better now! (it is animated btw) This took sooooo long but was definitely worth it. Now I’m probably going to add some actual text to read, but i think it would be cool to add in some bgm or like a music player for my website
Devlog 4! Sorry that i haven’t updated for a while, I was stuck on some code and forgot to devlog… Anyways i got the music player mostly working, and im working on making it look good now. (text hidden to make it easier to see)
Devlog #5! (not that much stuff changed) Ok so I updated the github repo and added more text to my page, i’m thinking of putting a carousel and adding some images because text on its own looks a bit bland
Devlog #6! Added carousel + images and it looks great! I’m not sure what else to add except maybe a little more text, so i think im nearly ready to ship
Devlog #7! (this was a while ago, i just forgot to devlog it) Since it was my first time hosting in github, i asked ai to direct me and also help upload a large folder to github, and that did NOT go well (aka i nearly lost all my commits and reverted my code to a previous version) :(
Ships:
My 1st formal website! This is probably my most worked-on project, and i’m very proud of it :> Building the background was tricky (first time doing design on a website), especially animating the waves and stars. The hardest part of the project tho was the music player because it was very, very difficult to code in js as well as positioning all the elements to look good. The carousel in the hobbies section was not that hard to code but looks and works great. So, after a lot of effort, i’m happy to present to you my first website! its deployed on github pages, so you can go check out my small corner of the internet without installing anything :D (also, this website will be updated frequently with more songs, images, text or other stuff!)...
|
1793004730.0653467
|
1793091130.0653467
|
|
6948
|
Needoh Factory by @Oscar_da_best | Stardance
|
Oscar_da_best
|
2
|
46.0
|
399
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-12T09:36:31Z", "hours": 6.0, "multiplier": 8.4, "payout": 54, "blessing": "neutral", "text": "I added a obby island to the project and made the game run a little better in general less bugs now and i am working on ading all the coming soon features", "repo": "https://github.com/Duder-coolman/needoh-tycoon", "demo": "https://www.roblox.com/games/85070662876748/Needoh-Factory"}, {"ship_num": 2, "ts": "2026-09-15T02:11:55Z", "hours": 40.0, "multiplier": 8.67, "payout": 345, "blessing": "neutral", "text": "I made a game called Needoh Factory where you buy needohs and merge them to get cooler needohs that make more money. This was a challanging project because I challenged myself to step away from AI an really test what I could do as well as basiclly learing Luau for the first time. I am proud of how far I have come on this journey and proud of the effort I put into this game. anyone who wats to test my project can test it as long as they make a roblox account!", "repo": "https://github.com/Duder-coolman/needoh-tycoon", "demo": "https://www.roblox.com/games/85070662876748/Needoh-Factory"}]...
|
[{"post_id": 78999, "ts": "202 [{"post_id": 78999, "ts": "2026-10-12T09:34:08Z", "hours": 1.1264, "text": "I made a new gem curency and fixed some more bugs that were pretty game breaking like things getting out of the droppers"}, {"post_id": 78019, "ts": "2026-10-09T07:03:58Z", "hours": 2.2419, "text": "I added a parkour island as somthing to do while you passivly make money and the parkour will reward a new currency called gems which will be very useful in the future."}, {"post_id": 77759, "ts": "2026-10-08T05:48:11Z", "hours": 3.0975, "text": "I replaced my script with a Module script allowing me to use the function in other parts of my game like when the player joins or amy other time I need to update the GUI. Mainly jut doing bug fixes right now before I add any more big features to the game and I dont really remember everything I did. :P"}, {"post_id": 68404, "ts": "2026-09-15T02:07:23Z", "hours": 2.4011, "text": "Finished up the game early, a lot is not done but there will be an update hopefully before stardance ends"}, {"post_id": 66425, "ts": "2026-09-12T07:50:55Z", "hours": 5.7147, "text": "There are three pictures I really dislike UI but I am pushing through it and had some fun making the map more decorated. made a working teleport system. Next I will make a shop for the ingame currency and I will add background music as well as making the purchases work. I’m really enjoying this project and hoping to finish in the next week!! :)"}, {"post_id": 65184, "ts": "2026-09-10T04:05:22Z", "hours": 5.5197, "text": "I finisshed the conversion sysstem that allows the player to convert thier needohs into monye finally completeing the core loop of the game. it is not playable and I will be debugging and decorating for the next 10-15 hours🥳🥳 then I can finally ship it I also completed a startup script so that all the UI can update when A player joins the game to display the correct prices and I watched a tutorial on how to make numbers with suffixes after them to make the pricees easier to read."}, {"post_id": 55382, "ts": "2026-08-27T05:38:59Z", "hours": 5.3786, "text": "i added coded the dropper models into the tower and now you can buy them and merge three to get the next level up. they also drop mini and simplified versions of themselves that the player can pick up for a currency that will then be turned into coins im super happy that this project is coming along and am looking forward to shiping it soon."}, {"post_id": 52062, "ts": "2026-08-22T03:48:39Z", "hours": 4.2428, "text": "I made the second row this time. give me some feedback please i like any critisizm just keep in mind I litteraly just started learning. the first row is in my last post. happy to begin working on the main loop of the game soon."}, {"post_id": 48697, "ts": "2026-08-17T06:30:55Z", "hours": 3.6744, "text": "Made a whole pack of runic symbols that I will sell on roblox’s marketplace for $0.99 and made 10 models for my game planning on finishing the other 10 tommorow."}, {"post_id": 47227, "ts": "2026-08-15T00:29:49Z", "hours": 2.0911, "text": "Made the buttons more appealing and rewrote the button purchasing script to make it less repetetive."}, {"post_id": 43160, "ts": "2026-08-08T08:30:52Z", "hours": 5.4481, "text": "Made a save data storage script and a script to buy droppers I cannot figure out how to add code blocks so these terrible pictures will have to do"}, {"post_id": 5630, "ts": "2026-06-09T14:38:25Z", "hours": 2.2406, "text": "I added the main element of the game and made a plot system that gives the player a plot when they load in. (lighting looks bad because it is not textured yet)"}, {"post_id": 4036, "ts": "2026-06-07T06:49:08Z", "hours": 1.775, "text": "Added pathways and portals for obstacle courses, its so hard to make pathways… planning on making a lot of progress tommorow and waiting to finishing building so I can start scripting 🙏"}, {"post_id": 3341, "ts": "2026-06-06T07:05:12Z", "hours": 0.5228, "text": "Added water around the islands and bridges connecting them. planning on locking in tomorrow"}, {"post_id": 2599, "ts": "2026-06-05T06:43:34Z", "hours": 0.3025, "text": "Currently very busy finishing up school but I was able to make a measured out map."}, {"post_id": 1982, "ts": "2026-06-04T07:40:57Z", "hours": 0.5017, "text": "Basic Hover effect for button along with other basic thing I like to set up when I start a project"}]...
|
Title: Needoh Factory by @Oscar_da_best | Stardanc Title: Needoh Factory by @Oscar_da_best | Stardance
Devlogs:
Basic Hover effect for button along with other basic thing I like to set up when I start a project
Currently very busy finishing up school but I was able to make a measured out map.
Added water around the islands and bridges connecting them. planning on locking in tomorrow
Added pathways and portals for obstacle courses, its so hard to make pathways… planning on making a lot of progress tommorow and waiting to finishing building so I can start scripting 🙏
I added the main element of the game and made a plot system that gives the player a plot when they load in. (lighting looks bad because it is not textured yet)
Made a save data storage script and a script to buy droppers I cannot figure out how to add code blocks so these terrible pictures will have to do
Made the buttons more appealing and rewrote the button purchasing script to make it less repetetive.
Made a whole pack of runic symbols that I will sell on roblox’s marketplace for $0.99 and made 10 models for my game planning on finishing the other 10 tommorow.
I made the second row this time. give me some feedback please i like any critisizm just keep in mind I litteraly just started learning. the first row is in my last post. happy to begin working on the main loop of the game soon.
i added coded the dropper models into the tower and now you can buy them and merge three to get the next level up. they also drop mini and simplified versions of themselves that the player can pick up for a currency that will then be turned into coins im super happy that this project is coming along and am looking forward to shiping it soon.
I finisshed the conversion sysstem that allows the player to convert thier needohs into monye finally completeing the core loop of the game. it is not playable and I will be debugging and decorating for the next 10-15 hours🥳🥳 then I can finally ship it I also completed a startup script so that all the UI can update when A player joins the game to display the correct prices and I watched a tutorial on how to make numbers with suffixes after them to make the pricees easier to read.
There are three pictures I really dislike UI but I am pushing through it and had some fun making the map more decorated. made a working teleport system. Next I will make a shop for the ingame currency and I will add background music as well as making the purchases work. I’m really enjoying this project and hoping to finish in the next week!! :)
Finished up the game early, a lot is not done but there will be an update hopefully before stardance ends
I replaced my script with a Module script allowing me to use the function in other parts of my game like when the player joins or amy other time I need to update the GUI. Mainly jut doing bug fixes right now before I add any more big features to the game and I dont really remember everything I did. :P
I added a parkour island as somthing to do while you passivly make money and the parkour will reward a new currency called gems which will be very useful in the future.
I made a new gem curency and fixed some more bugs that were pretty game breaking like things getting out of the droppers
Ships:
I made a game called Needoh Factory where you buy needohs and merge them to get cooler needohs that make more money. This was a challanging project because I challenged myself to step away from AI an really test what I could do as well as basiclly learing Luau for the first time. I am proud of how far I have come on this journey and proud of the effort I put into this game. anyone who wats to test my project can test it as long as they make a roblox account!
I added a obby island to the project and made the game run a little better in general less bugs now and i am working on ading all the coming soon features...
|
1793004728.8856325
|
1793091128.8856325
|
|
17903
|
FurgenOS by @furgenramen | Stardance
|
furgenramen
|
1
|
10.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-13T12:35:35Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a very simple OS, and though it has very little to show, I am very proud of it. More features should be on the way soon (I might build a hardware project, though). I feel that Hackatime was a bit confusing, especially when using a codespace in VS code. I hope the features are cool and you guys can mess around on my site!", "repo": "https://github.com/furgenramen04/FurgenOS", "demo": "https://furgenramen04.github.io/FurgenOS/"}]...
|
[{"post_id": 67335, "ts": "202 [{"post_id": 67335, "ts": "2026-09-13T12:26:47Z", "hours": 0.6833, "text": "Planning to ship now! I have made a simple app, where if you click the “Messing Around” button, a random website gets opened. I also updated my README, and I think I’m ready to ship now. Here’s the list of all website the button can open and my JS for it:"}, {"post_id": 66570, "ts": "2026-09-12T12:30:45Z", "hours": 1.4156, "text": "After more than a month of not doing anything, I came back and finished my text-based app, Ronaldo quotes. I used other sources on the internet because I found that the Jam was a little confusing. On the right is my new app and on the left is the JS code for it. Btw, if anyone here knows how to use the H1, H2, H3, without all of the text being affected please lmk in comments."}, {"post_id": 41264, "ts": "2026-08-05T11:33:26Z", "hours": 2.0903, "text": "Finally finished the first half of Jam 4 (I know, I know, but I had exams, okay?). I have two windows, they both drag, open, close, and, on tap and on open, go on top of each other. I really shouldn’t be feeling this accomplished but I am. Here’s my code (JS) and my final result! BTW if any of you has any suggestions PLEASE lmk, I’d love it. Thanks for your time!"}, {"post_id": 31743, "ts": "2026-07-20T11:48:49Z", "hours": 0.5125, "text": "Cleaned up my code. That’s pretty much all for today, just organised my in-line CSS into class-based CSS, and here are screenshots of my new code:"}, {"post_id": 30512, "ts": "2026-07-18T04:38:09Z", "hours": 0.4942, "text": "Devlog #5 Almost (almost) finished Jam 3. The welcome window opens and closes properly, and the “Messing around” button opens the tab, while the wheel icon closes it."}, {"post_id": 30121, "ts": "2026-07-17T13:09:15Z", "hours": 1.9697, "text": "Almost done Jam 3, looking to fix the close button option. I’m trying to make the wheel image a close button for the welcome window, but I am tired and I need to sleep so I will make that later. Otherwise, everything is going well, and my WebOS is coming together. The “Messing Around” button is currently the open button for the welcome screen. (P.S. only 1 screenshot today because I am not in the mood to reopen VS code again {its past my bedtime!})"}, {"post_id": 28650, "ts": "2026-07-15T01:03:34Z", "hours": 1.7339, "text": "Hi again! After a week of troubleshooting and struggling with Hackatime, I have finally finished the second Jam of the WebOS tutorial 😭. I removed the Ronaldo part (temporarily) but he will come back once I figure out how to add clickable elements in the OS. (the goat will come back). I also made the OS look much slicker (in my opinion)."}, {"post_id": 25076, "ts": "2026-07-09T01:29:13Z", "hours": 1.23, "text": "Finished part 1 of the WebOS 1 tutorial! My website still looks pretty basic, like this. The other screenshot is all the code in VS code for the website."}, {"post_id": 8450, "ts": "2026-06-14T01:28:34Z", "hours": 0.3092, "text": "Just started the tutorial, here’s a quick screenshot of my progress so far."}]...
|
Title: FurgenOS by @furgenramen | Stardance
Devlo Title: FurgenOS by @furgenramen | Stardance
Devlogs:
Just started the tutorial, here’s a quick screenshot of my progress so far.
Finished part 1 of the WebOS 1 tutorial! My website still looks pretty basic, like this. The other screenshot is all the code in VS code for the website.
Hi again! After a week of troubleshooting and struggling with Hackatime, I have finally finished the second Jam of the WebOS tutorial 😭. I removed the Ronaldo part (temporarily) but he will come back once I figure out how to add clickable elements in the OS. (the goat will come back). I also made the OS look much slicker (in my opinion).
Almost done Jam 3, looking to fix the close button option. I’m trying to make the wheel image a close button for the welcome window, but I am tired and I need to sleep so I will make that later. Otherwise, everything is going well, and my WebOS is coming together. The “Messing Around” button is currently the open button for the welcome screen. (P.S. only 1 screenshot today because I am not in the mood to reopen VS code again {its past my bedtime!})
Devlog #5 Almost (almost) finished Jam 3. The welcome window opens and closes properly, and the “Messing around” button opens the tab, while the wheel icon closes it.
Cleaned up my code. That’s pretty much all for today, just organised my in-line CSS into class-based CSS, and here are screenshots of my new code:
Finally finished the first half of Jam 4 (I know, I know, but I had exams, okay?). I have two windows, they both drag, open, close, and, on tap and on open, go on top of each other. I really shouldn’t be feeling this accomplished but I am. Here’s my code (JS) and my final result! BTW if any of you has any suggestions PLEASE lmk, I’d love it. Thanks for your time!
After more than a month of not doing anything, I came back and finished my text-based app, Ronaldo quotes. I used other sources on the internet because I found that the Jam was a little confusing. On the right is my new app and on the left is the JS code for it. Btw, if anyone here knows how to use the H1, H2, H3, without all of the text being affected please lmk in comments.
Planning to ship now! I have made a simple app, where if you click the “Messing Around” button, a random website gets opened. I also updated my README, and I think I’m ready to ship now. Here’s the list of all website the button can open and my JS for it:
Ships:
I made a very simple OS, and though it has very little to show, I am very proud of it. More features should be on the way soon (I might build a hardware project, though). I feel that Hackatime was a bit confusing, especially when using a codespace in VS code. I hope the features are cool and you guys can mess around on my site!...
|
1793004727.71135
|
1793091127.71135
|
|
49996
|
HackerOS by @simonhacker | Stardance
|
simonhacker
|
1
|
9.78
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-03T19:59:00Z", "hours": 9.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "HackerOS is my WebOS! It was coded in CSS, HTML and JS!! It has a few simple apps and is styled to be dark and blue. It was made fully by me and you can try it at the link below.", "repo": "https://github.com/sevinatenine/HackerOS", "demo": "https://hacker-os.netlify.app"}]...
|
[{"post_id": 77978, "ts": "202 [{"post_id": 77978, "ts": "2026-10-09T03:00:01Z", "hours": 0.3142, "text": "I made the copy and move and open commands for the terminal of my WebOS"}, {"post_id": 77346, "ts": "2026-10-06T16:58:19Z", "hours": 0.4636, "text": "Modified the README and the about."}, {"post_id": 76491, "ts": "2026-10-03T18:55:48Z", "hours": 0.3675, "text": "HackerOS - Finished the about page and the file picker!"}, {"post_id": 76485, "ts": "2026-10-03T18:27:44Z", "hours": 0.5764, "text": "HackerOS - Prototype for my file picker"}, {"post_id": 76446, "ts": "2026-10-03T15:20:30Z", "hours": 3.7758, "text": "I got my file browser working with ZenFS for HackerOS!!!"}, {"post_id": 50374, "ts": "2026-08-19T15:24:39Z", "hours": 1.4139, "text": "I Worked on my file browser app for my WebOS! I used the Yet Another Monochrome Icon Set For KDE Plasma here for the icons and app images for my OS and I used ZenFS (which provides node:fs compatible functions) to store files in IndexedDB."}, {"post_id": 49543, "ts": "2026-08-18T12:52:08Z", "hours": 0.4025, "text": "Prototype for the app bar for my WebOS"}, {"post_id": 49291, "ts": "2026-08-18T00:46:48Z", "hours": 2.1136, "text": "I made a window system with draggable and resizable windows for my WebOS!"}]...
|
Title: HackerOS by @simonhacker | Stardance
Devlo Title: HackerOS by @simonhacker | Stardance
Devlogs:
I made a window system with draggable and resizable windows for my WebOS!
Prototype for the app bar for my WebOS
I Worked on my file browser app for my WebOS! I used the Yet Another Monochrome Icon Set For KDE Plasma here for the icons and app images for my OS and I used ZenFS (which provides node:fs compatible functions) to store files in IndexedDB.
I got my file browser working with ZenFS for HackerOS!!!
HackerOS - Prototype for my file picker
HackerOS - Finished the about page and the file picker!
Modified the README and the about.
I made the copy and move and open commands for the terminal of my WebOS
Ships:
HackerOS is my WebOS! It was coded in CSS, HTML and JS!! It has a few simple apps and is styled to be dark and blue. It was made fully by me and you can try it at the link below....
|
1793004726.539477
|
1793091126.539477
|
|
36694
|
Timetablr by @SunnyFlops | Stardance
|
SunnyFlops
|
1
|
17.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-28T00:36:40Z", "hours": 17.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This app is very applike in the way that it is an app! Typically in the past I usually never used a timetable app because they were quite cumbersome to set up and use, so I decided to make a solution that felt quick and right for me personally. While my solution may not be the best fit for absolutely everyone, I think it’s certainly unique and worthwile. I found myself sideloading the app and genuinely using it on my phone, which was way more convenient than memorising off my school’s portal every morning. A video demonstration can be found on the previous devlog. Requires sideloading and trusting to work on an iPhone. The IPA file only works on iOS 26 and higher, will fix this later.", "repo": "https://github.com/SunnyFloppyDiskStudios/timetablr", "demo": "https://github.com/SunnyFloppyDiskStudios/timetablr/releases/tag/1.0"}]...
|
[{"post_id": 74690, "ts": "202 [{"post_id": 74690, "ts": "2026-09-28T00:28:14Z", "hours": 10.9881, "text": "it’s finisheddddddddddddd you can do all sorts of timetably stuff with it and um i didn’t do a very good job at documenting the development process but like it’s pretty good i think and it works so like yea it is working now so cool story but yeah feature list: timetable timetable setup process (set up a day “structure” which is the order of class/breaks and then add classes) edit mode settings multi-week timetables (i.e. week A, week B) automagically cycle between multiweek timetables (fancy) lots of overrides for stuff and generally easy to use. since my last devlog i have since added… everything that a timetable app needs! You can add classes, breaks, everything, and the setup process flows quite nicely I think."}, {"post_id": 46579, "ts": "2026-08-13T22:13:13Z", "hours": 6.1889, "text": "how have i not done a devlog yet wow that’s crazy ummm you can like. set up teh timeable and you can set dates and creat classes but you can’t actually like. set the classses into the times that you choose so like you can’t actually time your table with this app yet but it will soon time the table because I am being forced to create this app it has to be done because otherwise I will explode eyah so soon enoigh you’ll be able to actually set your timetable up but for now you can just go between views it’s kinda cool tbh I’ve set some default variables but it works nicely and soon enough it will be done so yeah. why is there no spellcheck here help."}]...
|
Title: Timetablr by @SunnyFlops | Stardance
Devlo Title: Timetablr by @SunnyFlops | Stardance
Devlogs:
how have i not done a devlog yet wow that’s crazy ummm you can like. set up teh timeable and you can set dates and creat classes but you can’t actually like. set the classses into the times that you choose so like you can’t actually time your table with this app yet but it will soon time the table because I am being forced to create this app it has to be done because otherwise I will explode eyah so soon enoigh you’ll be able to actually set your timetable up but for now you can just go between views it’s kinda cool tbh I’ve set some default variables but it works nicely and soon enough it will be done so yeah. why is there no spellcheck here help.
it’s finisheddddddddddddd you can do all sorts of timetably stuff with it and um i didn’t do a very good job at documenting the development process but like it’s pretty good i think and it works so like yea it is working now so cool story but yeah feature list: timetable timetable setup process (set up a day “structure” which is the order of class/breaks and then add classes) edit mode settings multi-week timetables (i.e. week A, week B) automagically cycle between multiweek timetables (fancy) lots of overrides for stuff and generally easy to use. since my last devlog i have since added… everything that a timetable app needs! You can add classes, breaks, everything, and the setup process flows quite nicely I think.
Ships:
This app is very applike in the way that it is an app! Typically in the past I usually never used a timetable app because they were quite cumbersome to set up and use, so I decided to make a solution that felt quick and right for me personally. While my solution may not be the best fit for absolutely everyone, I think it’s certainly unique and worthwile. I found myself sideloading the app and genuinely using it on my phone, which was way more convenient than memorising off my school’s portal every morning. A video demonstration can be found on the previous devlog. Requires sideloading and trusting to work on an iPhone. The IPA file only works on iOS 26 and higher, will fix this later....
|
1793004725.4647007
|
1793091125.4647007
|
|
36761
|
Mistral Render by @nejenabinupa | Stardance
|
nejenabinupa
|
1
|
19.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-05T20:50:18Z", "hours": 19.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "this is my video 3d project i make in blender, all of the details are in my readme :) hope you enjoy", "repo": "https://github.com/binupax6699/BUGATTI-MISTRAL-3D-CINEMATIC", "demo": "https://youtube.com/shorts/ZmAk8Z7RWeg?si=TdBVIASjr5qswlSs"}]...
|
[{"post_id": 58127, "ts": "202 [{"post_id": 58127, "ts": "2026-08-30T14:12:38Z", "hours": 3.4978, "text": "I rerendered the video because it look so noisy and Chang the render engine to eevee to make it look better and it’s good to go and ship"}, {"post_id": 46700, "ts": "2026-08-14T04:23:14Z", "hours": 1.9681, "text": "I Finshed animating and rendering the video."}, {"post_id": 35660, "ts": "2026-07-27T07:49:41Z", "hours": 6.5467, "text": "Shifted the Bugatti Mistral and Elephant scene from Satin Black to a Pearl White look with Gold accents Materials: Swapped to Pearl White paint and refined the gold tusk details. Lighting: Built a dynamic outdoor environment with soft sky lighting and ground reflections. Animation: Keyframed smooth camera sweeps and light movements to highlight the body lines."}, {"post_id": 33611, "ts": "2026-07-23T17:43:31Z", "hours": 6.9311, "text": "Imported a base 3D model of the Bugatti Mistral from Sketchfab, fixed geometry issues, and customized it with my own satin black and gold aesthetic. Modeled a low-poly dancing elephant sculpture to pair with the vehicle, setting up lighting, studio reflections, and camera angles for these high-contrast renders. I’m currently working on making the video and fixing some issues for the final ship."}]...
|
Title: Mistral Render by @nejenabinupa | Stardance Title: Mistral Render by @nejenabinupa | Stardance
Devlogs:
Imported a base 3D model of the Bugatti Mistral from Sketchfab, fixed geometry issues, and customized it with my own satin black and gold aesthetic. Modeled a low-poly dancing elephant sculpture to pair with the vehicle, setting up lighting, studio reflections, and camera angles for these high-contrast renders. I’m currently working on making the video and fixing some issues for the final ship.
Shifted the Bugatti Mistral and Elephant scene from Satin Black to a Pearl White look with Gold accents Materials: Swapped to Pearl White paint and refined the gold tusk details. Lighting: Built a dynamic outdoor environment with soft sky lighting and ground reflections. Animation: Keyframed smooth camera sweeps and light movements to highlight the body lines.
I Finshed animating and rendering the video.
I rerendered the video because it look so noisy and Chang the render engine to eevee to make it look better and it’s good to go and ship
Ships:
this is my video 3d project i make in blender, all of the details are in my readme :) hope you enjoy...
|
1793004724.3144934
|
1793091124.3144934
|
|
13666
|
My very own WebOS by @starr | Stardance
|
starr
|
1
|
7.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-24T08:09:55Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I have finally made my first webOS with a welcome window, notes app and stopwatch app. The most challenging part of this project was learning to use JavaScript and trying to code some of the logic myself (and debugging it too!!).", "repo": "https://github.com/userr73/First-WebOS", "demo": "https://userr73.github.io/First-WebOS/"}]...
|
[{"post_id": 73042, "ts": "202 [{"post_id": 73042, "ts": "2026-09-24T08:07:12Z", "hours": 0.4772, "text": "Made some quick updates to the desktop apps so that is is structured into a grid and also changed some content in the welcome and notes window"}, {"post_id": 71708, "ts": "2026-09-21T10:59:57Z", "hours": 0.9417, "text": "Stopwatch App I found a video tutorial for making a stopwatch in JS. The original vid had three separate buttons for START, STOP and RESET, but I changed this so that the START and STOP button are combined together."}, {"post_id": 68034, "ts": "2026-09-14T12:33:41Z", "hours": 1.1922, "text": "idk - Notes app content update + element exceeding window bug?? I updated the HTML so that I can add content through JavaScript so it does not need to be hard coded into the HTML file. I spent of bit of time debugging this as I couldn’t figure out why some of the content I added to the Notes app was disappearing when I clicked it. Turns out there were a few issues like calling the same function twice, but I also realised I added an event listener that ran the wrong function which was why some of the content was disappearing. Also, I did the ‘additional challenges’ in the guide, mainly the 4th point about the bug where windows can exceed the screen width and height. I used a bit of Gemini here to figure out how to get max and min values from a set of numbers (Maths.min and Maths.max) and also used W3Schools to get the window height and width as well as the div element’s own height and width. Using this, I implemented my own logic (with an if statement) to contain the element within the viewport height and width. This took a tiny bit of trial and error coz I kept getting confused on when to use min and when to use max but I got there eventually"}, {"post_id": 65925, "ts": "2026-09-11T11:55:43Z", "hours": 0.9047, "text": "Update JS code file structure + Creating the Notes app functionality I spent some time updating the structure of my js file by reordering some code and also creating functions for any repeated tasks such as initialising windows. I also worked on my Notes app and played around with some border and outline properties to see what combination of styles would make it easier for users to edit in the app. I ended up with going for a left border indicator type of thing (the colours in the screenshot below aren’t final since I haven’t worked on the overall style of my OS yet so I just went with grey and black)"}, {"post_id": 64728, "ts": "2026-09-09T11:13:39Z", "hours": 0.6311, "text": "Working with z-index Continuing with the guide, I’ve added code that ensures that whenever a window clicks, it rises to the top using the z-index property. I did the same for the top bar. Bugs An issue I faced was when I tried to use the function addWindowTapHandling() for my notes screen but I forgot that I defined the notesScreen variable later on in js file so the notes app disappeared from my OS screen for a bit. I also got really stuck on why my top bar wasn’t rising above the windows so I put my js file into Gemini and I realised it was because I had two openWindow() functions and the second one was the old version that did not have the added lines of code."}, {"post_id": 63485, "ts": "2026-09-07T11:20:20Z", "hours": 1.1106, "text": "Adding my second window I have begun working on my second window which will be a notes app. I continued to follow the guide and created an icon for the app and also a new window for it. It’s mostly taken a while to sort out the js file since I got confused with why the window wasn’t popping up at first (I didn’t name the classes and ids for the divs correctly). Here’s the update:"}, {"post_id": 61460, "ts": "2026-09-04T12:05:06Z", "hours": 2.1317, "text": "Setting up the background, top bar, window So far, I have followed the guide and created the background page with a top bar and created my first welcome page window (the content is random right now - I’ll update this later). The window is also draggable at the handle. I’m still working on what kind of style I want to aim for in my OS… Also, this is kinda my first devlog because I thought my devlogs were broken (turns out I just couldn’t figure out how to use this 💀)"}]...
|
Title: My very own WebOS by @starr | Stardance
De Title: My very own WebOS by @starr | Stardance
Devlogs:
Setting up the background, top bar, window So far, I have followed the guide and created the background page with a top bar and created my first welcome page window (the content is random right now - I’ll update this later). The window is also draggable at the handle. I’m still working on what kind of style I want to aim for in my OS… Also, this is kinda my first devlog because I thought my devlogs were broken (turns out I just couldn’t figure out how to use this 💀)
Adding my second window I have begun working on my second window which will be a notes app. I continued to follow the guide and created an icon for the app and also a new window for it. It’s mostly taken a while to sort out the js file since I got confused with why the window wasn’t popping up at first (I didn’t name the classes and ids for the divs correctly). Here’s the update:
Working with z-index Continuing with the guide, I’ve added code that ensures that whenever a window clicks, it rises to the top using the z-index property. I did the same for the top bar. Bugs An issue I faced was when I tried to use the function addWindowTapHandling() for my notes screen but I forgot that I defined the notesScreen variable later on in js file so the notes app disappeared from my OS screen for a bit. I also got really stuck on why my top bar wasn’t rising above the windows so I put my js file into Gemini and I realised it was because I had two openWindow() functions and the second one was the old version that did not have the added lines of code.
Update JS code file structure + Creating the Notes app functionality I spent some time updating the structure of my js file by reordering some code and also creating functions for any repeated tasks such as initialising windows. I also worked on my Notes app and played around with some border and outline properties to see what combination of styles would make it easier for users to edit in the app. I ended up with going for a left border indicator type of thing (the colours in the screenshot below aren’t final since I haven’t worked on the overall style of my OS yet so I just went with grey and black)
idk - Notes app content update + element exceeding window bug?? I updated the HTML so that I can add content through JavaScript so it does not need to be hard coded into the HTML file. I spent of bit of time debugging this as I couldn’t figure out why some of the content I added to the Notes app was disappearing when I clicked it. Turns out there were a few issues like calling the same function twice, but I also realised I added an event listener that ran the wrong function which was why some of the content was disappearing. Also, I did the ‘additional challenges’ in the guide, mainly the 4th point about the bug where windows can exceed the screen width and height. I used a bit of Gemini here to figure out how to get max and min values from a set of numbers (Maths.min and Maths.max) and also used W3Schools to get the window height and width as well as the div element’s own height and width. Using this, I implemented my own logic (with an if statement) to contain the element within the viewport height and width. This took a tiny bit of trial and error coz I kept getting confused on when to use min and when to use max but I got there eventually
Stopwatch App I found a video tutorial for making a stopwatch in JS. The original vid had three separate buttons for START, STOP and RESET, but I changed this so that the START and STOP button are combined together.
Made some quick updates to the desktop apps so that is is structured into a grid and also changed some content in the welcome and notes window
Ships:
I have finally made my first webOS with a welcome window, notes app and stopwatch app. The most challenging part of this project was learning to use JavaScript and trying to code some of the logic myself (and debugging it too!!)....
|
1793004723.120417
|
1793091123.120417
|