|
28240
|
My awesome macropad! by @Shlok_P | Stardance
|
Shlok_P
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-24T23:07:56Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Made a macropad- Learned a lot about coding and how to make a pcb and solder it", "repo": "https://github.com/shlokrpatel/Shlok-Superpad", "demo": ""}]...
|
[{"post_id": 73345, "ts": "202 [{"post_id": 73345, "ts": "2026-09-24T23:07:15Z", "hours": 0.9333, "text": "Coding some stuff and got it working"}, {"post_id": 26174, "ts": "2026-07-10T20:30:17Z", "hours": 2.3333, "text": "I finally finished my macropad. I troubleshooted my qmk so many times and finally found the problem and fixed with claude. I then spent some time compiling all my files into git and am currently working on the submission"}, {"post_id": 25660, "ts": "2026-07-10T02:16:54Z", "hours": 5.2308, "text": "Absolutely huge day for me. I finished my case after hours of working on it and started on my qmk coding. Coding is sooooo hard. I had to use 3 different websites and some AI to help me and still couldn’t get it right."}, {"post_id": 24790, "ts": "2026-07-08T16:15:31Z", "hours": 4.6169, "text": "First post! I have had some trouble with attaching my timelapses to my project but thanks to some amazing help in the slack I compiled all 3 of my current timelapses into my first devlog. These 3 timelapses include me making my pcb with 9 switches, a oled screen, and a rotary encoder. After I finished with the pcb I spend a lot of time looking at other projects that people made for some inspiration for my case. I finally started making my case and ran into problems with sizing and trying to get a 3 degree tilt on it. I still have to finish my case and will probably seek some help again."}]...
|
Title: My awesome macropad! by @Shlok_P | Stardanc Title: My awesome macropad! by @Shlok_P | Stardance
Devlogs:
First post! I have had some trouble with attaching my timelapses to my project but thanks to some amazing help in the slack I compiled all 3 of my current timelapses into my first devlog. These 3 timelapses include me making my pcb with 9 switches, a oled screen, and a rotary encoder. After I finished with the pcb I spend a lot of time looking at other projects that people made for some inspiration for my case. I finally started making my case and ran into problems with sizing and trying to get a 3 degree tilt on it. I still have to finish my case and will probably seek some help again.
Absolutely huge day for me. I finished my case after hours of working on it and started on my qmk coding. Coding is sooooo hard. I had to use 3 different websites and some AI to help me and still couldn’t get it right.
I finally finished my macropad. I troubleshooted my qmk so many times and finally found the problem and fixed with claude. I then spent some time compiling all my files into git and am currently working on the submission
Coding some stuff and got it working
Ships:
Made a macropad- Learned a lot about coding and how to make a pcb and solder it...
|
1793152199.338564
|
1793238599.338564
|
|
28243
|
FireWatch by @jujharseehra | Stardance
|
jujharseehra
|
1
|
8.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-06T02:23:54Z", "hours": 8.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Finished Working on FireWatch! Loved this project, but now I want to start working on my Chess Project, which I have also been hoping to do for a while. Wish me luck!", "repo": "https://github.com/JujharSeehra/FireWatch", "demo": ""}]...
|
[{"post_id": 39677, "ts": "202 [{"post_id": 39677, "ts": "2026-08-02T20:14:42Z", "hours": 3.1406, "text": "I have now finished the case of my project! After I finished the hardware and software parts of my project, I decided to start working on storing everything on Github, and building a 3D printable case. This was my first real project with 3D printing, and I am happy with how it turned out. I will now be thinking of new features to implement, and working on a new project!"}, {"post_id": 29557, "ts": "2026-07-16T16:05:11Z", "hours": 4.8436, "text": "Finished Setting Up System Infrastructure On my Raspberry Pi 5 for my Flutter + Flask Project! What I worked on was Finished up all of the Arduino code and created a serial connection between the Raspberry Pi and the Uno Built a locally hosted Flutter application using Flask that was able to continuously show the temperature and humidity measured by the Arduino Uno Added a Raspberry Pi camera that takes a photo every 2 seconds and posts it onto the Flutter application, allowing for a camera view, which can allow for Fire Spread to be visually seen once the full project is completed. My next step is to work on adding functionality to my Flutter application and adding a system to allow for multiple Raspberry Pis to be seen by the flutter application, allowing for measurements in different zones to appear on one app."}]...
|
Title: FireWatch by @jujharseehra | Stardance
Dev Title: FireWatch by @jujharseehra | Stardance
Devlogs:
Finished Setting Up System Infrastructure On my Raspberry Pi 5 for my Flutter + Flask Project! What I worked on was Finished up all of the Arduino code and created a serial connection between the Raspberry Pi and the Uno Built a locally hosted Flutter application using Flask that was able to continuously show the temperature and humidity measured by the Arduino Uno Added a Raspberry Pi camera that takes a photo every 2 seconds and posts it onto the Flutter application, allowing for a camera view, which can allow for Fire Spread to be visually seen once the full project is completed. My next step is to work on adding functionality to my Flutter application and adding a system to allow for multiple Raspberry Pis to be seen by the flutter application, allowing for measurements in different zones to appear on one app.
I have now finished the case of my project! After I finished the hardware and software parts of my project, I decided to start working on storing everything on Github, and building a 3D printable case. This was my first real project with 3D printing, and I am happy with how it turned out. I will now be thinking of new features to implement, and working on a new project!
Ships:
Finished Working on FireWatch! Loved this project, but now I want to start working on my Chess Project, which I have also been hoping to do for a while. Wish me luck!...
|
1793278502.2252753
|
1793364902.2252753
|
|
28251
|
Plasma Stove by @AmanAV | Stardance
|
AmanAV
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-14T12:19:28Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I have made a CAD model of a Plasma stove, a stove which should work air as fuel. The challenge was mainly the research part which had taken a lot of days before the project started. It works when a motor is connected to the impeller below and the Porous Metal piece that is present at the neck of the stove opening. To make it real, all it needs is a 3D print (Which I cannot do) and connecting it to the High Voltage source.", "repo": "https://github.com/amanav127/Plasma-Stove", "demo": "https://cad.onshape.com/documents/300eb5f703bc7359dcba2151/w/eb1c1aa005c55bffa8d09208/e/6ca08ea6b831576b053eb06f?renderMode=0&uiState=6a42978fc7c3fe73ab8d938f"}]...
|
[{"post_id": 18423, "ts": "202 [{"post_id": 18423, "ts": "2026-06-29T16:01:20Z", "hours": 3.8344, "text": "Hey everyone, I am making a project that is just a quick idea of a stove that has a visible and possibly way too feelable stove that uses air as fuel. It is now complete and I am about to Ship the CAD model."}]...
|
Title: Plasma Stove by @AmanAV | Stardance
Devlog Title: Plasma Stove by @AmanAV | Stardance
Devlogs:
Hey everyone, I am making a project that is just a quick idea of a stove that has a visible and possibly way too feelable stove that uses air as fuel. It is now complete and I am about to Ship the CAD model.
Ships:
I have made a CAD model of a Plasma stove, a stove which should work air as fuel. The challenge was mainly the research part which had taken a lot of days before the project started. It works when a motor is connected to the impeller below and the Porous Metal piece that is present at the neck of the stove opening. To make it real, all it needs is a 3D print (Which I cannot do) and connecting it to the High Voltage source....
|
1793202876.1595285
|
1793289276.1595285
|
|
28253
|
My own site! by @elisha | Stardance
|
elisha
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-29T16:52:24Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "a website it was hard to code in css because that new i used chatgpot to help me when i got stuck", "repo": "https://github.com/eweingarden/site", "demo": "https://eweingarden.github.io/site/"}]...
|
[{"post_id": 18453, "ts": "202 [{"post_id": 18453, "ts": "2026-06-29T16:50:50Z", "hours": 0.2739, "text": "site"}]...
|
Title: My own site! by @elisha | Stardance
Devlog Title: My own site! by @elisha | Stardance
Devlogs:
site
Ships:
a website it was hard to code in css because that new i used chatgpot to help me when i got stuck...
|
1793245950.5159733
|
1793332350.5159733
|
|
28257
|
LeadScan by @torren | Stardance
|
torren
|
1
|
6.0
|
76
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-29T16:20:48Z", "hours": 6.0, "multiplier": 13.52, "payout": 76, "blessing": "neutral", "text": "What I Made Paste a domain, get back: founder names, founding year, tech stack, emails, hiring signals, revenue estimate, and a personalized cold email you can actually send. Works in 3 seconds. Free, no login. What Was Challenging Wikipedia wikitext templates are evil. {{Unbulleted list|a|b|c}} was leaking raw into the UI. Took forever to build a depth-aware parser that actually works. Also: small businesses hide their data (no /pricing page, phone buried in microdata), so I had to scrape sub-pages in parallel. What I’m Proud Of The conviction score actually works — high score means “this person will probably respond to cold email” because they have modern tech + they’re hiring + they have pricing. The AI outreach is solid too (not template garbage). Most: it works equally well for a dentist clinic and Stripe. How to Test It Go to leadscan-web.vercel.app/scan, paste a domain (try stripe.com or your competitor), wait 3 seconds. Click “Ask AI” to fill in missing founder names or revenue. Export to CSV. That’s it.", "repo": "https://github.com/nadellasripad11/leadscan-web", "demo": "https://leadscan-web.vercel.app"}]...
|
[{"post_id": 18429, "ts": "202 [{"post_id": 18429, "ts": "2026-06-29T16:10:19Z", "hours": 5.9558, "text": "I started with a simple website scraper, but it quickly became clear that it only worked well for tech startups. So I pivoted hard: I added parallel sub-page fetching for contact and about pages, built Wikipedia integration to pull founding data, and spent a lot of time fighting ugly wikitext template parsing bugs. I also expanded industry detection from 5 categories to 20+, which made the scans much more accurate across different kinds of businesses. The UI got a full redesign too, from something vibecoded into something much more editorial, with a dark hero section, Cormorant Garamond serif text, and electric blue accents. The most important addition was the “Ask AI” button: Groq’s llama-3.3-70b now fills in missing founders, revenue, and key products on demand, but only when clicked, so there’s no latency penalty during normal scans. After setting GROQ_API_KEY on Vercel and deploying to production, the project became a full intelligence tool that can generate detailed reports for both Stripe and local businesses. Ship the thing."}]...
|
Title: LeadScan by @torren | Stardance
Devlogs:
I Title: LeadScan by @torren | Stardance
Devlogs:
I started with a simple website scraper, but it quickly became clear that it only worked well for tech startups. So I pivoted hard: I added parallel sub-page fetching for contact and about pages, built Wikipedia integration to pull founding data, and spent a lot of time fighting ugly wikitext template parsing bugs. I also expanded industry detection from 5 categories to 20+, which made the scans much more accurate across different kinds of businesses. The UI got a full redesign too, from something vibecoded into something much more editorial, with a dark hero section, Cormorant Garamond serif text, and electric blue accents. The most important addition was the “Ask AI” button: Groq’s llama-3.3-70b now fills in missing founders, revenue, and key products on demand, but only when clicked, so there’s no latency penalty during normal scans. After setting GROQ_API_KEY on Vercel and deploying to production, the project became a full intelligence tool that can generate detailed reports for both Stripe and local businesses. Ship the thing.
Ships:
What I Made Paste a domain, get back: founder names, founding year, tech stack, emails, hiring signals, revenue estimate, and a personalized cold email you can actually send. Works in 3 seconds. Free, no login. What Was Challenging Wikipedia wikitext templates are evil. {{Unbulleted list|a|b|c}} was leaking raw into the UI. Took forever to build a depth-aware parser that actually works. Also: small businesses hide their data (no /pricing page, phone buried in microdata), so I had to scrape sub-pages in parallel. What I’m Proud Of The conviction score actually works — high score means “this person will probably respond to cold email” because they have modern tech + they’re hiring + they have pricing. The AI outreach is solid too (not template garbage). Most: it works equally well for a dentist clinic and Stripe. How to Test It Go to leadscan-web.vercel.app/scan, paste a domain (try stripe.com or your competitor), wait 3 seconds. Click “Ask AI” to fill in missing founder names or revenue. Export to CSV. That’s it....
|
1793300052.9769669
|
1793386452.9769669
|
|
28258
|
CleanTone by @manayp | Stardance
|
manayp
|
1
|
5.19
|
10
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-29T18:47:13Z", "hours": 2.0, "multiplier": 5.55, "payout": 10, "blessing": "neutral", "text": "CleanTone is a browser-based audio enhancement app that cleans up instrument recordings in real-time—you upload an MP3 or WAV, click enhance, and it removes background noise, boosts clarity, cuts rumble, and normalizes volume, all without uploading anything to a server. Everything runs locally in your browser using Web Audio API and a custom FFT-based spectral denoiser. The biggest challenge was making the enhancement actually audible—the initial implementation was technically correct but barely noticeable, so I rewrote it to learn from the quietest 12% of frames, which suddenly made the 15-20dB improvement immediately obvious. I’m proud that the audio actually works (that SNR improvement is real, not marketing fluff), your audio never leaves your device (entire processing happens in seconds), and the attention to detail throughout—visual feedback for everything, helpful error messages that tell you exactly what went wrong and how to fix it, and full keyboard support with Ctrl+E to enhance, Ctrl+R to reset, Ctrl+S to download. To test it: clone from https://github.com/manayparikh1/CleanTone , run npm install && npm start, open http://localhost:3001, upload any MP3 or WAV file (phone recordings or live instruments with room noise work best), try different presets (Balanced, Voice, Strings, Wind, Max Clean), A/B compare the waveforms and audio, adjust sliders to fine-tune, click any stat to copy it, and listen for the hiss to vanish while the instrument gets clearer and louder. The app is completely private, open-source, and free—no accounts, no tracking, nothing uploaded anywhere. And AI such as Claude and Github Copilot aided me a lot in debugging and coding etc.", "repo": "https://github.com/manayparikh1/CleanTone", "demo": "https://venerable-sherbet-edd326.netlify.app/"}]...
|
[{"post_id": 26864, "ts": "202 [{"post_id": 26864, "ts": "2026-07-11T21:53:19Z", "hours": 0.6361, "text": "I deleted all the css and I tried my very best and made it human, but I removed a lot of things, but in the same time I also added things like the Rumble effect and last time there wasnt really any change in audio but now I realized that after I got told to change stuff that there was actually a few mistakes in the analysis sector but they were VERY minor so I fixed them. Overall I tried my best and hope you guys will like it. Heres how it looks underneath. I also completed the readme so everything is great now."}, {"post_id": 26287, "ts": "2026-07-11T00:10:31Z", "hours": 0.2769, "text": "I spent time tracking down the bugs and making sure everything behaved the way it was supposed to. Claude helped me sort out a few tricky issues and push the final version, and after all the fixes the project runs reliably and feels much more polished. Overall, it works well now and I’m pretty happy with how it turned out. So yeah i finished the WHAT IT DOES section just like the writing and everything"}, {"post_id": 26279, "ts": "2026-07-10T23:54:18Z", "hours": 0.8861, "text": "Reworked csss because it loooked ai and very lame though I am still working on some bugs and making the WHAT IT DOES part better by adding more into it."}, {"post_id": 18654, "ts": "2026-06-29T20:52:43Z", "hours": 1.3914, "text": "I built CleanTone as a browser-based audio enhancement tool, and in this session I focused on polishing the details: I swapped in my own logo image, added a meta description and favicon so the site looks legitimate when shared or searched, set the license to MIT, and cleaned out dependencies in package.json that were leftover from an earlier version I never finished trimming. I also added a small file-counter feature to the footer myself, but in typing it out by hand I used the wrong quote style and accidentally broke the whole script — every single feature on the page stopped working because of one syntax error. I caught it, found the exact line, fixed it, and verified the whole app worked end-to-end again before pushing. The new logo is attached below plus I hosted it in Vercel so other people can see it. Claude helped me signficantly too in fixing and making various changes and so did Github Copilot in fixing mistakes that Claude made and I also helped in coding significantly."}, {"post_id": 18518, "ts": "2026-06-29T18:16:31Z", "hours": 0.2986, "text": "Claude and I teamed up to make everything look more good for the user so that it’s user friendly and helpful in the same time."}, {"post_id": 18455, "ts": "2026-06-29T16:51:47Z", "hours": 1.5719, "text": "I am working on the connections to the browser because I want to run this locally instead of purchasing an api. So with Claude we are figuring out on how change acoustics just enough to make it sound more enhanced and better. I completed the dashboard and the features page with the play buttons where individuals could also compare their two audios."}]...
|
Title: CleanTone by @manayp | Stardance
Devlogs:
Title: CleanTone by @manayp | Stardance
Devlogs:
I am working on the connections to the browser because I want to run this locally instead of purchasing an api. So with Claude we are figuring out on how change acoustics just enough to make it sound more enhanced and better. I completed the dashboard and the features page with the play buttons where individuals could also compare their two audios.
Claude and I teamed up to make everything look more good for the user so that it’s user friendly and helpful in the same time.
I built CleanTone as a browser-based audio enhancement tool, and in this session I focused on polishing the details: I swapped in my own logo image, added a meta description and favicon so the site looks legitimate when shared or searched, set the license to MIT, and cleaned out dependencies in package.json that were leftover from an earlier version I never finished trimming. I also added a small file-counter feature to the footer myself, but in typing it out by hand I used the wrong quote style and accidentally broke the whole script — every single feature on the page stopped working because of one syntax error. I caught it, found the exact line, fixed it, and verified the whole app worked end-to-end again before pushing. The new logo is attached below plus I hosted it in Vercel so other people can see it. Claude helped me signficantly too in fixing and making various changes and so did Github Copilot in fixing mistakes that Claude made and I also helped in coding significantly.
Reworked csss because it loooked ai and very lame though I am still working on some bugs and making the WHAT IT DOES part better by adding more into it.
I spent time tracking down the bugs and making sure everything behaved the way it was supposed to. Claude helped me sort out a few tricky issues and push the final version, and after all the fixes the project runs reliably and feels much more polished. Overall, it works well now and I’m pretty happy with how it turned out. So yeah i finished the WHAT IT DOES section just like the writing and everything
I deleted all the css and I tried my very best and made it human, but I removed a lot of things, but in the same time I also added things like the Rumble effect and last time there wasnt really any change in audio but now I realized that after I got told to change stuff that there was actually a few mistakes in the analysis sector but they were VERY minor so I fixed them. Overall I tried my best and hope you guys will like it. Heres how it looks underneath. I also completed the readme so everything is great now.
Ships:
CleanTone is a browser-based audio enhancement app that cleans up instrument recordings in real-time—you upload an MP3 or WAV, click enhance, and it removes background noise, boosts clarity, cuts rumble, and normalizes volume, all without uploading anything to a server. Everything runs locally in your browser using Web Audio API and a custom FFT-based spectral denoiser. The biggest challenge was making the enhancement actually audible—the initial implementation was technically correct but barely noticeable, so I rewrote it to learn from the quietest 12% of frames, which suddenly made the 15-20dB improvement immediately obvious. I’m proud that the audio actually works (that SNR improvement is real, not marketing fluff), your audio never leaves your device (entire processing happens in seconds), and the attention to detail throughout—visual feedback for everything, helpful error messages that tell you exactly what went wrong and how to fix it, and full keyboard support with Ctrl+E to enhance, Ctrl+R to reset, Ctrl+S to download. To test it: clone from https://github.com/manayparikh1/CleanTone , run npm install && npm start, open http://localhost:3001, upload any MP3 or WAV file (phone recordings or live instruments with room noise work best), try different presets (Balanced, Voice, Strings, Wind, Max Clean), A/B compare the waveforms and audio, adjust sliders to fine-tune, click any stat to copy it, and listen for the hiss to vanish while the instrument gets clearer and louder. The app is completely private, open-source, and free—no accounts, no tracking, nothing uploaded anywhere. And AI such as Claude and Github Copilot aided me a lot in debugging and coding etc....
|
1793274712.6498978
|
1793361112.6498978
|
|
28265
|
LEGO BATMAN WarioWare Game by @ar-bh | Stardance
|
ar-bh
|
1
|
2.0
|
2
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-30T21:11:02Z", "hours": 2.0, "multiplier": 1.76, "payout": 2, "blessing": "neutral", "text": "I made LEGO Batman WarioWare game! Up/right to move left and right Space to jump Click to navigate and press the buttons Have fun!", "repo": "https://github.com/ar-bh/WarioWareGame", "demo": "https://arjun-bhumula.itch.io/lego-batman-ware-game"}]...
|
[{"post_id": 19534, "ts": "202 [{"post_id": 19534, "ts": "2026-06-30T21:10:21Z", "hours": 0.5858, "text": "My game is finished! Try it out on itch!"}, {"post_id": 18604, "ts": "2026-06-29T20:02:24Z", "hours": 1.1117, "text": "First devlog of my Lego Batman (warioware) game! I finished the main menu and the first platformer minigame, i still have to add more minigames though"}]...
|
Title: LEGO BATMAN WarioWare Game by @ar-bh | Star Title: LEGO BATMAN WarioWare Game by @ar-bh | Stardance
Devlogs:
First devlog of my Lego Batman (warioware) game! I finished the main menu and the first platformer minigame, i still have to add more minigames though
My game is finished! Try it out on itch!
Ships:
I made LEGO Batman WarioWare game! Up/right to move left and right Space to jump Click to navigate and press the buttons Have fun!...
|
1793253146.886222
|
1793339546.886222
|
|
28267
|
NovaTab by @Greg_ios | Stardance
|
Greg_ios
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-30T11:52:08Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A modern and customizable browser start page designed to make every new tab useful. NovaTab combines search, productivity tools, weather updates, quick links, and a clean interface into one dashboard. Features: Smart search bar Weather widget To-do list Quick access shortcuts Modern responsive design Customizable dashboard Built with HTML, CSS, and JavaScript.", "repo": "https://github.com/travletothefurureprogramming/NovaTab", "demo": "https://travletothefurureprogramming.github.io/NovaTab/"}]...
|
[{"post_id": 19132, "ts": "202 [{"post_id": 19132, "ts": "2026-06-30T11:41:22Z", "hours": 0.2931, "text": "NovaTab – Devlog #6 This update focuses on deployment and project documentation improvements. New Changes Project successfully deployed using GitHub Pages Live version is now publicly accessible online Created a clean and structured README.md file Improved project presentation and documentation clarity Improvements Better project visibility with live hosting More professional repository structure Clear usage instructions and feature overview in README Notes NovaTab is now fully accessible as a web app and properly documented for users and contributors."}, {"post_id": 19122, "ts": "2026-06-30T11:20:25Z", "hours": 0.5708, "text": "NovaTab – Devlog #5 Refactored and expanded NovaTab into a more structured productivity dashboard. New Features Added To-Do system with localStorage (create, toggle, delete tasks) Added Calendar widget with monthly navigation and current day highlight Refactoring / Structure Split project into separate files: index.html styles/style.css scripts/app.js Cleaner separation of UI, logic, and styling Improvements Better project organization and scalability Improved layout consistency Persistent state for links and tasks via localStorage Smoother widget interaction (search, calendar, to-do)"}, {"post_id": 19097, "ts": "2026-06-30T10:03:56Z", "hours": 0.7972, "text": "NovaTab – Devlog #4 Added customizable Quick Links powered by localStorage. New Features Added custom quick links section Users can add their own links directly from the UI Links are saved with localStorage and persist between sessions Right-click to remove saved links Added show/hide panel for managing links Improvements Improved bottom navigation layout Added weather API error handling Cleaned up UI interactions and styling Next Steps To-do list with localStorage Light/Dark theme toggle Better weather icons and location display Settings panel"}, {"post_id": 18499, "ts": "2026-06-29T17:46:23Z", "hours": 0.4436, "text": "NovaTab – Devlog #3 Improved NovaTab into a more functional productivity dashboard. New features Added real-time weather using Open-Meteo API Integrated browser geolocation for automatic location detection Expanded command system with shortcuts: /git GitHub search /ytb YouTube search /r Reddit search /chat OpenAI chat shortcut /mail Gmail access Improved overall UX flow for faster search interactions Improvements Cleaner UI spacing and structure Better input handling (Enter key support) More consistent command behavior across features Next steps Add quick links section Improve weather widget UI (icons + styling) Add local storage for personalization Add theme (dark/light toggle)"}, {"post_id": 18471, "ts": "2026-06-29T17:11:33Z", "hours": 0.3136, "text": "NovaTab – Devlog #2 Improved the overall design and user experience of NovaTab. Changes Added a modern dark gradient background Redesigned the search bar with a glass-like style Improved spacing and typography Added smooth hover and focus animations Refined the clock and date display Next Quick links To-do list Weather widget"}, {"post_id": 18454, "ts": "2026-06-29T16:51:20Z", "hours": 0.3253, "text": "NovaTab – Devlog #1 Started building NovaTab, a custom new tab page for productivity. Done so far: Basic layout with HTML/CSS/JS Centered UI with Flexbox Live clock and date using JavaScript Date Working search bar with Google redirect Enter key support for search Next steps: Add quick links Improve UI (dark mode / styling) Add to-do list (localStorage) Weather API integration"}]...
|
Title: NovaTab by @Greg_ios | Stardance
Devlogs:
Title: NovaTab by @Greg_ios | Stardance
Devlogs:
NovaTab – Devlog #1 Started building NovaTab, a custom new tab page for productivity. Done so far: Basic layout with HTML/CSS/JS Centered UI with Flexbox Live clock and date using JavaScript Date Working search bar with Google redirect Enter key support for search Next steps: Add quick links Improve UI (dark mode / styling) Add to-do list (localStorage) Weather API integration
NovaTab – Devlog #2 Improved the overall design and user experience of NovaTab. Changes Added a modern dark gradient background Redesigned the search bar with a glass-like style Improved spacing and typography Added smooth hover and focus animations Refined the clock and date display Next Quick links To-do list Weather widget
NovaTab – Devlog #3 Improved NovaTab into a more functional productivity dashboard. New features Added real-time weather using Open-Meteo API Integrated browser geolocation for automatic location detection Expanded command system with shortcuts: /git GitHub search /ytb YouTube search /r Reddit search /chat OpenAI chat shortcut /mail Gmail access Improved overall UX flow for faster search interactions Improvements Cleaner UI spacing and structure Better input handling (Enter key support) More consistent command behavior across features Next steps Add quick links section Improve weather widget UI (icons + styling) Add local storage for personalization Add theme (dark/light toggle)
NovaTab – Devlog #4 Added customizable Quick Links powered by localStorage. New Features Added custom quick links section Users can add their own links directly from the UI Links are saved with localStorage and persist between sessions Right-click to remove saved links Added show/hide panel for managing links Improvements Improved bottom navigation layout Added weather API error handling Cleaned up UI interactions and styling Next Steps To-do list with localStorage Light/Dark theme toggle Better weather icons and location display Settings panel
NovaTab – Devlog #5 Refactored and expanded NovaTab into a more structured productivity dashboard. New Features Added To-Do system with localStorage (create, toggle, delete tasks) Added Calendar widget with monthly navigation and current day highlight Refactoring / Structure Split project into separate files: index.html styles/style.css scripts/app.js Cleaner separation of UI, logic, and styling Improvements Better project organization and scalability Improved layout consistency Persistent state for links and tasks via localStorage Smoother widget interaction (search, calendar, to-do)
NovaTab – Devlog #6 This update focuses on deployment and project documentation improvements. New Changes Project successfully deployed using GitHub Pages Live version is now publicly accessible online Created a clean and structured README.md file Improved project presentation and documentation clarity Improvements Better project visibility with live hosting More professional repository structure Clear usage instructions and feature overview in README Notes NovaTab is now fully accessible as a web app and properly documented for users and contributors.
Ships:
A modern and customizable browser start page designed to make every new tab useful. NovaTab combines search, productivity tools, weather updates, quick links, and a clean interface into one dashboard. Features: Smart search bar Weather widget To-do list Quick access shortcuts Modern responsive design Customizable dashboard Built with HTML, CSS, and JavaScript....
|
1793317695.1710908
|
1793404095.1710908
|
|
28274
|
Medora by @aahish_abbani | Stardance
|
aahish_abbani
|
1
|
7.26
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-29T16:39:24Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made Medora. Medora is an all-in-one app for patients with chronic illnesses. This project was honestly very challenging, as this was my first Swift project that I’ve written in Swift code. I had to learn from scratch how to use it. I also had to watch a ton of tutorials along with buying my first MacBook by myself with my own money. To test my project, you can download it on TestFlight through any iPhone. If any features do not work, please let me know. Integrating the AI was very, very challenging, and I am still working to make it be a lot better. I am really, really proud of the UI of the app and the functionality of the dictation and recording symptoms and logs. That is my favorite feature, probably. Thank you!", "repo": "https://github.com/kinghightech/Medora", "demo": "https://testflight.apple.com/join/fAmbvbrK"}]...
|
[{"post_id": 21536, "ts": "202 [{"post_id": 21536, "ts": "2026-07-03T15:42:02Z", "hours": 0.265, "text": "I have updated the readme!"}, {"post_id": 18443, "ts": "2026-06-29T16:34:04Z", "hours": 7.4533, "text": "Im working on currently making the app feel good and work well, along with the pushnotifications to work"}]...
|
Title: Medora by @aahish_abbani | Stardance
Devlo Title: Medora by @aahish_abbani | Stardance
Devlogs:
Im working on currently making the app feel good and work well, along with the pushnotifications to work
I have updated the readme!
Ships:
I made Medora. Medora is an all-in-one app for patients with chronic illnesses. This project was honestly very challenging, as this was my first Swift project that I’ve written in Swift code. I had to learn from scratch how to use it. I also had to watch a ton of tutorials along with buying my first MacBook by myself with my own money. To test my project, you can download it on TestFlight through any iPhone. If any features do not work, please let me know. Integrating the AI was very, very challenging, and I am still working to make it be a lot better. I am really, really proud of the UI of the app and the functionality of the dictation and recording symptoms and logs. That is my favorite feature, probably. Thank you!...
|
1792882138.4208052
|
1793746138.4208052
|
|
28283
|
Robot Arm by @jake18 | Stardance
|
jake18
|
1
|
28.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T03:43:04Z", "hours": 28.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built a 5-DOF robotic arm that can move manually or remotely using coordinate control. The arm uses 5 servo motors for the arm and 1 stepper motor for the base to provide movement. Every joint in this arm is controlled through a local web app that I am running on my laptop. All of the controls, calculations, etc., are all on my laptop. The ESP32 only acts as a motor controller, receiving commands through wifi and controlling the motors. The thing that I am most proud of is the code and coordinate control. This was the first time I did a project with this scale of code, and I am proud that it works well. This was also the first time I made a web app and combining it with an ESP32. The most challenging part about this project was definitely the mechanical design. Everything in CAD worked smoothly with no mistakes, but when I printed it out, big and small errors kept showing up that delayed my project by a few weeks. I had to go through many iterations until I got one that worked. FYI the angle processing in the code is tailored to my specific motor angles and position.", "repo": "https://github.com/jakecao18/Robot-Arm", "demo": ""}]...
|
[{"post_id": 70721, "ts": "202 [{"post_id": 70721, "ts": "2026-09-19T17:29:25Z", "hours": 8.8356, "text": "Devlog #6 So i have just finished assembling the arm and making all the gears, motors and joints properly now what I have done: fixed the shoulder joint by removing the belt completely, now it runs on a 1:1.5 spur gear reduction I added the stepper motor so now the arm can rotate by its base, allowing it to move in 3d I redesigned the gripper since the old one (finray style gripper) was too weak and couldn’t pick things up. this new gripper is a rack and pinion gripper that is much stronger I have connected the SMPS power supply and now every motor can run on full power I have connected the website to the esp so now my slider control works and is accurate But there are still some problems: the backlash of all the joints add up, which means the end effector wobbles too much. My coordinate control still isn’t accurate So before shipping this project, I will fix the coordinate control code so that it is now accurate. The backlash is a separate problem that I dont think ill be able to solve in time."}, {"post_id": 47845, "ts": "2026-08-16T02:11:50Z", "hours": 10.0933, "text": "Devlog #5 I have now finished the local web server to control the robot, it includes 6 sliders for the 5 servos and 1 stepper motor and also a coordinate control. for the coordinate control, you simply plug in your x, y, z coordinates it will return j1, j2, j3, and j4 angles to you. on the coding side of that, i just wrote some simple analytical ik, mostly triangle geometry. the website is ran by flask and i am using udp sockets to send the angles to my esp32 via wifi. everything is ran on my computer, so the esp would only have to control the motors with the angles. i also did some cad to redesign the shoulder base to fix the belt problem, will start printing soon."}, {"post_id": 42286, "ts": "2026-08-06T22:24:53Z", "hours": 9.0053, "text": "Devlog #4 So ive finished the CAD for the new parts and assembled the robot arm, but the wrist roll and gripper will be attached later. the elbow and wrist pitch of the robot works smoothly now, no skipping or anything, however. the shoulder belt is still skipping under load, i have now used more teeth but it still skips. I think that this is because the belt itself is not tensioned properly (its a little loose), i will have to return the current belt and buy a new one. if anyone have any suggestions to help prevent skipping please let me know. for now that is the only major problem in this build. I am working on the gripper right now since the old design didnt work. also i have been working on a web app to control the arm from my computer to the esp via wifi. I am almost done the app and soon will be able to send data to the esp. that is all for now but i think more problems will apear later."}, {"post_id": 35021, "ts": "2026-07-26T05:31:37Z", "hours": 9.3075, "text": "Devlog #3 So now i have printed all the parts and assembled the arm up to the wrist, but a few problems prevented the arm from moving properly. The gears at the elbow are slipping when under load and also the shafts supporting them are not stable. I think I can fix this by locking the two shafts together and using wider M2 gears. The belt at the shoulder is also slipping under load. I think that i just need the gears to be bigger so that they can tension the belt better. The elbow joint servo doesnt have enough movement to drive the whole elbow 180 degrees because of the gears. I messed up this part because i was supposed to buy the 270 degree servo not the 180 one. Ill be waiting for the 270 servo to arrive. Aside from those problems I have written code so that I can control the servos by angle and not PWM pulses. The base of the arm works fine, Ill be controlling that as soon as i learn how to control a stepper motor. For now I have redesigned most of the arm to fix these problems, but as i wait for the servo and all the parts to print, ill try to work on a web that can control the arm."}, {"post_id": 27505, "ts": "2026-07-13T04:01:09Z", "hours": 4.1847, "text": "Devlog #2 Finished printing everything and started testing if everything fit together. Some of the components had weak spots or didn’t fit together well. I had to go back and forth between CAD and printing for a while because my tolerances weren’t quite correct. Everything fits nicely now. I also made a GitHub repo and added all the CAD files, BOM, pictures etc. I will update GitHub frequently, and everything needed to recreate this project will be there. I also made a wiring diagram and in the process realized that I needed a few more components to make sure that the arm would work smoothly and safely. I was kinda hard to learn why I needed all these different components but in the end I think it makes sense to me now. The next steps now is probably to buy the components and then assemble the robot. In the meantime though I think I can start writing some code on Inverse Kinematics for the Robot. I want it to be able to move all the servos to the correct angle when given some coordinates."}, {"post_id": 21070, "ts": "2026-07-02T20:57:09Z", "hours": 1.2269, "text": "Devlog #1 Completed the CAD assembly for my robot arm. I plan it to be a 5-DOF arm with 5 motors for movement and 1 motor for the claw. I’m using 5 servos and 1 stepper motor right now but I don’t know if I should change it all into servos. I also made the arm be able to swap grippers pretty easily. Im gonna print everything for this arm, gears, gripper, etc. I can also 3d print the ball bearings but I think its better to buy them. The next step is to start printing everything, buying all the parts and start assembling it. Once Im done assembling Ill start coding it. I plan for the arm to run on a Raspberry Pi and be controlled via an app."}]...
|
Title: Robot Arm by @jake18 | Stardance
Devlogs:
Title: Robot Arm by @jake18 | Stardance
Devlogs:
Devlog #1 Completed the CAD assembly for my robot arm. I plan it to be a 5-DOF arm with 5 motors for movement and 1 motor for the claw. I’m using 5 servos and 1 stepper motor right now but I don’t know if I should change it all into servos. I also made the arm be able to swap grippers pretty easily. Im gonna print everything for this arm, gears, gripper, etc. I can also 3d print the ball bearings but I think its better to buy them. The next step is to start printing everything, buying all the parts and start assembling it. Once Im done assembling Ill start coding it. I plan for the arm to run on a Raspberry Pi and be controlled via an app.
Devlog #2 Finished printing everything and started testing if everything fit together. Some of the components had weak spots or didn’t fit together well. I had to go back and forth between CAD and printing for a while because my tolerances weren’t quite correct. Everything fits nicely now. I also made a GitHub repo and added all the CAD files, BOM, pictures etc. I will update GitHub frequently, and everything needed to recreate this project will be there. I also made a wiring diagram and in the process realized that I needed a few more components to make sure that the arm would work smoothly and safely. I was kinda hard to learn why I needed all these different components but in the end I think it makes sense to me now. The next steps now is probably to buy the components and then assemble the robot. In the meantime though I think I can start writing some code on Inverse Kinematics for the Robot. I want it to be able to move all the servos to the correct angle when given some coordinates.
Devlog #3 So now i have printed all the parts and assembled the arm up to the wrist, but a few problems prevented the arm from moving properly. The gears at the elbow are slipping when under load and also the shafts supporting them are not stable. I think I can fix this by locking the two shafts together and using wider M2 gears. The belt at the shoulder is also slipping under load. I think that i just need the gears to be bigger so that they can tension the belt better. The elbow joint servo doesnt have enough movement to drive the whole elbow 180 degrees because of the gears. I messed up this part because i was supposed to buy the 270 degree servo not the 180 one. Ill be waiting for the 270 servo to arrive. Aside from those problems I have written code so that I can control the servos by angle and not PWM pulses. The base of the arm works fine, Ill be controlling that as soon as i learn how to control a stepper motor. For now I have redesigned most of the arm to fix these problems, but as i wait for the servo and all the parts to print, ill try to work on a web that can control the arm.
Devlog #4 So ive finished the CAD for the new parts and assembled the robot arm, but the wrist roll and gripper will be attached later. the elbow and wrist pitch of the robot works smoothly now, no skipping or anything, however. the shoulder belt is still skipping under load, i have now used more teeth but it still skips. I think that this is because the belt itself is not tensioned properly (its a little loose), i will have to return the current belt and buy a new one. if anyone have any suggestions to help prevent skipping please let me know. for now that is the only major problem in this build. I am working on the gripper right now since the old design didnt work. also i have been working on a web app to control the arm from my computer to the esp via wifi. I am almost done the app and soon will be able to send data to the esp. that is all for now but i think more problems will apear later.
Devlog #5 I have now finished the local web server to control the robot, it includes 6 sliders for the 5 servos and 1 stepper motor and also a coordinate control. for the coordinate control, you simply plug in your x, y, z coordinates it will return j1, j2, j3, and j4 angles to you. on the coding side of that, i just wrote some simple analytical ik, mostly triangle geometry. the website is ran by flask and i am using udp sockets to send the angles to my esp32 via wifi. everything is ran on my computer, so the esp would only have to control the motors with the angles. i also did some cad to redesign the shoulder base to fix the belt problem, will start printing soon.
Devlog #6 So i have just finished assembling the arm and making all the gears, motors and joints properly now what I have done: fixed the shoulder joint by removing the belt completely, now it runs on a 1:1.5 spur gear reduction I added the stepper motor so now the arm can rotate by its base, allowing it to move in 3d I redesigned the gripper since the old one (finray style gripper) was too weak and couldn’t pick things up. this new gripper is a rack and pinion gripper that is much stronger I have connected the SMPS power supply and now every motor can run on full power I have connected the website to the esp so now my slider control works and is accurate But there are still some problems: the backlash of all the joints add up, which means the end effector wobbles too much. My coordinate control still isn’t accurate So before shipping this project, I will fix the coordinate control code so that it is now accurate. The backlash is a separate problem that I dont think ill be able to solve in time.
Ships:
I built a 5-DOF robotic arm that can move manually or remotely using coordinate control. The arm uses 5 servo motors for the arm and 1 stepper motor for the base to provide movement. Every joint in this arm is controlled through a local web app that I am running on my laptop. All of the controls, calculations, etc., are all on my laptop. The ESP32 only acts as a motor controller, receiving commands through wifi and controlling the motors. The thing that I am most proud of is the code and coordinate control. This was the first time I did a project with this scale of code, and I am proud that it works well. This was also the first time I made a web app and combining it with an ESP32. The most challenging part about this project was definitely the mechanical design. Everything in CAD worked smoothly with no mistakes, but when I printed it out, big and small errors kept showing up that delayed my project by a few weeks. I had to go through many iterations until I got one that worked. FYI the angle processing in the code is tailored to my specific motor angles and position....
|
1793152568.4147947
|
1793238968.4147947
|
|
28285
|
Late for Work by @lionclaws78956 | Stardance
|
lionclaws78956
|
1
|
19.0
|
259
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-18T14:25:43Z", "hours": 19.0, "multiplier": 13.9, "payout": 259, "blessing": "neutral", "text": "I have created a platformer where time constantly slows down, requiring you to pick up items to stay awake. It was made entirely in Godot, using GDScript and GDShader for all of the coding required. There were some movement issues, however it was all eventually able to be fixed in the end. The process took a long time, with many bugs coming when I’m trying to make a simple feature, but I’m proud of the end result with 4 different levels you can play on, each getting progressively harder. There are 2 different difficulties you can play on, since normal mode seemed a little too difficult for the average player. Credits: the music was made by MFCC on Pixabay and the Background was made by cityvector91 on Creative Fabrica. I hope you enjoy.", "repo": "https://github.com/Varun-Ganeshkumar/Late-For-Work", "demo": "https://lionclaws.itch.io/late-for-work"}]...
|
[{"post_id": 30327, "ts": "202 [{"post_id": 30327, "ts": "2026-07-17T19:51:10Z", "hours": 3.5667, "text": "#Everything is finished! Game is uploaded onto itch.io, and more mechanics have been added other than the levels. Everything added since the last devlog: Choice of difficulty Ability to go back to menu after death A total of 4 playable levels “Bonus” content after beating the game on any difficulty For the last time this project, more details below. 1. Difficulty chooser I’ve added an easy mode and a normal mode, with the easy mode having the rate of time slowing far less than the rate in normal mode. In both modes, the difficulty of platforming is the exact same. Easy mode will only give you more time to complete it, but the game is meant to be fast paced. The start button will also not appear until you choose a difficulty. 2. Ability to go back to main menu Originally, before this, there was no way to go back to the main menu after you clicked start. Since I added a difficulty menu, I wanted people to go back if they were deeply struggling and died many times, causing me to add that button. However, I decided to delete the options button on the menu since I wanted to finish this project as soon as possible. 3. The levels and bonus content This was actually the easiest part, as it required no technical parts, and I just had to play the game to see how difficult it would be for the average player. After finishing the four levels (with some having some unique gimmicks), when you start back in the first level you will have infinite items and infinite jumps just because you played it. No more goals to add for the future! I really enjoyed this project, and I’m ready for more games in the future. You can play it now on itch.io and the repository is there with the project. The game is finally over, and I hope you enjoy."}, {"post_id": 29665, "ts": "2026-07-16T18:50:37Z", "hours": 3.8186, "text": "Last devlog before shipping this project. Added music, a life system, and changed how death from time running out works. What I’ve done since last devlog: Added background music that plays throughout levels Pauses when dying or needing to restart Added a life system starting with 3 lives If you lose these lives, you start all the way from level one again Converted level one into a tutorial If you’ve seen the other devlogs, you probably know that I’ve been putting that last task on a devlog every single time, and I’ve only finished it now. As always, more detail on the big tasks below. 1. The background music I used some more royalty free music, this time being from pixabay with the artist being MFCC. I’m really thankful these are here, as they allow me to finish the project quicker with nicer details. This part didn’t take too long, with the main part being converting the audio player into a global part for Godot and writing a script to make it play. This did require adding around 3 more variables into the global script, however. 2. The life system If you’ve seen the other devlogs, you probably don’t remember me adding this as a goal. This is because it wasn’t, and I just wanted to make it for some reason. What it does is that if you fall into the void or run out of time, you lose a life and get sent back to the beginning of the level. If you lose all 3, you are presented with a big button saying try again, and you get sent back to level 1. This took most of my time, as there were many bugs that appeared attempting to make this work how I wanted it to. My final goals: Finish creating the levels Upload the game and finish the repository Possibly make a victory screen with benefits for winning These last goals seem to be the easiest, however I do say that every single time and they do not get easier. These don’t really require code, and I believe this will take around 2 hours max, depending how I’m feeling. This will be the last devlog, no matter how long it takes as there isn’t much more to report with tasks and it would get a little much talking about half of an unfinished task. See you guys at shipment."}, {"post_id": 28905, "ts": "2026-07-15T14:41:41Z", "hours": 2.5422, "text": "I’ve currently finished adding the dynamic background, added animations for the different items, and adjusted the time mechanic along with the vignette to make it feel more balanced. Next devlog should be the last. Exact things that were finished: Added a background that moves slower than the camera Credits to cityvector91 for the royalty free background Gave more designs for the items (specifically the level end) Added animations towards the items to make them look more alive Edited the time mechanic to end the game quicker along with the vignette Added extra comments to the code I’m not going to go too in depth with these, but I will mention the important parts. 1. The dynamic background I mentioned last time that I wasn’t able to finish this last time, but it was actually simpler than I thought. After going in with a fresh mind, I was able to finish it, and now it moves slightly slower than the player to show how it really is a city far away. I’m not changing the platforms, however. Those seem fine. 2. New designs and animations These usually take the longest amount of time, since I’m not the greatest at art, but I made a stopwatch and that was pretty simple. I would attach it, but I don’t know how to put multiple images in, so the image is how everything actually looks in production. I also made the coffee item and next level item move up and down using AnimationPlayer, making everything seem much smoother. ##The last goals: Add music and sound effects Think about what to do with the adrenaline item and possible sprites Finish making the game in general I really don’t want to do this as it is the most boring part of the entire process I really hope that this will be the second to last devlog before I upload the game. The remaining goals seem so simple, and I’m thinking of putting all the credits in the description or just replace the options button with a credits button. Either way, hopefully the rest will be finished in less than 3 hours. See you guys next devlog."}, {"post_id": 24766, "ts": "2026-07-08T15:33:19Z", "hours": 3.0886, "text": "Currently made a HUD and revamped many of the designs! COMPLETED TASKS: Made a functioning HUD that appears on start Added animations for jumping, idling, and running There was another task that I attempted to do, but eventually scratched (more on 3.) 1. Making the functional HUD This was actually one of the easier parts of the entire game, and I was able to finish the basics in around 30 minutes, but then spent around another 30 minutes making it look slightly nice. I only need to add something for the options button (maybe add a credits button as well for outside music and possibly art) and a background and the HUD will be fully complete. 2. Making animations (the hard part) I am not an artist by any means, so it took a long time attempting to make something that I thought would look good. Worst part about that is that I wasn’t working directly in the program to work on those so I lost around 90 minutes that went unlogged. i did make some designs that I do like, so I think animations are overall done! 3. Background attempt I really wanted to make a scrolling background or something similar, with a city scape that moved when the player moved. I was, unfortunately, unable to do this after around 30 minutes of trial and error, so I scratched the idea and will probably make a static background instead. I wanted to just get this devlog out there and focus on creating other tasks instead since it has been 3 hours unlogged, and I wanted to just get something done so I can list out future tasks that I will follow. TASKS FOR THE FUTURE: Revamp level 1/make it into a tutorial Also need to finish making the other levels Most likely the final step Add a working background Add options Add music and credits Design other final sprite I did believe that this wouldn’t take too long after finishing the last devlog, but it turns out that it may take longer than I wanted it to. The music, sprite design, and options will be the easiest as they don’t require code, so the part that I’m most worried about is the background. Again. Hopefully the next devlog will be the last one."}, {"post_id": 20780, "ts": "2026-07-02T14:01:19Z", "hours": 4.5703, "text": "I’ve finished the two goals I wanted to do in the last devlog. After 4 and a half hours that felt way too long. The two goals I’ve discussed last devlog were: Adding the visual that changes when the character gets tired The visual below is the inverse, when the character has a lot of adrenaline and is going faster than normal Fixing the coyote time and double jump bug The first one took around an hour, which made sense since I never learned shaders before making it for the border. The second one, however, took 3 hours and 30 minutes and I still don’t really know how I solved it. (Sorry for so much bold text, it’s the only way to separate paragraphs that I know) 1. The Visual/Vignette Overall, the main problem wasn’t with the visual, but with making the visual a smooth transition from dark to light. When using an item, I wanted it to transition from black to white smoothly rather than being instantaneous. The main problem was using a while loop. While loops can be helpful, however they run during a single frame in the function I was attempting to use in Godot. It also crashed my program. If you ever need to make a transition like this, I would recommend against a while loop because of what happened, unless you’re stubborn and don’t know much about other loops like me. I put the loop within a separate function with a timer in it to fix this problem, and it works great now! I think that’s all I’ll do for that, and that is also theoretically the hardest part of the entire game since I needed to learn many things for that. It still took a lot less time compared to 2. The Double Jump Bug This was very strange and was there since I had implemented coyote time into the game. For those unaware with game design, coyote time is extra walking time when moving off of a platform, making jumps more lenient and making it feel less like the game is unfair when failing a jump. The problem was when jumping during this small coyote time, it would make an ultra jump and prevent the player from using their double jump. This was super unintentional and made the game much more difficult when testing out the level. It took a very long time, but I added an extra timer, completely revamped my system with double jump (changing it from a boolean to an integer that counts the number of jumps you took), and added ANOTHER boolean that would help count when double jumps were used. It took a long time, with so much trial and error, but I was finally able to figure it out after around 3 days of thinking and attempting. I had to take many breaks in between because of how frustrated I was with this. For now, I’m happy it’s finally completed, and I will no longer touch this code in fear something will break again unless it’s absolutely necessary. My Remaining Goals: Make a background and get visuals for the items Revamp design of main character Make a main menu Add a death screen and make level 1 harder/change it into a tutorial Overall, I doubt these goals will take over 5 hours combined unless something else comes up. These issues took a long time, and I believe the next longest thing will be the art as I am not that great with art if you couldn’t tell with the screenshots. I may decide to add cutscenes in order to learn more about Godot, but that depends how long the other goals take. See you in the next devlog, and I hope it will come out sooner than this one."}, {"post_id": 18569, "ts": "2026-06-29T19:21:31Z", "hours": 1.035, "text": "I’m continuing a platformer with a time mechanic that I started during Summer of Making! The main mechanic constantly slows down time, and your (sleepy) main character has to collect items that will keep them awake, such as coffee and pure adrenaline for some reason. Currently, I have: One level built Coffee item designed and working The HUD that counts how many of an item you have (I worked mostly on this today) Adrenaline item with no design but still works The killzone, which is necessary for almost every platformer Everything except for the HUD was made before this year, and I mostly just tested the game again. The image below shows the HUD in the top left corner, and, although it’s not shown, it does work but doesn’t reset when you fall off. There needs to be a better way or better visual for the game over, since it isn’t really that great currently. MY GOALS FOR THE FUTURE: Make a visual to show the character getting tired Edges would progressively get darker and darker as time goes on until it fades to black Fix the Coyote time and Double Jump bug When coyote time is active, jumping uses both double jump and regular jump to make a mega jump which is very much not intended Design the adrenaline sprite and redesign the character Main character design is currently a placeholder Finish making the 4(ish) remaining levels Make the main menu These are ranked from highest to lowest in terms of priority, but now that I’m looking at all these goals together it doesn’t seem like it will take as long as I originally thought. Hopefully I will spend around 2 to 3 hours the next day coding, and I’ll make another devlog discussing what I’ve accomplished. My main goal for tomorrow is to fix the first two goals that I’ve put down."}]...
|
Title: Late for Work by @lionclaws78956 | Stardanc Title: Late for Work by @lionclaws78956 | Stardance
Devlogs:
I’m continuing a platformer with a time mechanic that I started during Summer of Making! The main mechanic constantly slows down time, and your (sleepy) main character has to collect items that will keep them awake, such as coffee and pure adrenaline for some reason. Currently, I have: One level built Coffee item designed and working The HUD that counts how many of an item you have (I worked mostly on this today) Adrenaline item with no design but still works The killzone, which is necessary for almost every platformer Everything except for the HUD was made before this year, and I mostly just tested the game again. The image below shows the HUD in the top left corner, and, although it’s not shown, it does work but doesn’t reset when you fall off. There needs to be a better way or better visual for the game over, since it isn’t really that great currently. MY GOALS FOR THE FUTURE: Make a visual to show the character getting tired Edges would progressively get darker and darker as time goes on until it fades to black Fix the Coyote time and Double Jump bug When coyote time is active, jumping uses both double jump and regular jump to make a mega jump which is very much not intended Design the adrenaline sprite and redesign the character Main character design is currently a placeholder Finish making the 4(ish) remaining levels Make the main menu These are ranked from highest to lowest in terms of priority, but now that I’m looking at all these goals together it doesn’t seem like it will take as long as I originally thought. Hopefully I will spend around 2 to 3 hours the next day coding, and I’ll make another devlog discussing what I’ve accomplished. My main goal for tomorrow is to fix the first two goals that I’ve put down.
I’ve finished the two goals I wanted to do in the last devlog. After 4 and a half hours that felt way too long. The two goals I’ve discussed last devlog were: Adding the visual that changes when the character gets tired The visual below is the inverse, when the character has a lot of adrenaline and is going faster than normal Fixing the coyote time and double jump bug The first one took around an hour, which made sense since I never learned shaders before making it for the border. The second one, however, took 3 hours and 30 minutes and I still don’t really know how I solved it. (Sorry for so much bold text, it’s the only way to separate paragraphs that I know) 1. The Visual/Vignette Overall, the main problem wasn’t with the visual, but with making the visual a smooth transition from dark to light. When using an item, I wanted it to transition from black to white smoothly rather than being instantaneous. The main problem was using a while loop. While loops can be helpful, however they run during a single frame in the function I was attempting to use in Godot. It also crashed my program. If you ever need to make a transition like this, I would recommend against a while loop because of what happened, unless you’re stubborn and don’t know much about other loops like me. I put the loop within a separate function with a timer in it to fix this problem, and it works great now! I think that’s all I’ll do for that, and that is also theoretically the hardest part of the entire game since I needed to learn many things for that. It still took a lot less time compared to 2. The Double Jump Bug This was very strange and was there since I had implemented coyote time into the game. For those unaware with game design, coyote time is extra walking time when moving off of a platform, making jumps more lenient and making it feel less like the game is unfair when failing a jump. The problem was when jumping during this small coyote time, it would make an ultra jump and prevent the player from using their double jump. This was super unintentional and made the game much more difficult when testing out the level. It took a very long time, but I added an extra timer, completely revamped my system with double jump (changing it from a boolean to an integer that counts the number of jumps you took), and added ANOTHER boolean that would help count when double jumps were used. It took a long time, with so much trial and error, but I was finally able to figure it out after around 3 days of thinking and attempting. I had to take many breaks in between because of how frustrated I was with this. For now, I’m happy it’s finally completed, and I will no longer touch this code in fear something will break again unless it’s absolutely necessary. My Remaining Goals: Make a background and get visuals for the items Revamp design of main character Make a main menu Add a death screen and make level 1 harder/change it into a tutorial Overall, I doubt these goals will take over 5 hours combined unless something else comes up. These issues took a long time, and I believe the next longest thing will be the art as I am not that great with art if you couldn’t tell with the screenshots. I may decide to add cutscenes in order to learn more about Godot, but that depends how long the other goals take. See you in the next devlog, and I hope it will come out sooner than this one.
Currently made a HUD and revamped many of the designs! COMPLETED TASKS: Made a functioning HUD that appears on start Added animations for jumping, idling, and running There was another task that I attempted to do, but eventually scratched (more on 3.) 1. Making the functional HUD This was actually one of the easier parts of the entire game, and I was able to finish the basics in around 30 minutes, but then spent around another 30 minutes making it look slightly nice. I only need to add something for the options button (maybe add a credits button as well for outside music and possibly art) and a background and the HUD will be fully complete. 2. Making animations (the hard part) I am not an artist by any means, so it took a long time attempting to make something that I thought would look good. Worst part about that is that I wasn’t working directly in the program to work on those so I lost around 90 minutes that went unlogged. i did make some designs that I do like, so I think animations are overall done! 3. Background attempt I really wanted to make a scrolling background or something similar, with a city scape that moved when the player moved. I was, unfortunately, unable to do this after around 30 minutes of trial and error, so I scratched the idea and will probably make a static background instead. I wanted to just get this devlog out there and focus on creating other tasks instead since it has been 3 hours unlogged, and I wanted to just get something done so I can list out future tasks that I will follow. TASKS FOR THE FUTURE: Revamp level 1/make it into a tutorial Also need to finish making the other levels Most likely the final step Add a working background Add options Add music and credits Design other final sprite I did believe that this wouldn’t take too long after finishing the last devlog, but it turns out that it may take longer than I wanted it to. The music, sprite design, and options will be the easiest as they don’t require code, so the part that I’m most worried about is the background. Again. Hopefully the next devlog will be the last one.
I’ve currently finished adding the dynamic background, added animations for the different items, and adjusted the time mechanic along with the vignette to make it feel more balanced. Next devlog should be the last. Exact things that were finished: Added a background that moves slower than the camera Credits to cityvector91 for the royalty free background Gave more designs for the items (specifically the level end) Added animations towards the items to make them look more alive Edited the time mechanic to end the game quicker along with the vignette Added extra comments to the code I’m not going to go too in depth with these, but I will mention the important parts. 1. The dynamic background I mentioned last time that I wasn’t able to finish this last time, but it was actually simpler than I thought. After going in with a fresh mind, I was able to finish it, and now it moves slightly slower than the player to show how it really is a city far away. I’m not changing the platforms, however. Those seem fine. 2. New designs and animations These usually take the longest amount of time, since I’m not the greatest at art, but I made a stopwatch and that was pretty simple. I would attach it, but I don’t know how to put multiple images in, so the image is how everything actually looks in production. I also made the coffee item and next level item move up and down using AnimationPlayer, making everything seem much smoother. ##The last goals: Add music and sound effects Think about what to do with the adrenaline item and possible sprites Finish making the game in general I really don’t want to do this as it is the most boring part of the entire process I really hope that this will be the second to last devlog before I upload the game. The remaining goals seem so simple, and I’m thinking of putting all the credits in the description or just replace the options button with a credits button. Either way, hopefully the rest will be finished in less than 3 hours. See you guys next devlog.
Last devlog before shipping this project. Added music, a life system, and changed how death from time running out works. What I’ve done since last devlog: Added background music that plays throughout levels Pauses when dying or needing to restart Added a life system starting with 3 lives If you lose these lives, you start all the way from level one again Converted level one into a tutorial If you’ve seen the other devlogs, you probably know that I’ve been putting that last task on a devlog every single time, and I’ve only finished it now. As always, more detail on the big tasks below. 1. The background music I used some more royalty free music, this time being from pixabay with the artist being MFCC. I’m really thankful these are here, as they allow me to finish the project quicker with nicer details. This part didn’t take too long, with the main part being converting the audio player into a global part for Godot and writing a script to make it play. This did require adding around 3 more variables into the global script, however. 2. The life system If you’ve seen the other devlogs, you probably don’t remember me adding this as a goal. This is because it wasn’t, and I just wanted to make it for some reason. What it does is that if you fall into the void or run out of time, you lose a life and get sent back to the beginning of the level. If you lose all 3, you are presented with a big button saying try again, and you get sent back to level 1. This took most of my time, as there were many bugs that appeared attempting to make this work how I wanted it to. My final goals: Finish creating the levels Upload the game and finish the repository Possibly make a victory screen with benefits for winning These last goals seem to be the easiest, however I do say that every single time and they do not get easier. These don’t really require code, and I believe this will take around 2 hours max, depending how I’m feeling. This will be the last devlog, no matter how long it takes as there isn’t much more to report with tasks and it would get a little much talking about half of an unfinished task. See you guys at shipment.
#Everything is finished! Game is uploaded onto itch.io, and more mechanics have been added other than the levels. Everything added since the last devlog: Choice of difficulty Ability to go back to menu after death A total of 4 playable levels “Bonus” content after beating the game on any difficulty For the last time this project, more details below. 1. Difficulty chooser I’ve added an easy mode and a normal mode, with the easy mode having the rate of time slowing far less than the rate in normal mode. In both modes, the difficulty of platforming is the exact same. Easy mode will only give you more time to complete it, but the game is meant to be fast paced. The start button will also not appear until you choose a difficulty. 2. Ability to go back to main menu Originally, before this, there was no way to go back to the main menu after you clicked start. Since I added a difficulty menu, I wanted people to go back if they were deeply struggling and died many times, causing me to add that button. However, I decided to delete the options button on the menu since I wanted to finish this project as soon as possible. 3. The levels and bonus content This was actually the easiest part, as it required no technical parts, and I just had to play the game to see how difficult it would be for the average player. After finishing the four levels (with some having some unique gimmicks), when you start back in the first level you will have infinite items and infinite jumps just because you played it. No more goals to add for the future! I really enjoyed this project, and I’m ready for more games in the future. You can play it now on itch.io and the repository is there with the project. The game is finally over, and I hope you enjoy.
Ships:
I have created a platformer where time constantly slows down, requiring you to pick up items to stay awake. It was made entirely in Godot, using GDScript and GDShader for all of the coding required. There were some movement issues, however it was all eventually able to be fixed in the end. The process took a long time, with many bugs coming when I’m trying to make a simple feature, but I’m proud of the end result with 4 different levels you can play on, each getting progressively harder. There are 2 different difficulties you can play on, since normal mode seemed a little too difficult for the average player. Credits: the music was made by MFCC on Pixabay and the Background was made by cityvector91 on Creative Fabrica. I hope you enjoy....
|
1793274987.5842917
|
1793361387.5842917
|
|
28290
|
FutureHacks Website by @kingjamesh | Stardance
|
kingjamesh
|
1
|
7.0
|
21
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-06T16:31:46Z", "hours": 7.0, "multiplier": 3.06, "payout": 21, "blessing": "neutral", "text": "I built a landing page for my hackathon, FutureHacks! It’s a static website with three pages: a landing page, resource page, and winners page. You can see my project at: https://futurehacks.techshareproject.org", "repo": "https://github.com/jameshou28/FutureHacks", "demo": "https://futurehacks.techshareproject.org"}]...
|
[{"post_id": 23560, "ts": "202 [{"post_id": 23560, "ts": "2026-07-06T16:29:23Z", "hours": 1.7325, "text": "Devlog: Hackathon’s complete! I built the winners page, updated the landing page, and created a readme"}, {"post_id": 19682, "ts": "2026-07-01T02:19:00Z", "hours": 4.9967, "text": "Devlog: I recently hosted an online hackathon with my npo and I built a website for it. I forgot to add it to stardance as I was making it website: https://futurehacks.techshareproject.org"}]...
|
Title: FutureHacks Website by @kingjamesh | Starda Title: FutureHacks Website by @kingjamesh | Stardance
Devlogs:
Devlog: I recently hosted an online hackathon with my npo and I built a website for it. I forgot to add it to stardance as I was making it website: https://futurehacks.techshareproject.org
Devlog: Hackathon’s complete! I built the winners page, updated the landing page, and created a readme
Ships:
I built a landing page for my hackathon, FutureHacks! It’s a static website with three pages: a landing page, resource page, and winners page. You can see my project at: https://futurehacks.techshareproject.org...
|
1792878471.8928518
|
1793742471.8928518
|
|
28294
|
LinkReaper by @jayeshsinghal | Stardance
|
jayeshsinghal
|
1
|
1.0
|
10
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-29T19:24:04Z", "hours": 1.0, "multiplier": 7.13, "payout": 10, "blessing": "neutral", "text": "I made a website that lets you save time doing academic research by ensuring the links you click on are openable, and it does the busy work of finding alternative access for you. saves time on academic research by ensuring the links you click open, and it handles the busywork. While building this project, I found many bugs, but I was able to fix them over time with some help from AI. Overall, I learned backend and web scraping by building this project.", "repo": "https://github.com/jsplaystore/linkreaper", "demo": "https://linkreaper.vercel.app/"}]...
|
[{"post_id": 18567, "ts": "202 [{"post_id": 18567, "ts": "2026-06-29T19:20:00Z", "hours": 0.8858, "text": "Fixed a couple bugs relating to links and finding broken links, also made the UI quicker and more informative."}, {"post_id": 18485, "ts": "2026-06-29T17:25:09Z", "hours": 0.4953, "text": "Working on LinkReaper, found an initial error in terms of the server not responding correctly to websites. I developed a patch and am now testing the fix. Found another fix, with the positive user feedback not logging."}]...
|
Title: LinkReaper by @jayeshsinghal | Stardance
D Title: LinkReaper by @jayeshsinghal | Stardance
Devlogs:
Working on LinkReaper, found an initial error in terms of the server not responding correctly to websites. I developed a patch and am now testing the fix. Found another fix, with the positive user feedback not logging.
Fixed a couple bugs relating to links and finding broken links, also made the UI quicker and more informative.
Ships:
I made a website that lets you save time doing academic research by ensuring the links you click on are openable, and it does the busy work of finding alternative access for you. saves time on academic research by ensuring the links you click open, and it handles the busywork. While building this project, I found many bugs, but I was able to fix them over time with some help from AI. Overall, I learned backend and web scraping by building this project....
|
1792878769.0008776
|
1793742769.0008776
|
|
28297
|
Website by @lynop81 | Stardance
|
lynop81
|
1
|
13.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-04T08:39:52Z", "hours": 13.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "this doesnt work on mobile yet sorry lol", "repo": "https://github.com/ruilyn/my-website", "demo": "https://ruilyn.github.io/my-website/index.html"}]...
|
[{"post_id": 22017, "ts": "202 [{"post_id": 22017, "ts": "2026-07-04T08:05:15Z", "hours": 1.9478, "text": "final devlog before i attempt to deploy and ship, made a proper menu + added placeholder pages to link buttons and navi to"}, {"post_id": 21914, "ts": "2026-07-04T02:59:09Z", "hours": 0.5733, "text": "page is coming together but theres still a lot more work to do"}, {"post_id": 21675, "ts": "2026-07-03T19:14:12Z", "hours": 0.9561, "text": "messed with layout more and added buttons"}, {"post_id": 21320, "ts": "2026-07-03T05:55:04Z", "hours": 0.4436, "text": "cortisol so high rn"}, {"post_id": 21279, "ts": "2026-07-03T03:53:28Z", "hours": 0.3369, "text": "scrolly text weeeee"}, {"post_id": 21226, "ts": "2026-07-03T01:55:19Z", "hours": 5.1689, "text": "added textures"}, {"post_id": 20530, "ts": "2026-07-02T04:34:34Z", "hours": 0.8697, "text": "made logo, next is the drawing for hero section (site layout is vertical but i mashed top and bottom into one photo so it’s viewable here)"}, {"post_id": 20403, "ts": "2026-07-02T00:08:49Z", "hours": 1.2178, "text": "big things are happening"}, {"post_id": 20362, "ts": "2026-07-01T22:51:05Z", "hours": 0.6981, "text": "did a lot of conceptualizing on paper before deciding on structure, made a quick skeleton to visualize stuff and play with space before i get real"}, {"post_id": 19805, "ts": "2026-07-01T06:08:01Z", "hours": 0.6764, "text": "probably going to spend a bulk of this project outside of vsc making assets and planning layout so i wont log much time but Whatever Maybe the real startdust were the friends we made along the way."}, {"post_id": 19686, "ts": "2026-07-01T02:25:36Z", "hours": 0.5397, "text": "website exists now"}]...
|
Title: Website by @lynop81 | Stardance
Devlogs:
w Title: Website by @lynop81 | Stardance
Devlogs:
website exists now
probably going to spend a bulk of this project outside of vsc making assets and planning layout so i wont log much time but Whatever Maybe the real startdust were the friends we made along the way.
did a lot of conceptualizing on paper before deciding on structure, made a quick skeleton to visualize stuff and play with space before i get real
big things are happening
made logo, next is the drawing for hero section (site layout is vertical but i mashed top and bottom into one photo so it’s viewable here)
added textures
scrolly text weeeee
cortisol so high rn
messed with layout more and added buttons
page is coming together but theres still a lot more work to do
final devlog before i attempt to deploy and ship, made a proper menu + added placeholder pages to link buttons and navi to
Ships:
this doesnt work on mobile yet sorry lol...
|
1793329041.063109
|
1793415441.063109
|
|
28301
|
Irish DECA by @ngarnsworthy | Stardance
|
ngarnsworthy
|
1
|
9.71
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-01T15:26:17Z", "hours": 9.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I created the frontend for a LMS made for a DECA chapter. The backend still needs to be implemented. The frontend targets server side rendering whenever possible to allow for better caching!", "repo": "https://gitlab.com/ngarnsworthy/irish-deca-experiance", "demo": "https://deca.ngarnsworthy.dev"}]...
|
[{"post_id": 75884, "ts": "202 [{"post_id": 75884, "ts": "2026-10-01T14:09:35Z", "hours": 0.7106, "text": "Added a mockup register page and removed dead links"}, {"post_id": 59623, "ts": "2026-09-01T15:20:59Z", "hours": 0.3333, "text": "Added README.md and worked on a event view."}, {"post_id": 55131, "ts": "2026-08-26T16:23:18Z", "hours": 8.5639, "text": "Done Created some promotional content for the team Test taking and viewing frontend Test dashboard frontend TODO Event management More promo content User login Backend data store"}]...
|
Title: Irish DECA by @ngarnsworthy | Stardance
De Title: Irish DECA by @ngarnsworthy | Stardance
Devlogs:
Done Created some promotional content for the team Test taking and viewing frontend Test dashboard frontend TODO Event management More promo content User login Backend data store
Added README.md and worked on a event view.
Added a mockup register page and removed dead links
Ships:
I created the frontend for a LMS made for a DECA chapter. The backend still needs to be implemented. The frontend targets server side rendering whenever possible to allow for better caching!...
|
1793303832.4494326
|
1793390232.4494326
|
|
28316
|
MusicPi by @albin_zieme | Stardance
|
albin_zieme
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-26T00:11:10Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a custom spotify board using an arduino nano and OLED display so that I wouldn’t get distracted by screens at night. At night I like to listen to music on my speakers, but when I go to turn off the music from my phone or computer, I see another notification that drags me in for even longer. I made this so I can put it on my bedside table, click one button, and it will turn off my music without ever distracting me. What was so hard about this was the wireless connection between the Arduino Nano and the ESP32 dongle. Also, interfacing with spotify was difficult as well. One cool feature I made is that if you press the play button three times you can see radio mode, which connects to multiple different web radios, so you can listen to french music or norweigan music if you like! I hope you guys like it!", "repo": "https://github.com/WillZlog/MusicPi", "demo": ""}]...
|
[{"post_id": 82837, "ts": "202 [{"post_id": 82837, "ts": "2026-10-25T23:58:48Z", "hours": 1.0306, "text": "Finally recieved PCB! I know its been a while since last dev log but i’ve been busy with school. I recieved PCB a couple months ago, but only soldered it now. Messed up on my first try :( but its fine because I got it the second time. Overall i’m really happy with how this turned out, and I will be using my project in the future to listen to my music!"}, {"post_id": 18812, "ts": "2026-06-30T00:47:49Z", "hours": 1.4742, "text": "I went through my repo and added all documentation that was neccesary. I added a BOM,Hardware.md, added more 3D print types (STEP and STL) and also a .gitignore. Also i made some feature changes, I added an auto turn off toggle inside the service menu, along with an updated start up screen that displays the version number. All in all, I packaged all of this and released it as V1.0.0 on github :) (Oh yeah also I added a github action to auto compile the .ino and python code and verify the results)"}, {"post_id": 18640, "ts": "2026-06-29T20:38:58Z", "hours": 0.9225, "text": "Update and Feature: I haven’t talked much abt firmware on the esp32’s or raspberry pi so: On the remote ESP32-S3, I have arduino code running that establishes a peer to peer connection via ESP-NOW with the ESP-C3 Super Mini, which is connected to the Pi. It then takes button inputs, and if it’s a command sends it to the ESP-C3, ensuring all packets are recieived. Some other features don’t need to be sent though, like the new turn off OLED feature. Since that’s all handled internally on the remote, no command is sent. Also to ensure a strong connection between the two ESP’s, the dongle sends a heartbeat out to the remote every three seconds. I don’t really know what photo to attach here so uhhhhhhh heres a screenshot of some of the code setting up ESP-NOW i guess."}, {"post_id": 18543, "ts": "2026-06-29T18:43:14Z", "hours": 0.9328, "text": "CASE DESIGN: While waiting for the PCB to arrive, expected in like the nest 3 days, I designed a case, all measurements are from KiCAD pcb, and i test printed it and it screws in perfectly with M2.5x20mm screws. —–Images attached show the case on Onshape, and also what it looks like printed out. NOTE: the middle thing is a 3d model of the pcb, it will be replaced by the actual PCB."}, {"post_id": 18483, "ts": "2026-06-29T17:24:14Z", "hours": 0.8244, "text": "PCB DESIGN: I created the schematic and the PCB and I ordered it. I used a generic 7 pin connector for my OLED, and include a GND pour in the pcb. I also added 4 2.2mm mounting holes to make it easier to create a case later."}]...
|
Title: MusicPi by @albin_zieme | Stardance
Devlog Title: MusicPi by @albin_zieme | Stardance
Devlogs:
PCB DESIGN: I created the schematic and the PCB and I ordered it. I used a generic 7 pin connector for my OLED, and include a GND pour in the pcb. I also added 4 2.2mm mounting holes to make it easier to create a case later.
CASE DESIGN: While waiting for the PCB to arrive, expected in like the nest 3 days, I designed a case, all measurements are from KiCAD pcb, and i test printed it and it screws in perfectly with M2.5x20mm screws. —–Images attached show the case on Onshape, and also what it looks like printed out. NOTE: the middle thing is a 3d model of the pcb, it will be replaced by the actual PCB.
Update and Feature: I haven’t talked much abt firmware on the esp32’s or raspberry pi so: On the remote ESP32-S3, I have arduino code running that establishes a peer to peer connection via ESP-NOW with the ESP-C3 Super Mini, which is connected to the Pi. It then takes button inputs, and if it’s a command sends it to the ESP-C3, ensuring all packets are recieived. Some other features don’t need to be sent though, like the new turn off OLED feature. Since that’s all handled internally on the remote, no command is sent. Also to ensure a strong connection between the two ESP’s, the dongle sends a heartbeat out to the remote every three seconds. I don’t really know what photo to attach here so uhhhhhhh heres a screenshot of some of the code setting up ESP-NOW i guess.
I went through my repo and added all documentation that was neccesary. I added a BOM,Hardware.md, added more 3D print types (STEP and STL) and also a .gitignore. Also i made some feature changes, I added an auto turn off toggle inside the service menu, along with an updated start up screen that displays the version number. All in all, I packaged all of this and released it as V1.0.0 on github :) (Oh yeah also I added a github action to auto compile the .ino and python code and verify the results)
Finally recieved PCB! I know its been a while since last dev log but i’ve been busy with school. I recieved PCB a couple months ago, but only soldered it now. Messed up on my first try :( but its fine because I got it the second time. Overall i’m really happy with how this turned out, and I will be using my project in the future to listen to my music!
Ships:
I made a custom spotify board using an arduino nano and OLED display so that I wouldn’t get distracted by screens at night. At night I like to listen to music on my speakers, but when I go to turn off the music from my phone or computer, I see another notification that drags me in for even longer. I made this so I can put it on my bedside table, click one button, and it will turn off my music without ever distracting me. What was so hard about this was the wireless connection between the Arduino Nano and the ESP32 dongle. Also, interfacing with spotify was difficult as well. One cool feature I made is that if you press the play button three times you can see radio mode, which connects to multiple different web radios, so you can listen to french music or norweigan music if you like! I hope you guys like it!...
|
1793231452.407488
|
1793317852.407488
|
|
28340
|
Untitled by @Aiman | Stardance
|
Aiman
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-01T10:07:18Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a simple program in Python as my first official project. What it basically does is just ask you what degree it is outside, and based on that information, it determines whether it’s cold, hot, or moderate :)", "repo": "https://github.com/aiman8916730-ui/temp-indicator", "demo": "https://trinket.io/library/trinkets/create?lang=python"}]...
|
[{"post_id": 19252, "ts": "202 [{"post_id": 19252, "ts": "2026-06-30T14:46:32Z", "hours": 0.5111, "text": "hiiii so this is just smthng i made that asks you what the weather is outside and acc to th info it tells u if its cold,hot or moderate :)"}]...
|
Title: Untitled by @Aiman | Stardance
Devlogs:
hi Title: Untitled by @Aiman | Stardance
Devlogs:
hiiii so this is just smthng i made that asks you what the weather is outside and acc to th info it tells u if its cold,hot or moderate :)
Ships:
I made a simple program in Python as my first official project. What it basically does is just ask you what degree it is outside, and based on that information, it determines whether it’s cold, hot, or moderate :)...
|
1793224409.4118536
|
1793310809.4118536
|
|
28354
|
MULTI by @Henrik_Eriksen | Stardance
|
Henrik_Eriksen
|
1
|
24.0
|
386
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-09T01:07:43Z", "hours": 24.0, "multiplier": 13.28, "payout": 386, "blessing": "neutral", "text": "Over the span of about 23 hours i have made a Arduino multi tasking game that is based very loosely upon the contraption you see in the picture to the left, the Schuhfried Universal Response panel. the panel is used when taking different tests to get your private/commercial pilots license. The gameplay loop revolves around multitasking 3 different things at once, they are as follows: ensure that you always press middle button when an x shows up on the middle screen, ensure that the potentiometer is always pointed at the lit up led(its the one to the left in the second picture) and lasty press the corresponding button combo when up and down are shown on the lower half of the lcd, you do this by pressing left and right buttons. This project has been a major challenge to me since i barely knew how to code (and arguably still dont know how write good code) when i started this project. The reason for me shipping this as software and not hardware as originally intended is since i want to get the ISS question in the shop. The question timeline would have expired before hardware starts to get reviewed. I am highly aware that my code might be very inefficient but i have been coding and learning to for about 20 days. I will now try to explain my code. The first part of the before setup is just labeling booleans and integers that will be used later(i am using integers to keep track of many things that i could use booleans for but i wasn’t aware of booleans until about 1/3 of the code was already written and i didn’t want to rewrite everything already using integers), the part of the code that i would say i am most proud of is is my fail system since it constantly works every time and i think the way i did it was a clever solution. For context the fail system works by clearing the LCD then printing YOU FAILED! Reset Arduino, the way that it ensures the Arduino is reset is by setting a delay on the code that lasts indefinitely until the Arduino is reset. A bit explanation about how the different game modes: For the upper lcd screen: An random number between 1 and 13 is generated every time the reaction time game is completed(by pressing middle button when x shows on lcd), it also gets an random number between 150ms and 500ms that determines how fast the numbers will be printed on the lcd screen. This effects your time to react and leaves it at somewhere between 450ms and 1.5s. Led minigame: a number between 1 and 2 is picked randomly, this decides what led is going to light up, it then determines if the potentiometer potentiometer is pointed at the lit up LED(i am a bit unsure if this works perfectly on pc). i determined the correct position for potentiometer my pointing it at at the leds to see what angles would work for minimum and max, this is also why i am a bit unsure as to if this works fully on pc since i dont know if the potentiometer outputs the same angle, i haven’t experienced anything indicating that this is doesn’t work on pc though during my playtesting. If you want to try my game in your web browser click the demo link and click the big green button in the top right that says start the simulation when you hover over it. And when you fail to multitask press the square in the top right of the window to stop the simulation (very important do not pause it, you have to stop it!). The controls for the minigame are as follows: 1 = leftmost button, when an X appears on the lcd screen press the middle button to complete and restart it, if the bottom half of the lcd say down press the left most button and if the lcd says up press the rightmost button(combine those inputs if up then down and down then up) and lastly for the red led lights just point the potentiometer towards it. If you find the game very hard to play on pc it is because this wasn’t designed for it, i have fully built it using my own Arduino uno and parts that come with the Arduino starter kit and verified that it works irl. Cant write more, text limit.", "repo": "https://github.com/Onlysubhenrik/multi-tasking-minigame-on-arduino-minigame-on-Arduino", "demo": "https://app.cirkitdesigner.com/project/d06255aa-6f98-41b6-9677-e4eba724c674"}]...
|
[{"post_id": 25030, "ts": "202 [{"post_id": 25030, "ts": "2026-07-08T23:30:58Z", "hours": 2.9031, "text": "Posting this devlog right before ship. The news things i have done is i scrapped the flight minigame entirely, I have reworked the reaction time mingame that plays on the upper part of the lcd. The minigame now has more variety and it is now random when the time window to press the middle button appears and random how long it lasts. (another cat picture since i have nothing else to show a picture of)"}, {"post_id": 23856, "ts": "2026-07-07T01:25:23Z", "hours": 2.32, "text": "HELLO PEOPLE, as i promised about 3 hours ago (sleep is something you can do after you have shipped) I have ported my Arduino project into web, it is now fully functional and you can try it. before you try here are the controls: 1 = leftbutton 2 = rightbutton Up = right You press the middle button when there is an x showing on the lcd screen Down = left When the left led is lit up point the potentiometer at it, and when the right led is lit up turn the potentiometer to face that. (no cat photo since i have something to show off) (btw flight is not yet implemented) (btw btw flight to start and restart the Arduino press the square and green button in the up right corner, in order to properly reset it you have to stop the simulation not pause it) As for the coding i have done i am still rewriting the up and down feature. LINK: https://app.cirkitdesigner.com/project/d06255aa-6f98-41b6-9677-e4eba724c674"}, {"post_id": 23775, "ts": "2026-07-06T22:13:04Z", "hours": 2.5831, "text": "Decided that i am going to be rewriting all the code involving the up down minigame, i will also be changing this project from hardware to software soon so in hopes of getting an ISS message in time before they sell out or the time expires. Due to me changing it from hardware to software not very much will change other than me providing a working build each devlog after this one that YOU can play by using an Arduino emulator link. I will also keep updating my GitHub when major changes are done. . (since nothing changed on the breadboard layout and nothing will change anytime in the future i will be placing a cat photo of one my cats in its place) (this photo is of Jupiter)"}, {"post_id": 21446, "ts": "2026-07-03T12:22:53Z", "hours": 4.0481, "text": "This is the biggest change i have made so far, the new things in the game are as follows: the 2 new buttons serve a purpose, new minigame where it says up, down, down then up or up then down, this minigame uses the 2 new buttons, added a new start menu where it prompts you to right button for multi and left button for a new minigame that will only be using the LCD screen, i changed the led color from green to red, and the last major change is that i made is removing useless old code. , My planned changes are making a new minigame using the lcd as the main part, and looking into if i can get the lcd backlight to work."}, {"post_id": 20423, "ts": "2026-07-02T00:47:56Z", "hours": 1.8517, "text": "Removed every bug i encountered in about 10 minutes of playtime. Removed the “good action” led because i see it as unnecessary when more minigames are added, removed unneeded parts of the code and rewrote some of it to make it less confusing. I also made and coded in 2 new buttons to be used in the future. the possibilities you have when 3 side by side buttons are available is endless. I also made the parts that decide how little time you have in the reaction time game random so that they vary from half a second to 2/3 of a second per character. Means that your time window to react will fluctuate between 1.5 and 1 second. I also made the time it takes to fail the turn minigame vary from 3-2 seconds. , my vision for the 2 new buttons so far is that they will be clicked when a prompt shows up on the bottom part of the lcd (for example left, right or a combination of the 2) might even remove the old reaction time minigame entirely and replace it with something that uses all 3 buttons. (look at picture for current breadboard layout) (i wont post code due to there being very minor changes) (open picture in its own tab to view it fully)"}, {"post_id": 20109, "ts": "2026-07-01T17:11:18Z", "hours": 3.2031, "text": "Now i have finalized the 2 main multitasking games, one of them has an LCD screen that displays an time window of 1.5 seconds. in that timeframe you have to click a button to reset the timer to 8 seconds. so for 1.5 out of those 8 seconds you have to click the button. The other feature that i made is an potentiometer that grabs a random direction (left or right) and you have 3 seconds to turn the potentiometer to the correct side. you can see the correct side by looking at the 2 leds close to it (you can guess what sides they are on). The features i intent to add now are a second minigame on the screen (utilizing the lower part of the screen and 1 or more buttons) as for what i am going to do with that minigame in terms of functionality i have not yet decided. (picture has to be opened in its own tab for it to properly show)"}, {"post_id": 19567, "ts": "2026-06-30T21:59:06Z", "hours": 4.8067, "text": "The main feature that i will use for my Multitasking game is complete, the LCD screen that displays if you loose and that has a reaction time feature and an LED that lights green once you have completed a correct action. the game revolves around you having to click an button within a 3 second timeframe, if you fail to do then the entire Arduino freezes and the LCD displays a message about how you lost and that you must restart your Arduino to reset the minigame. The way that i am making this work is by using lots of integers. an example from the code is this: int lcdx = 0; if (digitalRead(switchPin) == HIGH){ if(lcdx >=14 && lcdx <= 16){ good++; lcd.clear(); digitalWrite(goodled, HIGH); delay(1000); digitalWrite(goodled, LOW); lcdx = 0; } This is how i register if the button was pressed within the timeframe, if it was pressed within the timeframe the “goodled” lights up and the minigame pauses for a second. My insiration for this project is the multitasking deivces you have to use to get your ppl (private pilots lisence) (picture is a pilot Multitasking test device)"}, {"post_id": 18793, "ts": "2026-06-30T00:27:19Z", "hours": 0.9042, "text": "I wanted to learn how an tilt sensor works and how to practically apply it to code since i was thinking about using it for my multitasking game. when i coded up the tilt sensor based digital hourglass i discovered that the tilt sensor legs are way to short to fit properly into the socket. after discovering this i thought i would still post a develog since i spent about an hours doing this. i would say that i generally advanced my coding knowledge with this"}, {"post_id": 18683, "ts": "2026-06-29T21:26:21Z", "hours": 0.5981, "text": "just Learned the second thing needed for this project, i learned how to make a buzzer and subsequently use buttons to turn it into an keyboard instrument of sorts. here is the code: int notes[] = {262, 294, 330, 349};void setup(){ Serial.begin(9600);}void loop(){ int keyVal = analogRead(A0); Serial.println(keyVal); if (keyVal == 1023){ tone(8, notes[0]); } else if(keyVal >= 990 && keyVal <=1010){ tone(8, notes[1]); } else if (keyVal >=505 && keyVal <= 1010){ tone(8, notes[2]); } else if (keyVal >= 5 && keyVal <= 10){ tone(8, notes[3]); } else { noTone(8); }} image is still wrongly cropped, to see the whole creation open the image in its own tab"}, {"post_id": 18626, "ts": "2026-06-29T20:27:57Z", "hours": 1.0003, "text": "The first of the many Arduino skills i will have to learn. I now understand how to control an potentiometer and an servo motor. The things that i still have to learn are: How to control an lcd, how to control an tilt sensor, how to make it so that your lcd has a high score and timer on it and much more. Here is the code i am using to controll the servo via potentiometer #include <Servo.h>Servo myServo;int const potPin = A0;int potVal;int angle;void setup(){ myServo.attach(9); Serial.begin(9600);}void loop(){ potVal = analogRead(potPin); Serial.print(“potVal: “); Serial.print(potVal); angle = map(potVal, 0, 1023, 0, 179); myServo.write(angle); delay(15);} image is getting cropped incorectly"}]...
|
Title: MULTI by @Henrik_Eriksen | Stardance
Devlo Title: MULTI by @Henrik_Eriksen | Stardance
Devlogs:
The first of the many Arduino skills i will have to learn. I now understand how to control an potentiometer and an servo motor. The things that i still have to learn are: How to control an lcd, how to control an tilt sensor, how to make it so that your lcd has a high score and timer on it and much more. Here is the code i am using to controll the servo via potentiometer #include <Servo.h>Servo myServo;int const potPin = A0;int potVal;int angle;void setup(){ myServo.attach(9); Serial.begin(9600);}void loop(){ potVal = analogRead(potPin); Serial.print(“potVal: “); Serial.print(potVal); angle = map(potVal, 0, 1023, 0, 179); myServo.write(angle); delay(15);} image is getting cropped incorectly
just Learned the second thing needed for this project, i learned how to make a buzzer and subsequently use buttons to turn it into an keyboard instrument of sorts. here is the code: int notes[] = {262, 294, 330, 349};void setup(){ Serial.begin(9600);}void loop(){ int keyVal = analogRead(A0); Serial.println(keyVal); if (keyVal == 1023){ tone(8, notes[0]); } else if(keyVal >= 990 && keyVal <=1010){ tone(8, notes[1]); } else if (keyVal >=505 && keyVal <= 1010){ tone(8, notes[2]); } else if (keyVal >= 5 && keyVal <= 10){ tone(8, notes[3]); } else { noTone(8); }} image is still wrongly cropped, to see the whole creation open the image in its own tab
I wanted to learn how an tilt sensor works and how to practically apply it to code since i was thinking about using it for my multitasking game. when i coded up the tilt sensor based digital hourglass i discovered that the tilt sensor legs are way to short to fit properly into the socket. after discovering this i thought i would still post a develog since i spent about an hours doing this. i would say that i generally advanced my coding knowledge with this
The main feature that i will use for my Multitasking game is complete, the LCD screen that displays if you loose and that has a reaction time feature and an LED that lights green once you have completed a correct action. the game revolves around you having to click an button within a 3 second timeframe, if you fail to do then the entire Arduino freezes and the LCD displays a message about how you lost and that you must restart your Arduino to reset the minigame. The way that i am making this work is by using lots of integers. an example from the code is this: int lcdx = 0; if (digitalRead(switchPin) == HIGH){ if(lcdx >=14 && lcdx <= 16){ good++; lcd.clear(); digitalWrite(goodled, HIGH); delay(1000); digitalWrite(goodled, LOW); lcdx = 0; } This is how i register if the button was pressed within the timeframe, if it was pressed within the timeframe the “goodled” lights up and the minigame pauses for a second. My insiration for this project is the multitasking deivces you have to use to get your ppl (private pilots lisence) (picture is a pilot Multitasking test device)
Now i have finalized the 2 main multitasking games, one of them has an LCD screen that displays an time window of 1.5 seconds. in that timeframe you have to click a button to reset the timer to 8 seconds. so for 1.5 out of those 8 seconds you have to click the button. The other feature that i made is an potentiometer that grabs a random direction (left or right) and you have 3 seconds to turn the potentiometer to the correct side. you can see the correct side by looking at the 2 leds close to it (you can guess what sides they are on). The features i intent to add now are a second minigame on the screen (utilizing the lower part of the screen and 1 or more buttons) as for what i am going to do with that minigame in terms of functionality i have not yet decided. (picture has to be opened in its own tab for it to properly show)
Removed every bug i encountered in about 10 minutes of playtime. Removed the “good action” led because i see it as unnecessary when more minigames are added, removed unneeded parts of the code and rewrote some of it to make it less confusing. I also made and coded in 2 new buttons to be used in the future. the possibilities you have when 3 side by side buttons are available is endless. I also made the parts that decide how little time you have in the reaction time game random so that they vary from half a second to 2/3 of a second per character. Means that your time window to react will fluctuate between 1.5 and 1 second. I also made the time it takes to fail the turn minigame vary from 3-2 seconds. , my vision for the 2 new buttons so far is that they will be clicked when a prompt shows up on the bottom part of the lcd (for example left, right or a combination of the 2) might even remove the old reaction time minigame entirely and replace it with something that uses all 3 buttons. (look at picture for current breadboard layout) (i wont post code due to there being very minor changes) (open picture in its own tab to view it fully)
This is the biggest change i have made so far, the new things in the game are as follows: the 2 new buttons serve a purpose, new minigame where it says up, down, down then up or up then down, this minigame uses the 2 new buttons, added a new start menu where it prompts you to right button for multi and left button for a new minigame that will only be using the LCD screen, i changed the led color from green to red, and the last major change is that i made is removing useless old code. , My planned changes are making a new minigame using the lcd as the main part, and looking into if i can get the lcd backlight to work.
Decided that i am going to be rewriting all the code involving the up down minigame, i will also be changing this project from hardware to software soon so in hopes of getting an ISS message in time before they sell out or the time expires. Due to me changing it from hardware to software not very much will change other than me providing a working build each devlog after this one that YOU can play by using an Arduino emulator link. I will also keep updating my GitHub when major changes are done. . (since nothing changed on the breadboard layout and nothing will change anytime in the future i will be placing a cat photo of one my cats in its place) (this photo is of Jupiter)
HELLO PEOPLE, as i promised about 3 hours ago (sleep is something you can do after you have shipped) I have ported my Arduino project into web, it is now fully functional and you can try it. before you try here are the controls: 1 = leftbutton 2 = rightbutton Up = right You press the middle button when there is an x showing on the lcd screen Down = left When the left led is lit up point the potentiometer at it, and when the right led is lit up turn the potentiometer to face that. (no cat photo since i have something to show off) (btw flight is not yet implemented) (btw btw flight to start and restart the Arduino press the square and green button in the up right corner, in order to properly reset it you have to stop the simulation not pause it) As for the coding i have done i am still rewriting the up and down feature. LINK: https://app.cirkitdesigner.com/project/d06255aa-6f98-41b6-9677-e4eba724c674
Posting this devlog right before ship. The news things i have done is i scrapped the flight minigame entirely, I have reworked the reaction time mingame that plays on the upper part of the lcd. The minigame now has more variety and it is now random when the time window to press the middle button appears and random how long it lasts. (another cat picture since i have nothing else to show a picture of)
Ships:
Over the span of about 23 hours i have made a Arduino multi tasking game that is based very loosely upon the contraption you see in the picture to the left, the Schuhfried Universal Response panel. the panel is used when taking different tests to get your private/commercial pilots license. The gameplay loop revolves around multitasking 3 different things at once, they are as follows: ensure that you always press middle button when an x shows up on the middle screen, ensure that the potentiometer is always pointed at the lit up led(its the one to the left in the second picture) and lasty press the corresponding button combo when up and down are shown on the lower half of the lcd, you do this by pressing left and right buttons. This project has been a major challenge to me since i barely knew how to code (and arguably still dont know how write good code) when i started this project. The reason for me shipping this as software and not hardware as originally intended is since i want to get the ISS question in the shop. The question timeline would have expired before hardware starts to get reviewed. I am highly aware that my code might be very inefficient but i have been coding and learning to for about 20 days. I will now try to explain my code. The first part of the before setup is just labeling booleans and integers that will be used later(i am using integers to keep track of many things that i could use booleans for but i wasn’t aware of booleans until about 1/3 of the code was already written and i didn’t want to rewrite everything already using integers), the part of the code that i would say i am most proud of is is my fail system since it constantly works every time and i think the way i did it was a clever solution. For context the fail system works by clearing the LCD then printing YOU FAILED! Reset Arduino, the way that it ensures the Arduino is reset is by setting a delay on the code that lasts indefinitely until the Arduino is reset. A bit explanation about how the different game modes: For the upper lcd screen: An random number between 1 and 13 is generated every time the reaction time game is completed(by pressing middle button when x shows on lcd), it also gets an random number between 150ms and 500ms that determines how fast the numbers will be printed on the lcd screen. This effects your time to react and leaves it at somewhere between 450ms and 1.5s. Led minigame: a number between 1 and 2 is picked randomly, this decides what led is going to light up, it then determines if the potentiometer potentiometer is pointed at the lit up LED(i am a bit unsure if this works perfectly on pc). i determined the correct position for potentiometer my pointing it at at the leds to see what angles would work for minimum and max, this is also why i am a bit unsure as to if this works fully on pc since i dont know if the potentiometer outputs the same angle, i haven’t experienced anything indicating that this is doesn’t work on pc though during my playtesting. If you want to try my game in your web browser click the demo link and click the big green button in the top right that says start the simulation when you hover over it. And when you fail to multitask press the square in the top right of the window to stop the simulation (very important do not pause it, you have to stop it!). The controls for the minigame are as follows: 1 = leftmost button, when an X appears on the lcd screen press the middle button to complete and restart it, if the bottom half of the lcd say down press the left most button and if the lcd says up press the rightmost button(combine those inputs if up then down and down then up) and lastly for the red led lights just point the potentiometer towards it. If you find the game very hard to play on pc it is because this wasn’t designed for it, i have fully built it using my own Arduino uno and parts that come with the Arduino starter kit and verified that it works irl. Cant write more, text limit....
|
1793227723.3449945
|
1793314123.3449945
|
|
28356
|
Frictionless by @Tr33Fr0g | Stardance
|
Tr33Fr0g
|
1
|
3.0
|
11
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-30T08:00:30Z", "hours": 3.0, "multiplier": 8.36, "payout": 11, "blessing": "neutral", "text": "I made a funny posture checker project that does a certain feature when you decide to slouch at all. A lot of people in my family struggle with back issues so itll help you correct your posture and get to that and in a funny way involving ducks too!", "repo": "https://github.com/Tr33Fr0g/Quack-Attack-Frictionless", "demo": "https://quack-attack-frictionless.vercel.app?_vercel_share=b62OlKkVumX45idVnOOx8X3Fu82XWMEG"}]...
|
[{"post_id": 19054, "ts": "202 [{"post_id": 19054, "ts": "2026-06-30T07:22:49Z", "hours": 0.4922, "text": "ADDED THE DUCK ATTACK AND WADDLING AND EVERYTHING IS WORKING NOW THAT TOOK WAY LONGER THAN IT SHOULD’VE!!"}, {"post_id": 19041, "ts": "2026-06-30T06:47:54Z", "hours": 0.6586, "text": "Fixed the posture tracking, a couple syntax errors, and just basic things i forgot to add correctly."}, {"post_id": 18902, "ts": "2026-06-30T02:56:40Z", "hours": 1.2389, "text": "Added webcam access and a few other small things also fixed like 50 other things ngl"}, {"post_id": 18558, "ts": "2026-06-29T19:07:46Z", "hours": 0.2825, "text": "“Created the bare bones HTML screen and file directory”"}]...
|
Title: Frictionless by @Tr33Fr0g | Stardance
Devl Title: Frictionless by @Tr33Fr0g | Stardance
Devlogs:
“Created the bare bones HTML screen and file directory”
Added webcam access and a few other small things also fixed like 50 other things ngl
Fixed the posture tracking, a couple syntax errors, and just basic things i forgot to add correctly.
ADDED THE DUCK ATTACK AND WADDLING AND EVERYTHING IS WORKING NOW THAT TOOK WAY LONGER THAN IT SHOULD’VE!!
Ships:
I made a funny posture checker project that does a certain feature when you decide to slouch at all. A lot of people in my family struggle with back issues so itll help you correct your posture and get to that and in a funny way involving ducks too!...
|
1793303735.368924
|
1793390135.368924
|
|
28364
|
CampusBallot by @nshettigar | Stardance
|
nshettigar
|
1
|
19.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-13T18:09:22Z", "hours": 19.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What did you make? I built lCampusBallot, a desktop app (C++/Qt6) for running secure campus elections, student council elections, class rep elections, club leadership elections, etc. It handles the whole process: registering students and candidates, running the vote through a dedicated kiosk interface, and generating live results. It supports role-based logins (Super Admin, Election Admin, Teacher, Student Volunteer, Observer, Result Auditor), encrypts and digitally signs each vote, keeps a tamper-evident audit log of every action, and can back itself up automatically. Data is stored locally in SQLite by default, with an optional Firebase sync mode for multi-machine setups. What was challenging? Getting the security pieces to actually work together, encryption, hashing, and digital signatures on votes, plus tamper detection on the stored records, without slowing down the voting flow or making it fragile. Designing the role-based access control so that six different roles each see and can do only what they should, without the permission logic turning into spaghetti. Handling student identity verification (matching against uploaded files/rosters, plus QR/barcode/RFID support) so the same student can’t vote twice while still keeping the kiosk experience fast and simple for voters. Making the Firebase-backed multi-machine sync path reliable was noticeably harder than making the local SQLite path reliable, which is still the least battle-tested part of the app. What are you proud of? The audit log — every login, vote, and admin action is timestamped, hashed, and effectively tamper-evident, so there’s a real accountability trail if anyone questions a result. The full flow works end-to-end: setup wizard → student/candidate registration → live voting on the kiosk → real-time results dashboard, all in one cohesive app rather than a collection of scripts. The plugin architecture — I designed it to be extensible (for custom storage backends and extra functionality) rather than hard-coding everything. What should people know to test your project? It’s a pre-release build — run it once through a full rehearsal (test election, test students, test candidates) before trusting it with a real vote. On first launch, it opens a Setup Wizard: choose local SQLite storage (the most tested path) or Firebase (experimental), then create the admin account. Log in as admin to add students, create an election, add and approve candidates, then start voting and open the Voting Kiosk view actually to cast votes. Windows may show a SmartScreen warning since the build isn’t code-signed yet — that’s expected, not a red flag. Check ballot.log in the app’s data folder if anything crashes or behaves oddly.", "repo": "https://github.com/codingwithnsh/CampusBallot", "demo": "https://github.com/codingwithnsh/CampusBallot/releases/download/v.1.0.0-Beta/windows-app.zip"}]...
|
[{"post_id": 46464, "ts": "202 [{"post_id": 46464, "ts": "2026-08-13T18:04:49Z", "hours": 0.2575, "text": "Almost done"}, {"post_id": 46436, "ts": "2026-08-13T17:19:37Z", "hours": 6.0606, "text": "almost finished with the app"}, {"post_id": 25944, "ts": "2026-07-10T13:39:26Z", "hours": 12.8678, "text": "I am currently developing an application for voting in schools called Campus Ballot. I’ve already completed the login screen, sign-up screen, and the dashboard. I’m excited to share the final product with you all soon!"}]...
|
Title: CampusBallot by @nshettigar | Stardance
De Title: CampusBallot by @nshettigar | Stardance
Devlogs:
I am currently developing an application for voting in schools called Campus Ballot. I’ve already completed the login screen, sign-up screen, and the dashboard. I’m excited to share the final product with you all soon!
almost finished with the app
Almost done
Ships:
What did you make? I built lCampusBallot, a desktop app (C++/Qt6) for running secure campus elections, student council elections, class rep elections, club leadership elections, etc. It handles the whole process: registering students and candidates, running the vote through a dedicated kiosk interface, and generating live results. It supports role-based logins (Super Admin, Election Admin, Teacher, Student Volunteer, Observer, Result Auditor), encrypts and digitally signs each vote, keeps a tamper-evident audit log of every action, and can back itself up automatically. Data is stored locally in SQLite by default, with an optional Firebase sync mode for multi-machine setups. What was challenging? Getting the security pieces to actually work together, encryption, hashing, and digital signatures on votes, plus tamper detection on the stored records, without slowing down the voting flow or making it fragile. Designing the role-based access control so that six different roles each see and can do only what they should, without the permission logic turning into spaghetti. Handling student identity verification (matching against uploaded files/rosters, plus QR/barcode/RFID support) so the same student can’t vote twice while still keeping the kiosk experience fast and simple for voters. Making the Firebase-backed multi-machine sync path reliable was noticeably harder than making the local SQLite path reliable, which is still the least battle-tested part of the app. What are you proud of? The audit log — every login, vote, and admin action is timestamped, hashed, and effectively tamper-evident, so there’s a real accountability trail if anyone questions a result. The full flow works end-to-end: setup wizard → student/candidate registration → live voting on the kiosk → real-time results dashboard, all in one cohesive app rather than a collection of scripts. The plugin architecture — I designed it to be extensible (for custom storage backends and extra functionality) rather than hard-coding everything. What should people know to test your project? It’s a pre-release build — run it once through a full rehearsal (test election, test students, test candidates) before trusting it with a real vote. On first launch, it opens a Setup Wizard: choose local SQLite storage (the most tested path) or Firebase (experimental), then create the admin account. Log in as admin to add students, create an election, add and approve candidates, then start voting and open the Voting Kiosk view actually to cast votes. Windows may show a SmartScreen warning since the build isn’t code-signed yet — that’s expected, not a red flag. Check ballot.log in the app’s data folder if anything crashes or behaves oddly....
|
1793206076.6261039
|
1793292476.6261039
|
|
28365
|
Super secret safe by @sh8nn0n_ | Stardance
|
sh8nn0n_
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-07T01:33:49Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I decided to learn Arduino this summer for fun. This is my first arduino project, where I used an rfid to detect the correct card that’s being scanned, and if it’s the right card, it’ll open up a safe. If it’s not the right card, the person will hear a loud buzzer. Honestly the hardest part was doing the code since I only know basics of Python so a lot of my syntax was wrong but it was fun getting the rfid to work and also learning how to wire each component without needing help from external tutorials made me feel proud.", "repo": "https://github.com/sh8nn0n/RFID-demo", "demo": ""}]...
|
[{"post_id": 23852, "ts": "202 [{"post_id": 23852, "ts": "2026-07-07T01:21:15Z", "hours": 2.6828, "text": "I modeled what the box would look like with the electronics attached. I haven’t touched CAD in a while so I was a bit rusty but this is my vision for what the RFID would trigger."}, {"post_id": 21222, "ts": "2026-07-03T01:39:29Z", "hours": 1.1042, "text": "EXCITING EXCITING!! I got the servo to work with the rfid (so when I first scan my card the servo opens, and then the next time I scan my card the servo closes). I was able to do this by modifying Arduino’s example code for the servo to work for my own file (added an if else statement inside the if loop that happens when I scan the correct card). And then I decided to add a buzzer whenever the wrong card is scanned so whoever’s trying to break in gets a surprise sound. Next I’m going to start doing the CAD for the case."}, {"post_id": 21179, "ts": "2026-07-03T00:05:25Z", "hours": 1.6631, "text": "I did two things: (1) I used a total of 3k resistors to regulate the voltage coming from the 5v arduino board into 3.3v so that the rfid could read the pins. This allowed the example sketch to read the UIDs of the two cards I have. (2) I modified the example sketch to only grant access to one of the cards, and after much debugging and asking Gemini for help for debugging, I finally got the program to only accept one of the cards and not the other one!"}, {"post_id": 18544, "ts": "2026-06-29T18:43:53Z", "hours": 0.8667, "text": "First, I wanted to understand how the rfid works, so I used the example code for it, but then I ran into a board doesn’t exist error, and I FINALLY understood why my rfid-rc522 was giving me a does not exist error after I searched up a demo code that I then used."}]...
|
Title: Super secret safe by @sh8nn0n_ | Stardance
Title: Super secret safe by @sh8nn0n_ | Stardance
Devlogs:
First, I wanted to understand how the rfid works, so I used the example code for it, but then I ran into a board doesn’t exist error, and I FINALLY understood why my rfid-rc522 was giving me a does not exist error after I searched up a demo code that I then used.
I did two things: (1) I used a total of 3k resistors to regulate the voltage coming from the 5v arduino board into 3.3v so that the rfid could read the pins. This allowed the example sketch to read the UIDs of the two cards I have. (2) I modified the example sketch to only grant access to one of the cards, and after much debugging and asking Gemini for help for debugging, I finally got the program to only accept one of the cards and not the other one!
EXCITING EXCITING!! I got the servo to work with the rfid (so when I first scan my card the servo opens, and then the next time I scan my card the servo closes). I was able to do this by modifying Arduino’s example code for the servo to work for my own file (added an if else statement inside the if loop that happens when I scan the correct card). And then I decided to add a buzzer whenever the wrong card is scanned so whoever’s trying to break in gets a surprise sound. Next I’m going to start doing the CAD for the case.
I modeled what the box would look like with the electronics attached. I haven’t touched CAD in a while so I was a bit rusty but this is my vision for what the RFID would trigger.
Ships:
I decided to learn Arduino this summer for fun. This is my first arduino project, where I used an rfid to detect the correct card that’s being scanned, and if it’s the right card, it’ll open up a safe. If it’s not the right card, the person will hear a loud buzzer. Honestly the hardest part was doing the code since I only know basics of Python so a lot of my syntax was wrong but it was fun getting the rfid to work and also learning how to wire each component without needing help from external tutorials made me feel proud....
|
1793296060.011059
|
1793382460.011059
|
|
28371
|
My own site! by @rajaryan1492007 | Stardance
|
rajaryan1492007
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-29T22:27:39Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "make my own site to show case my with html css js", "repo": "https://github.com/rajaryan2007/portfolio", "demo": "https://portfolio-tau-virid-23.vercel.app/index.html"}]...
|
[{"post_id": 18702, "ts": "202 [{"post_id": 18702, "ts": "2026-06-29T21:48:45Z", "hours": 0.9367, "text": "my own site with html css js after long time"}]...
|
Title: My own site! by @rajaryan1492007 | Stardanc Title: My own site! by @rajaryan1492007 | Stardance
Devlogs:
my own site with html css js after long time
Ships:
make my own site to show case my with html css js...
|
1793253330.4790285
|
1793339730.4790285
|
|
28380
|
Desktop Vending Cat by @allisonly_huang | Stardanc Desktop Vending Cat by @allisonly_huang | Stardance...
|
allisonly_huang
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-02T01:16:50Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Desktop Cat Vending Machine This project is an interactive desktop widget built in Python using Tkinter. The application runs as a frameless, transparent overlay pinned above your active windows. When a user left-clicks the vending machine, it runs a brief vending machine like shake animation and dispenses a random cat image pulled from a local asset folder. The dispensed images automatically disappear after 5 seconds or close immediately when clicked. Primary Challenges: The main challenge was ensuring the application could reliably locate its image assets when executed on other devices or compiled into a standalone binary. Standard relative pathing broke depending on the user’s working directory, but I resolved this by using an environment-aware utility that checks sys.frozen to toggle the asset lookup root between the local script file and the compiled executable path. Input Spamming: Rapidly clicking the widget queued multiple overlapping movement instructions, causing the layout to be distorted. I fixed this by introducing a state lock that ignores incoming click inputs while a dispense animation sequence is actively running. What are you proud of? Instead of building a fragile script that crashes under unexpected conditions, if the image directory is missing, empty, or contains corrupted files, a try-except block intercepts the failure and falls back to a procedurally generated default text UI. I also ensured that window creation and destruction properly clear memory references to prevent resource leaks during extended use. This might be a standard feature, but as a very beginner python programmer, it’s something I’m still relatively proud of. Controls: Left-click the vending machine to dispense an item. Left-click the spawned image to dismiss it early. Right-click the vending machine to close the application entirely. Customization: The application scans the cat_library directory dynamically. You can add, remove, or change the contents of this folder with your own images (.png, .jpg, .gif, etc.) to modify what the machine dispenses. Environment: If running from the source code, ensure you have Python 3 installed and have run pip install Pillow to handle the graphic resizing. Otherwise, launch the standalone executable directly. Finally, this project was made the day before my friend’s birthday as a mildly crammed last-minute gift. So, keep this on your own desktop for a cat companion while you work, or share some cats with your friends as well.", "repo": "https://github.com/allisonlyphuang/desktop-catvendingmachine", "demo": "https://github.com/allisonlyphuang/desktop-catvendingmachine/releases/tag/v1.0"}]...
|
[{"post_id": 20431, "ts": "202 [{"post_id": 20431, "ts": "2026-07-02T00:54:16Z", "hours": 1.6747, "text": "Don’t have a cat? This project will give you 70 random ones, for 5 seconds each. My friend’s birthday is tomorrow. I am too broke to buy a gift, so I made this project in one sitting. That is why there is only one devlog (apologies Hackclub staff) and much less time logged than I actually spent on it (~4.5 hours). I often get sent cat reels from him, so I decided to bring the cats directly to his desktop: through a desktop-pet style vending machine that dispenses random cats (with a kirby easter egg). This project was made in python using tkinter for desktop applications and Pillow for advanced image resizing and rendering. Most of the trials and tribulations came from getting the vending machine animation to look right and the cat library to be actually accessed instead of always falling back on the try catch. Anyway, here is a cat vending machine."}]...
|
Title: Desktop Vending Cat by @allisonly_huang | S Title: Desktop Vending Cat by @allisonly_huang | Stardance
Devlogs:
Don’t have a cat? This project will give you 70 random ones, for 5 seconds each. My friend’s birthday is tomorrow. I am too broke to buy a gift, so I made this project in one sitting. That is why there is only one devlog (apologies Hackclub staff) and much less time logged than I actually spent on it (~4.5 hours). I often get sent cat reels from him, so I decided to bring the cats directly to his desktop: through a desktop-pet style vending machine that dispenses random cats (with a kirby easter egg). This project was made in python using tkinter for desktop applications and Pillow for advanced image resizing and rendering. Most of the trials and tribulations came from getting the vending machine animation to look right and the cat library to be actually accessed instead of always falling back on the try catch. Anyway, here is a cat vending machine.
Ships:
Desktop Cat Vending Machine This project is an interactive desktop widget built in Python using Tkinter. The application runs as a frameless, transparent overlay pinned above your active windows. When a user left-clicks the vending machine, it runs a brief vending machine like shake animation and dispenses a random cat image pulled from a local asset folder. The dispensed images automatically disappear after 5 seconds or close immediately when clicked. Primary Challenges: The main challenge was ensuring the application could reliably locate its image assets when executed on other devices or compiled into a standalone binary. Standard relative pathing broke depending on the user’s working directory, but I resolved this by using an environment-aware utility that checks sys.frozen to toggle the asset lookup root between the local script file and the compiled executable path. Input Spamming: Rapidly clicking the widget queued multiple overlapping movement instructions, causing the layout to be distorted. I fixed this by introducing a state lock that ignores incoming click inputs while a dispense animation sequence is actively running. What are you proud of? Instead of building a fragile script that crashes under unexpected conditions, if the image directory is missing, empty, or contains corrupted files, a try-except block intercepts the failure and falls back to a procedurally generated default text UI. I also ensured that window creation and destruction properly clear memory references to prevent resource leaks during extended use. This might be a standard feature, but as a very beginner python programmer, it’s something I’m still relatively proud of. Controls: Left-click the vending machine to dispense an item. Left-click the spawned image to dismiss it early. Right-click the vending machine to close the application entirely. Customization: The application scans the cat_library directory dynamically. You can add, remove, or change the contents of this folder with your own images (.png, .jpg, .gif, etc.) to modify what the machine dispenses. Environment: If running from the source code, ensure you have Python 3 installed and have run pip install Pillow to handle the graphic resizing. Otherwise, launch the standalone executable directly. Finally, this project was made the day before my friend’s birthday as a mildly crammed last-minute gift. So, keep this on your own desktop for a cat companion while you work, or share some cats with your friends as well....
|
1793292651.954276
|
1793379051.954276
|
|
28393
|
Website-Leben by @Dasher2801 | Stardance
|
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-01T15:11:32Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This project is a compact web dashboard that taps into NASA’s official APOD (Astronomy Picture of the Day) API to bring space data directly to the browser. The application automatically loads the current astronomical image or video of the day, along with its title and the accompanying scientific explanation provided by NASA researchers. An integrated calendar control allows users to “travel back in time” and search for past images, with the app dynamically reloading the data in the background. Visually, the dashboard features a purple-hued sci-fi theme that scales cleanly across both desktop and mobile devices. Technically, the app relies on a minimal setup using Vite and vanilla JavaScript, ensuring extremely fast load times without the need for heavy frameworks. Additionally, the application is configured for direct, seamless deployment to GitHub Pages via an integrated script.", "repo": "https://github.com/Dasher2801/Website-Leben", "demo": "https://dasher2801.github.io/Website-Leben/"}]...
|
[{"post_id": 20027, "ts": "202 [{"post_id": 20027, "ts": "2026-07-01T15:05:01Z", "hours": 0.8567, "text": "Endlich funktioniert es, nachdem ich verschiedenste KIs gefragt habe und alle keine Ahnung hatten, hat es jetzt mit dem 4. API-Schlüssel funktioniert. Oben kann man verschiedene Daten auswählen und bekommt davon das Bild mit Bericht angezeigt."}, {"post_id": 19998, "ts": "2026-07-01T14:01:48Z", "hours": 1.1022, "text": "Theoretisch funktioniert es, aber das Bild wird nicht angezeigt"}, {"post_id": 19947, "ts": "2026-07-01T12:11:49Z", "hours": 0.3728, "text": "Was sie hier sehen ist eine bisher noch ganz weiße Website, die bisher nur einen simplen Datumpicker hat."}]...
|
Title: Website-Leben by @Dasher2801 | Stardance
D Title: Website-Leben by @Dasher2801 | Stardance
Devlogs:
Was sie hier sehen ist eine bisher noch ganz weiße Website, die bisher nur einen simplen Datumpicker hat.
Theoretisch funktioniert es, aber das Bild wird nicht angezeigt
Endlich funktioniert es, nachdem ich verschiedenste KIs gefragt habe und alle keine Ahnung hatten, hat es jetzt mit dem 4. API-Schlüssel funktioniert. Oben kann man verschiedene Daten auswählen und bekommt davon das Bild mit Bericht angezeigt.
Ships:
This project is a compact web dashboard that taps into NASA’s official APOD (Astronomy Picture of the Day) API to bring space data directly to the browser. The application automatically loads the current astronomical image or video of the day, along with its title and the accompanying scientific explanation provided by NASA researchers. An integrated calendar control allows users to “travel back in time” and search for past images, with the app dynamically reloading the data in the background. Visually, the dashboard features a purple-hued sci-fi theme that scales cleanly across both desktop and mobile devices. Technically, the app relies on a minimal setup using Vite and vanilla JavaScript, ensuring extremely fast load times without the need for heavy frameworks. Additionally, the application is configured for direct, seamless deployment to GitHub Pages via an integrated script....
|
1793288883.4419317
|
1793375283.4419317
|
|
28407
|
Canopy by @jayeshsinghal | Stardance
|
jayeshsinghal
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-29T21:03:38Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Inspiration It started with a simple question: who decides which tree gets saved? In Chicago, street trees are critical infrastructure. They reduce heat, absorb stormwater, and improve public health. Yet tree maintenance is largely driven by 311 complaints, meaning neighborhoods that call more often receive more attention while underserved communities can be overlooked. We imagined a smarter system: one that dispatches arborist crews like ambulances, prioritizing need instead of complaint volume. That became Canopy. What it does Canopy transforms Chicago’s live 311 tree-service data into a real-time dispatch dashboard. Each of Chicago’s 77 community areas receives a Canopy Stress Index (CSI), a score from 0–100 that estimates how urgently a crew is needed. CSI combines six factors: service pressure (42%), community vulnerability (18%), time since last service (15%), complaint trends (13%), unresolved requests (8%), and drought conditions (4%). An interactive map highlights priority neighborhoods while a live dispatch queue ranks where crews should go next. Users can sort by urgency, neglect, or complaint trends, search any neighborhood, and open a field briefing showing service history, complaint trends, repeat-request locations, and canopy information from OpenStreetMap and iNaturalist. An equity mode recolors the map using Chicago’s Hardship Index, helping prioritize neighborhoods with the greatest need rather than the loudest voices. How we built it Canopy is built entirely with HTML, CSS, JavaScript, and Leaflet. Data comes from Chicago Open Data (311 requests and service history), Open-Meteo, the Chicago Hardship Index, OpenStreetMap, and iNaturalist. AI-generated dispatch briefings are produced using Groq running Llama 3.3 70B through a secure serverless function. The project is deployed on Vercel using only free services. Challenges Our biggest obstacle was discovering that Chicago does not publish a neighborhood-level tree inventory. Instead, we estimated tree age using OpenStreetMap trunk measurements and species data from iNaturalist. Deployment also proved difficult when Vercel repeatedly failed to detect the correct build configuration. Explicitly configuring static assets and serverless functions solved the issue. Late in development, a hover-state bug caused AI briefings to display the wrong neighborhood. Restoring the selected area after mouse-out fixed the issue. Finally, our first CSI rewarded neighborhoods with the highest complaint volume. Incorporating Chicago’s Hardship Index shifted the focus toward equitable resource allocation. Accomplishments We are most proud of the equity map, which reveals neighborhoods with the greatest need instead of simply the most complaints. The project is also practical and accessible. Every data source is public or free, making Canopy inexpensive to deploy and easy to adapt for other cities. Small touches like onboarding, AI-generated field briefings, and clear CSI explanations make it intuitive for users. What we learned Open data rarely fits together cleanly. Building Canopy required combining 311 requests, historical service records, weather, socioeconomic data, and community tree information into one unified system. We also learned that constraints often drive innovation. The missing tree inventory ultimately led to one of the project’s most creative solutions. What’s next Next, we plan to expand Canopy beyond Chicago, allow dispatchers to assign and track crews directly, refine CSI weights with arborists and city foresters, and use historical data to predict where tree-service demand will emerge before complaints are filed. A tree planted today provides shade for someone tomorrow. Canopy helps cities decide which trees to save first.", "repo": "https://github.com/jsplaystore/canopy", "demo": "https://canopy-five-alpha.vercel.app/"}]...
|
[{"post_id": 18632, "ts": "202 [{"post_id": 18632, "ts": "2026-06-29T20:30:39Z", "hours": 3.8608, "text": "THIS WAS A MISTAKE SHIP"}]...
|
Title: Canopy by @jayeshsinghal | Stardance
Devlo Title: Canopy by @jayeshsinghal | Stardance
Devlogs:
THIS WAS A MISTAKE SHIP
Ships:
Inspiration It started with a simple question: who decides which tree gets saved? In Chicago, street trees are critical infrastructure. They reduce heat, absorb stormwater, and improve public health. Yet tree maintenance is largely driven by 311 complaints, meaning neighborhoods that call more often receive more attention while underserved communities can be overlooked. We imagined a smarter system: one that dispatches arborist crews like ambulances, prioritizing need instead of complaint volume. That became Canopy. What it does Canopy transforms Chicago’s live 311 tree-service data into a real-time dispatch dashboard. Each of Chicago’s 77 community areas receives a Canopy Stress Index (CSI), a score from 0–100 that estimates how urgently a crew is needed. CSI combines six factors: service pressure (42%), community vulnerability (18%), time since last service (15%), complaint trends (13%), unresolved requests (8%), and drought conditions (4%). An interactive map highlights priority neighborhoods while a live dispatch queue ranks where crews should go next. Users can sort by urgency, neglect, or complaint trends, search any neighborhood, and open a field briefing showing service history, complaint trends, repeat-request locations, and canopy information from OpenStreetMap and iNaturalist. An equity mode recolors the map using Chicago’s Hardship Index, helping prioritize neighborhoods with the greatest need rather than the loudest voices. How we built it Canopy is built entirely with HTML, CSS, JavaScript, and Leaflet. Data comes from Chicago Open Data (311 requests and service history), Open-Meteo, the Chicago Hardship Index, OpenStreetMap, and iNaturalist. AI-generated dispatch briefings are produced using Groq running Llama 3.3 70B through a secure serverless function. The project is deployed on Vercel using only free services. Challenges Our biggest obstacle was discovering that Chicago does not publish a neighborhood-level tree inventory. Instead, we estimated tree age using OpenStreetMap trunk measurements and species data from iNaturalist. Deployment also proved difficult when Vercel repeatedly failed to detect the correct build configuration. Explicitly configuring static assets and serverless functions solved the issue. Late in development, a hover-state bug caused AI briefings to display the wrong neighborhood. Restoring the selected area after mouse-out fixed the issue. Finally, our first CSI rewarded neighborhoods with the highest complaint volume. Incorporating Chicago’s Hardship Index shifted the focus toward equitable resource allocation. Accomplishments We are most proud of the equity map, which reveals neighborhoods with the greatest need instead of simply the most complaints. The project is also practical and accessible. Every data source is public or free, making Canopy inexpensive to deploy and easy to adapt for other cities. Small touches like onboarding, AI-generated field briefings, and clear CSI explanations make it intuitive for users. What we learned Open data rarely fits together cleanly. Building Canopy required combining 311 requests, historical service records, weather, socioeconomic data, and community tree information into one unified system. We also learned that constraints often drive innovation. The missing tree inventory ultimately led to one of the project’s most creative solutions. What’s next Next, we plan to expand Canopy beyond Chicago, allow dispatchers to assign and track crews directly, refine CSI weights with arborists and city foresters, and use historical data to predict where tree-service demand will emerge before complaints are filed. A tree planted today provides shade for someone tomorrow. Canopy helps cities decide which trees to save first....
|
1792878776.498587
|
1793742776.498587
|
|
28408
|
Element Multiverse by @TejalK | Stardance
|
TejalK
|
1
|
13.25
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-02T06:22:21Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built an educational web game where players match elements and advanced materials to the correct parts of aerospace vehicles. The goal was to make learning about engineering materials more interactive and fun. The biggest challenge was getting all the game mechanics to work together, especially the drag-and-drop system, hotspots, and level progression. I also spent time making sure the educational content was accurate and easy to understand. I’m proud that the project is both educational and enjoyable to play. Seeing everything come together—from the visuals to the gameplay and learning experience—was really rewarding. To test my project, people should just open index.html in a browser and make sure the project images are in the same folder as the code. Then play through all four levels by matching each material to the correct part and reading the fact cards along the way.", "repo": "https://github.com/TejalK10-hash/element-game", "demo": "https://elementmultiverse.netlify.app/"}]...
|
[{"post_id": 54834, "ts": "202 [{"post_id": 54834, "ts": "2026-08-26T00:10:31Z", "hours": 8.2478, "text": "So my game used to look like this dark “Element Navigator” thing (second pic). It was… fine? But honestly, it felt like a textbook diagram, not a game. I nuked it and started over. Now it’s this bright purple space vibe with an actual starfield, the rocket dead center, and clean element buttons at the bottom. Way more colorful, way more fun, and your thumbs don’t have to reach across the whole screen anymore. Old layout: cramped photo of a jet, chunky circles everywhere, zero personality. New layout: clean, bold, actually looks like something you’d want to play."}, {"post_id": 20579, "ts": "2026-07-02T06:05:49Z", "hours": 1.7542, "text": "I have added new levels (Spacecrafts) to my game and I might also introduce new domains to this game like underground, underwater, etc. So, stay tuned!!!"}, {"post_id": 20506, "ts": "2026-07-02T03:31:23Z", "hours": 3.3636, "text": "UPDATE!!! After a bump-start, I am glad I have successfully added the realistic image of a rocket and all set to jet-propel through the remaining levels that I introduced in this domain."}, {"post_id": 19627, "ts": "2026-07-01T00:21:55Z", "hours": 0.3158, "text": "I built a game that teaches real space-tech facts through play — drag elements like Xenon and Titanium onto the part of a spacecraft that actually uses them, and you learn why each one matters (xenon = ion thruster fuel, titanium = rocket hull material, etc). Started simple: tap an element, tap the matching part, get points and a quick fact. Then added real drag-and-drop so you can pull a glowing line from the badge straight to the hotspot — feels more like actually wiring something up. Kept both ways of playing since drag feels great on desktop but tapping is way easier on mobile. The big visual upgrade was making the spacecraft actually look 3D instead of flat. Swapped solid colors for gradients (light from one side, dark on the other), added rounded end-caps so the body reads as a tube instead of a rectangle, and gave the engine a real glow. The tricky part was doing all of that without moving a single hotspot — the game logic reads exact coordinates, so the art had to change without touching the mechanics underneath. Next up: maybe a real rocket image as an alternative skin, more elements to match, and a harder mode where positions shuffle so you can’t just memorize the layout. I’m also thinking about expanding beyond spacecraft entirely — submarines, underground drills, and other extreme-engineering domains could make for whole new “chapters” of the game, each with their own set of elements and machines to match."}]...
|
Title: Element Multiverse by @TejalK | Stardance
Title: Element Multiverse by @TejalK | Stardance
Devlogs:
I built a game that teaches real space-tech facts through play — drag elements like Xenon and Titanium onto the part of a spacecraft that actually uses them, and you learn why each one matters (xenon = ion thruster fuel, titanium = rocket hull material, etc). Started simple: tap an element, tap the matching part, get points and a quick fact. Then added real drag-and-drop so you can pull a glowing line from the badge straight to the hotspot — feels more like actually wiring something up. Kept both ways of playing since drag feels great on desktop but tapping is way easier on mobile. The big visual upgrade was making the spacecraft actually look 3D instead of flat. Swapped solid colors for gradients (light from one side, dark on the other), added rounded end-caps so the body reads as a tube instead of a rectangle, and gave the engine a real glow. The tricky part was doing all of that without moving a single hotspot — the game logic reads exact coordinates, so the art had to change without touching the mechanics underneath. Next up: maybe a real rocket image as an alternative skin, more elements to match, and a harder mode where positions shuffle so you can’t just memorize the layout. I’m also thinking about expanding beyond spacecraft entirely — submarines, underground drills, and other extreme-engineering domains could make for whole new “chapters” of the game, each with their own set of elements and machines to match.
UPDATE!!! After a bump-start, I am glad I have successfully added the realistic image of a rocket and all set to jet-propel through the remaining levels that I introduced in this domain.
I have added new levels (Spacecrafts) to my game and I might also introduce new domains to this game like underground, underwater, etc. So, stay tuned!!!
So my game used to look like this dark “Element Navigator” thing (second pic). It was… fine? But honestly, it felt like a textbook diagram, not a game. I nuked it and started over. Now it’s this bright purple space vibe with an actual starfield, the rocket dead center, and clean element buttons at the bottom. Way more colorful, way more fun, and your thumbs don’t have to reach across the whole screen anymore. Old layout: cramped photo of a jet, chunky circles everywhere, zero personality. New layout: clean, bold, actually looks like something you’d want to play.
Ships:
I built an educational web game where players match elements and advanced materials to the correct parts of aerospace vehicles. The goal was to make learning about engineering materials more interactive and fun. The biggest challenge was getting all the game mechanics to work together, especially the drag-and-drop system, hotspots, and level progression. I also spent time making sure the educational content was accurate and easy to understand. I’m proud that the project is both educational and enjoyable to play. Seeing everything come together—from the visuals to the gameplay and learning experience—was really rewarding. To test my project, people should just open index.html in a browser and make sure the project images are in the same folder as the code. Then play through all four levels by matching each material to the correct part and reading the fact cards along the way....
|
1792878536.7883391
|
1793742536.7883391
|
|
28409
|
My first slack bot! by @Cabitage | Stardance
|
Cabitage
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-17T01:28:35Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Made a slack bot to represent the best creatures on earth: Cats! The commands are ping, meow, catfact, and help. The project was challenging with the server set up. But my prior experience with servers definitely helped me pull through. Now, I feel that my strength in creating usable and useful code has improved since I can make bots to assist productivity.", "repo": "https://github.com/BlueBokChoy/meow-bot", "demo": "https://app.slack.com/client/E09V59WQY1E/C0BHYS07GSF"}]...
|
[{"post_id": 29858, "ts": "202 [{"post_id": 29858, "ts": "2026-07-17T00:40:10Z", "hours": 0.3372, "text": "Completed the slackbot tutorial! I now have a bot that’s working. I also made a custom icon for my bot. It has the tutorial commands ping and catfacts. I’m planning on implementing more commands to help a user take care of their cats."}]...
|
Title: My first slack bot! by @Cabitage | Stardanc Title: My first slack bot! by @Cabitage | Stardance
Devlogs:
Completed the slackbot tutorial! I now have a bot that’s working. I also made a custom icon for my bot. It has the tutorial commands ping and catfacts. I’m planning on implementing more commands to help a user take care of their cats.
Ships:
Made a slack bot to represent the best creatures on earth: Cats! The commands are ping, meow, catfact, and help. The project was challenging with the server set up. But my prior experience with servers definitely helped me pull through. Now, I feel that my strength in creating usable and useful code has improved since I can make bots to assist productivity....
|
1793234959.3565733
|
1793321359.3565733
|
|
28420
|
Mystic by @hug0 | Stardance
|
hug0
|
1
|
1.0
|
4
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-01T07:36:18Z", "hours": 1.0, "multiplier": 4.68, "payout": 4, "blessing": "neutral", "text": "I made a web framework and page router for preact, that runs entirely in the browser, with no build step or special server software! Just drop it on any web server and it works. To test clone the repo and modify the src folder. Just run any web server to see it in action!", "repo": "https://github.com/hhhug000/mystic", "demo": "https://hhhug000.github.io/mystic/"}]...
|
[{"post_id": 19841, "ts": "202 [{"post_id": 19841, "ts": "2026-07-01T07:30:52Z", "hours": 0.0, "text": "Made collections, so for things like blog posts. Mystic is pretty much at a ready to ship point"}, {"post_id": 18624, "ts": "2026-06-29T20:26:32Z", "hours": 0.0, "text": "Built the main framework, it works! I added preact support and made a simple page router. Is currently at a point where it can be used to make a site."}]...
|
Title: Mystic by @hug0 | Stardance
Devlogs:
Built Title: Mystic by @hug0 | Stardance
Devlogs:
Built the main framework, it works! I added preact support and made a simple page router. Is currently at a point where it can be used to make a site.
Made collections, so for things like blog posts. Mystic is pretty much at a ready to ship point
Ships:
I made a web framework and page router for preact, that runs entirely in the browser, with no build step or special server software! Just drop it on any web server and it works. To test clone the repo and modify the src folder. Just run any web server to see it in action!...
|
1792882076.9848306
|
1793746076.9848306
|
|
28422
|
My first coding project! by @dDavid | Stardance
|
dDavid
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-27T15:47:33Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made my first major coding project: My Own Website! I am proud of the concept of me building my personal website. I think it will take me some time to get used to such an honor. The most challenging part was making the design of the text and where each section is. People should click the link in the README if they want to test out the project.", "repo": "https://github.com/David-Deev/d-David-1st-Website", "demo": "https://david-deev.github.io/d-David-1st-Website/"}]...
|
[{"post_id": 35487, "ts": "202 [{"post_id": 35487, "ts": "2026-07-26T23:12:46Z", "hours": 3.2958, "text": "Worked on a lot I decided to keep the goals page and I changed it. I added this project into the projects page. I added citations at bottom. I created a mouse and an avatar of myself."}, {"post_id": 29285, "ts": "2026-07-16T03:04:36Z", "hours": 2.05, "text": "Worked on my project for now. I will add to it every week. I made a cool mesh design."}, {"post_id": 26771, "ts": "2026-07-11T19:20:35Z", "hours": 0.8194, "text": "I started building my website. I made the page scrollable but now my title is at the bottom. :)"}]...
|
Title: My first coding project! by @dDavid | Stard Title: My first coding project! by @dDavid | Stardance
Devlogs:
I started building my website. I made the page scrollable but now my title is at the bottom. :)
Worked on my project for now. I will add to it every week. I made a cool mesh design.
Worked on a lot I decided to keep the goals page and I changed it. I added this project into the projects page. I added citations at bottom. I created a mouse and an avatar of myself.
Ships:
I made my first major coding project: My Own Website! I am proud of the concept of me building my personal website. I think it will take me some time to get used to such an honor. The most challenging part was making the design of the text and where each section is. People should click the link in the README if they want to test out the project....
|
1793224130.2220237
|
1793310530.2220237
|
|
28428
|
pulse newtab by @advay_awesomer | Stardance
|
advay_awesomer
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-30T15:37:07Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I designed and built pulse, a calm vanilla-HTML/CSS/JS new-tab page (clock-synced ECG “heartbeat,” search, speed-dial, Open-Meteo weather, focus timer with streaks, Cmd-K palette, theming) on a custom design system.", "repo": "https://github.com/advaycode/pulse-newtab", "demo": "https://advaycode.github.io/pulse-newtab/"}]...
|
[{"post_id": 19283, "ts": "202 [{"post_id": 19283, "ts": "2026-06-30T15:36:02Z", "hours": 1.0, "text": "I designed and built pulse, a calm vanilla-HTML/CSS/JS new-tab page (clock-synced ECG “heartbeat,” search, speed-dial, Open-Meteo weather, focus timer with streaks, Cmd-K palette, theming) on a custom design system."}]...
|
Title: pulse newtab by @advay_awesomer | Stardance Title: pulse newtab by @advay_awesomer | Stardance
Devlogs:
I designed and built pulse, a calm vanilla-HTML/CSS/JS new-tab page (clock-synced ECG “heartbeat,” search, speed-dial, Open-Meteo weather, focus timer with streaks, Cmd-K palette, theming) on a custom design system.
Ships:
I designed and built pulse, a calm vanilla-HTML/CSS/JS new-tab page (clock-synced ECG “heartbeat,” search, speed-dial, Open-Meteo weather, focus timer with streaks, Cmd-K palette, theming) on a custom design system....
|
1792882077.797082
|
1793746077.797082
|
|
28430
|
My cool Portfolio! by @VibeSlayer | Stardance
|
VibeSlayer
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-30T17:24:19Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "My website if finally complete! It was pretty easy for me to build my website because i have made these kind of things before and i have not complicated anything. I hope y’all like it!", "repo": "https://github.com/VibeSlayer-code/my-cool-portfolio", "demo": "https://realvibeslayer.vercel.app/"}]...
|
[{"post_id": 18649, "ts": "202 [{"post_id": 18649, "ts": "2026-06-29T20:43:20Z", "hours": 2.5558, "text": "DevLog 1 — Portfolio Website Begins Today I made the first section of my portfolio website. I wanted it to have a guns.lol-style dark aesthetic , and honestly, I think I kinda won lmao. I added a music player with a lyrics viewer , and the player already has one of my favorite songs. I also designed a custom typography graphic for my username, which makes the page feel way more personal and unique. This is not meant to be a normal boring portfolio. I want it to feel like a cool profile page with music, socials, dark visuals, and personality. Tomorrow Tomorrow I’m going to work on the About section and the Projects section, then polish the overall animations and layout."}]...
|
Title: My cool Portfolio! by @VibeSlayer | Stardan Title: My cool Portfolio! by @VibeSlayer | Stardance
Devlogs:
DevLog 1 — Portfolio Website Begins Today I made the first section of my portfolio website. I wanted it to have a guns.lol-style dark aesthetic , and honestly, I think I kinda won lmao. I added a music player with a lyrics viewer , and the player already has one of my favorite songs. I also designed a custom typography graphic for my username, which makes the page feel way more personal and unique. This is not meant to be a normal boring portfolio. I want it to feel like a cool profile page with music, socials, dark visuals, and personality. Tomorrow Tomorrow I’m going to work on the About section and the Projects section, then polish the overall animations and layout.
Ships:
My website if finally complete! It was pretty easy for me to build my website because i have made these kind of things before and i have not complicated anything. I hope y’all like it!...
|
1793270858.8163986
|
1793357258.8163986
|
|
28445
|
Ítalo's Workshop! by @ItaloJDev | Stardance
|
ItaloJDev
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-30T13:51:01Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I just shipped my personal workspace portfolio! This project was a deep dive into building a clean, functional digital home for my work. It features my recent projects and acts as a hub for my development journey. I used an AI-assisted workflow to speed up the coding and UI refinement process, ensuring that the final structure is solid and well-documented. AI Transparency: This project was developed with the assistance of AI tools to accelerate the workflow and refine technical implementation. While AI supported the brainstorming and coding processes, all logic was reviewed, tested, and integrated manually to ensure quality and maintain full project ownership", "repo": "https://github.com/neymardashopepaulwalker-blip/Italo-s-Workspace", "demo": "https://neymardashopepaulwalker-blip.github.io/Italo-s-Workspace/"}]...
|
[{"post_id": 19203, "ts": "202 [{"post_id": 19203, "ts": "2026-06-30T13:50:01Z", "hours": 0.6292, "text": "Finally wrapped up the core development of my portfolio site. Spent the last session refining the layout and ensuring everything is responsive. It is officially live, and I am really happy with how it turned out. Onto the next challenge!"}, {"post_id": 19169, "ts": "2026-06-30T12:54:07Z", "hours": 0.7767, "text": "Second area complete!"}, {"post_id": 18707, "ts": "2026-06-29T21:51:09Z", "hours": 0.3686, "text": "Looking good!"}, {"post_id": 18688, "ts": "2026-06-29T21:30:04Z", "hours": 0.5256, "text": "Doing the first visual now!"}]...
|
Title: Ítalo's Workshop! by @ItaloJDev | Stard Title: Ítalo's Workshop! by @ItaloJDev | Stardance
Devlogs:
Doing the first visual now!
Looking good!
Second area complete!
Finally wrapped up the core development of my portfolio site. Spent the last session refining the layout and ensuring everything is responsive. It is officially live, and I am really happy with how it turned out. Onto the next challenge!
Ships:
I just shipped my personal workspace portfolio! This project was a deep dive into building a clean, functional digital home for my work. It features my recent projects and acts as a hub for my development journey. I used an AI-assisted workflow to speed up the coding and UI refinement process, ensuring that the final structure is solid and well-documented. AI Transparency: This project was developed with the assistance of AI tools to accelerate the workflow and refine technical implementation. While AI supported the brainstorming and coding processes, all logic was reviewed, tested, and integrated manually to ensure quality and maintain full project ownership...
|
1793220958.8991015
|
1793307358.8991015
|
|
28448
|
RoboForge by @Tejas | Stardance
|
Tejas
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-29T21:16:54Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is my fun little project i made it in 2 days for my project explore it give me some tips were i can improve it and yes i used little bit too much ai but its looks good", "repo": "https://github.com/tejasmmali/RoboForge", "demo": "https://roboforge1.vercel.app/"}]...
|
[{"post_id": 18670, "ts": "202 [{"post_id": 18670, "ts": "2026-06-29T21:12:24Z", "hours": 5.9256, "text": "Roboforge This my quick and little college submission project which i built in 2 days with the help of AI ofc i just putting this project here because i dont have to put something , not have time to make new fun project because of exams and all So this is project is for providing you guidance for building your first robotics projects its very beginner friendly Feature AI Chatbot for quick reply’s AI Assistant for making full projects rom scratch have project guides (very ew for now) Component listing (very few or now) It have data saving feature also so when you ask something to ai chatbot it will saved in history so after coming back later you can start were you left it have chat limit per user ofc its just little project for college dont take it that serious"}]...
|
Title: RoboForge by @Tejas | Stardance
Devlogs:
R Title: RoboForge by @Tejas | Stardance
Devlogs:
Roboforge This my quick and little college submission project which i built in 2 days with the help of AI ofc i just putting this project here because i dont have to put something , not have time to make new fun project because of exams and all So this is project is for providing you guidance for building your first robotics projects its very beginner friendly Feature AI Chatbot for quick reply’s AI Assistant for making full projects rom scratch have project guides (very ew for now) Component listing (very few or now) It have data saving feature also so when you ask something to ai chatbot it will saved in history so after coming back later you can start were you left it have chat limit per user ofc its just little project for college dont take it that serious
Ships:
This is my fun little project i made it in 2 days for my project explore it give me some tips were i can improve it and yes i used little bit too much ai but its looks good...
|
1793224401.1716378
|
1793310801.1716378
|
|
28453
|
Airport Data Visualization by @jayeshsinghal | Sta Airport Data Visualization by @jayeshsinghal | Stardance...
|
jayeshsinghal
|
1
|
2.0
|
11
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-02T03:24:51Z", "hours": 2.0, "multiplier": 5.67, "payout": 11, "blessing": "neutral", "text": "SHIP TIME, here is some basic info: Real-time flight tracking visualization displaying live aircraft positions from major airports worldwide. Live aircraft tracking from 14 major global airports Real-time position updates from adsb.lol API Interactive 3D globe visualization Displays aircraft callsigns, altitude, velocity, and heading Filters for airborne aircraft only (altitude > 1500ft, speed > 50kts) Updates aircraft data every 2 seconds per hub No API key required - uses free adsb.lol service Frontend: Vanilla JavaScript, HTML5, CSS3 Backend: Node.js serverless functions (Vercel) Deployment: Vercel Data Source: adsb.lol API (free, no authentication) Data Collection: Serverless function polls adsb.lol API for aircraft within 250nm of each hub Filtering: Removes ground aircraft, duplicates, and slow-moving planes Normalization: Converts units (feet→meters, knots→m/s) for consistent display Visualization: Frontend renders aircraft positions on interactive globe", "repo": "https://github.com/jsplaystore/airport-data-visualization", "demo": "https://airport-data-visualization.vercel.app/"}]...
|
[{"post_id": 20344, "ts": "202 [{"post_id": 20344, "ts": "2026-07-01T22:23:48Z", "hours": 0.4936, "text": "Working on fixing the visuals, just got 3D working, trying to get the planes hsowign up with clear lines… a little bit of lag is apparent."}, {"post_id": 20321, "ts": "2026-07-01T21:47:49Z", "hours": 0.5964, "text": "Okay, so I got it working in 2D, now I am going to try and port it over to 3D…."}, {"post_id": 19230, "ts": "2026-06-30T14:25:24Z", "hours": 0.3533, "text": "I think i broke the globe, trying ot fix it"}, {"post_id": 19209, "ts": "2026-06-30T14:01:23Z", "hours": 0.2989, "text": "A globe is forming, lots of bugs still though, looks awful."}, {"post_id": 18946, "ts": "2026-06-30T03:53:48Z", "hours": 0.2692, "text": "Started working on the airport data visualization… So far, not great, but here’s what I have. So far, I have been able to render the 3D space and see some ping-pong balls bouncing between the two “airports”. Working on portraying this onto a globe and making the balls into actual airplane models. I randomly selected SEA and ATL for this project."}]...
|
Title: Airport Data Visualization by @jayeshsingha Title: Airport Data Visualization by @jayeshsinghal | Stardance
Devlogs:
Started working on the airport data visualization… So far, not great, but here’s what I have. So far, I have been able to render the 3D space and see some ping-pong balls bouncing between the two “airports”. Working on portraying this onto a globe and making the balls into actual airplane models. I randomly selected SEA and ATL for this project.
A globe is forming, lots of bugs still though, looks awful.
I think i broke the globe, trying ot fix it
Okay, so I got it working in 2D, now I am going to try and port it over to 3D….
Working on fixing the visuals, just got 3D working, trying to get the planes hsowign up with clear lines… a little bit of lag is apparent.
Ships:
SHIP TIME, here is some basic info: Real-time flight tracking visualization displaying live aircraft positions from major airports worldwide. Live aircraft tracking from 14 major global airports Real-time position updates from adsb.lol API Interactive 3D globe visualization Displays aircraft callsigns, altitude, velocity, and heading Filters for airborne aircraft only (altitude > 1500ft, speed > 50kts) Updates aircraft data every 2 seconds per hub No API key required - uses free adsb.lol service Frontend: Vanilla JavaScript, HTML5, CSS3 Backend: Node.js serverless functions (Vercel) Deployment: Vercel Data Source: adsb.lol API (free, no authentication) Data Collection: Serverless function polls adsb.lol API for aircraft within 250nm of each hub Filtering: Removes ground aircraft, duplicates, and slow-moving planes Normalization: Converts units (feet→meters, knots→m/s) for consistent display Visualization: Frontend renders aircraft positions on interactive globe...
|
1792878754.9669998
|
1793742754.9669998
|
|
28493
|
HangStop by @bad-indentation | Stardance
|
bad-indentation
|
1
|
13.0
|
69
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-08T01:49:48Z", "hours": 13.0, "multiplier": 5.28, "payout": 69, "blessing": "neutral", "text": "HangStop is a blazingly fast Rust CLI tool for determining which letter will yield the most information in a game of Hangman. It uses Shannon entropy to determine the guess and is heavily inspired by Grant Sanderson’s (3Blue1Brown) video on Wordle and information theory ( https://www.3blue1brown.com/lessons/wordle/ ). It is also intended to be a new, revisited version of an old Python program I wrote. More details about the original project are included in the README, but for reviewing purposes, the original project should NOT be considered a component of this one. HangStop can be installed with a single command from crates.io.", "repo": "https://github.com/bad-indentation/hangstop", "demo": "https://crates.io/crates/hangstop/0.1.0"}]...
|
[{"post_id": 24458, "ts": "202 [{"post_id": 24458, "ts": "2026-07-08T01:10:03Z", "hours": 2.1558, "text": "After fiddling around with various parameters in the entropy function and benchmarking the results, I decided that any benefits I might find were too small to warrant very much of my time looking for them. Besides, many of them produced negative values for the entropy, which, as I have previously alluded, is acceptable for a heuristic function , but not for the entropy calculation my program promises. I was more open to this discrepancy before, but the improvements I was seeing (if they actually were improvements) were not worth the change. Thus, I decided to write up a README, publish to crates.io, and call it a day. I may come back with more tweaks in the future, but for now, I think the performance is acceptable. (Nevertheless, you can find the data from all of my benchmarking trials in the repository.)"}, {"post_id": 24127, "ts": "2026-07-07T14:25:28Z", "hours": 3.4336, "text": "I removed the regular expressions from the Rust program, and it did seem to speed things up a little bit, but the unoptimized builds still took a few seconds to run. I couldn’t really think of any other optimizations that weren’t either a pain to implement or unlikely to work, so I ultimately decided just to run my script with the release build and wait. Thankfully, I seriously overestimated how long the benchmarking would take; it got through 1900-odd Hangman games in under 10 minutes. I wrote up a second quick script (not included in the repository) to test my old Hangman solver, but as this was in Python, calling code I wrote months ago, with only half-hearted attempts at optimization, that bit of benchmarking took hours to run. It really shouldn’t have, but at the time I decided I’d rather simply be patient than to actually figure out what was wrong. I had the results the next morning, so I put everything into some CSV files, whipped up a quick bit of Matplotlib code, and looked at how my new Rust program compared with my old Python program. To my satisfaction, the Rust program generally used less guesses overall than the Python program did. However, the programs were rather similar in the number of incorrect guesses they made, with the Python version beating the Rust one by a slim margin. This, arguably, is the more important metric for Hangman; there isn’t really a limit on how many guesses you make in Hangman, only how many wrong guesses you make. The results were nevertheless unsurprising. My Rust program, after all, attempts to optimize the information gained. The Python program attempts to play safely, though often at the cost of using more guesses overall. The Rust program is a little more willing to guess a rarer letter because it knows that absence of that letter still gives you information. This may be something we want to discourage. My plan is to open up a new branch in my repository and see if I can tweak the entropy calculations to make the algorithm a little more wary of incorrect guesses. I suppose that this would make the “entropy” more of a custom heuristic than true Shannon entropy, which reduces the program’s transparency, but I think the potential strategic gains are worth the tradeoff."}, {"post_id": 21920, "ts": "2026-07-04T03:19:00Z", "hours": 3.2522, "text": "As I was working on my benchmarking script, I found that the program is currently much too slow to play up to 2000 full games of Hangman in a reasonable amount of time, even when compiled with full optimizations. Perhaps compiling regex with the regex crate can get expensive, or perhaps there is some suboptimal use of memory within my code I overlooked. The word list is just under 200,000 words long, and while processing that much data doesn’t take all that long, minor inefficiencies are probably magnified a good bit. I may try swapping out the regular expressions for a custom, domain-specific pattern matching algorithm; however, the performance I’ve observed does seem to depend heavily on the calculations that occur after pruning. The program, after all, does get faster when the state is more restrictive. hangstop \"?????????\" takes about 3.5 seconds with the unoptimized build, since there are tens of thousands of nine-letter words in the dictionary; hangstop \"???ee????\" -i \"nl\" takes less than half the time (albeit still far more time than I would prefer). One particular challenge that comes with optimization is the fact that there is little benefit to precomputing anything. The program, as I have said in previous devlogs, is stateless, and it only makes one guess at a time, so it doesn’t spend any more time using data that it does generating it. Besides ditching regex, I may also experiment with lazy evaluation, or find something else to micro-optimize. :)"}, {"post_id": 20432, "ts": "2026-07-02T00:54:43Z", "hours": 1.6753, "text": "Put the finishing touches on the CLI and fixed some little bugs. To the best of my knowledge, I have correctly implemented a search for the letter with the highest entropy given a certain game state. Whether this method is effective is quite another matter. It does seem to be performing decently well for many words - it got “crustacean” after guessing e , s , r , and a . (The program will output the solution immediately as soon as it has eliminated all other candidate words.) “Rusty,” meanwhile, took 13 guesses, 11 of which were wrong. This was no better than my original, naïve program. In some cases - though perhaps they are unlucky cases - the old Python program did significantly better. HangStop took 7 guesses (4 of which were wrong) to uncover “punctuation,” while the Python program only used 4, 1 of which was wrong. This problem deserves a bit of automated testing to ensure I am not subconsciously cherry-picking examples. :) My next step is going to be to write a script to hammer both the Rust CLI tool and the Python backend of my old project with thousands of words and determine whether “count the letters” is really beating the fancy information theory I championed. (As exemplified by the egregious use of DFS in my previous Rust project, one may easily see that I have a bit of a tendency to over-engineer things.)"}, {"post_id": 19991, "ts": "2026-07-01T13:50:19Z", "hours": 0.9869, "text": "Wrote the bulk of the information-theory-heavy code. I started by writing a function that takes a letter and a potential solution and returns a bitmask representing which spaces would be uncovered. For instance, get_bitmask('a', \"banana\") would give you 010101 , since there are As at the 1st, 3rd, and 5th indices. Then I wrote a second function which, given a letter and a word list, returns the Shannon entropy, or the expected bits of information, of that letter. This involves counting the occurrences of every bitmask in the word list and taking a weighted sum of the number of bits gained. For instance, if my letter was e and my word list was [hello, lends, flees, stick] , the bits of information you could expect to obtain from guessing e is p(01000) * log2(1 / p(01000)) + p(00110) * log2(1 / p(00110)) + p(00000) * log2( 1 / p(00000)) , which equals 1.5. Obtaining the bitmask for a given letter and a given word of length l is O(l) . Thus, calculating the entropy of a given letter for a certain word list of length n is O(n * l) . Calculating the entropy for every one of r remaining letters is O(n * l * r) . Since no English words are longer than a few dozen letters and there cannot be more than 26 remaining letters, determining the best letter to guess should be roughly linear with respect to the number of possible words. A few hundred thousand words through a linear-time algorithm should be nothing for Rust, but we will see whether my dubious asymptotic notation skills are supported by the final result. :) Unfortunately, there is not much to see in the screenshots I’ve been attaching; I use test-driven development and make sure my logic is reasonably sound before I even touch the UI, thus the rather boring images of passed unit tests."}, {"post_id": 19687, "ts": "2026-07-01T02:28:12Z", "hours": 1.6286, "text": "Began a new little side project. About a year ago, I wrote a Python app to suggest Hangman guesses. It was simple but surprisingly effective, especially for medium-to-long words. Its obvious weakness was shorter words, especially those under six letters long. I am going to attempt to improve the algorithm using some information theory and Rust magic. I also decided to make this a command line tool, as opposed to the original GUI, since Hangman works elegantly when thought of as a stateless game. Right now, I just wrote up some boilerplate code and passed all the tests."}]...
|
Title: HangStop by @bad-indentation | Stardance
D Title: HangStop by @bad-indentation | Stardance
Devlogs:
Began a new little side project. About a year ago, I wrote a Python app to suggest Hangman guesses. It was simple but surprisingly effective, especially for medium-to-long words. Its obvious weakness was shorter words, especially those under six letters long. I am going to attempt to improve the algorithm using some information theory and Rust magic. I also decided to make this a command line tool, as opposed to the original GUI, since Hangman works elegantly when thought of as a stateless game. Right now, I just wrote up some boilerplate code and passed all the tests.
Wrote the bulk of the information-theory-heavy code. I started by writing a function that takes a letter and a potential solution and returns a bitmask representing which spaces would be uncovered. For instance, get_bitmask('a', "banana") would give you 010101 , since there are As at the 1st, 3rd, and 5th indices. Then I wrote a second function which, given a letter and a word list, returns the Shannon entropy, or the expected bits of information, of that letter. This involves counting the occurrences of every bitmask in the word list and taking a weighted sum of the number of bits gained. For instance, if my letter was e and my word list was [hello, lends, flees, stick] , the bits of information you could expect to obtain from guessing e is p(01000) * log2(1 / p(01000)) + p(00110) * log2(1 / p(00110)) + p(00000) * log2( 1 / p(00000)) , which equals 1.5. Obtaining the bitmask for a given letter and a given word of length l is O(l) . Thus, calculating the entropy of a given letter for a certain word list of length n is O(n * l) . Calculating the entropy for every one of r remaining letters is O(n * l * r) . Since no English words are longer than a few dozen letters and there cannot be more than 26 remaining letters, determining the best letter to guess should be roughly linear with respect to the number of possible words. A few hundred thousand words through a linear-time algorithm should be nothing for Rust, but we will see whether my dubious asymptotic notation skills are supported by the final result. :) Unfortunately, there is not much to see in the screenshots I’ve been attaching; I use test-driven development and make sure my logic is reasonably sound before I even touch the UI, thus the rather boring images of passed unit tests.
Put the finishing touches on the CLI and fixed some little bugs. To the best of my knowledge, I have correctly implemented a search for the letter with the highest entropy given a certain game state. Whether this method is effective is quite another matter. It does seem to be performing decently well for many words - it got “crustacean” after guessing e , s , r , and a . (The program will output the solution immediately as soon as it has eliminated all other candidate words.) “Rusty,” meanwhile, took 13 guesses, 11 of which were wrong. This was no better than my original, naïve program. In some cases - though perhaps they are unlucky cases - the old Python program did significantly better. HangStop took 7 guesses (4 of which were wrong) to uncover “punctuation,” while the Python program only used 4, 1 of which was wrong. This problem deserves a bit of automated testing to ensure I am not subconsciously cherry-picking examples. :) My next step is going to be to write a script to hammer both the Rust CLI tool and the Python backend of my old project with thousands of words and determine whether “count the letters” is really beating the fancy information theory I championed. (As exemplified by the egregious use of DFS in my previous Rust project, one may easily see that I have a bit of a tendency to over-engineer things.)
As I was working on my benchmarking script, I found that the program is currently much too slow to play up to 2000 full games of Hangman in a reasonable amount of time, even when compiled with full optimizations. Perhaps compiling regex with the regex crate can get expensive, or perhaps there is some suboptimal use of memory within my code I overlooked. The word list is just under 200,000 words long, and while processing that much data doesn’t take all that long, minor inefficiencies are probably magnified a good bit. I may try swapping out the regular expressions for a custom, domain-specific pattern matching algorithm; however, the performance I’ve observed does seem to depend heavily on the calculations that occur after pruning. The program, after all, does get faster when the state is more restrictive. hangstop "?????????" takes about 3.5 seconds with the unoptimized build, since there are tens of thousands of nine-letter words in the dictionary; hangstop "???ee????" -i "nl" takes less than half the time (albeit still far more time than I would prefer). One particular challenge that comes with optimization is the fact that there is little benefit to precomputing anything. The program, as I have said in previous devlogs, is stateless, and it only makes one guess at a time, so it doesn’t spend any more time using data that it does generating it. Besides ditching regex, I may also experiment with lazy evaluation, or find something else to micro-optimize. :)
I removed the regular expressions from the Rust program, and it did seem to speed things up a little bit, but the unoptimized builds still took a few seconds to run. I couldn’t really think of any other optimizations that weren’t either a pain to implement or unlikely to work, so I ultimately decided just to run my script with the release build and wait. Thankfully, I seriously overestimated how long the benchmarking would take; it got through 1900-odd Hangman games in under 10 minutes. I wrote up a second quick script (not included in the repository) to test my old Hangman solver, but as this was in Python, calling code I wrote months ago, with only half-hearted attempts at optimization, that bit of benchmarking took hours to run. It really shouldn’t have, but at the time I decided I’d rather simply be patient than to actually figure out what was wrong. I had the results the next morning, so I put everything into some CSV files, whipped up a quick bit of Matplotlib code, and looked at how my new Rust program compared with my old Python program. To my satisfaction, the Rust program generally used less guesses overall than the Python program did. However, the programs were rather similar in the number of incorrect guesses they made, with the Python version beating the Rust one by a slim margin. This, arguably, is the more important metric for Hangman; there isn’t really a limit on how many guesses you make in Hangman, only how many wrong guesses you make. The results were nevertheless unsurprising. My Rust program, after all, attempts to optimize the information gained. The Python program attempts to play safely, though often at the cost of using more guesses overall. The Rust program is a little more willing to guess a rarer letter because it knows that absence of that letter still gives you information. This may be something we want to discourage. My plan is to open up a new branch in my repository and see if I can tweak the entropy calculations to make the algorithm a little more wary of incorrect guesses. I suppose that this would make the “entropy” more of a custom heuristic than true Shannon entropy, which reduces the program’s transparency, but I think the potential strategic gains are worth the tradeoff.
After fiddling around with various parameters in the entropy function and benchmarking the results, I decided that any benefits I might find were too small to warrant very much of my time looking for them. Besides, many of them produced negative values for the entropy, which, as I have previously alluded, is acceptable for a heuristic function , but not for the entropy calculation my program promises. I was more open to this discrepancy before, but the improvements I was seeing (if they actually were improvements) were not worth the change. Thus, I decided to write up a README, publish to crates.io, and call it a day. I may come back with more tweaks in the future, but for now, I think the performance is acceptable. (Nevertheless, you can find the data from all of my benchmarking trials in the repository.)
Ships:
HangStop is a blazingly fast Rust CLI tool for determining which letter will yield the most information in a game of Hangman. It uses Shannon entropy to determine the guess and is heavily inspired by Grant Sanderson’s (3Blue1Brown) video on Wordle and information theory ( https://www.3blue1brown.com/lessons/wordle/ ). It is also intended to be a new, revisited version of an old Python program I wrote. More details about the original project are included in the README, but for reviewing purposes, the original project should NOT be considered a component of this one. HangStop can be installed with a single command from crates.io....
|
1793260305.2960873
|
1793346705.2960873
|
|
28494
|
MatchUp.AI by @espees | Stardance
|
espees
|
1
|
9.07
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-11T20:25:03Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built MatchUp.AI, a World Cup 2026 match predictor that uses a Poisson regression model (trained in Python) to guess scorelines, with the math running fully in the browser, no server needed. The hardest part was getting the model to work smoothly in JavaScript and making the results easy to read. I’m proud that it’s fast, simple, and runs the real math live instead of just guessing. To test it, just pick two teams and see the predicted score. It should load instantly since everything runs locally.", "repo": "https://github.com/sarthak-pant/MatchUp.AI/", "demo": "https://sarthak-pant.github.io/MatchUp.AI/"}]...
|
[{"post_id": 37700, "ts": "202 [{"post_id": 37700, "ts": "2026-07-30T16:27:57Z", "hours": 3.0717, "text": "I remodelled the entire UI! It has a new arcade based theme now, but everything else, including the model is still the same."}, {"post_id": 26143, "ts": "2026-07-10T19:25:54Z", "hours": 3.0478, "text": "Wrapped up the project today. The highlight was finally getting the whole pipeline working from start to finish. train_v1.py trains a Poisson GLM on old match data, dumps the coefficients into model.js. app.js grabs those in the browser to generate live win/draw/loss odds and full score predictions. Seeing everything actually work together for the first time was such a good feeling. It wasn’t at all smooth, though. First, I made a stupid typo: I wrote factorials(k) instead of factorials[k]. That completely killed the predictor for a while. Once I fixed that, I found an even dumber bug. I’d been multiplying the home team’s Poisson probabilities by… the home team’s Poisson probabilities. So the model had basically spent the afternoon thinking every match was a team playing against its own clone. Then JavaScript decided it wanted to be funny. I used regular quotes instead of backticks in a few places, so instead of showing the actual values, my UI was proudly displaying stuff like ${pct}%. A lot of debugging, a few “how is this even happening?” moments, and way too many commits later, it’s finally done. The predictions make sense, the frontend actually shows legit numbers, and I can stop lying to myself that bugs are “features.”"}, {"post_id": 21136, "ts": "2026-07-02T22:49:41Z", "hours": 2.6156, "text": "I am building a Poisson GLM model for predicting this FIFA world cup’s match outcomes! I’ve collected all the data I need, and the frontend’s finally alive (sort of). The dropdown menu, neutral venue toggle are up and rendering, and the loading screen for the entire results panel (expected goals, W/D/L bars, score matrix) works. I did spend a good chunk of my time convinced my CSS was cursed though. In the beginning stages of styling, no matter what I did, the web page didn’t change at all. Turns out I wrote style.css instead of styles.css when connecting it with my html, so the browser was just not loading any styles ever. Next up, app.js and model.js need to be coded. Right now the page is just a pretty shell with no logic behind it, so the dropdowns are sitting empty, and the results panel is stuck in the loading screen since there’s no data telling them what countries even exist!"}]...
|
Title: MatchUp.AI by @espees | Stardance
Devlogs: Title: MatchUp.AI by @espees | Stardance
Devlogs:
I am building a Poisson GLM model for predicting this FIFA world cup’s match outcomes! I’ve collected all the data I need, and the frontend’s finally alive (sort of). The dropdown menu, neutral venue toggle are up and rendering, and the loading screen for the entire results panel (expected goals, W/D/L bars, score matrix) works. I did spend a good chunk of my time convinced my CSS was cursed though. In the beginning stages of styling, no matter what I did, the web page didn’t change at all. Turns out I wrote style.css instead of styles.css when connecting it with my html, so the browser was just not loading any styles ever. Next up, app.js and model.js need to be coded. Right now the page is just a pretty shell with no logic behind it, so the dropdowns are sitting empty, and the results panel is stuck in the loading screen since there’s no data telling them what countries even exist!
Wrapped up the project today. The highlight was finally getting the whole pipeline working from start to finish. train_v1.py trains a Poisson GLM on old match data, dumps the coefficients into model.js. app.js grabs those in the browser to generate live win/draw/loss odds and full score predictions. Seeing everything actually work together for the first time was such a good feeling. It wasn’t at all smooth, though. First, I made a stupid typo: I wrote factorials(k) instead of factorials[k]. That completely killed the predictor for a while. Once I fixed that, I found an even dumber bug. I’d been multiplying the home team’s Poisson probabilities by… the home team’s Poisson probabilities. So the model had basically spent the afternoon thinking every match was a team playing against its own clone. Then JavaScript decided it wanted to be funny. I used regular quotes instead of backticks in a few places, so instead of showing the actual values, my UI was proudly displaying stuff like ${pct}%. A lot of debugging, a few “how is this even happening?” moments, and way too many commits later, it’s finally done. The predictions make sense, the frontend actually shows legit numbers, and I can stop lying to myself that bugs are “features.”
I remodelled the entire UI! It has a new arcade based theme now, but everything else, including the model is still the same.
Ships:
I built MatchUp.AI, a World Cup 2026 match predictor that uses a Poisson regression model (trained in Python) to guess scorelines, with the math running fully in the browser, no server needed. The hardest part was getting the model to work smoothly in JavaScript and making the results easy to read. I’m proud that it’s fast, simple, and runs the real math live instead of just guessing. To test it, just pick two teams and see the predicted score. It should load instantly since everything runs locally....
|
1793317940.5719395
|
1793404340.5719395
|
|
28503
|
Clickbait Tycoon by @SuperTNT | Stardance
|
SuperTNT
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-29T23:40:15Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Stepping Away to Reset Headline Tycoon started as a necessary escape. I was deep in the trenches of a much larger, more complex project, and I could feel the early signs of burnout creeping in. To keep my momentum alive and clear my head, I challenged myself to build a small, high-satisfaction game completely from scratch. Taking a short break to build something snappy and functional completely recharged my batteries, reminding me why I love game development in the first place. Technical Hurdles in the Sprint Every project has its friction, even a short sprint. Beyond the UI layout battles, my biggest technical challenge was fighting with Godot 4’s C# compilation tools. I initially intended for this to be a browser game, but the web export pipeline for this specific engine setup is still incredibly finicky. Figuring out how to pivot gracefully to a single-file desktop deployment without breaking my codebase took some creative troubleshooting. I also had to spend a solid chunk of time tracking down a “dead click” bug, which ultimately led me to stop relying on the editor inspector for signals and instead script all UI connections dynamically when the game boots. Tester’s Guide: What to Know Since this is a raw, freshly exported core-loop prototype, there are a few things you should know before jumping in to build your empire. Because it is an unsigned indie executable, Windows Defender SmartScreen will likely trigger a blue warning window when you run it. The file is completely safe, so you just need to click “More Info” and then “Run Anyway” to launch it. Keep in mind that there is no save or load system implemented in this build, meaning your media empire resets when you close the window. As you play, pay close attention to the economy pacing. I specifically need feedback on whether the cost multiplier feels satisfying or if the numbers hit a boring wall where progress grinds to a frustrating halt. Let me know if the buttons react instantly when you click them, and how the overall layout scales on your specific monitor resolution.", "repo": "https://github.com/SuperTNT-Code/ClickBait-Tycoon", "demo": "https://github.com/SuperTNT-Code/ClickBait-Tycoon/blob/main/Clickbait%20Tycoon.zip"}]...
|
[{"post_id": 18770, "ts": "202 [{"post_id": 18770, "ts": "2026-06-29T23:35:54Z", "hours": 2.1292, "text": "Clickbait Tycoon | From Blank Screen to Clickable Empire Date: June 30, 2026 Engine: Godot 4.3 (C# / .NET) Status: Core loop complete – Exported and ready to play! The Idea I’ve always loved incremental and idle games. There is something magical about watching numbers go up and seeing that exponential growth curve kick in. I decided to build my own: Headline Tycoon. The premise is simple: you are a rising media mogul. You start by manually writing headlines to earn cash, then slowly hire AI tools to do the work for you. It’s a classic clicker formula wrapped in a modern AI theme. Building the Core Loop The engine architecture is straightforward. I set up a GameManager singleton as an autoload to handle the game state: Active Income: The headline click is handled by OnHeadlineButtonClicked, which calls AddCash and passes in the ClickValue. Passive Income: Passive cash generation runs inside _Process, utilizing delta to ensure the income ticks independently of the framerate. Every second, CurrentCash increases by CashPerSecond * delta. The Scaling: I defined five distinct upgrades, with starting costs ranging from $10 to $2,000. Each upgrade applies a 1.15 multiplier to its cost upon purchase, scaling the prices exponentially to create that classic idle-game snowball effect. Technical Note: The main challenge was keeping the math precise. I used double instead of float to avoid floating-point rounding errors when the numbers eventually hit the billions. The UI Nightmare (And How I Beat It) I am a coder, not a UI designer. At first, my labels and buttons were a chaotic mess. I ran into two major headaches trying to tame the interface: The Dead Buttons Initially, clicking the upgrade buttons did absolutely nothing. I had written all the backend buying logic, but I forgot to hook up the Pressed signals. Instead of manually linking them in the Godot editor, I connected the signals via code inside _Ready. That instantly fixed the dead clicks. The Alignment Battle I wanted each upgrade row to feature the label on the left and the buy button perfectly aligned on the right edge. The fix came down to proper node management: I used an HBoxContainer for each row. The Secret Sauce: Setting the label’s horizontal Size Flags to Expand and Fill. This forced the label to occupy all remaining extra space, cleanly pushing the button to the far right. Adding Visual Feedback It feels bad to click a button and have nothing happen because your pockets are empty. To solve this, I added affordability checks inside UpdateUI. The buttons now grey out when you are broke and light up the moment you can afford the upgrade. Immediate visual feedback is everything in a clicker game. The Export Rollercoaster This part tripped me up. I wanted to deploy this as a web game so players could jump in instantly without a download. However, because I built this using Godot 4 + C#, web export support isn’t fully streamlined yet. I pivoted to desktop exports instead, targeting Windows executables—and honestly, it was the right call. Exporting to Windows is flawless in Godot. I enabled the option to embed the PCK file directly into the executable, packing the entire game into a single file. No dependencies, no installers; just double-click and play. (Note: Windows might throw a SmartScreen popup since it’s an unsigned EXE, but players just need to click “More Info” and then “Run Anyway”.) What’s Next? The game is fully functional, but I’m not stopping here. My immediate roadmap includes: Save/Load System: Because no one wants to lose their empire when they close the window. Visual Juice: Adding particle explosions to the headline button and floating +$1 text that drifts upward on click. Audio: Adding satisfying sound effects for clicks and upgrades."}]...
|
Title: Clickbait Tycoon by @SuperTNT | Stardance
Title: Clickbait Tycoon by @SuperTNT | Stardance
Devlogs:
Clickbait Tycoon | From Blank Screen to Clickable Empire Date: June 30, 2026 Engine: Godot 4.3 (C# / .NET) Status: Core loop complete – Exported and ready to play! The Idea I’ve always loved incremental and idle games. There is something magical about watching numbers go up and seeing that exponential growth curve kick in. I decided to build my own: Headline Tycoon. The premise is simple: you are a rising media mogul. You start by manually writing headlines to earn cash, then slowly hire AI tools to do the work for you. It’s a classic clicker formula wrapped in a modern AI theme. Building the Core Loop The engine architecture is straightforward. I set up a GameManager singleton as an autoload to handle the game state: Active Income: The headline click is handled by OnHeadlineButtonClicked, which calls AddCash and passes in the ClickValue. Passive Income: Passive cash generation runs inside _Process, utilizing delta to ensure the income ticks independently of the framerate. Every second, CurrentCash increases by CashPerSecond * delta. The Scaling: I defined five distinct upgrades, with starting costs ranging from $10 to $2,000. Each upgrade applies a 1.15 multiplier to its cost upon purchase, scaling the prices exponentially to create that classic idle-game snowball effect. Technical Note: The main challenge was keeping the math precise. I used double instead of float to avoid floating-point rounding errors when the numbers eventually hit the billions. The UI Nightmare (And How I Beat It) I am a coder, not a UI designer. At first, my labels and buttons were a chaotic mess. I ran into two major headaches trying to tame the interface: The Dead Buttons Initially, clicking the upgrade buttons did absolutely nothing. I had written all the backend buying logic, but I forgot to hook up the Pressed signals. Instead of manually linking them in the Godot editor, I connected the signals via code inside _Ready. That instantly fixed the dead clicks. The Alignment Battle I wanted each upgrade row to feature the label on the left and the buy button perfectly aligned on the right edge. The fix came down to proper node management: I used an HBoxContainer for each row. The Secret Sauce: Setting the label’s horizontal Size Flags to Expand and Fill. This forced the label to occupy all remaining extra space, cleanly pushing the button to the far right. Adding Visual Feedback It feels bad to click a button and have nothing happen because your pockets are empty. To solve this, I added affordability checks inside UpdateUI. The buttons now grey out when you are broke and light up the moment you can afford the upgrade. Immediate visual feedback is everything in a clicker game. The Export Rollercoaster This part tripped me up. I wanted to deploy this as a web game so players could jump in instantly without a download. However, because I built this using Godot 4 + C#, web export support isn’t fully streamlined yet. I pivoted to desktop exports instead, targeting Windows executables—and honestly, it was the right call. Exporting to Windows is flawless in Godot. I enabled the option to embed the PCK file directly into the executable, packing the entire game into a single file. No dependencies, no installers; just double-click and play. (Note: Windows might throw a SmartScreen popup since it’s an unsigned EXE, but players just need to click “More Info” and then “Run Anyway”.) What’s Next? The game is fully functional, but I’m not stopping here. My immediate roadmap includes: Save/Load System: Because no one wants to lose their empire when they close the window. Visual Juice: Adding particle explosions to the headline button and floating +$1 text that drifts upward on click. Audio: Adding satisfying sound effects for clicks and upgrades.
Ships:
Stepping Away to Reset Headline Tycoon started as a necessary escape. I was deep in the trenches of a much larger, more complex project, and I could feel the early signs of burnout creeping in. To keep my momentum alive and clear my head, I challenged myself to build a small, high-satisfaction game completely from scratch. Taking a short break to build something snappy and functional completely recharged my batteries, reminding me why I love game development in the first place. Technical Hurdles in the Sprint Every project has its friction, even a short sprint. Beyond the UI layout battles, my biggest technical challenge was fighting with Godot 4’s C# compilation tools. I initially intended for this to be a browser game, but the web export pipeline for this specific engine setup is still incredibly finicky. Figuring out how to pivot gracefully to a single-file desktop deployment without breaking my codebase took some creative troubleshooting. I also had to spend a solid chunk of time tracking down a “dead click” bug, which ultimately led me to stop relying on the editor inspector for signals and instead script all UI connections dynamically when the game boots. Tester’s Guide: What to Know Since this is a raw, freshly exported core-loop prototype, there are a few things you should know before jumping in to build your empire. Because it is an unsigned indie executable, Windows Defender SmartScreen will likely trigger a blue warning window when you run it. The file is completely safe, so you just need to click “More Info” and then “Run Anyway” to launch it. Keep in mind that there is no save or load system implemented in this build, meaning your media empire resets when you close the window. As you play, pay close attention to the economy pacing. I specifically need feedback on whether the cost multiplier feels satisfying or if the numbers hit a boring wall where progress grinds to a frustrating halt. Let me know if the buttons react instantly when you click them, and how the overall layout scales on your specific monitor resolution....
|
1793318020.2940478
|
1793404420.2940478
|
|
28514
|
KittyOS by @melodelete | Stardance
|
melodelete
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-30T02:13:39Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A Web OS Kitty Themed, It was hard to implement apps, there were constant bugs like inverted mouse when moving windows, you can test the project by clicking the big Ol’ “Try project” button, The browser may or may not work depending on your browser", "repo": "https://github.com/melodelete/Kittyos", "demo": "https://melodelete.github.io/Kittyos/"}]...
|
[{"post_id": 18872, "ts": "202 [{"post_id": 18872, "ts": "2026-06-30T02:10:38Z", "hours": 0.2614, "text": "Made a better start menu"}, {"post_id": 18848, "ts": "2026-06-30T01:31:29Z", "hours": 0.8242, "text": "Added A Bunch Of apps to KIttyOS"}, {"post_id": 18801, "ts": "2026-06-30T00:37:50Z", "hours": 1.185, "text": "Added Basic functionaly and cool styling"}]...
|
Title: KittyOS by @melodelete | Stardance
Devlogs Title: KittyOS by @melodelete | Stardance
Devlogs:
Added Basic functionaly and cool styling
Added A Bunch Of apps to KIttyOS
Made a better start menu
Ships:
A Web OS Kitty Themed, It was hard to implement apps, there were constant bugs like inverted mouse when moving windows, you can test the project by clicking the big Ol’ “Try project” button, The browser may or may not work depending on your browser...
|
1793242499.6742134
|
1793328899.6742134
|
|
28533
|
Website by @albertphu3 | Stardance
|
albertphu3
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-30T00:34:20Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A cool but simple personal website!", "repo": "https://codeberg.org/NODE_X/pages", "demo": "https://node_x.codeberg.page/"}]...
|
[{"post_id": 18796, "ts": "202 [{"post_id": 18796, "ts": "2026-06-30T00:33:28Z", "hours": 0.3311, "text": "Started Creating my personal website"}]...
|
Title: Website by @albertphu3 | Stardance
Devlogs Title: Website by @albertphu3 | Stardance
Devlogs:
Started Creating my personal website
Ships:
A cool but simple personal website!...
|
1793267445.6542618
|
1793353845.6542618
|
|
28544
|
Homelab Project 1 by @Nanos | Stardance
|
Nanos
|
1
|
27.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-01T19:11:20Z", "hours": 27.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Homelab Control Panel In this project I started building a self-hosted homelab control panel designed to manage and monitor a local machine or server from a single web interface. The main idea is to combine multiple homelab tools into one simple dashboard that runs locally and is easy to extend. What I’ve worked on so far: Set up the base FastAPI backend Structured the project into separate modules for monitoring, Docker management, file handling, and database tools Built a basic web dashboard using HTML, CSS, and JavaScript Planned integration of system metrics using psutil Designed the structure for Docker container control and file access Main idea: The panel is meant to act like a lightweight homelab management system where you can: monitor system performance manage Docker containers handle files on the server run simple database queries", "repo": "https://github.com/na1os/Homelab", "demo": "https://github.com/na1os/Homelab/releases/tag/install_script"}]...
|
[{"post_id": 20187, "ts": "202 [{"post_id": 20187, "ts": "2026-07-01T18:53:43Z", "hours": 1.0, "text": "I just finished everything to do, fixed all the bugs that were created since the last devlog"}, {"post_id": 20093, "ts": "2026-07-01T16:43:24Z", "hours": 7.0, "text": "Feature Expansion After the panel became stable and all core tabs were working (Monitoring, Docker, Files, Database) together with the authentication system, I focused on turning it into a more complete homelab management dashboard. Monitoring History The biggest addition was persistent system metrics. Added a metrics_history SQLite table to store: CPU usage Memory usage Disk usage Network byte counters Created a background recorder in history_service.py that saves a snapshot every 15 seconds by default. Recording interval can be configured using: HOMELAB_HISTORY_INTERVAL Old records are automatically removed after a configurable number of days (default 7) using cleanup_old() , which runs once every hour. Frontend Improvements: Updated style The Monitoring page now includes: Interactive Chart.js history graphs Time range selector:1 hour6 hours24 hours7 days Toggle buttons for CPU, Memory and Disk metrics Statistics panel showing: Minimum, Maximum, Average, Current value, CSV export of the currently displayed data Automatic chart color updates when switching between light and dark mode New APIGET /api/system/history?hours=N Returns recorded history as JSON. Network Tab A completely new Network tab was added using psutil. Features: Listening Ports Displays every port in the LISTEN state Shows owning process name and PID whenever available Active Connections Displays: Established, Time: Wait-Close local and remote addresses plus process information Network Interfaces: Interface status Link speed IPv4 addresses IPv6 addresses Total packets sent/received Total bytes sent/received Live Bandwidth Monitor Calculates upload/download speed every 5 seconds Uses differences between global network counters New API Endpoints: /api/network/ports /api/network/connections /api/network/interfaces /api/network/io Alert System: Implemented a background webhook notification service. A new alert_service.py daemon continuously monitors the server. Features: Checks system metrics every 30 seconds (configurable) Monitors: CPU usage Memory usage Disk usage Sends webhook notifications whenever configured thresholds are exceeded Cooldown support prevents repeated spam (default 300 seconds) Supported Webhooks: Discord Slack Generic JSON POST Configured using: HOMELAB_ALERT_WEBHOOK_TYPE Additional environment variables: HOMELAB_ALERT_WEBHOOK_URL HOMELAB_ALERT_CPU_THRESHOLD HOMELAB_ALERT_MEM_THRESHOLD HOMELAB_ALERT_DISK_THRESHOLD HOMELAB_ALERT_COOLDOWN HOMELAB_ALERT_INTERVAL If no webhook URL is configured, the alert checker does not start, resulting in zero overhead. Database Improvements: The Database tab received several quality-of-life improvements: Removed Demo Data The automatic demo database seeding was removed. Maintenance: Export Support: CSV export: POST /api/db/export/csv JSON export: POST /api/db/export/json Table Management Added endpoints for: POST /api/db/tables/{name}/drop POST /api/db/tables/{name}/truncate System tables are protected and cannot be modified. Database Information Expanded the information panel with: Database path File sizeSQLite version Journal mode Page size Page count Free pages Integrity check result Total table count When SQLite’s dbstat virtual table is available, the sidebar now also shows approximate table sizes. The schema endpoint now returns indexes in addition to columns."}, {"post_id": 19467, "ts": "2026-06-30T19:57:13Z", "hours": 11.0, "text": "Background In this project I started building a self-hosted homelab control panel designedto manage and monitor a local machine or server from a single web interface. The main idea is to combine multiple homelab tools into one simple dashboardthat runs locally and is easy to extend. What I’ve worked on so far: Set up the base FastAPI backend Structured the project into separate modules for monitoring, Dockermanagement, file handling, and database toolsBuilt a basic web dashboard using HTML, CSS, and JavaScript Planned integration of system metrics using psutilDesigned the structure for Docker container control and file accessThe panel is meant to act like a lightweight homelab management system whereyou can: monitor system performancemanage Docker container shandle files on the server run simple database queries The main challenge was designing a structure that stays modular but still simple enough to build within a limited timeframe. I also had to thinkcarefully about how system-level features should be exposed safely through a web interface. Another useful aspect is that this mission came at a good time, since I wasalready planning to build something in this direction, so I was able to alignmy work with it."}, {"post_id": 18826, "ts": "2026-06-30T01:00:21Z", "hours": 6.0, "text": "Homelab Control Panel (Work in progress) In this project I started building a self-hosted homelab control panel designed to manage and monitor a local machine or server from a single web interface. The main idea is to combine multiple homelab tools into one simple dashboard that runs locally and is easy to extend. What I’ve worked on so far: Set up the base FastAPI backend Structured the project into separate modules for monitoring, Docker management, file handling, and database tools Built a basic web dashboard using HTML, CSS, and JavaScript Planned integration of system metrics using psutil Designed the structure for Docker container control and file access Main idea: The panel is meant to act like a lightweight homelab management system where you can: monitor system performance manage Docker containers handle files on the server run simple database queries Challenges so far: The main challenge was designing a structure that stays modular but still simple enough to build within a limited timeframe. I also had to think carefully about how system-level features should be exposed safely through a web interface. Another useful aspect is that this mission came at a good time, since I was already planning to build something in this direction, so I was able to align my work with it."}]...
|
Title: Homelab Project 1 by @Nanos | Stardance
De Title: Homelab Project 1 by @Nanos | Stardance
Devlogs:
Homelab Control Panel (Work in progress) In this project I started building a self-hosted homelab control panel designed to manage and monitor a local machine or server from a single web interface. The main idea is to combine multiple homelab tools into one simple dashboard that runs locally and is easy to extend. What I’ve worked on so far: Set up the base FastAPI backend Structured the project into separate modules for monitoring, Docker management, file handling, and database tools Built a basic web dashboard using HTML, CSS, and JavaScript Planned integration of system metrics using psutil Designed the structure for Docker container control and file access Main idea: The panel is meant to act like a lightweight homelab management system where you can: monitor system performance manage Docker containers handle files on the server run simple database queries Challenges so far: The main challenge was designing a structure that stays modular but still simple enough to build within a limited timeframe. I also had to think carefully about how system-level features should be exposed safely through a web interface. Another useful aspect is that this mission came at a good time, since I was already planning to build something in this direction, so I was able to align my work with it.
Background In this project I started building a self-hosted homelab control panel designedto manage and monitor a local machine or server from a single web interface. The main idea is to combine multiple homelab tools into one simple dashboardthat runs locally and is easy to extend. What I’ve worked on so far: Set up the base FastAPI backend Structured the project into separate modules for monitoring, Dockermanagement, file handling, and database toolsBuilt a basic web dashboard using HTML, CSS, and JavaScript Planned integration of system metrics using psutilDesigned the structure for Docker container control and file accessThe panel is meant to act like a lightweight homelab management system whereyou can: monitor system performancemanage Docker container shandle files on the server run simple database queries The main challenge was designing a structure that stays modular but still simple enough to build within a limited timeframe. I also had to thinkcarefully about how system-level features should be exposed safely through a web interface. Another useful aspect is that this mission came at a good time, since I wasalready planning to build something in this direction, so I was able to alignmy work with it.
Feature Expansion After the panel became stable and all core tabs were working (Monitoring, Docker, Files, Database) together with the authentication system, I focused on turning it into a more complete homelab management dashboard. Monitoring History The biggest addition was persistent system metrics. Added a metrics_history SQLite table to store: CPU usage Memory usage Disk usage Network byte counters Created a background recorder in history_service.py that saves a snapshot every 15 seconds by default. Recording interval can be configured using: HOMELAB_HISTORY_INTERVAL Old records are automatically removed after a configurable number of days (default 7) using cleanup_old() , which runs once every hour. Frontend Improvements: Updated style The Monitoring page now includes: Interactive Chart.js history graphs Time range selector:1 hour6 hours24 hours7 days Toggle buttons for CPU, Memory and Disk metrics Statistics panel showing: Minimum, Maximum, Average, Current value, CSV export of the currently displayed data Automatic chart color updates when switching between light and dark mode New APIGET /api/system/history?hours=N Returns recorded history as JSON. Network Tab A completely new Network tab was added using psutil. Features: Listening Ports Displays every port in the LISTEN state Shows owning process name and PID whenever available Active Connections Displays: Established, Time: Wait-Close local and remote addresses plus process information Network Interfaces: Interface status Link speed IPv4 addresses IPv6 addresses Total packets sent/received Total bytes sent/received Live Bandwidth Monitor Calculates upload/download speed every 5 seconds Uses differences between global network counters New API Endpoints: /api/network/ports /api/network/connections /api/network/interfaces /api/network/io Alert System: Implemented a background webhook notification service. A new alert_service.py daemon continuously monitors the server. Features: Checks system metrics every 30 seconds (configurable) Monitors: CPU usage Memory usage Disk usage Sends webhook notifications whenever configured thresholds are exceeded Cooldown support prevents repeated spam (default 300 seconds) Supported Webhooks: Discord Slack Generic JSON POST Configured using: HOMELAB_ALERT_WEBHOOK_TYPE Additional environment variables: HOMELAB_ALERT_WEBHOOK_URL HOMELAB_ALERT_CPU_THRESHOLD HOMELAB_ALERT_MEM_THRESHOLD HOMELAB_ALERT_DISK_THRESHOLD HOMELAB_ALERT_COOLDOWN HOMELAB_ALERT_INTERVAL If no webhook URL is configured, the alert checker does not start, resulting in zero overhead. Database Improvements: The Database tab received several quality-of-life improvements: Removed Demo Data The automatic demo database seeding was removed. Maintenance: Export Support: CSV export: POST /api/db/export/csv JSON export: POST /api/db/export/json Table Management Added endpoints for: POST /api/db/tables/{name}/drop POST /api/db/tables/{name}/truncate System tables are protected and cannot be modified. Database Information Expanded the information panel with: Database path File sizeSQLite version Journal mode Page size Page count Free pages Integrity check result Total table count When SQLite’s dbstat virtual table is available, the sidebar now also shows approximate table sizes. The schema endpoint now returns indexes in addition to columns.
I just finished everything to do, fixed all the bugs that were created since the last devlog
Ships:
Homelab Control Panel In this project I started building a self-hosted homelab control panel designed to manage and monitor a local machine or server from a single web interface. The main idea is to combine multiple homelab tools into one simple dashboard that runs locally and is easy to extend. What I’ve worked on so far: Set up the base FastAPI backend Structured the project into separate modules for monitoring, Docker management, file handling, and database tools Built a basic web dashboard using HTML, CSS, and JavaScript Planned integration of system metrics using psutil Designed the structure for Docker container control and file access Main idea: The panel is meant to act like a lightweight homelab management system where you can: monitor system performance manage Docker containers handle files on the server run simple database queries...
|
1792878851.8722217
|
1793742851.8722217
|
|
28545
|
MotivationPage by @aamir_pa2009 | Stardance
|
aamir_pa2009
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-02T23:58:18Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a motivational quote generator with google built into it. What as challenging was learning how to integrate the search bar and API and debugging all the CORS issues with some quote API’s.", "repo": "https://github.com/AamirKPathan/dawnedMotivation", "demo": "https://aamirkpathan.github.io/dawnedMotivation/"}]...
|
[{"post_id": 21167, "ts": "202 [{"post_id": 21167, "ts": "2026-07-02T23:37:47Z", "hours": 0.5422, "text": "Currently I have made a basic HTML site with google built into the tab which you can use for searches. It features the same styling as my OS and can also be launched from my OS. Additionally it has a motivational quote API that changes the quote every hour. In the future I may add new quotes by a button."}]...
|
Title: MotivationPage by @aamir_pa2009 | Stardance Title: MotivationPage by @aamir_pa2009 | Stardance
Devlogs:
Currently I have made a basic HTML site with google built into the tab which you can use for searches. It features the same styling as my OS and can also be launched from my OS. Additionally it has a motivational quote API that changes the quote every hour. In the future I may add new quotes by a button.
Ships:
I made a motivational quote generator with google built into it. What as challenging was learning how to integrate the search bar and API and debugging all the CORS issues with some quote API’s....
|
1793224468.6211035
|
1793310868.6211035
|
|
28551
|
National Parks Website by @Kailey | Stardance
|
Kailey
|
1
|
1.0
|
1
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-30T01:06:09Z", "hours": 1.0, "multiplier": 1.01, "payout": 1, "blessing": "neutral", "text": "I made a simple HTML/CSS website of national parks that I have visited.", "repo": "https://github.com/KaileyLiou/National-Parks", "demo": "https://kaileyliou.github.io/National-Parks/"}]...
|
[{"post_id": 18829, "ts": "202 [{"post_id": 18829, "ts": "2026-06-30T01:03:53Z", "hours": 0.5819, "text": "Finished website"}]...
|
Title: National Parks Website by @Kailey | Stardan Title: National Parks Website by @Kailey | Stardance
Devlogs:
Finished website
Ships:
I made a simple HTML/CSS website of national parks that I have visited....
|
1793321777.4406104
|
1793408177.4406104
|
|
28552
|
Stock Analyzer by @Ditto | Stardance
|
Ditto
|
1
|
2.27
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-30T14:57:28Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is a Python-based website that retrieves data using the TwelveData API and draws graphs and tables using Pandas.", "repo": "https://github.com/d08835149-prog/Stock-Analyzer", "demo": "https://stock-analyzer-snowy.vercel.app/"}]...
|
[{"post_id": 54576, "ts": "202 [{"post_id": 54576, "ts": "2026-08-25T16:30:24Z", "hours": 1.2692, "text": "Stock Analyzer I am currently overhauling all the files to deploy from a cold-starting Streamlet to Velcel. I have finished the UI so far and am now converting the features to work with Velcel…I"}, {"post_id": 18916, "ts": "2026-06-30T03:07:27Z", "hours": 0.9533, "text": "This is the first website I created. It is a stock analysis website. …..I am looking for someone to give me some feedback (language, adding features, anything is fine)………There is one problem, though. The time period selection is a bit strange, so I would appreciate it if you could recommend a way to fix it."}]...
|
Title: Stock Analyzer by @Ditto | Stardance
Devlo Title: Stock Analyzer by @Ditto | Stardance
Devlogs:
This is the first website I created. It is a stock analysis website. …..I am looking for someone to give me some feedback (language, adding features, anything is fine)………There is one problem, though. The time period selection is a bit strange, so I would appreciate it if you could recommend a way to fix it.
Stock Analyzer I am currently overhauling all the files to deploy from a cold-starting Streamlet to Velcel. I have finished the UI so far and am now converting the features to work with Velcel…I
Ships:
This is a Python-based website that retrieves data using the TwelveData API and draws graphs and tables using Pandas....
|
1793282005.102247
|
1793368405.102247
|
|
28553
|
Laphorse by @kan411 | Stardance
|
kan411
|
1
|
17.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-24T22:26:37Z", "hours": 17.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A while back I made an laptop with desktop components, but at that time I had almost no CAD skills, and had a really bad 3d printer so I made it out of wood. I decided to recreate it but with fully 3d printed case nad it turned out to be better in every possible way. It got way stiffer, a bit smaller, and looks way more professional. Taking all the measurments was pretty hard, but finally i got everything right.", "repo": "https://github.com/kanal411/laphorse", "demo": ""}]...
|
[{"post_id": 29220, "ts": "202 [{"post_id": 29220, "ts": "2026-07-15T23:55:11Z", "hours": 3.6442, "text": "Devlog #6 - Whole case is basiclly finished, I only have to fix few small things."}, {"post_id": 23728, "ts": "2026-07-06T20:55:11Z", "hours": 1.8531, "text": "Devlog #6 - I printed bottom of the case, it has a few flaws but I’m probably not going to print new one because it takes over 300g of filament so I’m gonna just improvise."}, {"post_id": 22534, "ts": "2026-07-05T01:52:06Z", "hours": 3.4714, "text": "Devlog #5 - I designed upper part of the case and started working on the lid."}, {"post_id": 21505, "ts": "2026-07-03T14:31:59Z", "hours": 2.0669, "text": "Devlog #4 - I think I finally finished bottom part of the case, also I started working on the keyboard part."}, {"post_id": 20832, "ts": "2026-07-02T15:16:50Z", "hours": 2.7353, "text": "Devlog #3 - I started working on bottom part of the case, I printed only “small” parts of it to save filament. I need to add only few small things and I can move on to upper part and screen. Also I added wifi card slot."}, {"post_id": 19427, "ts": "2026-06-30T19:05:26Z", "hours": 0.75, "text": "Devlog #2 - Today I designed custom cooling mounting bracket, so I can attach an old GPU cooler to an AM4 motherboard. I printed it in ABS so it can withstand higher temps and finally got the whole thing running cinebench under 75 degrees with the only fan being pretty far away."}, {"post_id": 19244, "ts": "2026-06-30T14:38:58Z", "hours": 2.165, "text": "Devlog #1 – A few years ago, I decided to build a laptop-desktop hybrid (desktop components in a laptop form). I managed to make it work, but at the time my only 3D printer was an Ender 3 V2 with a bent Y-axis rod, so I built the case out of wood instead.The project had a lot of issues: it was huge, screws were sticking out everywhere, it looked pretty bad, and it ran really hot. Because of that, I decided to remake it with a 3D-printed case so I could learn CAD in the process."}]...
|
Title: Laphorse by @kan411 | Stardance
Devlogs:
D Title: Laphorse by @kan411 | Stardance
Devlogs:
Devlog #1 – A few years ago, I decided to build a laptop-desktop hybrid (desktop components in a laptop form). I managed to make it work, but at the time my only 3D printer was an Ender 3 V2 with a bent Y-axis rod, so I built the case out of wood instead.The project had a lot of issues: it was huge, screws were sticking out everywhere, it looked pretty bad, and it ran really hot. Because of that, I decided to remake it with a 3D-printed case so I could learn CAD in the process.
Devlog #2 - Today I designed custom cooling mounting bracket, so I can attach an old GPU cooler to an AM4 motherboard. I printed it in ABS so it can withstand higher temps and finally got the whole thing running cinebench under 75 degrees with the only fan being pretty far away.
Devlog #3 - I started working on bottom part of the case, I printed only “small” parts of it to save filament. I need to add only few small things and I can move on to upper part and screen. Also I added wifi card slot.
Devlog #4 - I think I finally finished bottom part of the case, also I started working on the keyboard part.
Devlog #5 - I designed upper part of the case and started working on the lid.
Devlog #6 - I printed bottom of the case, it has a few flaws but I’m probably not going to print new one because it takes over 300g of filament so I’m gonna just improvise.
Devlog #6 - Whole case is basiclly finished, I only have to fix few small things.
Ships:
A while back I made an laptop with desktop components, but at that time I had almost no CAD skills, and had a really bad 3d printer so I made it out of wood. I decided to recreate it but with fully 3d printed case nad it turned out to be better in every possible way. It got way stiffer, a bit smaller, and looks way more professional. Taking all the measurments was pretty hard, but finally i got everything right....
|
1793267726.2069561
|
1793354126.2069561
|
|
28555
|
quadrapad by @jonahbyrom | Stardance
|
jonahbyrom
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-05T18:38:34Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is a simple four-key macropad that allows the user to cut, copy, paste, etc. without using key combinations. It is my very first project of any kind and I am quite proud of it! I designed everything for the first time ever in Fusion and KiCad. Super fun!!", "repo": "https://github.com/jonahbyrom/quadrapad", "demo": ""}]...
|
[{"post_id": 22997, "ts": "202 [{"post_id": 22997, "ts": "2026-07-05T18:11:03Z", "hours": 1.5172, "text": "Finished! I finally finished the project to where I am proud enough to submit it. I finished up the CAD file and compiled all the other files I needed to and did all of the finishing touches and updated github repo a lot! Will now figure out the submission process"}, {"post_id": 22615, "ts": "2026-07-05T05:12:06Z", "hours": 0.5781, "text": "Fixed the cutout and made adjustments to the CAD file!"}, {"post_id": 22338, "ts": "2026-07-04T19:17:18Z", "hours": 1.45, "text": "figured out how to do the firmware and finished it + added files to github repo!!! yayay! began work on CAD file for everything putting together for the submission, I need to add the screws and figure that out but ima take a break first! Im so so proud of what I have done!!"}, {"post_id": 21704, "ts": "2026-07-03T20:02:47Z", "hours": 0.8667, "text": "Trying to figure out the QMK on my own but struggling so I requested help with it as I am struggling to follow along with all of the guides I have found and I do not know if I am doing this whole thing correctly or not. Getting errors in terminal when doing qmk lint and when trying to compile it, something with a bootloader that I cannot find in the guide. Additionally updated the github repo with pcb and case images"}, {"post_id": 21553, "ts": "2026-07-03T15:59:14Z", "hours": 0.5333, "text": "Finished up (for the most part) the case for the macropad… trying to figure out the qmk firmware stuff but struggling on where to start, will do some research and see if I can figure it out before trying to work on it more"}, {"post_id": 21240, "ts": "2026-07-03T02:19:21Z", "hours": 0.9, "text": "Fixed my little issue that I had with my PCB and the sizing. Just need to do a few more tweaks for the case tmrw and then I can continue to work on this project. I am really proud of what I have made :D"}, {"post_id": 21129, "ts": "2026-07-02T22:39:02Z", "hours": 0.9003, "text": "First iteration of PCB and beginnings of the case; having a bit of trouble with the plate… we shall see what I did wrong soon lol!"}]...
|
Title: quadrapad by @jonahbyrom | Stardance
Devlo Title: quadrapad by @jonahbyrom | Stardance
Devlogs:
First iteration of PCB and beginnings of the case; having a bit of trouble with the plate… we shall see what I did wrong soon lol!
Fixed my little issue that I had with my PCB and the sizing. Just need to do a few more tweaks for the case tmrw and then I can continue to work on this project. I am really proud of what I have made :D
Finished up (for the most part) the case for the macropad… trying to figure out the qmk firmware stuff but struggling on where to start, will do some research and see if I can figure it out before trying to work on it more
Trying to figure out the QMK on my own but struggling so I requested help with it as I am struggling to follow along with all of the guides I have found and I do not know if I am doing this whole thing correctly or not. Getting errors in terminal when doing qmk lint and when trying to compile it, something with a bootloader that I cannot find in the guide. Additionally updated the github repo with pcb and case images
figured out how to do the firmware and finished it + added files to github repo!!! yayay! began work on CAD file for everything putting together for the submission, I need to add the screws and figure that out but ima take a break first! Im so so proud of what I have done!!
Fixed the cutout and made adjustments to the CAD file!
Finished! I finally finished the project to where I am proud enough to submit it. I finished up the CAD file and compiled all the other files I needed to and did all of the finishing touches and updated github repo a lot! Will now figure out the submission process
Ships:
This is a simple four-key macropad that allows the user to cut, copy, paste, etc. without using key combinations. It is my very first project of any kind and I am quite proud of it! I designed everything for the first time ever in Fusion and KiCad. Super fun!!...
|
1793328656.078389
|
1793415056.078389
|
|
28558
|
My first website (for stardance at least) by @Oli- My first website (for stardance at least) by @Oli-07 | Stardance...
|
Oli-07
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-30T04:04:42Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a website talking about my love of dogs, with fun facts, a drawing function, a button that keeps count, and more. I’m proud of this cause I feel like it shows a lot of growth for myself since the last time I made a website.", "repo": "https://github.com/oli-07/Website-About-Dogs-", "demo": "https://oli-07.github.io/Website-About-Dogs-/"}]...
|
[{"post_id": 18940, "ts": "202 [{"post_id": 18940, "ts": "2026-06-30T03:47:13Z", "hours": 0.7314, "text": "Added a post-it note type feature at the bottom so you can draw a puppy!"}, {"post_id": 18876, "ts": "2026-06-30T02:15:42Z", "hours": 0.5175, "text": "final updated version d:"}]...
|
Title: My first website (for stardance at least) b Title: My first website (for stardance at least) by @Oli-07 | Stardance
Devlogs:
final updated version d:
Added a post-it note type feature at the bottom so you can draw a puppy!
Ships:
I made a website talking about my love of dogs, with fun facts, a drawing function, a button that keeps count, and more. I’m proud of this cause I feel like it shows a lot of growth for myself since the last time I made a website....
|
1793317865.3205802
|
1793404265.3205802
|
|
28561
|
Link in bio by @Nanos | Stardance
|
Nanos
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-30T01:51:26Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A simple \"link in bio\" page built with HTML and CSS. Build Time This project was created in approximately 15 minutes as a quick test to see how fast I can make a simple static website. Features Profile section with avatar Name and short description Social media links Clean responsive layout Hover effects on links", "repo": "https://github.com/na1os/15-minutes-link-in-bio", "demo": "https://demo.nanos.ro/15-minute-link-in-bio"}]...
|
[{"post_id": 18855, "ts": "202 [{"post_id": 18855, "ts": "2026-06-30T01:51:04Z", "hours": 0.0, "text": "A simple “link in bio” page built with HTML and CSS. Build Time This project was created in approximately 15 minutes as a quick test to see how fast I can make a simple static website. Features Profile section with avatarName and short descriptionSocial media linksClean responsive layout Hover effects on links"}]...
|
Title: Link in bio by @Nanos | Stardance
Devlogs: Title: Link in bio by @Nanos | Stardance
Devlogs:
A simple “link in bio” page built with HTML and CSS. Build Time This project was created in approximately 15 minutes as a quick test to see how fast I can make a simple static website. Features Profile section with avatarName and short descriptionSocial media linksClean responsive layout Hover effects on links
Ships:
A simple "link in bio" page built with HTML and CSS. Build Time This project was created in approximately 15 minutes as a quick test to see how fast I can make a simple static website. Features Profile section with avatar Name and short description Social media links Clean responsive layout Hover effects on links...
|
1792878856.8628855
|
1793742856.8628855
|
|
28564
|
Dodge The Spikes by @vindognz | Stardance
|
vindognz
|
1
|
24.0
|
323
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-19T10:11:14Z", "hours": 24.0, "multiplier": 13.34, "payout": 323, "blessing": "neutral", "text": "I made a 2D reflex game about dodging spikes! A level lasts 10 spikes - every level is faster and more dangerous. This was my first Godot project in years, so it was difficult to relearn the engine at first, but I got used to it. I’m really proud of the firefly shader! It took me ages to tune and refine, but I’m super happy with it. It might be really hard because I adjusted the difficulty as I made it, so if you struggle - sorry! Thanks for voting!!!", "repo": "https://github.com/vindognz/dodge-the-spikes", "demo": "https://vindognz.github.io/dodge-the-spikes/"}]...
|
[{"post_id": 80848, "ts": "202 [{"post_id": 80848, "ts": "2026-10-19T00:31:27Z", "hours": 2.6886, "text": "It’s been a while (school is schooling 😭) This is probably my last devlog before I ship. The game has sound now! 5 sound effects, made in jsfxr: jump, thud when you land, a blip every time you dodge a spike, a boom when you die, and a level up! (Press M to mute the sound effects) I got a tiny bit obsessed with outlines, and gave every label a thick outline The leaderboard title is gold now too! SPACE is both jump and play again, so smashing it as you died would skip the leaderboard.. Play Again now ignores pressed for a half second after you die. All that, some minor performance tweaks, README polishing and now we’re ready to ship! Thanks for playing!"}, {"post_id": 76872, "ts": "2026-10-04T21:50:40Z", "hours": 1.1408, "text": "Hosting move and some small QoL. So uhh… The old site is gone. I moved the game from Nest to Github Pages: New Link (The old link shows a “we moved” pages that redirects you) Nest was sending the 38MB engine file uncompressed and sometimes worked, sometimes took 40+ minutes to send. I tried gzip, i tried brotli, and the proxy just seemed to break it all. Github serves the same game so fast it loads before the splash is done. RIP serve.py. Okay, onto QoL: Space to play again. Hit space on the game over screen and you immediately respawn (no more reaching for your mouse every death). README overhaul. I finally updated it! It has how to play, correct feature list, how it’s built, guidance on running it locally, and the live link. I also dropped the idea of Linux/Windows/Mac downloads, because it’s just easier in a browser. Still to do: sfx, polish."}, {"post_id": 75849, "ts": "2026-10-01T10:37:06Z", "hours": 3.24, "text": "HUGE updates, the demo is actually out! It’s live, and YOU can play the beta right now: Play! (I will maintain it as the latest, stable build, please comment with any feedback 😊). The Godot build is exported to WebGL and embedded in a landing page that I built around it. I tried to keep it somewhat minimal, so it’s just a splash text that fades into a dark ‘cave’ with the same red spikes on the walls, and the game in the middle. It’s hosted on Nest, being run by a tiny Python server I wrote that gzips everything. Compression might seem excessive, but it shrank the 38MB engine file to ~10MB, so it loads significantly faster. The leaderboard got cooked when publishing, so I had to rewrite some logic but I got it working eventually! Difficulty used to increase with your score, now we have Levels. Every 10 spikes, the screen clears, a “Level ” banner shows, and the next level starts faster. Danger zones now start at certain levels too, completely ditching the old score driving approach. I also created a real start screen (This was desperately needed). It has the same firefly background as the game, a little controls hint, and a little demo player hopping spikes :) All that’s left is sfx, README and polish!"}, {"post_id": 75140, "ts": "2026-09-29T08:47:13Z", "hours": 9.0861, "text": "Holy moly I need to remember to devlog 😭 Gameplay has been locked in. Danger zones have been added: at score 10 red columns flash for 3s and insta-kill if you’re in them when time is up. At score 30, two zones spawn at once. Screen shakes on landing and death. Spike cooldown now scales with score, so the difficulty actually increases. Player is now a squishy jelly ball that deforms on jump, stretches while airborne, and splats on landing with a nice tween animation. The leaderboard is alive! Input name on first death (cached for the session), auto-submit to Supabase backend, leaderboard is now embedded in the game over screen. Your current run shows golden in the rankings. Insane visual overhaul. I built a procedural shader for the background that renders 30 animated fireflies (on the GPU). Each one drifts with a unique sine-wave pattern, and pulses brightness. Death burst spawns 12 red sparks that fly outward, and fade out. To-do: Start screen, audio (jump, death, score sfx), and WebGL export + GitHub Pages."}, {"post_id": 22405, "ts": "2026-07-04T21:24:46Z", "hours": 5.9817, "text": "Big session today! (definitely didn’t forget to write a devlog) Here’s what got shipped: The game is actually a game now! Spikes spawn from random sides, move across the screen, and despawn off the edge. Score tracking is in. Each spike that passes the player increments the score, and speed scales with it. Each spike also has a ±50% random deviation in speed, so no two spikes feel the same. Pixel art is fully gone. Both the player and spike are now drawn entirely in code using Godot’s _draw() API. No image assets, scales perfectly at any zoom (hypothetically). Global leaderboard is live. Scores submit to a Supabase PostgreSQL backend. We even have a full leaderboard scene with a loading animation and ranked entries. Game over screen shows your score and lets you play again (reloads the scene, resetting all state for free). Next up: UI polish, danger zones, and a WebGL export!"}, {"post_id": 18960, "ts": "2026-06-30T04:16:26Z", "hours": 1.7533, "text": "I’ve been grinding! I implemented the basic spike, replaced pixel art with code-drawn vector shapes for smooth edges, and added a very bare bones start screen. Next up is UI cleanup, score counting, and a game over screen!"}, {"post_id": 18846, "ts": "2026-06-30T01:30:24Z", "hours": 0.3053, "text": "First devlog! So far, I’ve been setting up the base architecture for the game. Currently I just have a simple square that you can control with WASD, but there are big things ahead!"}]...
|
Title: Dodge The Spikes by @vindognz | Stardance
Title: Dodge The Spikes by @vindognz | Stardance
Devlogs:
First devlog! So far, I’ve been setting up the base architecture for the game. Currently I just have a simple square that you can control with WASD, but there are big things ahead!
I’ve been grinding! I implemented the basic spike, replaced pixel art with code-drawn vector shapes for smooth edges, and added a very bare bones start screen. Next up is UI cleanup, score counting, and a game over screen!
Big session today! (definitely didn’t forget to write a devlog) Here’s what got shipped: The game is actually a game now! Spikes spawn from random sides, move across the screen, and despawn off the edge. Score tracking is in. Each spike that passes the player increments the score, and speed scales with it. Each spike also has a ±50% random deviation in speed, so no two spikes feel the same. Pixel art is fully gone. Both the player and spike are now drawn entirely in code using Godot’s _draw() API. No image assets, scales perfectly at any zoom (hypothetically). Global leaderboard is live. Scores submit to a Supabase PostgreSQL backend. We even have a full leaderboard scene with a loading animation and ranked entries. Game over screen shows your score and lets you play again (reloads the scene, resetting all state for free). Next up: UI polish, danger zones, and a WebGL export!
Holy moly I need to remember to devlog 😭 Gameplay has been locked in. Danger zones have been added: at score 10 red columns flash for 3s and insta-kill if you’re in them when time is up. At score 30, two zones spawn at once. Screen shakes on landing and death. Spike cooldown now scales with score, so the difficulty actually increases. Player is now a squishy jelly ball that deforms on jump, stretches while airborne, and splats on landing with a nice tween animation. The leaderboard is alive! Input name on first death (cached for the session), auto-submit to Supabase backend, leaderboard is now embedded in the game over screen. Your current run shows golden in the rankings. Insane visual overhaul. I built a procedural shader for the background that renders 30 animated fireflies (on the GPU). Each one drifts with a unique sine-wave pattern, and pulses brightness. Death burst spawns 12 red sparks that fly outward, and fade out. To-do: Start screen, audio (jump, death, score sfx), and WebGL export + GitHub Pages.
HUGE updates, the demo is actually out! It’s live, and YOU can play the beta right now: Play! (I will maintain it as the latest, stable build, please comment with any feedback 😊). The Godot build is exported to WebGL and embedded in a landing page that I built around it. I tried to keep it somewhat minimal, so it’s just a splash text that fades into a dark ‘cave’ with the same red spikes on the walls, and the game in the middle. It’s hosted on Nest, being run by a tiny Python server I wrote that gzips everything. Compression might seem excessive, but it shrank the 38MB engine file to ~10MB, so it loads significantly faster. The leaderboard got cooked when publishing, so I had to rewrite some logic but I got it working eventually! Difficulty used to increase with your score, now we have Levels. Every 10 spikes, the screen clears, a “Level ” banner shows, and the next level starts faster. Danger zones now start at certain levels too, completely ditching the old score driving approach. I also created a real start screen (This was desperately needed). It has the same firefly background as the game, a little controls hint, and a little demo player hopping spikes :) All that’s left is sfx, README and polish!
Hosting move and some small QoL. So uhh… The old site is gone. I moved the game from Nest to Github Pages: New Link (The old link shows a “we moved” pages that redirects you) Nest was sending the 38MB engine file uncompressed and sometimes worked, sometimes took 40+ minutes to send. I tried gzip, i tried brotli, and the proxy just seemed to break it all. Github serves the same game so fast it loads before the splash is done. RIP serve.py. Okay, onto QoL: Space to play again. Hit space on the game over screen and you immediately respawn (no more reaching for your mouse every death). README overhaul. I finally updated it! It has how to play, correct feature list, how it’s built, guidance on running it locally, and the live link. I also dropped the idea of Linux/Windows/Mac downloads, because it’s just easier in a browser. Still to do: sfx, polish.
It’s been a while (school is schooling 😭) This is probably my last devlog before I ship. The game has sound now! 5 sound effects, made in jsfxr: jump, thud when you land, a blip every time you dodge a spike, a boom when you die, and a level up! (Press M to mute the sound effects) I got a tiny bit obsessed with outlines, and gave every label a thick outline The leaderboard title is gold now too! SPACE is both jump and play again, so smashing it as you died would skip the leaderboard.. Play Again now ignores pressed for a half second after you die. All that, some minor performance tweaks, README polishing and now we’re ready to ship! Thanks for playing!
Ships:
I made a 2D reflex game about dodging spikes! A level lasts 10 spikes - every level is faster and more dangerous. This was my first Godot project in years, so it was difficult to relearn the engine at first, but I got used to it. I’m really proud of the firefly shader! It took me ages to tune and refine, but I’m super happy with it. It might be really hard because I adjusted the difficulty as I made it, so if you struggle - sorry! Thanks for voting!!!...
|
1793156024.3225598
|
1793242424.3225598
|
|
28570
|
Natural Selection Simulation by @VasilyKrupenin | Natural Selection Simulation by @VasilyKrupenin | Stardance...
|
VasilyKrupenin
|
1
|
20.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-24T19:34:25Z", "hours": 20.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made the basics of a natural selection simulation, but it unfortunately is unfinished, and since Stardance is ending pretty soon, I want to publish this so if anyone wants to use my project for something, they are free to do so, since I will be unable to finish it before it ends.", "repo": "https://github.com/vkrpn/Natural-Selection-Simulation", "demo": "https://drive.google.com/drive/folders/1Ek7X9l--7f_XP9Hxx5AYiUP00q131n4a?usp=drive_link"}]...
|
[{"post_id": 73289, "ts": "202 [{"post_id": 73289, "ts": "2026-09-24T19:27:07Z", "hours": 1.3636, "text": "Stardance is about to end, so I might as well publish this to get my 20+ hours worth of stardust. I may finish this later, but it will probably won’t be finished by the time Stardance ends. Do whatever you want with my project. It needs a screenshot, so here’s a cool picture I took:"}, {"post_id": 43552, "ts": "2026-08-08T21:48:17Z", "hours": 2.4575, "text": "It’s been a while since I last posted a devlog because I was hoping to finish the project, but I am farther away than I thought, and I also could not work on any Stardance projects for 2 weeks, unfortunately. It’s been so long since I’ve worked that I forgot what I’ve made; I think I made size, color, and a few tree variants."}, {"post_id": 27445, "ts": "2026-07-13T00:41:49Z", "hours": 2.8772, "text": "I’ve been a bit lazy, but progress on procedural generation is coming along well. I finished it and tweaked it until I got a result I liked (there was more mathematics that I had to do, like I had to use the pythagorean theorem to figure out the distance away from the center and subtract that to ensure that edges are ocean). The way it works is by first creating ocean, beach, fertile land, and mountains from noise, then I use moisture and temperature to determine the biome. Temperature is calculated by getting the latitude, subtracting the elevation (to make higher areas naturally colder), and then a bit of noise is added on top of all of that. Moisture works similarly, minus the latitude part. I also started working on vegetation; see those savanna trees? But I do have to create plants for each biome (or the creatures will have nothing to eat) which I am too lazy to do (as you can see I just made a savanna tree), I do not know what I’ll do for that. There’s so much art I have to make; I’ll have to make the animals and all of the plants. I’m planning to code a bunch of traits gained from animal appearance as soon as I put in the work to create the animals, which will be really difficult to do. I’m finally moving away from MSFT Paint though!"}, {"post_id": 25459, "ts": "2026-07-09T18:57:48Z", "hours": 2.0503, "text": "I don’t have much to display at the moment, I’ve been optimizing the code (for example, I used for loops to repeat the same process with different variables used for graphing instead of having separate code for each variable to significantly shorten the code) and I’ve started working on biomes. Since it has been a while since I have last posted a devlog, I’ll post one, and since I have to attach a screenshot or video, here’s an demonstration of natural selection in my game. You can clearly see the memory trait rose a lot and certain traits balanced out at a certain level (the images are a bit low quality but the values tracked are speed, sight, metabolism, mutation, memory, and population)."}, {"post_id": 23670, "ts": "2026-07-06T19:40:33Z", "hours": 1.7361, "text": "I did a bit more work on the windows. Now you can select which stats to track (only sight and speed for now, but I’ll fix that) and you can track up to 2 stats (but it doesn’t take long to change how many stats you can track), and you can change the colors. In the video, I am tracking the average speed and sight (note that the graph is measuring not the value, but the change in value; sight is twice as large as speed by default). I also demonstrated some of the features of the windows in the video which I forgot to show in the last one."}, {"post_id": 23131, "ts": "2026-07-05T22:03:50Z", "hours": 2.2103, "text": "I haven’t posted much because there wasn’t a lot to display or show that I’ve gotten something to work. Anyway, I coded a mutation trait which modifies how much a child’s traits can change (I noticed something pretty cool; when setting the mutation value super high like 1, it almost always drops back down to around 0.3). Here’s how mutation works: you get a child’s genes by calculating the average of the 2 parents genes plus that same number multiplied by mutation value. With a mutation of value of 1, the highest amount genes can change is double the original value. And most noticeably, I started working on UI; I started making charts that display certain traits. It’s nowhere near done, but it is coming along quite nicely. In the video attached, a chart is tracking the average speed value of the population. I didn’t show in the video, but you can drag the windows around, but that’s about it; I can only manually set the tracked value in code and drag windows around, they don’t have much features. A lot of the work I can’t really show; I was working on tracking, originally it was mostly for debugging, but now I can actually display those values with the graphs I am coding. Sorry that the video’s a bit long, Haaland scored a goal against Brazil and I forgot I was recording; I had to see the replay. He also scored a second one while I was typing this devlog. Go Norway (I’d root for Russia but they got suspended)!"}, {"post_id": 22335, "ts": "2026-07-04T19:12:32Z", "hours": 0.4192, "text": "I didn’t do much coding, and the game still needs a lot of work, but I have reached a great milestone! The game naturally selects traits! I added some statistics and a new memory trait because the creatures could just set off on a journey and remember the exact position down to the decimal places of the last food and water it saw, so I fixed that and added a timer which wipes the memory of the food/water position once it times out. The default traits are: 75 speed, 150 sight, 1 metabolism, and 7 memory. The average traits after running the simulation for some time: 65 speed, 125 sight, similar metabolism, and 10 memory. This result is pretty consistent with the exact plant and water setup in the image, but if I change it to a sparser environment, I saw speed go up by 10, sight go up by 5, metabolism stay the same, and surprisingly, despite being a trait with no negatives implemented yet, memory go down by 0.25. I guess memory doesn’t matter if you are fast enough and see well."}, {"post_id": 22200, "ts": "2026-07-04T15:37:17Z", "hours": 0.7967, "text": "I’m a bit stuck. I don’t really like the gene system so I decided to code traits as numbers, but that needs a lot of balance and tweaking to properly implement, and all of this work is a bit overwhelming. I might take a break from this project for a few days."}, {"post_id": 21092, "ts": "2026-07-02T21:47:31Z", "hours": 0.7008, "text": "I did a LOT of debugging. Fixed the last bug and numerous more that caused things like food not giving any hunger, genes getting incorrect effects, and more. I also changed how metabolism works and nerfed it. Now, Mm = 0, mm = -1, and MM = 1. These values are “intensified” by the I/i alleles. These work the same way as metabolism worked before, but now the values can be negative leading to efficient but low capacity creatures. I had to nerf it because capacity was becoming negative and creatures were getting infinite food."}, {"post_id": 20930, "ts": "2026-07-02T17:37:15Z", "hours": 1.1336, "text": "I restored my work and added a new trait; metabolism. mm is default metabolism; 10 hunger/thirst capacity and normal depletion. Mm is higher metabolism with 12-15 capacity and increased depletion. MM is highest metabolism with 13-22.5 capacity and even more increased depletion. I also made growth smooth instead of how previously juveniles instantly became adults. There’s also a strange bug which I’m trying to fix. Sometimes, the metabolism genotype becomes part of the other genotype. “Qq” “Vv” “Mm” is default, but after a few generations, you start seeing things like “Qq” “vm” “Mm” and eventually, things like “mm” “MM” “Mm”"}, {"post_id": 20449, "ts": "2026-07-02T01:28:54Z", "hours": 0.2603, "text": "All of my progress since my last devlog is lost :( I’ll have to recode all of it, but it isn’t that much work. Probably happened because I set up Git incorrectly or something."}, {"post_id": 19963, "ts": "2026-07-01T12:53:28Z", "hours": 1.1578, "text": "I coded limited resources and juvenile creatures. When creatures spawn, they have to wait 15 seconds until they can mate (so they don’t start mating right out of the womb like last time), and now when food is eaten, it regrows after 7 seconds. I’ll probably add more genes next time, or maybe even expand the map and add new biomes and plants (which would be really easy because I can just drag the food scene onto any plant and the plant now has fruits that grow and regrow)."}, {"post_id": 19464, "ts": "2026-06-30T19:55:19Z", "hours": 1.9164, "text": "I added genetics and reproduction! You can see in the output that each new organism has 2 genotypes, one for Q/q (short for quickness, didn’t want to use S because it’s a common letter and I might need it later idk I forgot), and one for V/v (short for vision) alleles (probably using all the wrong vocabulary). These genes directly affect speed and vision (with some slight randomness) and speed and vision also affects hunger and thirst depletion, meaning that being fast and seeing well has a tradeoff. I really need to code limited resources and I really need to code juvenile creatures (they’re mating at birth 😭😭😭). Maybe I could even make something like eggs? The output got cut off in the image. Here’s what it’s supposed to say: Genetics: [“Qq”,“vv”] Speed: 92.3979906001719 Sight: 150 Genetics: [“qQ”,vv”] Speed: 83.9082190561058 Sight: 150 Genetics: [“QQ”,“vV”] Speed: 142.633334008872 Sight: 171.81141852858 Genetics: [“QQ”,“vv”] Speed: 110.227173121233 Sight: 150 …"}, {"post_id": 18864, "ts": "2026-06-30T02:01:05Z", "hours": 1.2911, "text": "Finished coding a lil guy with some slight (heavy emphasis on slight) survival instincts. You can watch his hunger and thirst go down in the Godot output and watch him race towards food and water (oh wait forgot to add a hungry state he just runs after water, oh well, I’ll just add that next dev log). I just started working on this, so basically everything’s a prototype. And I also had the bright idea of making prototype assets in MS Paint, that’s why the art looks so beautiful and astounding. I have a lot of ideas for the future; I’ll probably code genes and reproduction next, but I also have a ton of ideas for the future, like Perlin noise generated terrain (like in my last project), adding natural selection for plants, multiple biomes, several species, etc… Who knows how this project will turn out? Anyways, it’s 10 PM and I have spend over an hour coding, so I should definitely go to sleep. Or should I? I reallyyyy want to code genes and reproduction."}]...
|
Title: Natural Selection Simulation by @VasilyKrup Title: Natural Selection Simulation by @VasilyKrupenin | Stardance
Devlogs:
Finished coding a lil guy with some slight (heavy emphasis on slight) survival instincts. You can watch his hunger and thirst go down in the Godot output and watch him race towards food and water (oh wait forgot to add a hungry state he just runs after water, oh well, I’ll just add that next dev log). I just started working on this, so basically everything’s a prototype. And I also had the bright idea of making prototype assets in MS Paint, that’s why the art looks so beautiful and astounding. I have a lot of ideas for the future; I’ll probably code genes and reproduction next, but I also have a ton of ideas for the future, like Perlin noise generated terrain (like in my last project), adding natural selection for plants, multiple biomes, several species, etc… Who knows how this project will turn out? Anyways, it’s 10 PM and I have spend over an hour coding, so I should definitely go to sleep. Or should I? I reallyyyy want to code genes and reproduction.
I added genetics and reproduction! You can see in the output that each new organism has 2 genotypes, one for Q/q (short for quickness, didn’t want to use S because it’s a common letter and I might need it later idk I forgot), and one for V/v (short for vision) alleles (probably using all the wrong vocabulary). These genes directly affect speed and vision (with some slight randomness) and speed and vision also affects hunger and thirst depletion, meaning that being fast and seeing well has a tradeoff. I really need to code limited resources and I really need to code juvenile creatures (they’re mating at birth 😭😭😭). Maybe I could even make something like eggs? The output got cut off in the image. Here’s what it’s supposed to say: Genetics: [“Qq”,“vv”] Speed: 92.3979906001719 Sight: 150 Genetics: [“qQ”,vv”] Speed: 83.9082190561058 Sight: 150 Genetics: [“QQ”,“vV”] Speed: 142.633334008872 Sight: 171.81141852858 Genetics: [“QQ”,“vv”] Speed: 110.227173121233 Sight: 150 …
I coded limited resources and juvenile creatures. When creatures spawn, they have to wait 15 seconds until they can mate (so they don’t start mating right out of the womb like last time), and now when food is eaten, it regrows after 7 seconds. I’ll probably add more genes next time, or maybe even expand the map and add new biomes and plants (which would be really easy because I can just drag the food scene onto any plant and the plant now has fruits that grow and regrow).
All of my progress since my last devlog is lost :( I’ll have to recode all of it, but it isn’t that much work. Probably happened because I set up Git incorrectly or something.
I restored my work and added a new trait; metabolism. mm is default metabolism; 10 hunger/thirst capacity and normal depletion. Mm is higher metabolism with 12-15 capacity and increased depletion. MM is highest metabolism with 13-22.5 capacity and even more increased depletion. I also made growth smooth instead of how previously juveniles instantly became adults. There’s also a strange bug which I’m trying to fix. Sometimes, the metabolism genotype becomes part of the other genotype. “Qq” “Vv” “Mm” is default, but after a few generations, you start seeing things like “Qq” “vm” “Mm” and eventually, things like “mm” “MM” “Mm”
I did a LOT of debugging. Fixed the last bug and numerous more that caused things like food not giving any hunger, genes getting incorrect effects, and more. I also changed how metabolism works and nerfed it. Now, Mm = 0, mm = -1, and MM = 1. These values are “intensified” by the I/i alleles. These work the same way as metabolism worked before, but now the values can be negative leading to efficient but low capacity creatures. I had to nerf it because capacity was becoming negative and creatures were getting infinite food.
I’m a bit stuck. I don’t really like the gene system so I decided to code traits as numbers, but that needs a lot of balance and tweaking to properly implement, and all of this work is a bit overwhelming. I might take a break from this project for a few days.
I didn’t do much coding, and the game still needs a lot of work, but I have reached a great milestone! The game naturally selects traits! I added some statistics and a new memory trait because the creatures could just set off on a journey and remember the exact position down to the decimal places of the last food and water it saw, so I fixed that and added a timer which wipes the memory of the food/water position once it times out. The default traits are: 75 speed, 150 sight, 1 metabolism, and 7 memory. The average traits after running the simulation for some time: 65 speed, 125 sight, similar metabolism, and 10 memory. This result is pretty consistent with the exact plant and water setup in the image, but if I change it to a sparser environment, I saw speed go up by 10, sight go up by 5, metabolism stay the same, and surprisingly, despite being a trait with no negatives implemented yet, memory go down by 0.25. I guess memory doesn’t matter if you are fast enough and see well.
I haven’t posted much because there wasn’t a lot to display or show that I’ve gotten something to work. Anyway, I coded a mutation trait which modifies how much a child’s traits can change (I noticed something pretty cool; when setting the mutation value super high like 1, it almost always drops back down to around 0.3). Here’s how mutation works: you get a child’s genes by calculating the average of the 2 parents genes plus that same number multiplied by mutation value. With a mutation of value of 1, the highest amount genes can change is double the original value. And most noticeably, I started working on UI; I started making charts that display certain traits. It’s nowhere near done, but it is coming along quite nicely. In the video attached, a chart is tracking the average speed value of the population. I didn’t show in the video, but you can drag the windows around, but that’s about it; I can only manually set the tracked value in code and drag windows around, they don’t have much features. A lot of the work I can’t really show; I was working on tracking, originally it was mostly for debugging, but now I can actually display those values with the graphs I am coding. Sorry that the video’s a bit long, Haaland scored a goal against Brazil and I forgot I was recording; I had to see the replay. He also scored a second one while I was typing this devlog. Go Norway (I’d root for Russia but they got suspended)!
I did a bit more work on the windows. Now you can select which stats to track (only sight and speed for now, but I’ll fix that) and you can track up to 2 stats (but it doesn’t take long to change how many stats you can track), and you can change the colors. In the video, I am tracking the average speed and sight (note that the graph is measuring not the value, but the change in value; sight is twice as large as speed by default). I also demonstrated some of the features of the windows in the video which I forgot to show in the last one.
I don’t have much to display at the moment, I’ve been optimizing the code (for example, I used for loops to repeat the same process with different variables used for graphing instead of having separate code for each variable to significantly shorten the code) and I’ve started working on biomes. Since it has been a while since I have last posted a devlog, I’ll post one, and since I have to attach a screenshot or video, here’s an demonstration of natural selection in my game. You can clearly see the memory trait rose a lot and certain traits balanced out at a certain level (the images are a bit low quality but the values tracked are speed, sight, metabolism, mutation, memory, and population).
I’ve been a bit lazy, but progress on procedural generation is coming along well. I finished it and tweaked it until I got a result I liked (there was more mathematics that I had to do, like I had to use the pythagorean theorem to figure out the distance away from the center and subtract that to ensure that edges are ocean). The way it works is by first creating ocean, beach, fertile land, and mountains from noise, then I use moisture and temperature to determine the biome. Temperature is calculated by getting the latitude, subtracting the elevation (to make higher areas naturally colder), and then a bit of noise is added on top of all of that. Moisture works similarly, minus the latitude part. I also started working on vegetation; see those savanna trees? But I do have to create plants for each biome (or the creatures will have nothing to eat) which I am too lazy to do (as you can see I just made a savanna tree), I do not know what I’ll do for that. There’s so much art I have to make; I’ll have to make the animals and all of the plants. I’m planning to code a bunch of traits gained from animal appearance as soon as I put in the work to create the animals, which will be really difficult to do. I’m finally moving away from MSFT Paint though!
It’s been a while since I last posted a devlog because I was hoping to finish the project, but I am farther away than I thought, and I also could not work on any Stardance projects for 2 weeks, unfortunately. It’s been so long since I’ve worked that I forgot what I’ve made; I think I made size, color, and a few tree variants.
Stardance is about to end, so I might as well publish this to get my 20+ hours worth of stardust. I may finish this later, but it will probably won’t be finished by the time Stardance ends. Do whatever you want with my project. It needs a screenshot, so here’s a cool picture I took:
Ships:
I made the basics of a natural selection simulation, but it unfortunately is unfinished, and since Stardance is ending pretty soon, I want to publish this so if anyone wants to use my project for something, they are free to do so, since I will be unable to finish it before it ends....
|
1793335985.6921763
|
1793422385.6921763
|
|
28587
|
Aerovision by @DanielRosales | Stardance
|
DanielRosales
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-06T17:39:09Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a website for my drone video business, it was really challenging beacus i had to do a lot of design for it, also it was hard to make the whatsapp funcionablilty,", "repo": "https://github.com/DaniePRO93/aereovision", "demo": "https://www.aerovision.gt"}]...
|
[{"post_id": 23600, "ts": "202 [{"post_id": 23600, "ts": "2026-07-06T17:36:21Z", "hours": 3.0408, "text": "website redesign"}]...
|
Title: Aerovision by @DanielRosales | Stardance
D Title: Aerovision by @DanielRosales | Stardance
Devlogs:
website redesign
Ships:
I made a website for my drone video business, it was really challenging beacus i had to do a lot of design for it, also it was hard to make the whatsapp funcionablilty,...
|
1793224283.5516999
|
1793310683.5516999
|