|
13380
|
Planets flashcards & quiz by @Astronaut_ag | S Planets flashcards & quiz by @Astronaut_ag | Stardance...
|
Astronaut_ag
|
2
|
7.0
|
84
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-17T20:16:12Z", "hours": 1.0, "multiplier": 9.74, "payout": 8, "blessing": "neutral", "text": "This is a website about the Objects in our Solar System! People can click through 3 different flashcard sets to gain knowledge! Please suggest any changes/requests you have on this website! Thanks!!", "repo": "https://github.com/AstronautAG/planets-cards", "demo": "https://astronautag.github.io/planets-cards/"}, {"ship_num": 2, "ts": "2026-06-24T21:22:59Z", "hours": 6.0, "multiplier": 13.11, "payout": 76, "blessing": "neutral", "text": "This is a cool, interactive, and fun website where people can flip through flashcards to learn about space with a quiz for people to test their knowledge!", "repo": "https://github.com/AstronautAG/planets-cards", "demo": "https://astronautag.github.io/planets-cards/"}]...
|
[{"post_id": 30337, "ts": "202 [{"post_id": 30337, "ts": "2026-07-17T20:14:18Z", "hours": 0.8511, "text": "Devlog #4: Made user interface better! :D Special Thanks: First, I would like to thank everyone who reviewed my project and gave me the wonderful feedback. Really appreciate it!! Overview: Significantly upgraded user interface so the buttons stay in roughly the same spot and moved them inside the flashcards My website is a website that has flashcards for people to learn about cool space facts, and there is a quiz at the bottom for people to test their skills! Challenges: The biggest challenge for me this time was how to keep the buttons in the same spot. I had to look up a lot of CSS stuff on websites like w3schools, but figuring it out was the best part! Lessons Learned: Learn a lot from sites like w3schools!! Play around with CSS elements until you get it to look how you want to Looking forward: I hope to publish this on GitHub as a new update, thanks for following my project!!"}, {"post_id": 14700, "ts": "2026-06-23T21:57:58Z", "hours": 1.3939, "text": "Devlog #3: I updated the User Interface which looks MUCH better (after some troubleshooting) :D Overview: Significantly upgraded user interface so it’s actually interactive My website is a website that has flashcards for people to learn about cool space facts, and there is a quiz at the bottom for people to test their skills! Challenges: The biggest challenge for me this time was the User Interface. Before, the UI was pretty basic, and so the HTML and JavaScript had pretty simple variables and id’s for the styling in the CSS. But, when I went to upgrade, I had to change a bunch of variables, but I got it done. One challenge in particular was adding a progress bar to my quiz. Since I already had a structure inside my HTML and CSS, putting it there was not a problem. I thought I had it in the right spot for JavaScript. I was wrong. I spent 20 minutes debugging, then finally found out that it was in the wrong spot the whole time. It was in the function nextQuestion(index) instead of showQuestion(index). Lessons Learned: Keep a close eye on which function is which and keep code organized Debug carefully and don’t mix up different parts of the code Looking forward: I hope to publish this on GitHub now, thanks for following my project!!"}, {"post_id": 13404, "ts": "2026-06-21T23:04:32Z", "hours": 1.0369, "text": "Devlog #2: In this update, I added another flashcard set to my flashcard and quiz website. I edited the HTML, CSS, and JavaScript to make sure that it mirrored the other sets. One challenge with this was to keep each of the information on each flashcard separate. Each flashcard has an image, a title, and a short description specific to the object on the flashcard. Additionally, I had to add another function in JavaScript, but (as I mentioned in the last update), I kept the variables consistent across the functions. One thing I learned from today’s coding is that if the layout is kept consistent across the different flashcard sets and in CSS, it is easier to navigate and make more flashcard sets. In the next update, I plan to update the user interface to level up the experience. Thanks and see you in the next update!"}, {"post_id": 12799, "ts": "2026-06-20T22:40:18Z", "hours": 3.3878, "text": "Devlog #1: In this update, on my flashcard website, I added two flashcard sets. I also updated the user interface significantly, and I added a two-question quiz at the bottom of the page. I upgraded my CSS to show “blocks” (the flashcards) to make sure that the cards that were supposed to be hidden were hidden until the buttons were clicked. I also upgraded how the website looks by adding hover features as well as changing the background color and adding images to each flashcard. Overall, my biggest challenge was keeping ID’s and variables sorted from HTML to JavaScript for each of the flashcard sets. I solved this problem by sorting out each part of my JS into two categories for each set, changing the variable names to ones that made sense and were easy to keep track of (set1, container1, etc.), and finally updating the HTML with these new variables. I learned that keeping code organized from the start prevents problems later! I also learned the debugging process through the console in the website preview on my device. Another thing I learned is that divs in HTML can be extremely useful, especially when there are very similar elements on the page. For the future, I hope to add another flashcard set. Thanks and see you in the next update!"}]...
|
Title: Planets flashcards & quiz by @Astronaut Title: Planets flashcards & quiz by @Astronaut_ag | Stardance
Devlogs:
Devlog #1: In this update, on my flashcard website, I added two flashcard sets. I also updated the user interface significantly, and I added a two-question quiz at the bottom of the page. I upgraded my CSS to show “blocks” (the flashcards) to make sure that the cards that were supposed to be hidden were hidden until the buttons were clicked. I also upgraded how the website looks by adding hover features as well as changing the background color and adding images to each flashcard. Overall, my biggest challenge was keeping ID’s and variables sorted from HTML to JavaScript for each of the flashcard sets. I solved this problem by sorting out each part of my JS into two categories for each set, changing the variable names to ones that made sense and were easy to keep track of (set1, container1, etc.), and finally updating the HTML with these new variables. I learned that keeping code organized from the start prevents problems later! I also learned the debugging process through the console in the website preview on my device. Another thing I learned is that divs in HTML can be extremely useful, especially when there are very similar elements on the page. For the future, I hope to add another flashcard set. Thanks and see you in the next update!
Devlog #2: In this update, I added another flashcard set to my flashcard and quiz website. I edited the HTML, CSS, and JavaScript to make sure that it mirrored the other sets. One challenge with this was to keep each of the information on each flashcard separate. Each flashcard has an image, a title, and a short description specific to the object on the flashcard. Additionally, I had to add another function in JavaScript, but (as I mentioned in the last update), I kept the variables consistent across the functions. One thing I learned from today’s coding is that if the layout is kept consistent across the different flashcard sets and in CSS, it is easier to navigate and make more flashcard sets. In the next update, I plan to update the user interface to level up the experience. Thanks and see you in the next update!
Devlog #3: I updated the User Interface which looks MUCH better (after some troubleshooting) :D Overview: Significantly upgraded user interface so it’s actually interactive My website is a website that has flashcards for people to learn about cool space facts, and there is a quiz at the bottom for people to test their skills! Challenges: The biggest challenge for me this time was the User Interface. Before, the UI was pretty basic, and so the HTML and JavaScript had pretty simple variables and id’s for the styling in the CSS. But, when I went to upgrade, I had to change a bunch of variables, but I got it done. One challenge in particular was adding a progress bar to my quiz. Since I already had a structure inside my HTML and CSS, putting it there was not a problem. I thought I had it in the right spot for JavaScript. I was wrong. I spent 20 minutes debugging, then finally found out that it was in the wrong spot the whole time. It was in the function nextQuestion(index) instead of showQuestion(index). Lessons Learned: Keep a close eye on which function is which and keep code organized Debug carefully and don’t mix up different parts of the code Looking forward: I hope to publish this on GitHub now, thanks for following my project!!
Devlog #4: Made user interface better! :D Special Thanks: First, I would like to thank everyone who reviewed my project and gave me the wonderful feedback. Really appreciate it!! Overview: Significantly upgraded user interface so the buttons stay in roughly the same spot and moved them inside the flashcards My website is a website that has flashcards for people to learn about cool space facts, and there is a quiz at the bottom for people to test their skills! Challenges: The biggest challenge for me this time was how to keep the buttons in the same spot. I had to look up a lot of CSS stuff on websites like w3schools, but figuring it out was the best part! Lessons Learned: Learn a lot from sites like w3schools!! Play around with CSS elements until you get it to look how you want to Looking forward: I hope to publish this on GitHub as a new update, thanks for following my project!!
Ships:
This is a cool, interactive, and fun website where people can flip through flashcards to learn about space with a quiz for people to test their knowledge!
This is a website about the Objects in our Solar System! People can click through 3 different flashcard sets to gain knowledge! Please suggest any changes/requests you have on this website! Thanks!!...
|
1793515865.2160385
|
1793602265.2160385
|
|
22635
|
Macropad by @danielmb | Stardance
|
danielmb
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-04T19:39:08Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I build a macropad that uses ESPHome to connect to Home Assistant where it can can control stuf like my spotify. It has a 4x4 button matrix, a small oled screen, 2 leds and 2 knobs. It was really fun to make. The most challenging was designing the pcb.", "repo": "https://github.com/DaanDolfijn/Macropad-HA", "demo": ""}]...
|
[{"post_id": 61717, "ts": "202 [{"post_id": 61717, "ts": "2026-09-04T19:13:40Z", "hours": 1.3167, "text": "So its a long time since i made a devlog, thats cus i waited for the funding and then for the pcb. Once the pcb arrived i stated assembling the pparts taht didnt need the case. Thats becouse i needed to redisign it, i did that (and didnt log that time :( ) and then assembled the rest. And lastly i assigned all the buttons to Home Assistant automations"}, {"post_id": 28146, "ts": "2026-07-14T08:00:36Z", "hours": 1.4236, "text": "So i have not posted a Devlog in a little bit and i did some work. First of all i finished the PCB, but did that without recording in Lookout. After that i designed a case for everything. And lastly i fixed the command that sets the volume on my PC."}, {"post_id": 13687, "ts": "2026-06-22T13:15:28Z", "hours": 1.7167, "text": "Started working on the PCB, Its more work than i expected at first, but its beginning to look nice. I prob only need like 20 min to finish it."}, {"post_id": 12552, "ts": "2026-06-20T14:38:20Z", "hours": 1.8211, "text": "Soooo, this is my first project on stardance or hackclub. I started this project about a week ago and got some parts today. i am making a macropad that connects to home assistant via esphome. I had most of the code already, but today i added the screen that worked imediately. i also added the rgb leds today, but they had some errors I fixed the rgb leds by removing 2 of them. i made the potentiometor give a outputvalue from 1-100 so that i can display it on the screen in the future. And last but not least i added the 9v battery so it is portable now"}]...
|
Title: Macropad by @danielmb | Stardance
Devlogs: Title: Macropad by @danielmb | Stardance
Devlogs:
Soooo, this is my first project on stardance or hackclub. I started this project about a week ago and got some parts today. i am making a macropad that connects to home assistant via esphome. I had most of the code already, but today i added the screen that worked imediately. i also added the rgb leds today, but they had some errors I fixed the rgb leds by removing 2 of them. i made the potentiometor give a outputvalue from 1-100 so that i can display it on the screen in the future. And last but not least i added the 9v battery so it is portable now
Started working on the PCB, Its more work than i expected at first, but its beginning to look nice. I prob only need like 20 min to finish it.
So i have not posted a Devlog in a little bit and i did some work. First of all i finished the PCB, but did that without recording in Lookout. After that i designed a case for everything. And lastly i fixed the command that sets the volume on my PC.
So its a long time since i made a devlog, thats cus i waited for the funding and then for the pcb. Once the pcb arrived i stated assembling the pparts taht didnt need the case. Thats becouse i needed to redisign it, i did that (and didnt log that time :( ) and then assembled the rest. And lastly i assigned all the buttons to Home Assistant automations
Ships:
I build a macropad that uses ESPHome to connect to Home Assistant where it can can control stuf like my spotify. It has a 4x4 button matrix, a small oled screen, 2 leds and 2 knobs. It was really fun to make. The most challenging was designing the pcb....
|
1793515860.4338415
|
1793602260.4338415
|
|
17862
|
Arona Chat by @yearcakes | Stardance
|
yearcakes
|
4
|
79.0
|
1237
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-30T12:39:46Z", "hours": 1.0, "multiplier": 9.78, "payout": 7, "blessing": "neutral", "text": "Some small improvements.", "repo": "https://github.com/zhaozhuoran/arona-chat-open", "demo": "https://aronachat.yearcakes.com/"}, {"ship_num": 2, "ts": "2026-09-16T14:26:13Z", "hours": 21.0, "multiplier": 18.5, "payout": 396, "blessing": "neutral", "text": "This is the last ship for Arona Chat for the time being. Since my new semester started on August 31st, I won’t have as much time to work on Arona Chat or add new features. Anyway, I hope you all enjoy Arona Chat!", "repo": "https://github.com/zhaozhuoran/arona-chat-open", "demo": "https://aronachat.yearcakes.com/"}, {"ship_num": 3, "ts": "2026-07-20T05:46:47Z", "hours": 56.0, "multiplier": 14.84, "payout": 826, "blessing": "neutral", "text": "After a lot of work, AronaChat v1.2.0 is finally here! With this update, I’m continuing to transform AronaChat from a simple project into a real product that people can actually use. The Public Demo is now live! This is not just a temporary showcase — I want to build it into a long-term usable product. You can connect your own API providers and use AronaChat with your own models. Security and privacy are also a priority. API keys are stored with encryption and protected by multiple security measures to keep your credentials as safe as possible. Due to storage and cost considerations, each user currently has a limited storage quota. When the limit is reached, attachments will be automatically removed using a FIFO rolling deletion system. Chat history will be preserved as long as possible while keeping operating costs sustainable. Thank you everyone who has followed AronaChat’s journey! This is only the beginning, and I hope AronaChat can become a tool that people truly enjoy using.", "repo": "https://github.com/zhaozhuoran/arona-chat-open", "demo": "https://aronachat.yearcakes.com/"}, {"ship_num": 4, "ts": "2026-06-13T09:11:19Z", "hours": 1.0, "multiplier": 8.56, "payout": 8, "blessing": "neutral", "text": "What did you make? I built Arona Chat, a full-stack AI chat application powered by Cloudflare Workers, D1, R2, Durable Objects, and OpenRouter. It supports chat sessions, file attachments, usage tracking, budget management, authentication, and model selection, all wrapped in a Blue Archive-inspired interface. What was challenging? The most challenging part was designing the backend architecture around long-running AI responses and usage tracking. One lesson I learned the hard way is that inefficient SQLite access patterns can dramatically increase database costs. As the project grew, I had to rethink how usage statistics were stored and aggregated instead of recalculating everything repeatedly. Another challenge was handling very long SSE streams. For AI responses that may take a long time to complete, it is important that processing continues even if the client disconnects. This was my first time introducing Durable Objects into a production project, and they turned out to be a great fit for maintaining state and ensuring reliable streaming behavior. What are you proud of? I’m proud that this project pushed me beyond simple CRUD applications and into distributed system design. Integrating Durable Objects, building usage aggregation, and optimizing streaming performance taught me a lot about how real-world AI applications are built. I’m also genuinely impressed by Cloudflare R2. It was extremely easy to integrate, works reliably, and offers a very generous free tier, making it an excellent choice for student developers and hobby projects. How can people test it? Fork this repository. Update the wrangler.toml configuration for your own Cloudflare resources (do not commit any secrets). Deploy the frontend (frontend) to Cloudflare Pages and the backend (backend) to Cloudflare Workers. Configure the required Secrets in Cloudflare after deployment. Open the deployed site and log in using the password you configured. Create your first Passkey (highly recommended for a better login experience). Start chatting, upload files, try different models, and explore usage statistics and budget management features.", "repo": "https://github.com/zhaozhuoran/arona-chat-open", "demo": "https://aronachat.yearcakes.com/"}]...
|
[{"post_id": 75553, "ts": "202 [{"post_id": 75553, "ts": "2026-09-30T12:37:56Z", "hours": 1.2942, "text": "I added a simple sharing function. I also added automatic picture attachment compression, which should save a lot of tokens. Commit"}, {"post_id": 68643, "ts": "2026-09-15T13:37:00Z", "hours": 4.7658, "text": "This is the last update for Arona Chat for the time being. In this update, I’ve added automatic image resizing, support for TXT and Markdown files, dynamic username injection in the greeting and system prompt, and the new Ethereal Dark theme. However, since my new semester started on August 31st, I won’t have as much time to work on Arona Chat or add new features. Anyway, I hope you all enjoy Arona Chat! Commit"}, {"post_id": 40574, "ts": "2026-08-04T06:52:05Z", "hours": 2.5586, "text": "Hey guys! I’m currently working on a new theme (Ethereal Dark) for Arona Chat, and it will probably introduce a very large diff with many UI/CSS/component changes. I’m thinking about creating a dedicated feature branch (theme/ethereal-dark) for this work instead of directly committing everything to main. The idea is to keep the development process transparent and easier to review for future reviewers and users. After the theme is complete, I’ll merge it back into main. So I’d like to get your opinion: Do you prefer seeing the full development history through a feature branch? Or do you think keeping a cleaner main history with a larger commit is better? Thanks!"}, {"post_id": 40524, "ts": "2026-08-04T03:31:20Z", "hours": 6.0331, "text": "Settings now save automatically as soon as you make changes, so there’s no more clicking Save everywhere. The user list also shows each user’s email when available (falling back to the Clerk ID). Improved auth by showing a recovery screen if initialization gets stuck for 12 seconds, and hardened SSRF protection against alternative IPv4 bypass tricks. I’ve already started designing the Ethereal Dark theme too, but since it’s unrelated to this commit I didn’t include it yet. Still probably another 8–10 hours to go before it’s ready. Commit"}, {"post_id": 38059, "ts": "2026-07-31T07:37:52Z", "hours": 4.6294, "text": "After using the Ethereal Light theme for a while, I realized that although the core chat interface was done, many secondary pages still looked like they belonged to a completely different application. So this update wasn’t about adding a flashy new feature, it was about finishing what Ethereal Light was always meant to be. This is one of those updates where most users probably won’t notice every individual change, but I hope everyone notices that Ethereal Light feels even more beautiful now. I also realized that good UI isn’t about making one page beautiful, it’s about making every page feel like it was designed together. Commit"}, {"post_id": 37591, "ts": "2026-07-30T12:56:46Z", "hours": 1.7836, "text": "Confession time: I’m a high school STEM student. I spend far more time studying math, physics, chemistry, and biology than anything related to design. I have almost no artistic background, and I’m much more of a coder than a designer, so building Ethereal Light has been quite a journey. Half of the CSS for Ethereal Light only exists because I kept googling, “How do I make this look less ugly?” 😭 Somehow, after countless tiny tweaks, it’s finally starting to look like the theme I imagined. Anyway, I hope you love Arona Chat."}, {"post_id": 37517, "ts": "2026-07-30T10:14:34Z", "hours": 1.0261, "text": "I’m planning to further polish Ethereal Light theme and address the suggestions mentioned in the rating feedback. Thanks everyone for the support!"}, {"post_id": 32697, "ts": "2026-07-22T00:42:44Z", "hours": 0.5992, "text": "Upcoming Changes: Add more personalization features, such as customizable tone and emoji usage. Refine the Ethereal Light theme."}, {"post_id": 31626, "ts": "2026-07-20T05:40:15Z", "hours": 1.5953, "text": "After fixing a number of issues, the Arona Chat Public Demo is finally ready! You can try it using the link below. https://aronachat.yearcakes.com/"}, {"post_id": 31317, "ts": "2026-07-19T16:46:36Z", "hours": 4.7217, "text": "AronaChat v1.2.0 — A Bigger Update Than The Version Number Suggests Today, I completed AronaChat v1.2.0! Although this is only a minor version bump, it actually includes a lot of major improvements and new features. In this update, I added multi-provider support, custom models, the new Ethereal Light theme, and many other improvements. There are still many things to polish, but I’m working hard to turn AronaChat into something that we can genuinely use in our daily lives — not just a project. The current codebase has grown into a very complex system, so I’m planning to deploy the Public Demo version tomorrow. But this Public Demo is not just a temporary showcase. My goal is to make it a long-term usable product. You will be able to connect your own API providers and use AronaChat with your own services. To protect your privacy and security, the current version includes encrypted API key storage and multiple layers of security protection to keep your credentials as safe as possible. Due to storage and cost considerations, each user will have a fixed storage quota. If the limit is exceeded, attachments will be automatically removed using a FIFO (First In, First Out) rolling deletion system. For chat history, I’ll try my best to keep conversations stored for as long as possible while maintaining reasonable operating costs. Thank you for following the development of AronaChat! This is still just the beginning, and I hope it can become a tool that people truly enjoy using."}, {"post_id": 30657, "ts": "2026-07-18T12:26:38Z", "hours": 2.2361, "text": "The core development work is pretty much done! I’m now moving into the final polishing phase—doing security reviews, testing everything thoroughly, and fixing all the little rough edges I can find. Once that’s finished, I’ll deploy the new build as a public instance that everyone can use long-term. Can’t wait to share it with you all!"}, {"post_id": 30560, "ts": "2026-07-18T07:28:12Z", "hours": 2.12, "text": "🌸 Devlog Update I’m currently exploring a better and more reasonable resource limitation system, hoping to make the DEMO experience smoother, friendlier, and more enjoyable for everyone! I’m also working on adding support for custom model providers, so you’ll be able to add your own providers and use this project as a complete long-term solution instead of just a DEMO. Of course, this also brings some new challenges qwq Since users will be able to add their own API Keys, I need to carefully design a secure system to make sure your keys stay safe and never get exposed. I’m planning a layered architecture with encryption, multiple authentication layers, and additional security protections. This project is becoming much more complicated than I originally expected… but I want to build it properly instead of rushing it 🥺✨ 🌱 About Storage S3-compatible storage is really expensive qwq, so for now I’ve added per-user file size limits and a 7-day automatic cleanup system. I know these limits are a little too strict, and I’m really sorry about that 🥲💦 I hope you can understand that I’m still a solo developer trying to keep the service sustainable. To improve this, I’m building my own tiered storage system — Minamo 🌊 After Minamo is finished, attachment storage limits will be increased significantly, and the 7-day automatic cleanup will be removed! 🎉 If you like this project, you can follow this project or follow Minamo to receive future updates and new features 💫 Thank you so much for supporting this project! 💙"}, {"post_id": 30185, "ts": "2026-07-17T15:34:58Z", "hours": 4.2597, "text": "Whitelist is almost finished! There’s only a little bit left to polish, and I should have it done within the next few days. New ship coming soon™"}, {"post_id": 29884, "ts": "2026-07-17T01:31:04Z", "hours": 1.4356, "text": "Status Update! [IN PROGRESS] New frontend UI theme — Ethereal Light [DONE] Draft [DONE] Animations [DONE] Visual polish [DONE] Final UI review - almost done Whitelist User resource usage limits (for the demo) Lazy frontend loading"}, {"post_id": 27088, "ts": "2026-07-12T10:32:05Z", "hours": 2.3678, "text": "Status Update! [IN PROGRESS] New frontend UI theme — Ethereal Light [DONE] Draft [DONE] Animations [DONE] Visual polish [IN PROGRESS] Final UI review - almost done Whitelist User resource usage limits (for the demo) Lazy frontend loading"}, {"post_id": 27039, "ts": "2026-07-12T06:47:49Z", "hours": 1.4494, "text": "Status Update! [IN PROGRESS] New frontend UI theme — Ethereal Light [DONE] Draft [DONE] Animations [DONE] Visual polish Final UI review Whitelist User resource usage limits (for the demo) Lazy frontend loading"}, {"post_id": 27020, "ts": "2026-07-12T05:11:34Z", "hours": 2.5303, "text": "Finally fixed the security vulnerabilities and the remaining bugs. Next, I’ll continue reviewing the codebase and finish the new theme."}, {"post_id": 26596, "ts": "2026-07-11T14:50:43Z", "hours": 3.3919, "text": "I’m currently fixing a number of bugs in the new Ethereal Light theme. At the same time, I had the codebase audited by AI, which identified several critical security issues. I’m actively working through both the theme bugs and the reported vulnerabilities, so the next public commit may be delayed a bit. Before anything is published, I’ll also perform a full manual security review to make sure the public release is free of known security issues."}, {"post_id": 26481, "ts": "2026-07-11T09:28:21Z", "hours": 2.2219, "text": "Unexpectedly discovered several critical bugs. Currently fixing them."}, {"post_id": 26419, "ts": "2026-07-11T06:13:44Z", "hours": 1.4672, "text": "Fixed a bunch of UI, animation, rendering, and performance issues across the Ethereal Light theme and the Settings Panel. Real-time reasoning topic extraction now handles unfinished Markdown chunks correctly, so active words no longer get cut off while responses are streaming. I also switched to stable React keys, which eliminates the annoying text flickering during streaming. The scrolling lock, content clipping, and hidden input issues in Ethereal Light have also been fixed by improving layer isolation and hardware acceleration. Finally, repeated clicks on the Save button in Settings are now automatically deduplicated, preventing duplicate requests when the same configuration is submitted multiple times within 5 seconds."}, {"post_id": 26378, "ts": "2026-07-11T04:07:14Z", "hours": 0.9244, "text": "Fixed a critical bug that could allow users to perform unauthorized operations."}, {"post_id": 25794, "ts": "2026-07-10T08:01:30Z", "hours": 2.67, "text": "Status Update! [IN PROGRESS] New frontend UI theme — Ethereal Light [DONE] Draft [DONE] Animations Visual polish Final UI review Whitelist User resource usage limits (for the demo) Lazy frontend loading"}, {"post_id": 25669, "ts": "2026-07-10T02:34:24Z", "hours": 3.2403, "text": "Status Update! [IN PROGRESS] New frontend UI theme — Ethereal Light [DONE] Draft [IN PROGRESS] Animations (almost done) Visual polish Final UI review Whitelist User resource usage limits (for the demo) Lazy frontend loading"}, {"post_id": 25112, "ts": "2026-07-09T03:30:04Z", "hours": 2.4272, "text": "I couldn’t decide between a typewriter effect and a fade-in animation for AI responses, so I added both! You can now choose your preferred output animation in Settings."}, {"post_id": 24128, "ts": "2026-07-07T14:30:38Z", "hours": 0.7944, "text": "I refactored the usage calculation. This fixes an issue where the per-model cost wasn’t updated automatically, while also reducing database usage."}, {"post_id": 22584, "ts": "2026-07-05T03:34:45Z", "hours": 2.1117, "text": "I discovered that adding a new feature caused an existing feature to break. To prevent similar regressions, I added smoke tests and a full end-to-end (E2E) test suite."}, {"post_id": 21564, "ts": "2026-07-03T16:19:24Z", "hours": 4.1964, "text": "Status Updated! [IN PROGRESS] New frontend UI theme — Ethereal Light [DONE] Draft Animations Component art polish Final UI review Whitelist User resource usage limits (for the demo) Lazy frontend loading"}, {"post_id": 19919, "ts": "2026-07-01T11:05:33Z", "hours": 2.1733, "text": "I am currently working on: New frontend UI theme (I named it Ethereal Light. It will be very, very beautiful!), and it will be released with a theme selector (if you don’t like it, you can switch to the current Classic theme). Whitelist: enabling you to have a private deployment! User resource usage limits: designed for the demo. Lazy frontend loading: makes the frontend start faster! Bug fixes: the current version has many bugs, including Clerk integration, multi-provider switching, etc. Locating the source of these bugs is very tiring. The next public version will take a long time to release and be pushed to the public repo. I will sync my progress via devlogs. If you have any suggestions, please tell me — they are very, very important to me!"}, {"post_id": 16796, "ts": "2026-06-27T08:28:33Z", "hours": 3.0211, "text": "Integrated Clerk for authentication and fixed various bugs :D"}, {"post_id": 13718, "ts": "2026-06-22T14:21:24Z", "hours": 3.1058, "text": "feat: optimize chat stream stability, security, and frontend rendering performance- Security: Added sensitive data redaction (masking password , secret , token , apiKey ) for trace logs in backend utility request/response body parsing. Stability: Enhanced Durable Object state recovery by persisting and restoring runtime payloads, ensuring the process queue resumes on restart, and adding a 100-second upstream API fetch timeout. Database: Bumped DB schema version to 15, adding applySchemaV14 and applySchemaV15 compatibility stubs. Performance: Refactored ChatSession message lists by extracting and memoizing UserMessageRow and AssistantMessageRow with React.memo , and extracted static Markdown plugins outside of render scopes to eliminate redundant parsing. State Management: Integrated Zustand useShallow selectors across App , ChatInputArea , and ChatSession to prevent unnecessary re-renders. Resilience: Upgraded stream reconnect/resume flow in the store to pass existing stream progress (content and reasoning), preventing flickering and duplicate content rendering on stream recovery."}, {"post_id": 12359, "ts": "2026-06-20T05:08:29Z", "hours": 1.1664, "text": "Added a Demo Mode that allows guest access via a password-based login. Demo mode can be enabled via config. Guests can log in using a shared demo password. All demo sessions are isolated per device. Demo data is separated from production."}, {"post_id": 7960, "ts": "2026-06-13T08:59:45Z", "hours": 0.5317, "text": "Release 1.1.0 This update focuses on enhancing usage tracking capabilities, introducing flexible service tiers and budget management, and delivering deep performance optimizations for the chat experience. 🌟 New Features Usage Aggregation: Added persistent tracking of total requests, prompt/completion tokens, and total cost (USD) within user profiles, including a detailed breakdown by model. Service Tiers: Introduced OpenRouter Service Tier support to balance cost and performance: Flex (0.5x cost): More affordable, but potentially slower or less reliable. Default (1.0x cost): Standard service level. Priority (2.5x cost): Fastest response times and highest priority. Temporary Daily Budget: Added the ability to set a temporary budget override for the current UTC day, allowing short-term flexibility without altering long-term settings. Usage Sync Tool: A new “Recalculate Usage Statistics” feature in the settings allows users to force a backend scan of all records to synchronize aggregated totals. ⚡ Performance Improvements Streaming Render Optimization: Implemented a buffering mechanism using requestAnimationFrame in useStore, shifting high-frequency streaming updates from “immediate trigger” to “frame-synced updates,” significantly reducing re-renders and improving UI smoothness. Refined Auto-Scroll: Overhauled auto-scroll logic in ChatSession to distinguish between session switches, message count changes, and active streaming, ensuring smoother scrolling behavior. 🎨 UI/UX Enhancements Session Management: Pagination: Session list now uses lazy loading (“Load More”) instead of loading all sessions at once, improving startup speed. Quick Actions: Added Pin and Archive capabilities in session menu for better organization. Settings Panel Upgrade: Advanced Tab: Introduced a new “Advanced” tab for system maintenance tools and technical information. Budget UI: Improved budget settings interface with detailed cost multiplier explanations and a dedicated temporary budget input. System Info: Added visibility for Instance ID and Schema Version. 🛠️ Technical Changes Backend Architecture: Modularized routing and migrated chat sessions to a Durable Object-based implementation for better state consistency. Database Migration: Updated user profile schema to support usage aggregation (Schema v13). Shared Types: Updated UserProfile and ChatGenerationSettings types to support new tracking and configuration options."}, {"post_id": 7928, "ts": "2026-06-13T06:57:41Z", "hours": 0.3606, "text": "First Public Release!"}]...
|
Title: Arona Chat by @yearcakes | Stardance
Devlo Title: Arona Chat by @yearcakes | Stardance
Devlogs:
First Public Release!
Release 1.1.0 This update focuses on enhancing usage tracking capabilities, introducing flexible service tiers and budget management, and delivering deep performance optimizations for the chat experience. 🌟 New Features Usage Aggregation: Added persistent tracking of total requests, prompt/completion tokens, and total cost (USD) within user profiles, including a detailed breakdown by model. Service Tiers: Introduced OpenRouter Service Tier support to balance cost and performance: Flex (0.5x cost): More affordable, but potentially slower or less reliable. Default (1.0x cost): Standard service level. Priority (2.5x cost): Fastest response times and highest priority. Temporary Daily Budget: Added the ability to set a temporary budget override for the current UTC day, allowing short-term flexibility without altering long-term settings. Usage Sync Tool: A new “Recalculate Usage Statistics” feature in the settings allows users to force a backend scan of all records to synchronize aggregated totals. ⚡ Performance Improvements Streaming Render Optimization: Implemented a buffering mechanism using requestAnimationFrame in useStore, shifting high-frequency streaming updates from “immediate trigger” to “frame-synced updates,” significantly reducing re-renders and improving UI smoothness. Refined Auto-Scroll: Overhauled auto-scroll logic in ChatSession to distinguish between session switches, message count changes, and active streaming, ensuring smoother scrolling behavior. 🎨 UI/UX Enhancements Session Management: Pagination: Session list now uses lazy loading (“Load More”) instead of loading all sessions at once, improving startup speed. Quick Actions: Added Pin and Archive capabilities in session menu for better organization. Settings Panel Upgrade: Advanced Tab: Introduced a new “Advanced” tab for system maintenance tools and technical information. Budget UI: Improved budget settings interface with detailed cost multiplier explanations and a dedicated temporary budget input. System Info: Added visibility for Instance ID and Schema Version. 🛠️ Technical Changes Backend Architecture: Modularized routing and migrated chat sessions to a Durable Object-based implementation for better state consistency. Database Migration: Updated user profile schema to support usage aggregation (Schema v13). Shared Types: Updated UserProfile and ChatGenerationSettings types to support new tracking and configuration options.
Added a Demo Mode that allows guest access via a password-based login. Demo mode can be enabled via config. Guests can log in using a shared demo password. All demo sessions are isolated per device. Demo data is separated from production.
feat: optimize chat stream stability, security, and frontend rendering performance- Security: Added sensitive data redaction (masking password , secret , token , apiKey ) for trace logs in backend utility request/response body parsing. Stability: Enhanced Durable Object state recovery by persisting and restoring runtime payloads, ensuring the process queue resumes on restart, and adding a 100-second upstream API fetch timeout. Database: Bumped DB schema version to 15, adding applySchemaV14 and applySchemaV15 compatibility stubs. Performance: Refactored ChatSession message lists by extracting and memoizing UserMessageRow and AssistantMessageRow with React.memo , and extracted static Markdown plugins outside of render scopes to eliminate redundant parsing. State Management: Integrated Zustand useShallow selectors across App , ChatInputArea , and ChatSession to prevent unnecessary re-renders. Resilience: Upgraded stream reconnect/resume flow in the store to pass existing stream progress (content and reasoning), preventing flickering and duplicate content rendering on stream recovery.
Integrated Clerk for authentication and fixed various bugs :D
I am currently working on: New frontend UI theme (I named it Ethereal Light. It will be very, very beautiful!), and it will be released with a theme selector (if you don’t like it, you can switch to the current Classic theme). Whitelist: enabling you to have a private deployment! User resource usage limits: designed for the demo. Lazy frontend loading: makes the frontend start faster! Bug fixes: the current version has many bugs, including Clerk integration, multi-provider switching, etc. Locating the source of these bugs is very tiring. The next public version will take a long time to release and be pushed to the public repo. I will sync my progress via devlogs. If you have any suggestions, please tell me — they are very, very important to me!
Status Updated! [IN PROGRESS] New frontend UI theme — Ethereal Light [DONE] Draft Animations Component art polish Final UI review Whitelist User resource usage limits (for the demo) Lazy frontend loading
I discovered that adding a new feature caused an existing feature to break. To prevent similar regressions, I added smoke tests and a full end-to-end (E2E) test suite.
I refactored the usage calculation. This fixes an issue where the per-model cost wasn’t updated automatically, while also reducing database usage.
I couldn’t decide between a typewriter effect and a fade-in animation for AI responses, so I added both! You can now choose your preferred output animation in Settings.
Status Update! [IN PROGRESS] New frontend UI theme — Ethereal Light [DONE] Draft [IN PROGRESS] Animations (almost done) Visual polish Final UI review Whitelist User resource usage limits (for the demo) Lazy frontend loading
Status Update! [IN PROGRESS] New frontend UI theme — Ethereal Light [DONE] Draft [DONE] Animations Visual polish Final UI review Whitelist User resource usage limits (for the demo) Lazy frontend loading
Fixed a critical bug that could allow users to perform unauthorized operations.
Fixed a bunch of UI, animation, rendering, and performance issues across the Ethereal Light theme and the Settings Panel. Real-time reasoning topic extraction now handles unfinished Markdown chunks correctly, so active words no longer get cut off while responses are streaming. I also switched to stable React keys, which eliminates the annoying text flickering during streaming. The scrolling lock, content clipping, and hidden input issues in Ethereal Light have also been fixed by improving layer isolation and hardware acceleration. Finally, repeated clicks on the Save button in Settings are now automatically deduplicated, preventing duplicate requests when the same configuration is submitted multiple times within 5 seconds.
Unexpectedly discovered several critical bugs. Currently fixing them.
I’m currently fixing a number of bugs in the new Ethereal Light theme. At the same time, I had the codebase audited by AI, which identified several critical security issues. I’m actively working through both the theme bugs and the reported vulnerabilities, so the next public commit may be delayed a bit. Before anything is published, I’ll also perform a full manual security review to make sure the public release is free of known security issues.
Finally fixed the security vulnerabilities and the remaining bugs. Next, I’ll continue reviewing the codebase and finish the new theme.
Status Update! [IN PROGRESS] New frontend UI theme — Ethereal Light [DONE] Draft [DONE] Animations [DONE] Visual polish Final UI review Whitelist User resource usage limits (for the demo) Lazy frontend loading
Status Update! [IN PROGRESS] New frontend UI theme — Ethereal Light [DONE] Draft [DONE] Animations [DONE] Visual polish [IN PROGRESS] Final UI review - almost done Whitelist User resource usage limits (for the demo) Lazy frontend loading
Status Update! [IN PROGRESS] New frontend UI theme — Ethereal Light [DONE] Draft [DONE] Animations [DONE] Visual polish [DONE] Final UI review - almost done Whitelist User resource usage limits (for the demo) Lazy frontend loading
Whitelist is almost finished! There’s only a little bit left to polish, and I should have it done within the next few days. New ship coming soon™
🌸 Devlog Update I’m currently exploring a better and more reasonable resource limitation system, hoping to make the DEMO experience smoother, friendlier, and more enjoyable for everyone! I’m also working on adding support for custom model providers, so you’ll be able to add your own providers and use this project as a complete long-term solution instead of just a DEMO. Of course, this also brings some new challenges qwq Since users will be able to add their own API Keys, I need to carefully design a secure system to make sure your keys stay safe and never get exposed. I’m planning a layered architecture with encryption, multiple authentication layers, and additional security protections. This project is becoming much more complicated than I originally expected… but I want to build it properly instead of rushing it 🥺✨ 🌱 About Storage S3-compatible storage is really expensive qwq, so for now I’ve added per-user file size limits and a 7-day automatic cleanup system. I know these limits are a little too strict, and I’m really sorry about that 🥲💦 I hope you can understand that I’m still a solo developer trying to keep the service sustainable. To improve this, I’m building my own tiered storage system — Minamo 🌊 After Minamo is finished, attachment storage limits will be increased significantly, and the 7-day automatic cleanup will be removed! 🎉 If you like this project, you can follow this project or follow Minamo to receive future updates and new features 💫 Thank you so much for supporting this project! 💙
The core development work is pretty much done! I’m now moving into the final polishing phase—doing security reviews, testing everything thoroughly, and fixing all the little rough edges I can find. Once that’s finished, I’ll deploy the new build as a public instance that everyone can use long-term. Can’t wait to share it with you all!
AronaChat v1.2.0 — A Bigger Update Than The Version Number Suggests Today, I completed AronaChat v1.2.0! Although this is only a minor version bump, it actually includes a lot of major improvements and new features. In this update, I added multi-provider support, custom models, the new Ethereal Light theme, and many other improvements. There are still many things to polish, but I’m working hard to turn AronaChat into something that we can genuinely use in our daily lives — not just a project. The current codebase has grown into a very complex system, so I’m planning to deploy the Public Demo version tomorrow. But this Public Demo is not just a temporary showcase. My goal is to make it a long-term usable product. You will be able to connect your own API providers and use AronaChat with your own services. To protect your privacy and security, the current version includes encrypted API key storage and multiple layers of security protection to keep your credentials as safe as possible. Due to storage and cost considerations, each user will have a fixed storage quota. If the limit is exceeded, attachments will be automatically removed using a FIFO (First In, First Out) rolling deletion system. For chat history, I’ll try my best to keep conversations stored for as long as possible while maintaining reasonable operating costs. Thank you for following the development of AronaChat! This is still just the beginning, and I hope it can become a tool that people truly enjoy using.
After fixing a number of issues, the Arona Chat Public Demo is finally ready! You can try it using the link below. https://aronachat.yearcakes.com/
Upcoming Changes: Add more personalization features, such as customizable tone and emoji usage. Refine the Ethereal Light theme.
I’m planning to further polish Ethereal Light theme and address the suggestions mentioned in the rating feedback. Thanks everyone for the support!
Confession time: I’m a high school STEM student. I spend far more time studying math, physics, chemistry, and biology than anything related to design. I have almost no artistic background, and I’m much more of a coder than a designer, so building Ethereal Light has been quite a journey. Half of the CSS for Ethereal Light only exists because I kept googling, “How do I make this look less ugly?” 😭 Somehow, after countless tiny tweaks, it’s finally starting to look like the theme I imagined. Anyway, I hope you love Arona Chat.
After using the Ethereal Light theme for a while, I realized that although the core chat interface was done, many secondary pages still looked like they belonged to a completely different application. So this update wasn’t about adding a flashy new feature, it was about finishing what Ethereal Light was always meant to be. This is one of those updates where most users probably won’t notice every individual change, but I hope everyone notices that Ethereal Light feels even more beautiful now. I also realized that good UI isn’t about making one page beautiful, it’s about making every page feel like it was designed together. Commit
Settings now save automatically as soon as you make changes, so there’s no more clicking Save everywhere. The user list also shows each user’s email when available (falling back to the Clerk ID). Improved auth by showing a recovery screen if initialization gets stuck for 12 seconds, and hardened SSRF protection against alternative IPv4 bypass tricks. I’ve already started designing the Ethereal Dark theme too, but since it’s unrelated to this commit I didn’t include it yet. Still probably another 8–10 hours to go before it’s ready. Commit
Hey guys! I’m currently working on a new theme (Ethereal Dark) for Arona Chat, and it will probably introduce a very large diff with many UI/CSS/component changes. I’m thinking about creating a dedicated feature branch (theme/ethereal-dark) for this work instead of directly committing everything to main. The idea is to keep the development process transparent and easier to review for future reviewers and users. After the theme is complete, I’ll merge it back into main. So I’d like to get your opinion: Do you prefer seeing the full development history through a feature branch? Or do you think keeping a cleaner main history with a larger commit is better? Thanks!
This is the last update for Arona Chat for the time being. In this update, I’ve added automatic image resizing, support for TXT and Markdown files, dynamic username injection in the greeting and system prompt, and the new Ethereal Dark theme. However, since my new semester started on August 31st, I won’t have as much time to work on Arona Chat or add new features. Anyway, I hope you all enjoy Arona Chat! Commit
I added a simple sharing function. I also added automatic picture attachment compression, which should save a lot of tokens. Commit
Ships:
What did you make? I built Arona Chat, a full-stack AI chat application powered by Cloudflare Workers, D1, R2, Durable Objects, and OpenRouter. It supports chat sessions, file attachments, usage tracking, budget management, authentication, and model selection, all wrapped in a Blue Archive-inspired interface. What was challenging? The most challenging part was designing the backend architecture around long-running AI responses and usage tracking. One lesson I learned the hard way is that inefficient SQLite access patterns can dramatically increase database costs. As the project grew, I had to rethink how usage statistics were stored and aggregated instead of recalculating everything repeatedly. Another challenge was handling very long SSE streams. For AI responses that may take a long time to complete, it is important that processing continues even if the client disconnects. This was my first time introducing Durable Objects into a production project, and they turned out to be a great fit for maintaining state and ensuring reliable streaming behavior. What are you proud of? I’m proud that this project pushed me beyond simple CRUD applications and into distributed system design. Integrating Durable Objects, building usage aggregation, and optimizing streaming performance taught me a lot about how real-world AI applications are built. I’m also genuinely impressed by Cloudflare R2. It was extremely easy to integrate, works reliably, and offers a very generous free tier, making it an excellent choice for student developers and hobby projects. How can people test it? Fork this repository. Update the wrangler.toml configuration for your own Cloudflare resources (do not commit any secrets). Deploy the frontend (frontend) to Cloudflare Pages and the backend (backend) to Cloudflare Workers. Configure the required Secrets in Cloudflare after deployment. Open the deployed site and log in using the password you configured. Create your first Passkey (highly recommended for a better login experience). Start chatting, upload files, try different models, and explore usage statistics and budget management features.
After a lot of work, AronaChat v1.2.0 is finally here! With this update, I’m continuing to transform AronaChat from a simple project into a real product that people can actually use. The Public Demo is now live! This is not just a temporary showcase — I want to build it into a long-term usable product. You can connect your own API providers and use AronaChat with your own models. Security and privacy are also a priority. API keys are stored with encryption and protected by multiple security measures to keep your credentials as safe as possible. Due to storage and cost considerations, each user currently has a limited storage quota. When the limit is reached, attachments will be automatically removed using a FIFO rolling deletion system. Chat history will be preserved as long as possible while keeping operating costs sustainable. Thank you everyone who has followed AronaChat’s journey! This is only the beginning, and I hope AronaChat can become a tool that people truly enjoy using.
This is the last ship for Arona Chat for the time being. Since my new semester started on August 31st, I won’t have as much time to work on Arona Chat or add new features. Anyway, I hope you all enjoy Arona Chat!
Some small improvements....
|
1793515853.7529209
|
1793602253.7529209
|
|
33184
|
WarioWare Game by @AwesomeFreshDay | Stardance
|
AwesomeFreshDay
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-25T03:41:56Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Created a wariowaregame mission with a title screen, with two different minigames, and a win or screen. Challenging parts were navigating through the Godot Engine I had trouble finding a lot of the buttons and how connecting the buttons would cause an action which was difficult to figure out. For some reason I spent a lot of time figuring out on why completing the minigame successfully would show the lose screen no matter what and I had to manually write code to make the screen change to the next minigame when that game is completed successfully. Overall there were a bunch of bumps and roadblocks when creating this due to my first time using Godot/any engine and figuring it out along the way added value and commitment to finishing the journey. It was a journey and will be memorable to me even if I did enjoy it all that I wanted to but yea.", "repo": "https://github.com/AdamT2529/WarioWareGame", "demo": "https://awesomefreshday.itch.io/cars-two-minigames"}]...
|
[{"post_id": 34420, "ts": "202 [{"post_id": 34420, "ts": "2026-07-25T03:35:23Z", "hours": 1.1519, "text": "Finished creating custom win and lose screen. I ran into a bunch of roadblocks and bumps during this unfortanutely but succeeded through them so this would be pretty memorable for me"}, {"post_id": 34358, "ts": "2026-07-25T00:08:16Z", "hours": 3.4725, "text": "Finished creating the 2 minigames where the first one is a platformer obstacle course and the second one is to click all garlics before the timer runs out. Faced many problems along the way but had to troubleshoot and improvise. Overall am pretty happy and need to finish up the winner and loser screen"}, {"post_id": 32755, "ts": "2026-07-22T03:29:43Z", "hours": 1.1775, "text": "Created working Start Game and Quit took so long and so much troubleshooting lol because I struggled to get the buttons working on the titlescreen with issues with name formats and the project creating so many different file formats with the same name so I was pretty confused but got past it to actually making the game"}]...
|
Title: WarioWare Game by @AwesomeFreshDay | Starda Title: WarioWare Game by @AwesomeFreshDay | Stardance
Devlogs:
Created working Start Game and Quit took so long and so much troubleshooting lol because I struggled to get the buttons working on the titlescreen with issues with name formats and the project creating so many different file formats with the same name so I was pretty confused but got past it to actually making the game
Finished creating the 2 minigames where the first one is a platformer obstacle course and the second one is to click all garlics before the timer runs out. Faced many problems along the way but had to troubleshoot and improvise. Overall am pretty happy and need to finish up the winner and loser screen
Finished creating custom win and lose screen. I ran into a bunch of roadblocks and bumps during this unfortanutely but succeeded through them so this would be pretty memorable for me
Ships:
Created a wariowaregame mission with a title screen, with two different minigames, and a win or screen. Challenging parts were navigating through the Godot Engine I had trouble finding a lot of the buttons and how connecting the buttons would cause an action which was difficult to figure out. For some reason I spent a lot of time figuring out on why completing the minigame successfully would show the lose screen no matter what and I had to manually write code to make the screen change to the next minigame when that game is completed successfully. Overall there were a bunch of bumps and roadblocks when creating this due to my first time using Godot/any engine and figuring it out along the way added value and commitment to finishing the journey. It was a journey and will be memorable to me even if I did enjoy it all that I wanted to but yea....
|
1793515847.1174533
|
1793602247.1174533
|
|
31201
|
Roblox Space Simulator by @MrChicken | Stardance
|
MrChicken
|
1
|
1.0
|
2
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-17T20:55:49Z", "hours": 1.0, "multiplier": 2.13, "payout": 2, "blessing": "neutral", "text": "Releasing an update that includes Pluto as a new addition to the game. I’ve additionally revised all of the scripts to utilize static coding for better performance. The read me has been updated to reflect more of the game’s features. PLEASE DO NOT VOTE ON THIS PROJECT IF YOU CANNOT PLAY THE GAME AS A RESULT OF ROBLOX’S AGE RESTRICTIONS, I cannot due anything about them and I am sorry for that. Please skip this if that is the case.", "repo": "https://github.com/Goldfish-Boi/RobloxSpaceSim", "demo": "https://www.roblox.com/games/129396130018851/Roblox-Space-Simulator"}]...
|
[{"post_id": 30367, "ts": "202 [{"post_id": 30367, "ts": "2026-07-17T20:50:12Z", "hours": 0.43, "text": "I realized that I had never added Pluto in despite me saying I did so I went ahead and properly added it. Pluto is unique because its barycentre exists outside of its surface due to its main moon Charon, additionally the two are tidally locked to each other! I additionally patched up some minor bugs here and their that might affect user experience."}, {"post_id": 23272, "ts": "2026-07-06T03:52:07Z", "hours": 0.6542, "text": "Optimized game to run on static coding via –!strict type-checking"}]...
|
Title: Roblox Space Simulator by @MrChicken | Star Title: Roblox Space Simulator by @MrChicken | Stardance
Devlogs:
Optimized game to run on static coding via –!strict type-checking
I realized that I had never added Pluto in despite me saying I did so I went ahead and properly added it. Pluto is unique because its barycentre exists outside of its surface due to its main moon Charon, additionally the two are tidally locked to each other! I additionally patched up some minor bugs here and their that might affect user experience.
Ships:
Releasing an update that includes Pluto as a new addition to the game. I’ve additionally revised all of the scripts to utilize static coding for better performance. The read me has been updated to reflect more of the game’s features. PLEASE DO NOT VOTE ON THIS PROJECT IF YOU CANNOT PLAY THE GAME AS A RESULT OF ROBLOX’S AGE RESTRICTIONS, I cannot due anything about them and I am sorry for that. Please skip this if that is the case....
|
1793515843.899234
|
1793602243.899234
|
|
13376
|
efficient rover by @valdtaniem | Stardance
|
valdtaniem
|
1
|
13.0
|
90
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-16T11:25:42Z", "hours": 12.0, "multiplier": 7.32, "payout": 90, "blessing": "neutral", "text": "I made 2 scripts in C. A server script and a rover script. The server script accepts the connection from the rover. When it receives “ping” it sends a randomly generated string of 1, 01, 001 and 000. with 50% 1 for forward, 25% 01 for backwards and 12.5% 001 and 000 for left and right. the efficiency comes from the fact that the most used (forward) is only 1 character, and lesser used actions are more. 3blue1brown explains it very well ( https://youtu.be/l6DKRf-fAAM?si=0wl0j-8jQxhWdPC4&t=208 ). That video is also where I got the idea for this project.", "repo": "https://git.tuxworld.nl/valdtaniem/EfficientRover", "demo": "https://git.tuxworld.nl/valdtaniem/EfficientRover/releases"}]...
|
[{"post_id": 35757, "ts": "202 [{"post_id": 35757, "ts": "2026-07-27T12:17:43Z", "hours": 0.9986, "text": "I got feedback on my previous ship that I needed a release with binaries, so i made that. While I’m at it I might as well write a little Makefile. (make help for all the commands)"}, {"post_id": 29392, "ts": "2026-07-16T10:05:55Z", "hours": 2.1306, "text": "I drew a new background and new rover."}, {"post_id": 13776, "ts": "2026-06-22T16:05:19Z", "hours": 0.7764, "text": "Server GUI updated. the server GUI can scroll. the text is no longer editable and the server loads a CSS file for styling."}, {"post_id": 13092, "ts": "2026-06-21T12:55:25Z", "hours": 1.8792, "text": "most functions are in (: The server has a GUI now, just a live log of what is being sent. and connection info. The rover GUI has an update, new buttons and a background. You can now close the rover program and the server won’t crash. you can start the rover up again and reconnect. i want to add a controller to the server for manual driving. Making everything look better is also something I want to do. the rover and background are pretty ugly and the server still looks plain."}, {"post_id": 9817, "ts": "2026-06-16T08:13:05Z", "hours": 3.1278, "text": "The rover has a GUI now! using GTK i made a grid with buttons and a drawing area to visualize the rover moving. with ping to receive movement instructions and reset to position the rover back to the center the button images should change because they are now just hand drawn (; the server sends longer strings. planning to add a background and make the buttons look like a controll panel. while the rover is moving don’t press the ping button becouse than the program crashes. ¯ _ (ツ)_/"}, {"post_id": 6811, "ts": "2026-06-11T13:03:04Z", "hours": 1.3764, "text": "The server now sends full strings of instructions and the rover can properly decode them into forward, backward, left and right instructions. I’m pretty proud of my implementation although I’m sure there is a better way."}, {"post_id": 5605, "ts": "2026-06-09T13:50:10Z", "hours": 0.9508, "text": "The server now transmits random movement instructions. the instructions have a 50%, 25%, 12.5% and 12.5% for 1, 01, 001 and 000. Because 1 is used much more its more efficient than encoding with 00, 01, 10 and 11"}, {"post_id": 5574, "ts": "2026-06-09T12:29:45Z", "hours": 2.0519, "text": "the rover and server scripts are talking via tcp."}]...
|
Title: efficient rover by @valdtaniem | Stardance
Title: efficient rover by @valdtaniem | Stardance
Devlogs:
the rover and server scripts are talking via tcp.
The server now transmits random movement instructions. the instructions have a 50%, 25%, 12.5% and 12.5% for 1, 01, 001 and 000. Because 1 is used much more its more efficient than encoding with 00, 01, 10 and 11
The server now sends full strings of instructions and the rover can properly decode them into forward, backward, left and right instructions. I’m pretty proud of my implementation although I’m sure there is a better way.
The rover has a GUI now! using GTK i made a grid with buttons and a drawing area to visualize the rover moving. with ping to receive movement instructions and reset to position the rover back to the center the button images should change because they are now just hand drawn (; the server sends longer strings. planning to add a background and make the buttons look like a controll panel. while the rover is moving don’t press the ping button becouse than the program crashes. ¯ _ (ツ)_/
most functions are in (: The server has a GUI now, just a live log of what is being sent. and connection info. The rover GUI has an update, new buttons and a background. You can now close the rover program and the server won’t crash. you can start the rover up again and reconnect. i want to add a controller to the server for manual driving. Making everything look better is also something I want to do. the rover and background are pretty ugly and the server still looks plain.
Server GUI updated. the server GUI can scroll. the text is no longer editable and the server loads a CSS file for styling.
I drew a new background and new rover.
I got feedback on my previous ship that I needed a release with binaries, so i made that. While I’m at it I might as well write a little Makefile. (make help for all the commands)
Ships:
I made 2 scripts in C. A server script and a rover script. The server script accepts the connection from the rover. When it receives “ping” it sends a randomly generated string of 1, 01, 001 and 000. with 50% 1 for forward, 25% 01 for backwards and 12.5% 001 and 000 for left and right. the efficiency comes from the fact that the most used (forward) is only 1 character, and lesser used actions are more. 3blue1brown explains it very well ( https://youtu.be/l6DKRf-fAAM?si=0wl0j-8jQxhWdPC4&t=208 ). That video is also where I got the idea for this project....
|
1793515835.2046463
|
1793602235.2046463
|
|
13322
|
Lumi by @Atharv | Stardance
|
Atharv
|
1
|
12.18
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-09T16:36:49Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built Lumi, Lumi is a windows first ai assistant that does things for you, its a self learning ai that teaches itself to do things and gets smarter overtime, check it out and share feedback please, would mean a lot, macos has siri but windows has nothing, until now.", "repo": "https://github.com/atharvmantri/Lumi-Assist", "demo": "https://www.lumiassist.xyz/"}]...
|
[{"post_id": 9096, "ts": "2026 [{"post_id": 9096, "ts": "2026-06-15T06:16:39Z", "hours": 1.365, "text": "Added 90+ new tools in various categories and made the models self sufficient to make more tools themselves. Upto 260 tools rn."}, {"post_id": 5856, "ts": "2026-06-09T20:05:52Z", "hours": 0.8117, "text": "Fixed the download button not working on the website, created a one line installer, turned out pretty good, happy with that 😎"}, {"post_id": 5661, "ts": "2026-06-09T15:16:45Z", "hours": 10.4936, "text": "Lumi — Complete Voice Assistant Core System Wake Word Detection — Detects “hey lumi”, “ok lumi”, “yo lumi”, “lumi” using energy-based detection + quick Whisper verification Speech-to-Text — Whisper (GPU-accelerated, large-v3) LLM Integration — Supports OpenAI, Anthropic, Google, OpenRouter, HackClub, or custom endpoints Text-to-Speech — Piper with sentence-streaming (British female voice) Desktop Overlay — 600x220 animated particles at bottom center (invisible → golden waveform → blue orb → golden swirl) System Tray — Color-coded icon + right-click menu 263 Built-in Tools — PC control, file management, web, media, system info, etc. Installers & Launchers install.bat — Full terminal installer (9 steps): Python 3.11 check/install Install directory picker Git clone Virtual environment Dependencies Voice model download API key + provider configuration Wake word training option Finalization launch.bat — Starts Lumi as tray app (no terminal window) launch_voice.bat — Starts with terminal for live output Wake Word Training System record_wake_samples.py — Records 20 positive + 10 negative samples configs/lumi.yaml — Training config for livekit-wakeword core/wake_word.py — Dual-mode detector (trained model + energy fallback) Supports “hey lumi”, “ok lumi”, “yo lumi”, “lumi” Documentation Updated README.md with wake word section Training instructions for custom model Configuration reference Troubleshooting guide What Works Now ✅ Install via install.bat ✅ Launch via launch.bat ✅ Wake word detection (energy-based + verification) ✅ All 263 tools ✅ Desktop overlay ✅ System tray ✅ Voice conversations ✅ API key configuration ✅ Provider selection (6 options) Ready for Custom Training When you install espeak-ng manually: pip install livekit-wakeword[listener,train,eval,export] python record_wake_samples.py livekit-wakeword run configs/lumi.yaml Current status: Fully functional. You can use it right now with launch.bat. The wake word detection works immediately (no training needed), and all tools are operational."}]...
|
Title: Lumi by @Atharv | Stardance
Devlogs:
Lumi Title: Lumi by @Atharv | Stardance
Devlogs:
Lumi — Complete Voice Assistant Core System Wake Word Detection — Detects “hey lumi”, “ok lumi”, “yo lumi”, “lumi” using energy-based detection + quick Whisper verification Speech-to-Text — Whisper (GPU-accelerated, large-v3) LLM Integration — Supports OpenAI, Anthropic, Google, OpenRouter, HackClub, or custom endpoints Text-to-Speech — Piper with sentence-streaming (British female voice) Desktop Overlay — 600x220 animated particles at bottom center (invisible → golden waveform → blue orb → golden swirl) System Tray — Color-coded icon + right-click menu 263 Built-in Tools — PC control, file management, web, media, system info, etc. Installers & Launchers install.bat — Full terminal installer (9 steps): Python 3.11 check/install Install directory picker Git clone Virtual environment Dependencies Voice model download API key + provider configuration Wake word training option Finalization launch.bat — Starts Lumi as tray app (no terminal window) launch_voice.bat — Starts with terminal for live output Wake Word Training System record_wake_samples.py — Records 20 positive + 10 negative samples configs/lumi.yaml — Training config for livekit-wakeword core/wake_word.py — Dual-mode detector (trained model + energy fallback) Supports “hey lumi”, “ok lumi”, “yo lumi”, “lumi” Documentation Updated README.md with wake word section Training instructions for custom model Configuration reference Troubleshooting guide What Works Now ✅ Install via install.bat ✅ Launch via launch.bat ✅ Wake word detection (energy-based + verification) ✅ All 263 tools ✅ Desktop overlay ✅ System tray ✅ Voice conversations ✅ API key configuration ✅ Provider selection (6 options) Ready for Custom Training When you install espeak-ng manually: pip install livekit-wakeword[listener,train,eval,export] python record_wake_samples.py livekit-wakeword run configs/lumi.yaml Current status: Fully functional. You can use it right now with launch.bat. The wake word detection works immediately (no training needed), and all tools are operational.
Fixed the download button not working on the website, created a one line installer, turned out pretty good, happy with that 😎
Added 90+ new tools in various categories and made the models self sufficient to make more tools themselves. Upto 260 tools rn.
Ships:
I built Lumi, Lumi is a windows first ai assistant that does things for you, its a self learning ai that teaches itself to do things and gets smarter overtime, check it out and share feedback please, would mean a lot, macos has siri but windows has nothing, until now....
|
1793515830.2322338
|
1793602230.2322338
|
|
36590
|
Momentum by @prajithvishnur | Stardance
|
prajithvishnur
|
1
|
27.0
|
29
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-17T18:55:19Z", "hours": 27.0, "multiplier": 2.89, "payout": 29, "blessing": "neutral", "text": "I built an infinite runner where the main character heats up the more you move and you need to get to the ice crystals in time to cool down and avoid overheating. Keep your momentum and dont slow down heh. the charcter speeds up at the heat builds up!", "repo": "https://github.com/prajith-vishnu/momentum", "demo": "https://momentum-phi-ashy.vercel.app"}]...
|
[{"post_id": 30287, "ts": "202 [{"post_id": 30287, "ts": "2026-07-17T18:53:06Z", "hours": 27.2078, "text": "I built an infinite runner"}]...
|
Title: Momentum by @prajithvishnur | Stardance
De Title: Momentum by @prajithvishnur | Stardance
Devlogs:
I built an infinite runner
Ships:
I built an infinite runner where the main character heats up the more you move and you need to get to the ice crystals in time to cool down and avoid overheating. Keep your momentum and dont slow down heh. the charcter speeds up at the heat builds up!...
|
1793515823.7761073
|
1793602223.7761073
|
|
44768
|
Midnight's End by @aaryan_vishnupurikar | Star Midnight's End by @aaryan_vishnupurikar | Stardance...
|
aaryan_vishnupurikar
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-07T01:09:24Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made my personal portfolio site using html, css, and regular JS. It has a full screen intro, a day/night background with animated birds and shooting stars, glass style cards(i tried my best), project tabs, and a floating custom terminal popup on the bottom left. The hardest part was probably getting the css styling and smooth scrolling animations to look right on mobile without messing up the layout, plus fixing some git merge errors when pushing to GitHub. Im proud of how the visual design came out, especially the mouse following light effect and the terminal widget you can actually type in with to search the website. To test it, just scroll down to reveal the content, click the theme button in the top right, check out the spec tabs in the project section, or open the terminal in the bottom right and type commands like help, about, or projects.", "repo": "https://github.com/aaryanv-midnightcrown/website-stardance", "demo": "https://aaryanv-midnightcrown.github.io/website-stardance"}]...
|
[{"post_id": 42329, "ts": "202 [{"post_id": 42329, "ts": "2026-08-07T00:27:05Z", "hours": 0.41, "text": "cool little side project i made, will update it with more stuff soon, though. if you have any feedback on the design, contact me plz! check it out yourself: https://aaryanv-midnightcrown.github.io/website-stardance"}]...
|
Title: Midnight's End by @aaryan_vishnupurikar Title: Midnight's End by @aaryan_vishnupurikar | Stardance
Devlogs:
cool little side project i made, will update it with more stuff soon, though. if you have any feedback on the design, contact me plz! check it out yourself: https://aaryanv-midnightcrown.github.io/website-stardance
Ships:
I made my personal portfolio site using html, css, and regular JS. It has a full screen intro, a day/night background with animated birds and shooting stars, glass style cards(i tried my best), project tabs, and a floating custom terminal popup on the bottom left. The hardest part was probably getting the css styling and smooth scrolling animations to look right on mobile without messing up the layout, plus fixing some git merge errors when pushing to GitHub. Im proud of how the visual design came out, especially the mouse following light effect and the terminal widget you can actually type in with to search the website. To test it, just scroll down to reveal the content, click the theme button in the top right, check out the spec tabs in the project section, or open the terminal in the bottom right and type commands like help, about, or projects....
|
1793515817.9102182
|
1793602217.9102182
|
|
46734
|
My own site! by @aadistech1 | Stardance
|
aadistech1
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T13:00:23Z", "hours": 0.0, "multiplier": 1.0, "payout": 0, "blessing": "neutral", "text": "It was made before this challenge, i just made some css improvements and project updations", "repo": "https://github.com/aadistech1-glitch/mypersonalwebsite", "demo": "https://aadivinayak.tiiny.site"}]...
|
[{"post_id": 46324, "ts": "202 [{"post_id": 46324, "ts": "2026-08-13T13:57:50Z", "hours": 0.2981, "text": "The code is almost over.First i was planning to make a decoy website , then i thought i would make my own portfolio"}]...
|
Title: My own site! by @aadistech1 | Stardance
De Title: My own site! by @aadistech1 | Stardance
Devlogs:
The code is almost over.First i was planning to make a decoy website , then i thought i would make my own portfolio
Ships:
It was made before this challenge, i just made some css improvements and project updations...
|
1793515809.140413
|
1793602209.140413
|
|
26318
|
delta vr pcbs by @oxy | Stardance
|
oxy
|
1
|
44.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-24T20:08:27Z", "hours": 44.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "hey, this is deltavr. these are the pcbs from my 2nd biggest role in this project with my partner, its a project that has slam tracking from the headset, advanced imus, steamvr support and just maybe it will be fully mobile if this becomes something bigger like a startup in the future, but yeah also the optics are special, its pseudo pancakes made of 2 stacked fresnels, me and my friend are doing all this from scratch, the pcbs i designed, the firmware we are making ourselves, the lenses were making ourselves, the software for slam with the cameras we are making too, pretty much all of it and I’m loving this project so much so far, i hope you guys find it as cool as i do <3 more personal version: the pcbs are officially complete, and I’m finally shipping, making and designing and the pcbs and making a proper a bom and getting greenlit by my friend whos funding this was such a crazy thing, alot of work but i love this all so much and deltavr will actually be the project im doing for my professional aptitude test in my school, for my first real big like actual project this so far was such a big like thing for me and i genuinely loved all of this, the pcbs were so much fun to make, figuring out how everything will look and be made of so i can make the pcbs correctly, doing proper searching for parts on aliexpress, alibaba etc has been enlightening to say the least but like I’m done its complete i made the pcbs, i cant believe its actually done I’m so so happy with the quality of what I’ve made and to say I’ve learnt a lot would be an understatement, i really was hoping i’d finish this project before September and i thought id ship the entire thing physically built when my birthday rolled around, turns out its actually quite hard to do all of this even with assistance, in retrospect tho the only thing id change is never using fusion 360, genuinely its so bad, anyways i really hope whoever you are reading this i hope YOU are having a nice day or night and with all that said its been a pleasure on stardance and i will continue this project further and im so excited for the outcome! with love oxy <3", "repo": "https://github.com/oxy-2/deltavr", "demo": ""}]...
|
[{"post_id": 53692, "ts": "202 [{"post_id": 53692, "ts": "2026-08-24T11:24:33Z", "hours": 4.0319, "text": "sorry for the big delays, having some issues rn, i have to wait for a some money so i can pay for some stuff and like then i can finish the demo site and like yada yada, sorry its affecting the timing, i had planned to ship yesterday, its really how this entire project has been that i keep overestimating how fast ill get it done by assuming things will just work, ill try to have it shipped this week, the project itself is done and pushed to git like the pcbs i just dont have a demo, maybe ill just make it my personal site and just put a small part at the bottom to show like what i have rn and have it simple cuz this shits killing me, heres a uh picture of the new hmd board, i had to remake it and do the wiring and add a radio module, again sorry for all the delays, i hope you have a nice rest of your day/night. with love oxy <3"}, {"post_id": 52615, "ts": "2026-08-22T20:35:32Z", "hours": 13.05, "text": "Final devlogs before the final devlog tomorrow and ship on sunday, so this is the controller pcb, its done finally i have routing tmrw but its easy and i have addition to main board of the a radio module for better signal too then im shipping this damn thing, oh also update to my personal site tmrw and adding a blog and updates page with hackatime integration and stuff for me and john when we start working hard, this was a long fucking day i worked like 13 total at least and logged a little less but also there was the other day when stardance just didnt let me use my 5 hours the other day maybe its cuz it was edited and power outage idk, anyways yes theres art on my pcbs, its ruan mei and blackswan from hsr, also the logo on the front and some little texts, so this pcb has a radio mosdule meant for off board external installation, the imu is dead center for best rotational data afaik, the joystick is tmr and work via a analog to digital conveter, it also does the two hall effect sensors which are for the triggers, next thing is to build them or a proto and also a then i will start on big evil firmware, also apologies to anyone hoping id finish this in stardances timeframe, it was the plan and this project will go on as its for me to enter uni kinda, long story that tho, anyways i will like i said publish further updates on oxygenated.uk and yeah i appreciate any and all support this project has gotten, if its a like, a comment, etc, makes me happy, anyways i hope everyone has a great rest of their day / night. with love oxy <3"}, {"post_id": 51340, "ts": "2026-08-20T23:06:59Z", "hours": 7.5575, "text": "much work, alot actually, so today was actually my birthday, i had lots of fun, new phone its amazing, great food, amazing cake, played mc with the wifey, went out with the family and had fun with friends, but i took a kidna break day, i prolly shouldnt have but yeah its my bday ig, anyways im working on rerouting rn and redesign but heres a sneak peak at the controller pcb ooooeoeoe, yea that thing ive been promising for like forever lol, finally almost done, im shipping this project once im done it and im satesfied, this stardance page after all was for the pcbs and the 3d modelling and coding is for later, maybe ill put em with another hackclub program as ive grown to love hc, its been a pleasure with stardance and im so sad its closing soon so i have to stop this project with just the pcbs, but its been so much fun, to anyone reading this if ur under 18 and still nto fully sure with hackclub and stuff but u even have a smither of love for engeneering and stuff, persue it, it will help u so much, im eternally grateful for what this platform has provided me and on that note goodnight and happy birthday to me and may you all sleep well. with love oxy <3"}, {"post_id": 49681, "ts": "2026-08-18T15:55:12Z", "hours": 13.6719, "text": "i have done a massive amount of work, so i pulled the trigger and decided to finally switched to kicad, the hmd pcb is done and its so beautiful i fucking love it, also im getting used to kicad and its so so so awesome im so happy i switched from fuh ahh fusion, so today i have another like 4 hours 57 mins of recording to log but i gotta wirte a devlog first so this will talk abt what i did yesterday cuz i didnt post it yesterday cuz i was on minecraft with the wifey (girlfriend, techincally fianceé), anyways so basically i spent a while routing the pcb in schematics and i with the help of wifey made a really nice logo that im personally proud of, so the new pcb is just a lsm6dsv, the nrf52840 mcu and a calibration led but no button cuz its like always in your pc as its the hmd board, i also gave it a 2x07 pin spot for debugging the imu, it legit exposes every individual pin which i think will be very usefull for me atleast, also i made sure to pick the bigger pad options for the smd footprints as im still very much a beginner in hot air soldering and i dont even have a hotplate, infact last time i tried i cracked a microcontroller chip which im a dumbahh for otdl, anyways ill attach images of the new pcb and the schematic, i hope you have a very nice rest of your day / night. with love oxy <3"}, {"post_id": 47632, "ts": "2026-08-15T17:33:00Z", "hours": 5.3792, "text": "i spent like the entire day working, i forgot to log most of it and the log i did make i fumbled and accidentally deleted while posting on lapse and also misclicked and couldnt edit, today was shit, my sleep has been shit too, anyways uh i got kicad working and openrouter for my opencode and also i finally got the prices down, its so fucking expensive its like 600 eur or sum bullshit, thats a high estimate its closer to 499 or sum but yeah anywasy here are some pics of the plans i made after hours of shopping and thinking and wanting to lowk blow up also im having some issues that might cause me not to get work done tmrw, sorry if i cant do anything tmrw, have a great rest of your day / night. with love oxy <3 (sorry for my horrible handwriting lol)"}, {"post_id": 44727, "ts": "2026-08-10T17:42:59Z", "hours": 11.7933, "text": "i made a severe and continued lapse in judgement, so alot has happened, i killed my printers mainboard, i made a site, made a filament dry box, build a electronics enclosure, made my own site, list goes on, i even updated pomos but yeah sheit day to have hand yesterday was too cuz i sliced my thumb to my hand open with a bad drill bit working on metal, anyways tmrw ill like yk do the controllers yk fully and get my partner on call and have him check over things and we are good"}, {"post_id": 36986, "ts": "2026-07-29T12:49:58Z", "hours": 10.8775, "text": "ive been doing some more work i got used to working with my imus or well a similar one, i did some like smd soldering to learn how to a bit better, i also received my t12 soldering iron, its a stc oled and its really cool and im loving it, the tips are very long and you like slot them in also they are iron clad which is awesome and means the like 70 or so euros i invested into buying it will go way farther than the stuff i bought and used to keep my old generic wall plug soldering iron, its a very cool iron, i love it alot, also im in the process of printing more things, so i can eventually work with my asa filament also im running out of pla but yeah ima make an enclosure for all the electronics on my printer like the psu, mobo, screen and thats gonna sit ontop of the laptop i use as a klipper host and also for tailscale and yada yada, i sadly overcapped hours on this devlog by about a hour but thats okay, ive wanted a 10 or more hour devlog for a while anyways, also i got some sheet metal to make the 3d printer encolsure with some cardboard boxes, big ones, so this is all so i can work with materials that need an enclosure, asa is one of them and i wanna do other engineering filaments soon, soon btw soon i promise controllers soon, its just this is a hardware project, not a theoretical one, i have to build this and i swear if this damned project ends up not working out do to me not having setup things personally i will literally loose it, anyways all that out the way i hope everyone has a great rest of their day and or subsequent night and bye bye, much love -oxy"}, {"post_id": 34822, "ts": "2026-07-25T20:36:48Z", "hours": 9.4881, "text": "I DID THE PCB LIKE I ACTUALLY DID IT all the wiring is done and i have the files to get it printed like LETSS GOOOOO but yeah so i have screenshots of everything here i have to update the repo with this and then the next thing will be the headset design and then the firmware last and then followed by the controller firmware first then controller pcbs and i already have designs in mind, anyways my gf tells me not to work so much cuz i will get burnt out so since this a monumental step i will be taking a break tmrw as its sunday, ill do my 5 mins and then take in my gf’s words a well deserved rest then im going to make my partner absolutely slave away on the full hmd design under my supervision and then ill start with firmware, ig tmrw ill just setup github desktop and get the current hades firmware and start yk, have a great day or night whoever you are, much love -oxy (also shipping i will actually be shipping YAY it will be the first ship done once i have the hmd stuff fully done)"}, {"post_id": 33596, "ts": "2026-07-23T17:23:43Z", "hours": 9.7336, "text": "so i spent more time fixing up the printer as everything has to be functional for when i have the PCBs in hand and have them done cuz if i have to focus and put attention on it then that’s gonna be absolutely shit so i want to get everything relating to the printer out the way first and i think its gone well, outside of a lot of stringing for some reason i have really good and clean prints and i am happy with my “lightly” modified ender 3, the next thing i am moving to is going to be a big enclosure for it so i can work with ASA filament to be able to make strong and resistant prints, i already have a very nice spool sitting around, also i have to build a filament drying system cuz eventually like carbon fiber nylon ill print on my ender and all but yeah so regarding PCBs i have low key been procrastinating doing them because i am always tired after gym at like 6am and then staying up late with my gf but yea ill fix my schedule and tomorrow i will start on them, promise, ill also post a dev log abt what i did and such to start tomorrow, regarding PCBs again though i might be cooked cuz i think out of me and my partner i might have to cover them in costs which might be absolute hemorrhoids because i have like 4.57 euros in my bank account, no extra cents laying around or nothing, genuinely i am broke as shit."}, {"post_id": 31823, "ts": "2026-07-20T14:43:18Z", "hours": 9.0275, "text": "we are moving to SLAM based tracking, a massive amount of work was done so ive completed the BoM other than pcbs and filament, so i made the bom did the theory work on all components needed and uh im almost done fixing my fuckass ender 3 which is like a ship of theseus at this point with the ammount of modification ive put it through, but yeah most of my work was finding the right components making sure they would work together etc so now i just need to get the parts, design the pcbs and the shell and build the mechanical parts like for ipd and the lens array whatchamacallits oh yeah we are making like pseudo pancake lenses following this paper https://opg.optica.org/oe/fulltext.cfm?uri=oe-32-25-44164 and in big part this hackday project https://hackaday.io/project/187343-the-psuedopancakes big thanks to the authors of both sources, also as this will be loosely off hades vr big thanks to them you can learn more about them at https://github.com/HadesVR/HadesVR also of course ORB-SLAM3 which you can see here https://github.com/UZ-SLAMLab/ORB_SLAM3 but yeah now i have to split up work for me and my partner and ofc buy the parts which will hurt as it totals 570 ish euros which is diabolical but its all gonna be open source and be a smd made vr headset people can modify and make their own versions of, i really hope lots of people like it, ill attach below some pictures from my work, i hope you have a nice day or night whoever you are reading this and sorry for any grammatical errors and such."}, {"post_id": 26405, "ts": "2026-07-11T05:43:41Z", "hours": 6.45, "text": "so so so much work also i could have sworn i already posted a devlog for this, whatevs its fine lol, so i have all this stuff done for the pcbs and ive started soldering imus and promicro boards in the mean time before i do anything else with ordering my pcbs cuz im broke as shit and cant afford nothing lmao, but yeah so this is what ive made, later ill remake it all smd and MAYBE i add slam tracking capabilities to this headset and its controllers, thats so much more work tho especially the controllers, we will see i suppose, oh and also john locked tf in and got our model started, will drop a pic of that too ofc"}, {"post_id": 25149, "ts": "2026-07-09T05:34:41Z", "hours": 1.5875, "text": "genuinely ive spent so long trying to do this, hopefully hardware projects arent unable to be done after outpost, i cant fly out to san franscisco anyways its very expensive but yeah i found a nice tutorial that im following, T-T, below ive attatched a picture of my magnum opus"}, {"post_id": 21691, "ts": "2026-07-03T19:39:07Z", "hours": 0.8003, "text": "i just cant figure out fusion360, ill try kicad ig hopefuly its bettert ort maybe i follow hackpad guide to learn pcb in fusion"}, {"post_id": 20749, "ts": "2026-07-02T13:22:10Z", "hours": 0.7481, "text": "im like learning the basics of like making pcbs now in fusion 360 as thats one of the big parts of my work, as im doing, well im doing a bit of everything but my friend cant do pcbs so i will but uh yeah i got fusion and uh started writing what i will need to do for the project in obsidian"}]...
|
Title: delta vr pcbs by @oxy | Stardance
Devlogs: Title: delta vr pcbs by @oxy | Stardance
Devlogs:
im like learning the basics of like making pcbs now in fusion 360 as thats one of the big parts of my work, as im doing, well im doing a bit of everything but my friend cant do pcbs so i will but uh yeah i got fusion and uh started writing what i will need to do for the project in obsidian
i just cant figure out fusion360, ill try kicad ig hopefuly its bettert ort maybe i follow hackpad guide to learn pcb in fusion
genuinely ive spent so long trying to do this, hopefully hardware projects arent unable to be done after outpost, i cant fly out to san franscisco anyways its very expensive but yeah i found a nice tutorial that im following, T-T, below ive attatched a picture of my magnum opus
so so so much work also i could have sworn i already posted a devlog for this, whatevs its fine lol, so i have all this stuff done for the pcbs and ive started soldering imus and promicro boards in the mean time before i do anything else with ordering my pcbs cuz im broke as shit and cant afford nothing lmao, but yeah so this is what ive made, later ill remake it all smd and MAYBE i add slam tracking capabilities to this headset and its controllers, thats so much more work tho especially the controllers, we will see i suppose, oh and also john locked tf in and got our model started, will drop a pic of that too ofc
we are moving to SLAM based tracking, a massive amount of work was done so ive completed the BoM other than pcbs and filament, so i made the bom did the theory work on all components needed and uh im almost done fixing my fuckass ender 3 which is like a ship of theseus at this point with the ammount of modification ive put it through, but yeah most of my work was finding the right components making sure they would work together etc so now i just need to get the parts, design the pcbs and the shell and build the mechanical parts like for ipd and the lens array whatchamacallits oh yeah we are making like pseudo pancake lenses following this paper https://opg.optica.org/oe/fulltext.cfm?uri=oe-32-25-44164 and in big part this hackday project https://hackaday.io/project/187343-the-psuedopancakes big thanks to the authors of both sources, also as this will be loosely off hades vr big thanks to them you can learn more about them at https://github.com/HadesVR/HadesVR also of course ORB-SLAM3 which you can see here https://github.com/UZ-SLAMLab/ORB_SLAM3 but yeah now i have to split up work for me and my partner and ofc buy the parts which will hurt as it totals 570 ish euros which is diabolical but its all gonna be open source and be a smd made vr headset people can modify and make their own versions of, i really hope lots of people like it, ill attach below some pictures from my work, i hope you have a nice day or night whoever you are reading this and sorry for any grammatical errors and such.
so i spent more time fixing up the printer as everything has to be functional for when i have the PCBs in hand and have them done cuz if i have to focus and put attention on it then that’s gonna be absolutely shit so i want to get everything relating to the printer out the way first and i think its gone well, outside of a lot of stringing for some reason i have really good and clean prints and i am happy with my “lightly” modified ender 3, the next thing i am moving to is going to be a big enclosure for it so i can work with ASA filament to be able to make strong and resistant prints, i already have a very nice spool sitting around, also i have to build a filament drying system cuz eventually like carbon fiber nylon ill print on my ender and all but yeah so regarding PCBs i have low key been procrastinating doing them because i am always tired after gym at like 6am and then staying up late with my gf but yea ill fix my schedule and tomorrow i will start on them, promise, ill also post a dev log abt what i did and such to start tomorrow, regarding PCBs again though i might be cooked cuz i think out of me and my partner i might have to cover them in costs which might be absolute hemorrhoids because i have like 4.57 euros in my bank account, no extra cents laying around or nothing, genuinely i am broke as shit.
I DID THE PCB LIKE I ACTUALLY DID IT all the wiring is done and i have the files to get it printed like LETSS GOOOOO but yeah so i have screenshots of everything here i have to update the repo with this and then the next thing will be the headset design and then the firmware last and then followed by the controller firmware first then controller pcbs and i already have designs in mind, anyways my gf tells me not to work so much cuz i will get burnt out so since this a monumental step i will be taking a break tmrw as its sunday, ill do my 5 mins and then take in my gf’s words a well deserved rest then im going to make my partner absolutely slave away on the full hmd design under my supervision and then ill start with firmware, ig tmrw ill just setup github desktop and get the current hades firmware and start yk, have a great day or night whoever you are, much love -oxy (also shipping i will actually be shipping YAY it will be the first ship done once i have the hmd stuff fully done)
ive been doing some more work i got used to working with my imus or well a similar one, i did some like smd soldering to learn how to a bit better, i also received my t12 soldering iron, its a stc oled and its really cool and im loving it, the tips are very long and you like slot them in also they are iron clad which is awesome and means the like 70 or so euros i invested into buying it will go way farther than the stuff i bought and used to keep my old generic wall plug soldering iron, its a very cool iron, i love it alot, also im in the process of printing more things, so i can eventually work with my asa filament also im running out of pla but yeah ima make an enclosure for all the electronics on my printer like the psu, mobo, screen and thats gonna sit ontop of the laptop i use as a klipper host and also for tailscale and yada yada, i sadly overcapped hours on this devlog by about a hour but thats okay, ive wanted a 10 or more hour devlog for a while anyways, also i got some sheet metal to make the 3d printer encolsure with some cardboard boxes, big ones, so this is all so i can work with materials that need an enclosure, asa is one of them and i wanna do other engineering filaments soon, soon btw soon i promise controllers soon, its just this is a hardware project, not a theoretical one, i have to build this and i swear if this damned project ends up not working out do to me not having setup things personally i will literally loose it, anyways all that out the way i hope everyone has a great rest of their day and or subsequent night and bye bye, much love -oxy
i made a severe and continued lapse in judgement, so alot has happened, i killed my printers mainboard, i made a site, made a filament dry box, build a electronics enclosure, made my own site, list goes on, i even updated pomos but yeah sheit day to have hand yesterday was too cuz i sliced my thumb to my hand open with a bad drill bit working on metal, anyways tmrw ill like yk do the controllers yk fully and get my partner on call and have him check over things and we are good
i spent like the entire day working, i forgot to log most of it and the log i did make i fumbled and accidentally deleted while posting on lapse and also misclicked and couldnt edit, today was shit, my sleep has been shit too, anyways uh i got kicad working and openrouter for my opencode and also i finally got the prices down, its so fucking expensive its like 600 eur or sum bullshit, thats a high estimate its closer to 499 or sum but yeah anywasy here are some pics of the plans i made after hours of shopping and thinking and wanting to lowk blow up also im having some issues that might cause me not to get work done tmrw, sorry if i cant do anything tmrw, have a great rest of your day / night. with love oxy <3 (sorry for my horrible handwriting lol)
i have done a massive amount of work, so i pulled the trigger and decided to finally switched to kicad, the hmd pcb is done and its so beautiful i fucking love it, also im getting used to kicad and its so so so awesome im so happy i switched from fuh ahh fusion, so today i have another like 4 hours 57 mins of recording to log but i gotta wirte a devlog first so this will talk abt what i did yesterday cuz i didnt post it yesterday cuz i was on minecraft with the wifey (girlfriend, techincally fianceé), anyways so basically i spent a while routing the pcb in schematics and i with the help of wifey made a really nice logo that im personally proud of, so the new pcb is just a lsm6dsv, the nrf52840 mcu and a calibration led but no button cuz its like always in your pc as its the hmd board, i also gave it a 2x07 pin spot for debugging the imu, it legit exposes every individual pin which i think will be very usefull for me atleast, also i made sure to pick the bigger pad options for the smd footprints as im still very much a beginner in hot air soldering and i dont even have a hotplate, infact last time i tried i cracked a microcontroller chip which im a dumbahh for otdl, anyways ill attach images of the new pcb and the schematic, i hope you have a very nice rest of your day / night. with love oxy <3
much work, alot actually, so today was actually my birthday, i had lots of fun, new phone its amazing, great food, amazing cake, played mc with the wifey, went out with the family and had fun with friends, but i took a kidna break day, i prolly shouldnt have but yeah its my bday ig, anyways im working on rerouting rn and redesign but heres a sneak peak at the controller pcb ooooeoeoe, yea that thing ive been promising for like forever lol, finally almost done, im shipping this project once im done it and im satesfied, this stardance page after all was for the pcbs and the 3d modelling and coding is for later, maybe ill put em with another hackclub program as ive grown to love hc, its been a pleasure with stardance and im so sad its closing soon so i have to stop this project with just the pcbs, but its been so much fun, to anyone reading this if ur under 18 and still nto fully sure with hackclub and stuff but u even have a smither of love for engeneering and stuff, persue it, it will help u so much, im eternally grateful for what this platform has provided me and on that note goodnight and happy birthday to me and may you all sleep well. with love oxy <3
Final devlogs before the final devlog tomorrow and ship on sunday, so this is the controller pcb, its done finally i have routing tmrw but its easy and i have addition to main board of the a radio module for better signal too then im shipping this damn thing, oh also update to my personal site tmrw and adding a blog and updates page with hackatime integration and stuff for me and john when we start working hard, this was a long fucking day i worked like 13 total at least and logged a little less but also there was the other day when stardance just didnt let me use my 5 hours the other day maybe its cuz it was edited and power outage idk, anyways yes theres art on my pcbs, its ruan mei and blackswan from hsr, also the logo on the front and some little texts, so this pcb has a radio mosdule meant for off board external installation, the imu is dead center for best rotational data afaik, the joystick is tmr and work via a analog to digital conveter, it also does the two hall effect sensors which are for the triggers, next thing is to build them or a proto and also a then i will start on big evil firmware, also apologies to anyone hoping id finish this in stardances timeframe, it was the plan and this project will go on as its for me to enter uni kinda, long story that tho, anyways i will like i said publish further updates on oxygenated.uk and yeah i appreciate any and all support this project has gotten, if its a like, a comment, etc, makes me happy, anyways i hope everyone has a great rest of their day / night. with love oxy <3
sorry for the big delays, having some issues rn, i have to wait for a some money so i can pay for some stuff and like then i can finish the demo site and like yada yada, sorry its affecting the timing, i had planned to ship yesterday, its really how this entire project has been that i keep overestimating how fast ill get it done by assuming things will just work, ill try to have it shipped this week, the project itself is done and pushed to git like the pcbs i just dont have a demo, maybe ill just make it my personal site and just put a small part at the bottom to show like what i have rn and have it simple cuz this shits killing me, heres a uh picture of the new hmd board, i had to remake it and do the wiring and add a radio module, again sorry for all the delays, i hope you have a nice rest of your day/night. with love oxy <3
Ships:
hey, this is deltavr. these are the pcbs from my 2nd biggest role in this project with my partner, its a project that has slam tracking from the headset, advanced imus, steamvr support and just maybe it will be fully mobile if this becomes something bigger like a startup in the future, but yeah also the optics are special, its pseudo pancakes made of 2 stacked fresnels, me and my friend are doing all this from scratch, the pcbs i designed, the firmware we are making ourselves, the lenses were making ourselves, the software for slam with the cameras we are making too, pretty much all of it and I’m loving this project so much so far, i hope you guys find it as cool as i do <3 more personal version: the pcbs are officially complete, and I’m finally shipping, making and designing and the pcbs and making a proper a bom and getting greenlit by my friend whos funding this was such a crazy thing, alot of work but i love this all so much and deltavr will actually be the project im doing for my professional aptitude test in my school, for my first real big like actual project this so far was such a big like thing for me and i genuinely loved all of this, the pcbs were so much fun to make, figuring out how everything will look and be made of so i can make the pcbs correctly, doing proper searching for parts on aliexpress, alibaba etc has been enlightening to say the least but like I’m done its complete i made the pcbs, i cant believe its actually done I’m so so happy with the quality of what I’ve made and to say I’ve learnt a lot would be an understatement, i really was hoping i’d finish this project before September and i thought id ship the entire thing physically built when my birthday rolled around, turns out its actually quite hard to do all of this even with assistance, in retrospect tho the only thing id change is never using fusion 360, genuinely its so bad, anyways i really hope whoever you are reading this i hope YOU are having a nice day or night and with all that said its been a pleasure on stardance and i will continue this project further and im so excited for the outcome! with love oxy <3...
|
1793515805.0344186
|
1793602205.0344186
|
|
44754
|
Portfolio by @Huseyin | Stardance
|
Huseyin
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-06T23:53:47Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This personal portfolio website uses HTML and CSS, with a very small touch of JS to not showcase, but to be a hub where others can access my other projects that do the showing off. This project has only one commit. But that is because it was made in one sitting. The one commit is a very big commit. The website has 4 main parts: The home, which has the sub links for every other page. The about me, which is me talking about me. The projects, which has my projects. The contact, it has my email. AI was used to remember like a CSS syntax or two. Again, this is a very simple website that represents me. I’m a simple guy.", "repo": "https://github.com/krambo345/portfolio", "demo": "https://krambo345.github.io/portfolio/contact.html"}]...
|
[{"post_id": 42315, "ts": "202 [{"post_id": 42315, "ts": "2026-08-06T23:48:59Z", "hours": 1.3497, "text": "Made the very simple portfolio website. Has some pages: About me Projects Contact Index.html(Home) This was made in one sitting. So It does not have advanced things."}]...
|
Title: Portfolio by @Huseyin | Stardance
Devlogs: Title: Portfolio by @Huseyin | Stardance
Devlogs:
Made the very simple portfolio website. Has some pages: About me Projects Contact Index.html(Home) This was made in one sitting. So It does not have advanced things.
Ships:
This personal portfolio website uses HTML and CSS, with a very small touch of JS to not showcase, but to be a hub where others can access my other projects that do the showing off. This project has only one commit. But that is because it was made in one sitting. The one commit is a very big commit. The website has 4 main parts: The home, which has the sub links for every other page. The about me, which is me talking about me. The projects, which has my projects. The contact, it has my email. AI was used to remember like a CSS syntax or two. Again, this is a very simple website that represents me. I’m a simple guy....
|
1793515799.1183946
|
1793602199.1183946
|
|
17716
|
The Canad Website by @Siddharth_A | Stardance
|
Siddharth_A
|
1
|
3.7
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-15T19:50:29Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I created a website where the user can enter any valid ticker symbol in NASDAQ and can view that stock’s current closing price and its history on a graph. They can also see current gold prices and popular exchange rates such as USD –> CAD. It is super simple to use and", "repo": "https://github.com/s-asuthker/Canad-Stocks", "demo": "https://web-production-1037a.up.railway.app"}]...
|
[{"post_id": 10025, "ts": "202 [{"post_id": 10025, "ts": "2026-06-16T16:15:49Z", "hours": 0.9353, "text": "I added a few animations to my website for visual effects. I can’t rlly screenshot them tho."}, {"post_id": 9502, "ts": "2026-06-15T21:07:13Z", "hours": 0.7672, "text": "Added 52 week high and low, added avg volume for stocks."}, {"post_id": 9015, "ts": "2026-06-15T01:11:48Z", "hours": 1.5236, "text": "Devlog #1 I just finished hardcoding current gold prices and exchange rates into my website. -Current gold price –> Gold Futures (yfinance module) -Exchange Rates –> Forex_Python -NASDAQ Stock Prices –> Yfinance module Stocks For stocks, the user can enter any ticker symbol that is valid in NASDAQ. Once they enter, they can view the current closing price of that stock and view a graph of the stock’s closing price from the past year. Exchange Rates Popular exchange rates are hardcoded into the website. They feature exchange rates such as USD to Canadian dollar, USD to Euro, USD to pound, and USD to Japanese Yen and vice-versa. I hope y’all enjoy the website it took quite a lot of debugging and messing around with he data frames. I would appreciate if you would check it out (No API-Key needed). In the near future I am planning to add code to find economic data of a country as I have discovered a python module for this."}]...
|
Title: The Canad Website by @Siddharth_A | Stardan Title: The Canad Website by @Siddharth_A | Stardance
Devlogs:
Devlog #1 I just finished hardcoding current gold prices and exchange rates into my website. -Current gold price –> Gold Futures (yfinance module) -Exchange Rates –> Forex_Python -NASDAQ Stock Prices –> Yfinance module Stocks For stocks, the user can enter any ticker symbol that is valid in NASDAQ. Once they enter, they can view the current closing price of that stock and view a graph of the stock’s closing price from the past year. Exchange Rates Popular exchange rates are hardcoded into the website. They feature exchange rates such as USD to Canadian dollar, USD to Euro, USD to pound, and USD to Japanese Yen and vice-versa. I hope y’all enjoy the website it took quite a lot of debugging and messing around with he data frames. I would appreciate if you would check it out (No API-Key needed). In the near future I am planning to add code to find economic data of a country as I have discovered a python module for this.
Added 52 week high and low, added avg volume for stocks.
I added a few animations to my website for visual effects. I can’t rlly screenshot them tho.
Ships:
I created a website where the user can enter any valid ticker symbol in NASDAQ and can view that stock’s current closing price and its history on a graph. They can also see current gold prices and popular exchange rates such as USD –> CAD. It is super simple to use and...
|
1793515796.1896827
|
1793602196.1896827
|
|
47744
|
meow meow (personal website) by @shreyayadav | Sta meow meow (personal website) by @shreyayadav | Stardance...
|
shreyayadav
|
2
|
14.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-31T16:02:32Z", "hours": 7.0, "multiplier": 1.54, "payout": 0, "blessing": "neutral", "text": "A little website! I wanted to add more sections but life has been crazy lately, so maybe I’ll do that post-Stardance. The challenging part was doing everything by myself with zero prior experience. I had like three tabs open per each line of code in there. I have spent so much time on GeeksForGeeks. No AI, pure human frustation. Apart from a couple of sections about me, the webbed site now also has a page with a picture of ea-nasir with a button to play music! Wanted to add a poetry page where people could see a random quote/poem/prose from my collection of favourites but after testing it in the live server I decided I did not like it. The website can be seen here: https://clumsywordsagain.github.io/meowmeow/", "repo": "https://github.com/clumsywordsagain/meowmeow", "demo": "https://clumsywordsagain.github.io/meowmeow/"}, {"ship_num": 2, "ts": "2026-08-18T14:11:04Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "first website! it’s deployed on github. the homepage contains a couple of sections about me and some of my interests and contact details. there is also a silly “shop” page.", "repo": "https://github.com/clumsywordsagain/meowmeow", "demo": "https://clumsywordsagain.github.io/meowmeow/"}]...
|
[{"post_id": 61620, "ts": "202 [{"post_id": 61620, "ts": "2026-09-04T16:37:53Z", "hours": 0.7822, "text": "fixed the image on the shop (i had to go on canva and superimpose the ea nasir picture on the clay tablet picture, i couldn’t get it to work directly though i tried a couple of different methods). added a new section to the about page. tried adding a marquee but then found out that it’s bad for accessibility so i removed it."}, {"post_id": 59583, "ts": "2026-09-01T14:19:17Z", "hours": 0.9431, "text": "adding a background image to ea nasir on the shop page. things did not go as planned here lol. i’m doing this border/background thingy for the first time so i’m trying a few different methods and also adjusting the music button position on the page."}, {"post_id": 58774, "ts": "2026-08-31T10:51:22Z", "hours": 0.6128, "text": "the music button on the shop page is now functional! it was not working before just because of some typos and the fact that i fully forgot to link the js script to the html 💀. also since the dimensions of the icon indicating that the music is paused are different than the dimesions of the icon indicating that the music is playing, there is a difference in size when you click the button. tried to fix that with object-fit: contain; and that did help significantly but they still are noticeably different in size. i’ll see what i can do about that later. i might remake the icons later on canva."}, {"post_id": 58322, "ts": "2026-08-30T18:16:38Z", "hours": 1.2831, "text": "on the shop page, i will be putting some looped music. i wrote the js code for the button to pause/play music (it isn’t working perfectly though, i need to debug it or start again). also made the icon for the paused music (attached below!) i’m going with the first option because the sword used in the second one is from someone’s years’-old reddit art post. i created a reddit account and asked them if i could use it but i have no reply yet, which is why i’m going ahead with the copyright-free spear option. today i also rearranged the folder in my d drive which contains this project’s files and severely messed up some stuff which led to hackatime counting about an hours’ work under a different project but that’s okay. i think i’ve fixed it now, after learning a lot more about vs code terminal commands than i did a couple of hours ago :p."}, {"post_id": 51191, "ts": "2026-08-20T18:11:55Z", "hours": 0.4031, "text": "i didn’t do much today. added alt ids for all images for accessibility! also edited a song to be used as background music on the shop tab of the website. i did use the audio tag and tried it locally but came to the conclusion that i wouldn’t actually like to put it on the live website until i have a clickable button (speaker-shaped? harp-shaped?) to turn it on and off so i didn’t commit the audio bit."}, {"post_id": 50198, "ts": "2026-08-19T10:25:33Z", "hours": 2.8289, "text": "made the design responsive to screen size so it looks better on phones and other screens! took me ages. learnt about media queries; used a mobile-first breakpoint. did a lot of research. spent no less than an hour trying to figure out what was going wrong with the reading section on the website before i realized i used a dot instead of a hyphen while defining the class name i used for it (what circle of hell was that 😭😭). anyway, now the website looks cleaner on different screen sizes!"}, {"post_id": 49589, "ts": "2026-08-18T14:02:28Z", "hours": 1.4064, "text": "added contact info and another page! tried using php for the navbar for the new page (spent quite a lot of time reading about it) but it was a tad confusing so i just copied the navbar code onto the new page for now, will learn other methods later."}, {"post_id": 49510, "ts": "2026-08-18T11:54:04Z", "hours": 2.7536, "text": "added a new section and a navbar! took me quite a while."}, {"post_id": 48838, "ts": "2026-08-17T11:57:19Z", "hours": 2.6675, "text": "started working on my personal website (using the stardance guide and the hack club guide and the magic of the internet)! i’ve only just added an intro and a picture so far. took me quite a while. i also want to add music but i don’t know how that’ll work yet. gonna work on adding links to my social media accounts next. ate cereal some time ago for the first time in ages."}]...
|
Title: meow meow (personal website) by @shreyayada Title: meow meow (personal website) by @shreyayadav | Stardance
Devlogs:
started working on my personal website (using the stardance guide and the hack club guide and the magic of the internet)! i’ve only just added an intro and a picture so far. took me quite a while. i also want to add music but i don’t know how that’ll work yet. gonna work on adding links to my social media accounts next. ate cereal some time ago for the first time in ages.
added a new section and a navbar! took me quite a while.
added contact info and another page! tried using php for the navbar for the new page (spent quite a lot of time reading about it) but it was a tad confusing so i just copied the navbar code onto the new page for now, will learn other methods later.
made the design responsive to screen size so it looks better on phones and other screens! took me ages. learnt about media queries; used a mobile-first breakpoint. did a lot of research. spent no less than an hour trying to figure out what was going wrong with the reading section on the website before i realized i used a dot instead of a hyphen while defining the class name i used for it (what circle of hell was that 😭😭). anyway, now the website looks cleaner on different screen sizes!
i didn’t do much today. added alt ids for all images for accessibility! also edited a song to be used as background music on the shop tab of the website. i did use the audio tag and tried it locally but came to the conclusion that i wouldn’t actually like to put it on the live website until i have a clickable button (speaker-shaped? harp-shaped?) to turn it on and off so i didn’t commit the audio bit.
on the shop page, i will be putting some looped music. i wrote the js code for the button to pause/play music (it isn’t working perfectly though, i need to debug it or start again). also made the icon for the paused music (attached below!) i’m going with the first option because the sword used in the second one is from someone’s years’-old reddit art post. i created a reddit account and asked them if i could use it but i have no reply yet, which is why i’m going ahead with the copyright-free spear option. today i also rearranged the folder in my d drive which contains this project’s files and severely messed up some stuff which led to hackatime counting about an hours’ work under a different project but that’s okay. i think i’ve fixed it now, after learning a lot more about vs code terminal commands than i did a couple of hours ago :p.
the music button on the shop page is now functional! it was not working before just because of some typos and the fact that i fully forgot to link the js script to the html 💀. also since the dimensions of the icon indicating that the music is paused are different than the dimesions of the icon indicating that the music is playing, there is a difference in size when you click the button. tried to fix that with object-fit: contain; and that did help significantly but they still are noticeably different in size. i’ll see what i can do about that later. i might remake the icons later on canva.
adding a background image to ea nasir on the shop page. things did not go as planned here lol. i’m doing this border/background thingy for the first time so i’m trying a few different methods and also adjusting the music button position on the page.
fixed the image on the shop (i had to go on canva and superimpose the ea nasir picture on the clay tablet picture, i couldn’t get it to work directly though i tried a couple of different methods). added a new section to the about page. tried adding a marquee but then found out that it’s bad for accessibility so i removed it.
Ships:
first website! it’s deployed on github. the homepage contains a couple of sections about me and some of my interests and contact details. there is also a silly “shop” page.
A little website! I wanted to add more sections but life has been crazy lately, so maybe I’ll do that post-Stardance. The challenging part was doing everything by myself with zero prior experience. I had like three tabs open per each line of code in there. I have spent so much time on GeeksForGeeks. No AI, pure human frustation. Apart from a couple of sections about me, the webbed site now also has a page with a picture of ea-nasir with a button to play music! Wanted to add a poetry page where people could see a random quote/poem/prose from my collection of favourites but after testing it in the live server I decided I did not like it. The website can be seen here: https://clumsywordsagain.github.io/meowmeow/...
|
1793515791.339971
|
1793602191.339971
|
|
43532
|
wario game by @krupa_pramod | Stardance
|
krupa_pramod
|
1
|
7.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-07T04:46:48Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a warioware style game but tweaked it to include a unique third minigame and to regard a different topic (high school!). I really enjoyed designing the scenes and using my creativity. It was a little difficult to navigate the GD script, but my Python knowledge helped and eventually I got the hang of it. The guide was super helpful as well. I’m pretty proud of this!", "repo": "https://github.com/krupa-pramod/wariowaregame", "demo": "https://krupapramod.itch.io/2-kool-4-skl"}]...
|
[{"post_id": 42436, "ts": "202 [{"post_id": 42436, "ts": "2026-08-07T04:45:20Z", "hours": 4.6883, "text": "Finished the game! added a third minigame, win and loss screens"}, {"post_id": 41452, "ts": "2026-08-05T17:45:23Z", "hours": 1.4581, "text": "Created minigame1 and also added the timer countdowns as well as the themed timer"}, {"post_id": 40920, "ts": "2026-08-04T19:09:21Z", "hours": 0.7817, "text": "Created a title screen page and also started on the level screen page"}]...
|
Title: wario game by @krupa_pramod | Stardance
De Title: wario game by @krupa_pramod | Stardance
Devlogs:
Created a title screen page and also started on the level screen page
Created minigame1 and also added the timer countdowns as well as the themed timer
Finished the game! added a third minigame, win and loss screens
Ships:
I made a warioware style game but tweaked it to include a unique third minigame and to regard a different topic (high school!). I really enjoyed designing the scenes and using my creativity. It was a little difficult to navigate the GD script, but my Python knowledge helped and eventually I got the hang of it. The guide was super helpful as well. I’m pretty proud of this!...
|
1793515787.51568
|
1793602187.51568
|
|
70116
|
Javascript by @syedakhter | Stardance
|
syedakhter
|
1
|
2.0
|
1
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-17T01:23:32Z", "hours": 2.0, "multiplier": 1.01, "payout": 1, "blessing": "neutral", "text": "I made a website with some random JavaScript I am trying out JavaScript.", "repo": "https://github.com/8051987-eng/Javascript", "demo": "https://8051987-eng.github.io/Javascript/"}]...
|
[{"post_id": 80267, "ts": "202 [{"post_id": 80267, "ts": "2026-10-17T01:22:01Z", "hours": 2.12, "text": "I website with javascript"}]...
|
Title: Javascript by @syedakhter | Stardance
Devl Title: Javascript by @syedakhter | Stardance
Devlogs:
I website with javascript
Ships:
I made a website with some random JavaScript I am trying out JavaScript....
|
1793515782.17321
|
1793602182.17321
|
|
43526
|
Mactery by @BTG9161 | Stardance
|
BTG9161
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-03T17:30:49Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "i made a cli tool for mac", "repo": "https://github.com/BTG9161/mactery", "demo": "https://github.com/BTG9161/mactery/releases"}]...
|
[{"post_id": 40247, "ts": "202 [{"post_id": 40247, "ts": "2026-08-03T17:27:23Z", "hours": 4.2439, "text": "This devlog is for before shipping my project. This project was relatively easy"}]...
|
Title: Mactery by @BTG9161 | Stardance
Devlogs:
T Title: Mactery by @BTG9161 | Stardance
Devlogs:
This devlog is for before shipping my project. This project was relatively easy
Ships:
i made a cli tool for mac...
|
1793515775.8553393
|
1793602175.8553393
|
|
43516
|
Jishaku (selfbot) for Discord selfbots by @ashish_ Jishaku (selfbot) for Discord selfbots by @ashish_agarwal | Stardance...
|
ashish_agarwal
|
1
|
4.66
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-03T19:18:26Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Useful debugging tool, originally for discord.py bots, more useful for my 24/7 selfbot too :)", "repo": "https://github.com/vortexprime24/jishaku", "demo": "https://github.com/vortexprime24/jishaku.git"}]...
|
[{"post_id": 41449, "ts": "202 [{"post_id": 41449, "ts": "2026-08-05T17:42:47Z", "hours": 2.6631, "text": "Did so many of optimisations, cleaned up the code and used some help from AI to find out lot bugs and fix them. Also I ported several commands (which uses embeds or buttons that discord self bot cannot show) to rely on reaction-based navigation and controls. Also added a disclaimer/warning in the !jsk command. And deleted a command that cannot be developed, !jsk invite."}, {"post_id": 40205, "ts": "2026-08-03T16:46:25Z", "hours": 1.5542, "text": "Initial release: it works, and you can use the .jsk (. is the prefix) command to see total joined servers and unique users your self-bot can see! You can also do much stuff and there’s tracebacks & error logging, just like the original jishaku."}]...
|
Title: Jishaku (selfbot) for Discord selfbots by @ Title: Jishaku (selfbot) for Discord selfbots by @ashish_agarwal | Stardance
Devlogs:
Initial release: it works, and you can use the .jsk (. is the prefix) command to see total joined servers and unique users your self-bot can see! You can also do much stuff and there’s tracebacks & error logging, just like the original jishaku.
Did so many of optimisations, cleaned up the code and used some help from AI to find out lot bugs and fix them. Also I ported several commands (which uses embeds or buttons that discord self bot cannot show) to rely on reaction-based navigation and controls. Also added a disclaimer/warning in the !jsk command. And deleted a command that cannot be developed, !jsk invite.
Ships:
Useful debugging tool, originally for discord.py bots, more useful for my 24/7 selfbot too :)...
|
1793515771.1737063
|
1793602171.1737063
|
|
42296
|
DotBot by @Dotdvn | Stardance
|
Dotdvn
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-02T18:55:58Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "|Ship#1| DotBot is a lightweight AI-powered Slack assistant built with Node.js, Slack Bolt, and Google Gemini AI. It can answer questions, explain concepts, tell jokes, share random facts, and respond to slash commands directly inside Slack. The project focuses on creating a simple, fast, and useful AI companion that improves everyday conversations and productivity within a Slack workspace.", "repo": "https://github.com/dotdvn/Dotbot", "demo": "https://hackclub.enterprise.slack.com/archives/C0BMEJ6MUG6"}]...
|
[{"post_id": 38352, "ts": "202 [{"post_id": 38352, "ts": "2026-07-31T18:11:31Z", "hours": 0.525, "text": "Devlogggggggggg #2 I connected the bot to Google Gemini AI and started testing AI-powered commands in Slack, Also added some new commands ."}, {"post_id": 38176, "ts": "2026-07-31T13:14:40Z", "hours": 0.5964, "text": "DevLoggggggggg #1 Made the first working version of DotBot, a simple Slack bot built with JavaScript and Slack Bolt. It now responds to a ping command."}]...
|
Title: DotBot by @Dotdvn | Stardance
Devlogs:
Dev Title: DotBot by @Dotdvn | Stardance
Devlogs:
DevLoggggggggg #1 Made the first working version of DotBot, a simple Slack bot built with JavaScript and Slack Bolt. It now responds to a ping command.
Devlogggggggggg #2 I connected the bot to Google Gemini AI and started testing AI-powered commands in Slack, Also added some new commands .
Ships:
|Ship#1| DotBot is a lightweight AI-powered Slack assistant built with Node.js, Slack Bolt, and Google Gemini AI. It can answer questions, explain concepts, tell jokes, share random facts, and respond to slash commands directly inside Slack. The project focuses on creating a simple, fast, and useful AI companion that improves everyday conversations and productivity within a Slack workspace....
|
1793515763.140786
|
1793602163.140786
|
|
44671
|
My own site! by @remychristiano | Stardance
|
remychristiano
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-28T07:09:05Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built StarDance as my own website to bring my creativity and web development skills to life. I wanted to create something of my own and share it with other people online. One of the challenging parts was putting the website together and making sure the different parts worked as expected. Working on this project helped me learn more about building websites, solving problems, and turning an idea into something people can actually use. I’m proud that I took the initiative to build my own project and bring my idea closer to reality. This is an important step in my journey as a young developer, and I hope to keep improving my skills by building more projects. You can try StarDance using the Try project link and explore the website yourself. I’d love for people to check it out and share their feedback!", "repo": "https://github.com/M-ash-max/personal-site", "demo": "https://youtu.be/16-GrqcRtcE"}]...
|
[{"post_id": 83592, "ts": "202 [{"post_id": 83592, "ts": "2026-10-28T06:51:36Z", "hours": 1.4964, "text": "i’m finally done with everything you can now check out my first portfolio live"}]...
|
Title: My own site! by @remychristiano | Stardance Title: My own site! by @remychristiano | Stardance
Devlogs:
i’m finally done with everything you can now check out my first portfolio live
Ships:
I built StarDance as my own website to bring my creativity and web development skills to life. I wanted to create something of my own and share it with other people online. One of the challenging parts was putting the website together and making sure the different parts worked as expected. Working on this project helped me learn more about building websites, solving problems, and turning an idea into something people can actually use. I’m proud that I took the initiative to build my own project and bring my idea closer to reality. This is an important step in my journey as a young developer, and I hope to keep improving my skills by building more projects. You can try StarDance using the Try project link and explore the website yourself. I’d love for people to check it out and share their feedback!...
|
1793515761.0143933
|
1793602161.0143933
|
|
46729
|
My own site! by @janagoutamrana | Stardance
|
janagoutamrana
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-02T16:39:35Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "It is a educational platform which is benefit to students.which shows your progress,time table,quiz,etc. which make the real time work", "repo": "https://github.com/janagoutamrana-creator/eductonal-platform", "demo": "https://youtu.be/dB8c940Wnzw?si=rxEbFz7JxLpDs_Uo"}]...
|
[{"post_id": 59037, "ts": "202 [{"post_id": 59037, "ts": "2026-08-31T16:55:21Z", "hours": 2.2989, "text": "EDUCATIONAL PLATFORM"}]...
|
Title: My own site! by @janagoutamrana | Stardance Title: My own site! by @janagoutamrana | Stardance
Devlogs:
EDUCATIONAL PLATFORM
Ships:
It is a educational platform which is benefit to students.which shows your progress,time table,quiz,etc. which make the real time work...
|
1793515757.1345472
|
1793602157.1345472
|
|
42279
|
Core X OS by @Kxrtik1315 | Stardance
|
Kxrtik1315
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-31T14:59:49Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A custom 32-bit x86 bare-metal operating system built in C and Assembly. It features a graphical window manager, PS/2 mouse/keyboard drivers, software rendering, and 4 built-in GUI apps: Notes, Calculator, Snake, and a Drawing canvas. Includes a secure lock screen and RTC.", "repo": "https://github.com/Kxrtik13-A19/Core-X-OS", "demo": "https://github.com/Kxrtik13-A19/Core-X-OS/blob/main/README.md"}]...
|
[{"post_id": 38201, "ts": "202 [{"post_id": 38201, "ts": "2026-07-31T14:29:10Z", "hours": 0.2975, "text": "Building CoreX OS, a custom 32-bit x86 bare-metal operating system from scratch using C and Assembly, featuring a custom window manager, PS/2 mouse and keyboard drivers, a lock screen, and built-in GUI applications like Notes, Calculator, Snake, and a Drawing canvas."}]...
|
Title: Core X OS by @Kxrtik1315 | Stardance
Devlo Title: Core X OS by @Kxrtik1315 | Stardance
Devlogs:
Building CoreX OS, a custom 32-bit x86 bare-metal operating system from scratch using C and Assembly, featuring a custom window manager, PS/2 mouse and keyboard drivers, a lock screen, and built-in GUI applications like Notes, Calculator, Snake, and a Drawing canvas.
Ships:
A custom 32-bit x86 bare-metal operating system built in C and Assembly. It features a graphical window manager, PS/2 mouse/keyboard drivers, software rendering, and 4 built-in GUI apps: Notes, Calculator, Snake, and a Drawing canvas. Includes a secure lock screen and RTC....
|
1793515755.2755764
|
1793602155.2755764
|
|
42278
|
Monado Phone Driver by @ttomf | Stardance
|
ttomf
|
3
|
76.94
|
1364
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-16T16:44:11Z", "hours": 22.0, "multiplier": 19.73, "payout": 430, "blessing": "neutral", "text": "I made Monado Phone Driver - a bridge between VR app and phone in cardboard headset. This allows you to play VR games just with Linux PC and Android phone, without buying expensive VR headset. There are alternatives, like ALVR and WiVRn , but my driver has 6DOF tracking (you can move and rotate in space) and hand tracking (it takes hand landmarks from PC or phone camera). Since last ship, I improved stability, added Android app settings, created auto installer, and mainly tracking from PC camera, because phone has small FOV and limited performance.", "repo": "https://github.com/ttomf/monado-phone", "demo": "https://github.com/ttomf/monado-phone/releases/"}, {"ship_num": 2, "ts": "2026-09-04T08:04:23Z", "hours": 32.0, "multiplier": 19.12, "payout": 609, "blessing": "neutral", "text": "Hi! This is my second ship of this project, Monado Phone Driver. It’s bridge between your VR app and your phone in headset ( Google Cardboard ). I wanted to make it better than ALVR , because it has only 3DOF tracking, so I created 6DOF tracking and hand tracking, like professional headsets. The most challenging part of this was debugging all of these. From Vulkan swapchain management and GStreamer pipeline to hand and 6DOF tracking. I am proud of it, because this will help people without VR headsets to enjoy VR games. NOTE: Hand tracking is done the best possible way, but I think it still doesn’t compete with real VR headsets. Next ship should add better tracking with PC camera.", "repo": "https://github.com/ttomf/monado-phone", "demo": "https://github.com/ttomf/monado-phone/releases/"}, {"ship_num": 3, "ts": "2026-08-05T13:16:21Z", "hours": 19.0, "multiplier": 17.05, "payout": 325, "blessing": "neutral", "text": "Hi! I ship my Monado Phone Driver ! I worked on it for last week and it was really challenging. My vision was to build something with what you can play VR games on phone (with Google Cardboard), like iVRy, but open-source and simple. I worked on streaming pipeline, UDP discovery, pose tracking and gluing it all together with Monado. I hope this will help people that wanted to play VR games without expensive headset.", "repo": "https://github.com/ttomf/monado-phone", "demo": "https://github.com/ttomf/monado-phone/releases/"}]...
|
[{"post_id": 73208, "ts": "202 [{"post_id": 73208, "ts": "2026-09-24T16:33:26Z", "hours": 3.9361, "text": "Hi! So I’m here again after many exams (I didn’t have time and strength to iteratively test this ) and I’m gonna make this better using better Hand Landmarkers and (hopefully) run on Window$."}, {"post_id": 69212, "ts": "2026-09-16T16:31:16Z", "hours": 1.6044, "text": "I think it’s time to new release! I merged upstream, created tag, built app and driver and published on GitHub."}, {"post_id": 68141, "ts": "2026-09-14T16:07:57Z", "hours": 3.4667, "text": "I am working on implementing hand controller using same data as hand tracking does. It also includes the “aim pose” - where does controller point. On video, it’s shown as red line, I take it from the index finger. I hope I will be able to play some better VR games!"}, {"post_id": 66631, "ts": "2026-09-12T14:11:34Z", "hours": 5.8714, "text": "I’ve fixed some bugs and leaks, added more configuration to Android app and created hand tracking vizualization for the PC script. Also, I am working on integrating hands as controllers (because controllers have better support across games)."}, {"post_id": 63611, "ts": "2026-09-07T15:18:52Z", "hours": 3.8808, "text": "YEAH! I have finally done the PC camera hand tracking! It has much better FOV than phone camera and more computing power. It’s just Python script with MediaPipe, sending the data to 127.0.0.1 to hand port, and it has same format, so the driver doesn’t even know the data is sending someone other than phone. You will ofc need to disable phone hand tracking, otherwise they will collide. As you see in the video, I can move the hands far and they still get tracked. (End of the video is when I took off the headset - it was also tracked :D)"}, {"post_id": 62773, "ts": "2026-09-06T09:09:55Z", "hours": 1.3114, "text": "Now I am making just minor changes to the driver as the base is nearly done. I added screen size synchronization with phone, so the driver now can send right stream. Also I am making small bugfixes and improvements."}, {"post_id": 62286, "ts": "2026-09-05T16:11:29Z", "hours": 1.7353, "text": "I added settings on phone, so now you can really configure the ports on both sides! Also there’s option to disable hand tracking or 6DOF (then it will send only rotation of headset)"}, {"post_id": 62060, "ts": "2026-09-05T09:18:28Z", "hours": 3.9211, "text": "I created simple terminal installer in python that downloads and setups Monado Phone Driver. Thanks also for the positive reviews and the 19.12x stardust multiplier — when I started this project, I didn’t think I’d ever finish it :D"}, {"post_id": 61371, "ts": "2026-09-04T07:52:18Z", "hours": 0.4617, "text": "Last devlog before ship! I just merged upstream monado, built release binaries and created GitHub release."}, {"post_id": 61334, "ts": "2026-09-04T06:19:09Z", "hours": 2.1025, "text": "So I finished the hand tracking! I tried to make it as good as possible on a phone, and it looks like it might actually work! Even though I’m limited by the hardware, you can see in the video that it tracks pretty well. (video from openxr-simple-playground )"}, {"post_id": 60746, "ts": "2026-09-03T09:54:46Z", "hours": 5.6369, "text": "I am enhancing hand tracking now, and it’s starting to look good! Here is how: I use MediaPipe by Google to analyze image from front camera. MediaPipe Hand Landmarker returns hand landmarks in camera-relative format in two dimensions, so I need to make depth (z-coordinate). I measure distance between wrist and fingers, in 2D space this means distance from camera (the farther away they are, the smaller they get). Now, they are 3D, but still relative to camera. Then I simply send both hands as UDP packet for the driver. The driver (PC side) computes real-world coordinates of the hands using saved earlier sent from ARCore and pushes them into Monado."}, {"post_id": 59610, "ts": "2026-09-01T15:01:51Z", "hours": 6.9739, "text": "I worked hard on both the Android app and the Monado driver and finally: I have working hand tracking! It is very laggy, needs many optimizations, and isn’t even in alpha state yet, but I can see that it is possible to do it. This was my dream when I began this project, and finally, it has come true. I hope it will help many people who cannot afford a professional headset :D"}, {"post_id": 58719, "ts": "2026-08-31T08:20:00Z", "hours": 2.2467, "text": "So today I finished image settings (you can configure them in the config file). They control how the image is rendered, because every headset has different lenses, distance between lenses, distance from screen to lenses etc. To find your headset’s properties, go to https://wwgc.firebaseapp.com/ ."}, {"post_id": 58171, "ts": "2026-08-30T15:09:22Z", "hours": 3.5397, "text": "I created new TCP socket logic for configuration sharing and added logic for loading configuration file. Now I am trying to change the x265enc software encoding to something faster on GPU. Unfortunately, nvenc (nvidia encoding) is really hard to configure properly, as you can see for yourselves."}, {"post_id": 57515, "ts": "2026-08-29T17:59:31Z", "hours": 9.2639, "text": "Phew, I almost went over the time limit (10 hours) :D I tried to get it running on Windows, and I partially succeeded, but it’s still not stable. Aside from that, I mostly cleaned up the code, improved usability, and removed unnecessary modules from CMake. Now I’m working on an improved distortion using Monado’s u_distortion_cardboard_calculate (cardboard stands for Google Cardboard btw) And one more thing: thanks to everyone for the positive feedback on the project — I really didn’t expect that!"}, {"post_id": 46899, "ts": "2026-08-14T13:22:12Z", "hours": 1.6314, "text": "Since nobody reviewed my submission, I don’t want to add more features, so I only updated the README and made small changes to the app. If anyone wants to play VR games on their phone, they can just download the files from Releases and run them without hard compiling!"}, {"post_id": 41279, "ts": "2026-08-05T12:09:23Z", "hours": 6.8658, "text": "Devlog 4 : I replaced boilerplate LLM code with my own. I also wrote README with instructions, so you can now try it!"}, {"post_id": 40628, "ts": "2026-08-04T09:25:23Z", "hours": 0.6022, "text": "I am making minor adjustments to run with SteamVR. I use opencomposite as layer between OpenXR and OpenVR/SteamVR. Video is phone screencap from free Steam game “Aircar”."}, {"post_id": 39990, "ts": "2026-08-03T10:37:11Z", "hours": 3.0761, "text": "Devlog 3 : I made 6DOF (6 degrees of freedom = position+rotation in space) tracking with ARCore. It’s a bit laggy, but it works. This is just test, I plan to optimize it later. Video is from xrgears with looking around."}, {"post_id": 39422, "ts": "2026-08-02T11:32:08Z", "hours": 1.5058, "text": "Devlog 2 : Finally I made working streaming pipeline! My driver takes image from Monado, gstreamer encodes it and sends via UDP. On phone, there is AMediaCodec that takes the packets, joins them and renders. Used codec is HEVC (H265). Video is from xrgears demo."}, {"post_id": 38950, "ts": "2026-08-01T15:47:39Z", "hours": 4.6072, "text": "So now I’m basically stuck. Three hours of debugging the streaming pipeline, refractoring with Opencode and trying to make it work. As you see, even Deepseek is struggling with it… Wish me luck 🤞"}, {"post_id": 38092, "ts": "2026-07-31T09:43:03Z", "hours": 2.3839, "text": "Hi! So I have started this project because I want to play VR games, but I don’t have any headset, only Google Cardboard. I know there is ALVR and iVRy, but: ALVR doesn’t have support for hand tracking and 6DOF iVRy is closed-source and wants to pay Sorry, but I don’t plan to add Windows support soon. Devlog 1 : I forked Monado and made some bureaucracy (like adding my driver to CMakeLists.txt etc.) I made simple Android app that pairs over UDP multicast with my driver. The image is from editor, because I don’t have anything interesting to post (except maybe positive logs 😁)"}]...
|
Title: Monado Phone Driver by @ttomf | Stardance
Title: Monado Phone Driver by @ttomf | Stardance
Devlogs:
Hi! So I have started this project because I want to play VR games, but I don’t have any headset, only Google Cardboard. I know there is ALVR and iVRy, but: ALVR doesn’t have support for hand tracking and 6DOF iVRy is closed-source and wants to pay Sorry, but I don’t plan to add Windows support soon. Devlog 1 : I forked Monado and made some bureaucracy (like adding my driver to CMakeLists.txt etc.) I made simple Android app that pairs over UDP multicast with my driver. The image is from editor, because I don’t have anything interesting to post (except maybe positive logs 😁)
So now I’m basically stuck. Three hours of debugging the streaming pipeline, refractoring with Opencode and trying to make it work. As you see, even Deepseek is struggling with it… Wish me luck 🤞
Devlog 2 : Finally I made working streaming pipeline! My driver takes image from Monado, gstreamer encodes it and sends via UDP. On phone, there is AMediaCodec that takes the packets, joins them and renders. Used codec is HEVC (H265). Video is from xrgears demo.
Devlog 3 : I made 6DOF (6 degrees of freedom = position+rotation in space) tracking with ARCore. It’s a bit laggy, but it works. This is just test, I plan to optimize it later. Video is from xrgears with looking around.
I am making minor adjustments to run with SteamVR. I use opencomposite as layer between OpenXR and OpenVR/SteamVR. Video is phone screencap from free Steam game “Aircar”.
Devlog 4 : I replaced boilerplate LLM code with my own. I also wrote README with instructions, so you can now try it!
Since nobody reviewed my submission, I don’t want to add more features, so I only updated the README and made small changes to the app. If anyone wants to play VR games on their phone, they can just download the files from Releases and run them without hard compiling!
Phew, I almost went over the time limit (10 hours) :D I tried to get it running on Windows, and I partially succeeded, but it’s still not stable. Aside from that, I mostly cleaned up the code, improved usability, and removed unnecessary modules from CMake. Now I’m working on an improved distortion using Monado’s u_distortion_cardboard_calculate (cardboard stands for Google Cardboard btw) And one more thing: thanks to everyone for the positive feedback on the project — I really didn’t expect that!
I created new TCP socket logic for configuration sharing and added logic for loading configuration file. Now I am trying to change the x265enc software encoding to something faster on GPU. Unfortunately, nvenc (nvidia encoding) is really hard to configure properly, as you can see for yourselves.
So today I finished image settings (you can configure them in the config file). They control how the image is rendered, because every headset has different lenses, distance between lenses, distance from screen to lenses etc. To find your headset’s properties, go to https://wwgc.firebaseapp.com/ .
I worked hard on both the Android app and the Monado driver and finally: I have working hand tracking! It is very laggy, needs many optimizations, and isn’t even in alpha state yet, but I can see that it is possible to do it. This was my dream when I began this project, and finally, it has come true. I hope it will help many people who cannot afford a professional headset :D
I am enhancing hand tracking now, and it’s starting to look good! Here is how: I use MediaPipe by Google to analyze image from front camera. MediaPipe Hand Landmarker returns hand landmarks in camera-relative format in two dimensions, so I need to make depth (z-coordinate). I measure distance between wrist and fingers, in 2D space this means distance from camera (the farther away they are, the smaller they get). Now, they are 3D, but still relative to camera. Then I simply send both hands as UDP packet for the driver. The driver (PC side) computes real-world coordinates of the hands using saved earlier sent from ARCore and pushes them into Monado.
So I finished the hand tracking! I tried to make it as good as possible on a phone, and it looks like it might actually work! Even though I’m limited by the hardware, you can see in the video that it tracks pretty well. (video from openxr-simple-playground )
Last devlog before ship! I just merged upstream monado, built release binaries and created GitHub release.
I created simple terminal installer in python that downloads and setups Monado Phone Driver. Thanks also for the positive reviews and the 19.12x stardust multiplier — when I started this project, I didn’t think I’d ever finish it :D
I added settings on phone, so now you can really configure the ports on both sides! Also there’s option to disable hand tracking or 6DOF (then it will send only rotation of headset)
Now I am making just minor changes to the driver as the base is nearly done. I added screen size synchronization with phone, so the driver now can send right stream. Also I am making small bugfixes and improvements.
YEAH! I have finally done the PC camera hand tracking! It has much better FOV than phone camera and more computing power. It’s just Python script with MediaPipe, sending the data to 127.0.0.1 to hand port, and it has same format, so the driver doesn’t even know the data is sending someone other than phone. You will ofc need to disable phone hand tracking, otherwise they will collide. As you see in the video, I can move the hands far and they still get tracked. (End of the video is when I took off the headset - it was also tracked :D)
I’ve fixed some bugs and leaks, added more configuration to Android app and created hand tracking vizualization for the PC script. Also, I am working on integrating hands as controllers (because controllers have better support across games).
I am working on implementing hand controller using same data as hand tracking does. It also includes the “aim pose” - where does controller point. On video, it’s shown as red line, I take it from the index finger. I hope I will be able to play some better VR games!
I think it’s time to new release! I merged upstream, created tag, built app and driver and published on GitHub.
Hi! So I’m here again after many exams (I didn’t have time and strength to iteratively test this ) and I’m gonna make this better using better Hand Landmarkers and (hopefully) run on Window$.
Ships:
Hi! I ship my Monado Phone Driver ! I worked on it for last week and it was really challenging. My vision was to build something with what you can play VR games on phone (with Google Cardboard), like iVRy, but open-source and simple. I worked on streaming pipeline, UDP discovery, pose tracking and gluing it all together with Monado. I hope this will help people that wanted to play VR games without expensive headset.
Hi! This is my second ship of this project, Monado Phone Driver. It’s bridge between your VR app and your phone in headset ( Google Cardboard ). I wanted to make it better than ALVR , because it has only 3DOF tracking, so I created 6DOF tracking and hand tracking, like professional headsets. The most challenging part of this was debugging all of these. From Vulkan swapchain management and GStreamer pipeline to hand and 6DOF tracking. I am proud of it, because this will help people without VR headsets to enjoy VR games. NOTE: Hand tracking is done the best possible way, but I think it still doesn’t compete with real VR headsets. Next ship should add better tracking with PC camera.
I made Monado Phone Driver - a bridge between VR app and phone in cardboard headset. This allows you to play VR games just with Linux PC and Android phone, without buying expensive VR headset. There are alternatives, like ALVR and WiVRn , but my driver has 6DOF tracking (you can move and rotate in space) and hand tracking (it takes hand landmarks from PC or phone camera). Since last ship, I improved stability, added Android app settings, created auto installer, and mainly tracking from PC camera, because phone has small FOV and limited performance....
|
1793515750.3475137
|
1793602150.3475137
|
|
40994
|
tidy by @rizz | Stardance
|
rizz
|
1
|
3.0
|
22
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-30T12:39:22Z", "hours": 3.0, "multiplier": 7.47, "payout": 22, "blessing": "neutral", "text": "Developed yet another small browser app named “tidy” – just put in a pile of broken links or text in any case, choose the format, and it will fix everything for you – strip any tracking parameters from the URL, make sure the URL is using HTTPS, clean up and shorten lines, and that’s it. The app consists of 3 files: HTML, CSS, and JS……..", "repo": "https://github.com/STEVEALEX-source/tidyup", "demo": "https://tidyupp.netlify.app/"}]...
|
[{"post_id": 37581, "ts": "202 [{"post_id": 37581, "ts": "2026-07-30T12:34:35Z", "hours": 0.905, "text": "finally humanssssssssssssssssssssssss"}, {"post_id": 37538, "ts": "2026-07-30T10:53:46Z", "hours": 0.8789, "text": "so humans….the links and text section is working but i still have to fix the third section"}, {"post_id": 37140, "ts": "2026-07-29T17:04:30Z", "hours": 0.6631, "text": "so humans….. i added different sections to the website….i still have to work on there functionality + the UI change old one looked off so i made it cleaner"}, {"post_id": 37086, "ts": "2026-07-29T15:48:35Z", "hours": 0.3067, "text": "hello humans so this is an another usual devlog…… made the website kinda catchy…would do further improvements"}, {"post_id": 36369, "ts": "2026-07-28T13:19:24Z", "hours": 0.2878, "text": "devloggg so i am working on a app that removes all the tracking params from any website and also a text cleaner for when you paste something and it has weird spacing or curly quotes"}]...
|
Title: tidy by @rizz | Stardance
Devlogs:
devlogg Title: tidy by @rizz | Stardance
Devlogs:
devloggg so i am working on a app that removes all the tracking params from any website and also a text cleaner for when you paste something and it has weird spacing or curly quotes
hello humans so this is an another usual devlog…… made the website kinda catchy…would do further improvements
so humans….. i added different sections to the website….i still have to work on there functionality + the UI change old one looked off so i made it cleaner
so humans….the links and text section is working but i still have to fix the third section
finally humanssssssssssssssssssssssss
Ships:
Developed yet another small browser app named “tidy” – just put in a pile of broken links or text in any case, choose the format, and it will fix everything for you – strip any tracking parameters from the URL, make sure the URL is using HTTPS, clean up and shorten lines, and that’s it. The app consists of 3 files: HTML, CSS, and JS…….....
|
1793515747.2647877
|
1793602147.2647877
|
|
40978
|
My own site! by @xitiz | Stardance
|
xitiz
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-28T13:21:31Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "i Just build my own portfolio and its look so good i am proud of myself for this achievement and for the usages of ai i hadn’t use it i didn’t need to the UI UX is what i generated from Google Stitch with my idea other then that its not", "repo": "https://github.com/XItizmgr/portpolio_hackaclub", "demo": "https://portfolioxitiz.vercel.app/"}]...
|
[{"post_id": 36366, "ts": "202 [{"post_id": 36366, "ts": "2026-07-28T13:14:08Z", "hours": 0.5053, "text": "So finally my personal website(portfolio) is done it took me more time then i thought but its also turned beautiful hope u guys also like it"}, {"post_id": 36354, "ts": "2026-07-28T12:32:44Z", "hours": 1.6253, "text": "So after a while i am finally done making the project section idk TwT why it took much more time then hero section still its looking quite good"}, {"post_id": 36308, "ts": "2026-07-28T10:41:18Z", "hours": 1.2614, "text": "Soooo hehe hehe what i had build in 1 hour and so is that i added the css in the navbar and add hero section the blinking effect is animation that i learned from a youtube video"}, {"post_id": 36289, "ts": "2026-07-28T09:22:02Z", "hours": 0.2581, "text": "So Making a simple portfolio for Personal Site mission using only css and html letss see how much time it take this is just beginning"}]...
|
Title: My own site! by @xitiz | Stardance
Devlogs Title: My own site! by @xitiz | Stardance
Devlogs:
So Making a simple portfolio for Personal Site mission using only css and html letss see how much time it take this is just beginning
Soooo hehe hehe what i had build in 1 hour and so is that i added the css in the navbar and add hero section the blinking effect is animation that i learned from a youtube video
So after a while i am finally done making the project section idk TwT why it took much more time then hero section still its looking quite good
So finally my personal website(portfolio) is done it took me more time then i thought but its also turned beautiful hope u guys also like it
Ships:
i Just build my own portfolio and its look so good i am proud of myself for this achievement and for the usages of ai i hadn’t use it i didn’t need to the UI UX is what i generated from Google Stitch with my idea other then that its not...
|
1793515738.969553
|
1793602138.969553
|
|
67710
|
Self Learning AI Agents by @arushkalra52 | Stardan Self Learning AI Agents by @arushkalra52 | Stardance...
|
arushkalra52
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-20T13:47:11Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a self-learning AI Agent that thinks, searches the web in real time, and remembers all information across sessions. It will reason through the answer and provide you with the answer by obtaining results directly from web. A simple dark-themed chat UI was built using streamlit. Challenging task was getting all the packages to get along as LangChain had major version conflicts with Gemini’s. So, I started building the agent loop from scratch by using Google’s genai package. The memory system is which I personally liked the most which means it becomes smarted every time you ask something as it stores and learns from that information. Also with the real-time web search it ensured that the agent gets you results from acquired knowledge along with saved information. Anyone can use it by just opening the link and start asking questions. You can try asking something out of which follow-up questions can be asked. You can also clear the memory anytime with the ‘Clear Memory’ button.", "repo": "https://github.com/arush4213/Self-Learning-AI-Agent", "demo": "https://selflearning-aiagent.streamlit.app/"}]...
|
[{"post_id": 81069, "ts": "202 [{"post_id": 81069, "ts": "2026-10-19T19:05:32Z", "hours": 0.5494, "text": "Updated UI with Streamlit."}, {"post_id": 80235, "ts": "2026-10-16T20:21:02Z", "hours": 4.2467, "text": "I created a self-learning AI agent entirely from scratch using Python. It uses Google Gemini, carries out real-time web searches using DuckDuckGo, and retains all the information between sessions with the help of persistent JSON memory."}]...
|
Title: Self Learning AI Agents by @arushkalra52 | Title: Self Learning AI Agents by @arushkalra52 | Stardance
Devlogs:
I created a self-learning AI agent entirely from scratch using Python. It uses Google Gemini, carries out real-time web searches using DuckDuckGo, and retains all the information between sessions with the help of persistent JSON memory.
Updated UI with Streamlit.
Ships:
I made a self-learning AI Agent that thinks, searches the web in real time, and remembers all information across sessions. It will reason through the answer and provide you with the answer by obtaining results directly from web. A simple dark-themed chat UI was built using streamlit. Challenging task was getting all the packages to get along as LangChain had major version conflicts with Gemini’s. So, I started building the agent loop from scratch by using Google’s genai package. The memory system is which I personally liked the most which means it becomes smarted every time you ask something as it stores and learns from that information. Also with the real-time web search it ensured that the agent gets you results from acquired knowledge along with saved information. Anyone can use it by just opening the link and start asking questions. You can try asking something out of which follow-up questions can be asked. You can also clear the memory anytime with the ‘Clear Memory’ button....
|
1793515734.2091308
|
1793602134.2091308
|
|
47731
|
Mini Games Hub by @Paachu | Stardance
|
Paachu
|
1
|
3.0
|
10
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-15T14:39:20Z", "hours": 3.0, "multiplier": 3.14, "payout": 10, "blessing": "neutral", "text": "I successfully developed two engaging games using Godot, both of which are part of a single project featuring a dynamic main menu. The first game is a classic 2048, and the second, QuickClick, is designed to enhance players’ aiming skills and speed.", "repo": "https://github.com/Along-the-skies/Mini-Games-Hub", "demo": "https://vasudevonden.itch.io/mini-games-hub"}]...
|
[{"post_id": 47415, "ts": "202 [{"post_id": 47415, "ts": "2026-08-15T10:37:50Z", "hours": 1.7128, "text": "Second Minigame :- QuickClick #is_that_image_AI!?( www.images.google.com )"}, {"post_id": 46854, "ts": "2026-08-14T11:49:14Z", "hours": 0.5833, "text": "A Score to know who is Better! #2048-By_VASU_peak"}, {"post_id": 46822, "ts": "2026-08-14T10:41:22Z", "hours": 1.0158, "text": "2048 -By VASU#PEAK"}]...
|
Title: Mini Games Hub by @Paachu | Stardance
Devl Title: Mini Games Hub by @Paachu | Stardance
Devlogs:
2048 -By VASU#PEAK
A Score to know who is Better! #2048-By_VASU_peak
Second Minigame :- QuickClick #is_that_image_AI!?( www.images.google.com )
Ships:
I successfully developed two engaging games using Godot, both of which are part of a single project featuring a dynamic main menu. The first game is a classic 2048, and the second, QuickClick, is designed to enhance players’ aiming skills and speed....
|
1793515731.1883934
|
1793602131.1883934
|
|
40961
|
devlog writer guide by @connie_19 | Stardance
|
connie_19
|
1
|
3.41
|
20
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-29T14:36:47Z", "hours": 3.0, "multiplier": 6.23, "payout": 20, "blessing": "neutral", "text": "I made a website for writing devlogs, it gives guidance with example templates and useful resources as well as a review system using an ML model to rate your devlogs.", "repo": "https://github.com/conniepocky/devlog-writer-guide/", "demo": "https://devlog-writer-guide.vercel.app/"}]...
|
[{"post_id": 37571, "ts": "202 [{"post_id": 37571, "ts": "2026-07-30T12:13:09Z", "hours": 0.4078, "text": "Devlog 4 Overview: Small update, added a checklist system to keep track of things that should be included in DevLog. What’s New: checklist popup Issues faced: I could reuse most of the CSS I had written for the review loading popup, the only major challenge with this was with adding the checkboxes, but this was relatively simple to implement."}, {"post_id": 37034, "ts": "2026-07-29T14:35:25Z", "hours": 0.5058, "text": "Devlog 3 Overview: Final update before ship! I added a review loading screen so screen doesn’t appear unresponsive when press the review button. What’s New: review loading Issues faced: CSS alignment was difficult but not too different from what I had done previously (e.g with the main loading screen and the standard content viewer)"}, {"post_id": 36998, "ts": "2026-07-29T13:29:13Z", "hours": 0.9939, "text": "Devlog 2 Overview: I implemented the ML model using tensorflow and USE. It’s not that accurate so far as my dataset is very small but I’m hoping to expand it :) If anyone wants to submit a devlog please add it to this form here -> https://docs.google.com/forms/d/e/1FAIpQLSfgm_mnizpS2V1FYWlM5shtXWcfPX82wxCaz83TYlaM_csYeQ/viewform?usp=header What’s New: ML model CSS loading screen whilst model loads (looks better than just unresponsive screen) Issues faced: I hadn’t used tensorflow in a while, and the hardest part was finding how to convert the text into a format that the model could use. Next Steps: improve model add loading screen when press review button"}, {"post_id": 36913, "ts": "2026-07-29T09:51:06Z", "hours": 1.7417, "text": "Devlog 1 Overview: I’ve started working on a guide for writing Devlogs, which is something I’ve found pretty hard since starting Stardance. My hope is to implement an ML algorithm that will analyse and give the Devlog a score. What’s New: written basic HTML and CSS templates screen and reviwer screen Issues faced: Only major difficulty so far has been with writing the CSS and swapping between DIVs but this proved simpler than I initially thought just by using display: none :) Next Steps: ML algorithm :)"}]...
|
Title: devlog writer guide by @connie_19 | Stardan Title: devlog writer guide by @connie_19 | Stardance
Devlogs:
Devlog 1 Overview: I’ve started working on a guide for writing Devlogs, which is something I’ve found pretty hard since starting Stardance. My hope is to implement an ML algorithm that will analyse and give the Devlog a score. What’s New: written basic HTML and CSS templates screen and reviwer screen Issues faced: Only major difficulty so far has been with writing the CSS and swapping between DIVs but this proved simpler than I initially thought just by using display: none :) Next Steps: ML algorithm :)
Devlog 2 Overview: I implemented the ML model using tensorflow and USE. It’s not that accurate so far as my dataset is very small but I’m hoping to expand it :) If anyone wants to submit a devlog please add it to this form here -> https://docs.google.com/forms/d/e/1FAIpQLSfgm_mnizpS2V1FYWlM5shtXWcfPX82wxCaz83TYlaM_csYeQ/viewform?usp=header What’s New: ML model CSS loading screen whilst model loads (looks better than just unresponsive screen) Issues faced: I hadn’t used tensorflow in a while, and the hardest part was finding how to convert the text into a format that the model could use. Next Steps: improve model add loading screen when press review button
Devlog 3 Overview: Final update before ship! I added a review loading screen so screen doesn’t appear unresponsive when press the review button. What’s New: review loading Issues faced: CSS alignment was difficult but not too different from what I had done previously (e.g with the main loading screen and the standard content viewer)
Devlog 4 Overview: Small update, added a checklist system to keep track of things that should be included in DevLog. What’s New: checklist popup Issues faced: I could reuse most of the CSS I had written for the review loading popup, the only major challenge with this was with adding the checkboxes, but this was relatively simple to implement.
Ships:
I made a website for writing devlogs, it gives guidance with example templates and useful resources as well as a review system using an ML model to rate your devlogs....
|
1793515725.9058845
|
1793602125.9058845
|
|
53130
|
wiliBot by @wxie223 | Stardance
|
wxie223
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: wiliBot by @wxie223 | Stardance
|
1792738125.352972
|
1793602125.352972
|
|
31311
|
Atomies by @itsleenzy | Stardance
|
itsleenzy
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-02T12:07:07Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built Atomies, an interactive periodic table with reaction simulation for all 118 elements. The hardest part was debugging. Every bug I fixed spawned another one… absolute NPC behavior 💀 I’m really proud that it’s live and fully usable. Just open the site, click around, and try different reactions. If you find a bug before I do… bro got early access 😭", "repo": "https://github.com/its-leealis/atomies", "demo": "https://its-leealis.github.io/atomies/"}]...
|
[{"post_id": 39395, "ts": "202 [{"post_id": 39395, "ts": "2026-08-02T10:36:18Z", "hours": 1.7358, "text": "Atomies Devlog #1 🧪Finished building the GUI for Atomies! The project can now simulate reactions between all 118 elements of the periodic table. Next, I’ll be working on improving the experience and adding more features 🚀"}]...
|
Title: Atomies by @itsleenzy | Stardance
Devlogs: Title: Atomies by @itsleenzy | Stardance
Devlogs:
Atomies Devlog #1 🧪Finished building the GUI for Atomies! The project can now simulate reactions between all 118 elements of the periodic table. Next, I’ll be working on improving the experience and adding more features 🚀
Ships:
I built Atomies, an interactive periodic table with reaction simulation for all 118 elements. The hardest part was debugging. Every bug I fixed spawned another one… absolute NPC behavior 💀 I’m really proud that it’s live and fully usable. Just open the site, click around, and try different reactions. If you find a bug before I do… bro got early access 😭...
|
1793515722.3161356
|
1793602122.3161356
|
|
19900
|
gamer rules by @CLK | Stardance
|
CLK
|
1
|
0.95
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-16T13:31:15Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a website about what I think are good rules for a public minecraft server, you can view my website at https://nivlacvt.github.io/game-rules/", "repo": "https://github.com/NIVLACvt/game-rules", "demo": "https://nivlacvt.github.io/game-rules/"}]...
|
[{"post_id": 10600, "ts": "202 [{"post_id": 10600, "ts": "2026-06-17T12:59:30Z", "hours": 0.9503, "text": "just added how to join on playstation"}, {"post_id": 9924, "ts": "2026-06-16T13:16:29Z", "hours": 0.4725, "text": "I have just finished adding the consequence if you do not follow the rules"}]...
|
Title: gamer rules by @CLK | Stardance
Devlogs:
I Title: gamer rules by @CLK | Stardance
Devlogs:
I have just finished adding the consequence if you do not follow the rules
just added how to join on playstation
Ships:
I made a website about what I think are good rules for a public minecraft server, you can view my website at https://nivlacvt.github.io/game-rules/...
|
1793515717.3741138
|
1793602117.3741138
|
|
40639
|
Darker Fantasy / first game by @wal | Stardance
|
wal
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-28T11:36:06Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I created my first ever game. It was challenging, because i didnt know Python when starting, but i got the hang of most of the command by the end of it, tho i still wont be able to write them from memory. I enjoyed it, and i hope to get back to it to create more fun stuff!", "repo": "https://github.com/walterm4lon-coder/wariogame", "demo": "https://walterm4lon.itch.io/darker-fantasy"}]...
|
[{"post_id": 36321, "ts": "202 [{"post_id": 36321, "ts": "2026-07-28T11:33:15Z", "hours": 1.8122, "text": "I have finished this game’s MVP! Might come back in the future and add “Settings” button to it, but for now it just doesn’t work."}, {"post_id": 35870, "ts": "2026-07-27T16:13:10Z", "hours": 4.1064, "text": "Hi there on my first game! So the vibe of the game is ought to be dark fantasy for the character i picked a pixelated version of berserk, and for main health system i use theese funny apples. Now i gotta do win and loose screen!"}]...
|
Title: Darker Fantasy / first game by @wal | Stard Title: Darker Fantasy / first game by @wal | Stardance
Devlogs:
Hi there on my first game! So the vibe of the game is ought to be dark fantasy for the character i picked a pixelated version of berserk, and for main health system i use theese funny apples. Now i gotta do win and loose screen!
I have finished this game’s MVP! Might come back in the future and add “Settings” button to it, but for now it just doesn’t work.
Ships:
I created my first ever game. It was challenging, because i didnt know Python when starting, but i got the hang of most of the command by the end of it, tho i still wont be able to write them from memory. I enjoyed it, and i hope to get back to it to create more fun stuff!...
|
1793515707.9137175
|
1793602107.9137175
|
|
21737
|
Jarvis by @Xavier | Stardance
|
|
1
|
70.0
|
234
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-15T14:57:50Z", "hours": 70.0, "multiplier": 7.79, "payout": 234, "blessing": "neutral", "text": "Hey everyone! I really enjoyed developing this personal assistant. While it has its limitations, its cool to have a group of programmers sharing ideas and cool concepts. This first part will give a small peek into the errors i ran into during development. Development Environment and Python 3.13 Using Python 3 as the foundation for the backend was the simplest part of the project, but certainly not the easiest. Because Python 3.13 is so new, several critical packages lacked prebuilt wheels. I had to manually check GitHub releases and pull pre-release wheels directly from CI artifacts. I pinned these specific versions to maintain stability. When that became unsustainable, I fell back to Python 3.12, utilizing virtual environment isolation for those specific packages. FastAPI and SSE Streaming Streaming LLM tokens over Server-Sent Events (SSE) is not well-documented, and it caused significant friction. The primary challenge was that the LLM returns a standard generator, while FastAPI’s StreamingResponse requires compatibility with async generators; they do not compose cleanly with synchronous LLM clients. My solution was to wrap the DeepSeek client in an async adapter using asyncio.to_thread(). This ensured the blocking API calls did not stall the event loop, allowing me to yield each token as an SSE-formatted string. Stability and Error Handling Under heavy load, I found that DeepSeek could occasionally return 503 errors. To manage this, I implemented an exponential backoff strategy with a maximum of three retries to maintain stability without overloading the service. A major challenge was ensuring that errors were caught before the SSE stream began, preventing the user from receiving a “half-finished” response. Consequently, I only initialize the stream once the connection is confirmed as alive. Voice Integration and Reliability I chose to integrate ElevenLabs for the voice component to provide a more human-like touch. However, API-based voice services introduce their own reliability constraints. To ensure the assistant remains functional even when hitting the ElevenLabs free-tier limits, I implemented a fallback mechanism. If the API fails, the system reverts to basic browser-based Text-to-Speech (TTS)—a less polished experience, but necessary for overall system reliability. Deployment and Connectivity The backend is currently running locally on my PC and exposed via a Cloudflare Tunnel. I ran into a limitation where every restart of the tunnel generates a new URL. I have had to accept this for now, but I am currently looking for a permanent workaround to ensure a consistent connection point. Now - if you have read this far, you probably want to know what i enjoyed about this project. Building up this backend architecture was certainly not an easy task. For some people this would have been a complete bore, and would’ve been a dreaded chore, but I enjoyed the challenge, and learning opportunity of dealing with Python 3.13 challenges. After I ship this project, I will be working more with python backend, potentially with another webapp. Thanks for reading (:", "repo": "https://github.com/runercode/jarvis", "demo": "https://slim-lasting-pavilion-rec.trycloudflare.com"}]...
|
[{"post_id": 28475, "ts": "202 [{"post_id": 28475, "ts": "2026-07-14T18:47:33Z", "hours": 32.8625, "text": "Final Devlog 🤖 Hey everyone! This is my final devlog for this project. I’ve been working on JARVIS every day, and it’s pretty much been all I’ve been doing. It’s been a challenging but rewarding project, and I’ve learned a ton along the way. Here’s a quick summary of some of the biggest technical challenges I ran into. Dual Database Architecture One of the hardest parts was managing two databases at the same time. Every message gets saved twice: SQLite stores the raw chat history, while ChromaDB stores vector embeddings for semantic memory. Every write has to handle the possibility of ChromaDB being unavailable, and every read has to combine recent chat history with similarity based memory retrieval. If either system breaks, JARVIS still works, but it loses its long term memory. Replacing PyTorch with ONNX PyTorch turned out to be a huge problem for deployment. The sentence-transformers package pulls in roughly 1.5GB of CUDA libraries, while most free hosting platforms only provide 512MB of RAM. I switched to ChromaDB’s ONNX embedding runtime instead, which reduced the model to around 30MB. Getting ChromaDB to consistently use ONNX instead of falling back to PyTorch took a lot of configuration, and if the embedding function changes between deployments, the entire vector database has to be rebuilt. Authentication Even though JARVIS is a personal assistant, I still wanted authentication to be done properly. User accounts use bcrypt password hashing, username validation, password validation, duplicate username checks, and identical login error messages to prevent username enumeration. It’s definitely overkill for a project like this, but it was a great learning experience. Overall, this project taught me a lot about AI systems, deployment, databases, authentication, and building software that actually has to work reliably. I’m really happy with how JARVIS turned out, and I’m excited to keep improving it even after this project is over. The boring stuff is all done now."}, {"post_id": 23101, "ts": "2026-07-05T20:55:36Z", "hours": 11.7422, "text": "Hey everyone! From my last dev-log I have a lot to showcase before the final shipment that is impending. I have used Render - a website used for putting live complicated webapps on the internet as a sort of backbone for everyone to access. This will be the main point of access of this project, and the last milestone I hit. I still have a lot to work on past this such as implementing real note taking, as well as a full AI verbal based communication network. After this is finished, I will be moving on to my next project, a game."}, {"post_id": 20102, "ts": "2026-07-01T16:57:27Z", "hours": 25.4867, "text": "Hey everyone! This is my first official dev-log for my project. This project has so-far since been very fruitful, and i have been able to complete many of the milestones i wanted to reach. Keystone goals: Long term data storage (SQLite) SentenceTransformers (local) For language processing Ai retrieval system (retrieving memory for usage) Vector database (for ai retrievall AI reasoning layer(LLM) User layer(web app) System orchistration(Python backend with fastAPI) I have completed all of the integral parts of the project so far, and will continue to optimize and improve the assistant until it is the best it can be. Now that the original milestones have been reached, i wanted to share the next moving of the goal posts: Full account creation which facilitates the storage of all chat history. Full memory acquisition to store previous chats as well as the ability to use google maps, and google business for deep research Research tab to show active research and knowledge acquisition."}]...
|
Title: Jarvis by @Xavier | Stardance
Devlogs:
Hey Title: Jarvis by @Xavier | Stardance
Devlogs:
Hey everyone! This is my first official dev-log for my project. This project has so-far since been very fruitful, and i have been able to complete many of the milestones i wanted to reach. Keystone goals: Long term data storage (SQLite) SentenceTransformers (local) For language processing Ai retrieval system (retrieving memory for usage) Vector database (for ai retrievall AI reasoning layer(LLM) User layer(web app) System orchistration(Python backend with fastAPI) I have completed all of the integral parts of the project so far, and will continue to optimize and improve the assistant until it is the best it can be. Now that the original milestones have been reached, i wanted to share the next moving of the goal posts: Full account creation which facilitates the storage of all chat history. Full memory acquisition to store previous chats as well as the ability to use google maps, and google business for deep research Research tab to show active research and knowledge acquisition.
Hey everyone! From my last dev-log I have a lot to showcase before the final shipment that is impending. I have used Render - a website used for putting live complicated webapps on the internet as a sort of backbone for everyone to access. This will be the main point of access of this project, and the last milestone I hit. I still have a lot to work on past this such as implementing real note taking, as well as a full AI verbal based communication network. After this is finished, I will be moving on to my next project, a game.
Final Devlog 🤖 Hey everyone! This is my final devlog for this project. I’ve been working on JARVIS every day, and it’s pretty much been all I’ve been doing. It’s been a challenging but rewarding project, and I’ve learned a ton along the way. Here’s a quick summary of some of the biggest technical challenges I ran into. Dual Database Architecture One of the hardest parts was managing two databases at the same time. Every message gets saved twice: SQLite stores the raw chat history, while ChromaDB stores vector embeddings for semantic memory. Every write has to handle the possibility of ChromaDB being unavailable, and every read has to combine recent chat history with similarity based memory retrieval. If either system breaks, JARVIS still works, but it loses its long term memory. Replacing PyTorch with ONNX PyTorch turned out to be a huge problem for deployment. The sentence-transformers package pulls in roughly 1.5GB of CUDA libraries, while most free hosting platforms only provide 512MB of RAM. I switched to ChromaDB’s ONNX embedding runtime instead, which reduced the model to around 30MB. Getting ChromaDB to consistently use ONNX instead of falling back to PyTorch took a lot of configuration, and if the embedding function changes between deployments, the entire vector database has to be rebuilt. Authentication Even though JARVIS is a personal assistant, I still wanted authentication to be done properly. User accounts use bcrypt password hashing, username validation, password validation, duplicate username checks, and identical login error messages to prevent username enumeration. It’s definitely overkill for a project like this, but it was a great learning experience. Overall, this project taught me a lot about AI systems, deployment, databases, authentication, and building software that actually has to work reliably. I’m really happy with how JARVIS turned out, and I’m excited to keep improving it even after this project is over. The boring stuff is all done now.
Ships:
Hey everyone! I really enjoyed developing this personal assistant. While it has its limitations, its cool to have a group of programmers sharing ideas and cool concepts. This first part will give a small peek into the errors i ran into during development. Development Environment and Python 3.13 Using Python 3 as the foundation for the backend was the simplest part of the project, but certainly not the easiest. Because Python 3.13 is so new, several critical packages lacked prebuilt wheels. I had to manually check GitHub releases and pull pre-release wheels directly from CI artifacts. I pinned these specific versions to maintain stability. When that became unsustainable, I fell back to Python 3.12, utilizing virtual environment isolation for those specific packages. FastAPI and SSE Streaming Streaming LLM tokens over Server-Sent Events (SSE) is not well-documented, and it caused significant friction. The primary challenge was that the LLM returns a standard generator, while FastAPI’s StreamingResponse requires compatibility with async generators; they do not compose cleanly with synchronous LLM clients. My solution was to wrap the DeepSeek client in an async adapter using asyncio.to_thread(). This ensured the blocking API calls did not stall the event loop, allowing me to yield each token as an SSE-formatted string. Stability and Error Handling Under heavy load, I found that DeepSeek could occasionally return 503 errors. To manage this, I implemented an exponential backoff strategy with a maximum of three retries to maintain stability without overloading the service. A major challenge was ensuring that errors were caught before the SSE stream began, preventing the user from receiving a “half-finished” response. Consequently, I only initialize the stream once the connection is confirmed as alive. Voice Integration and Reliability I chose to integrate ElevenLabs for the voice component to provide a more human-like touch. However, API-based voice services introduce their own reliability constraints. To ensure the assistant remains functional even when hitting the ElevenLabs free-tier limits, I implemented a fallback mechanism. If the API fails, the system reverts to basic browser-based Text-to-Speech (TTS)—a less polished experience, but necessary for overall system reliability. Deployment and Connectivity The backend is currently running locally on my PC and exposed via a Cloudflare Tunnel. I ran into a limitation where every restart of the tunnel generates a new URL. I have had to accept this for now, but I am currently looking for a permanent workaround to ensure a consistent connection point. Now - if you have read this far, you probably want to know what i enjoyed about this project. Building up this backend architecture was certainly not an easy task. For some people this would have been a complete bore, and would’ve been a dreaded chore, but I enjoyed the challenge, and learning opportunity of dealing with Python 3.13 challenges. After I ship this project, I will be working more with python backend, potentially with another webapp. Thanks for reading (:...
|
1793515705.8165884
|
1793602105.8165884
|
|
13811
|
Power Scale Mod by @m3e660 | Stardance
|
m3e660
|
1
|
0.0
|
3
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-16T01:21:57Z", "hours": 0.0, "multiplier": 7.23, "payout": 3, "blessing": "neutral", "text": "Ever played a modpack and you are walking too fast to actually get to places or playing with a friend and accidentally kill them in one punch? Add a power scale with 5 notches Scale 5 is the normal player stats Scale 4 is the 4/5 of player stats Scale 3 is the 3/5 of player stats Scale 2 is the 2/5 of player stats Scale 1 is the 1/5 of player stats 2 keybinds (- to decrease and + to increase) Config For the sake of all the mods I added a config screen where you can choose and remove certain attributes that you want or don’t want to be changed (Yes it works with modded attributes too!)", "repo": "https://github.com/m3e66/power_scale_mod-source", "demo": "https://modrinth.com/mod/power-scale"}]...
|
[{"post_id": 5345, "ts": "2026 [{"post_id": 5345, "ts": "2026-06-09T02:35:10Z", "hours": 0.4586, "text": "Added a power scale meter and a config screen, I need more suggestions to know what to add"}]...
|
Title: Power Scale Mod by @m3e660 | Stardance
Dev Title: Power Scale Mod by @m3e660 | Stardance
Devlogs:
Added a power scale meter and a config screen, I need more suggestions to know what to add
Ships:
Ever played a modpack and you are walking too fast to actually get to places or playing with a friend and accidentally kill them in one punch? Add a power scale with 5 notches Scale 5 is the normal player stats Scale 4 is the 4/5 of player stats Scale 3 is the 3/5 of player stats Scale 2 is the 2/5 of player stats Scale 1 is the 1/5 of player stats 2 keybinds (- to decrease and + to increase) Config For the sake of all the mods I added a config screen where you can choose and remove certain attributes that you want or don’t want to be changed (Yes it works with modded attributes too!)...
|
1793515704.8250055
|
1793602104.8250055
|
|
47712
|
expense tracker by @agamjot9631 | Stardance
|
agamjot9631
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-22T05:33:33Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Expense Tracker is a full client-side personal finance app built with vanilla JavaScript, HTML, and CSS. It lets users log income and expenses, organize them under custom categories, and instantly see totals, category-wise breakdowns, and monthly spending trends on a live dashboard. Beyond basic tracking, it includes a budget tracker for setting spending limits per category, flexible filters (by type, month, year, or custom date range), multi-currency display (USD, INR, EUR, GBP), and a dark mode toggle. Since all data lives in the browser, the app also supports CSV export and full JSON backup/restore, so users never risk losing their data. Built for the Stardance Hackathon (Hack Club × NASA), the project reflects a focus on core web development fundamentals — no frameworks, just JavaScript, HTML, and CSS — while still delivering a genuinely usable, full-featured tool. 🔗 Live: ogomjot.github.io/expense-tracker 💻 Code: github.com/ogomjot", "repo": "https://github.com/ogomjot/expense-tracker", "demo": "https://ogomjot.github.io/expense-tracker/index.html"}]...
|
[{"post_id": 52097, "ts": "202 [{"post_id": 52097, "ts": "2026-08-22T05:29:36Z", "hours": 4.8975, "text": "🚀 Just wrapped up my first hackathon project — an Expense Tracker built for the Stardance Hackathon (Hack Club × NASA)! Built entirely with vanilla JavaScript, HTML, and CSS — no frameworks, just fundamentals. 🤖 How I used AI in the process: GitHub Copilot in VS Code helped me write code faster as I built out features. For debugging and strengthening the logic/connections between components, I used Claude and the OpenRouter CLI to catch issues, refactor, and understand why something broke — not just fix it blindly. As an incoming CS student at GTBIT, this was a great way to apply what I’ve been learning and get comfortable shipping something real, with AI as a tool rather than a crutch. 🔗 Live: ogomjot.github.io/expense-tracker 💻 Code: github.com/ogomjot #buildinpublic #hackathon #webdev #javascript #computerscience"}]...
|
Title: expense tracker by @agamjot9631 | Stardance Title: expense tracker by @agamjot9631 | Stardance
Devlogs:
🚀 Just wrapped up my first hackathon project — an Expense Tracker built for the Stardance Hackathon (Hack Club × NASA)! Built entirely with vanilla JavaScript, HTML, and CSS — no frameworks, just fundamentals. 🤖 How I used AI in the process: GitHub Copilot in VS Code helped me write code faster as I built out features. For debugging and strengthening the logic/connections between components, I used Claude and the OpenRouter CLI to catch issues, refactor, and understand why something broke — not just fix it blindly. As an incoming CS student at GTBIT, this was a great way to apply what I’ve been learning and get comfortable shipping something real, with AI as a tool rather than a crutch. 🔗 Live: ogomjot.github.io/expense-tracker 💻 Code: github.com/ogomjot #buildinpublic #hackathon #webdev #javascript #computerscience
Ships:
Expense Tracker is a full client-side personal finance app built with vanilla JavaScript, HTML, and CSS. It lets users log income and expenses, organize them under custom categories, and instantly see totals, category-wise breakdowns, and monthly spending trends on a live dashboard. Beyond basic tracking, it includes a budget tracker for setting spending limits per category, flexible filters (by type, month, year, or custom date range), multi-currency display (USD, INR, EUR, GBP), and a dark mode toggle. Since all data lives in the browser, the app also supports CSV export and full JSON backup/restore, so users never risk losing their data. Built for the Stardance Hackathon (Hack Club × NASA), the project reflects a focus on core web development fundamentals — no frameworks, just JavaScript, HTML, and CSS — while still delivering a genuinely usable, full-featured tool. 🔗 Live: ogomjot.github.io/expense-tracker 💻 Code: github.com/ogomjot...
|
1793515701.8829665
|
1793602101.8829665
|
|
35280
|
My first slack bot! by @Abdulroqeeb | Stardance
|
Abdulroqeeb
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-27T14:23:27Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built a custom Slack bot using Node.js and @slack /bolt that responds to live slash commands like /f-a-i-catfact and /f-a-i-joke using Axios to fetch API data. The main challenge was configuring event listeners correctly and ensuring continuous uptime, which I solved by hosting the bot on a Nest server managed with systemd. I’m most proud of getting smooth API integrations working in real time and maintaining clean, modular command handling. To test it, head to #bot-spam-001 in the Hack Club Slack and try it out", "repo": "https://github.com/folorunsoaugt648-stack/My-Slack-Bot-F-A-I-", "demo": "https://hackclub.enterprise.slack.com/archives/C0BH9TK9EQ5"}]...
|
[{"post_id": 55557, "ts": "202 [{"post_id": 55557, "ts": "2026-08-27T14:19:05Z", "hours": 0.2717, "text": "Built and tested a custom Slack bot using Node.js and @slack /bolt! Integrated multiple slash"}, {"post_id": 30664, "ts": "2026-07-18T12:51:36Z", "hours": 0.2794, "text": "My first Slack Bot"}]...
|
Title: My first slack bot! by @Abdulroqeeb | Stard Title: My first slack bot! by @Abdulroqeeb | Stardance
Devlogs:
My first Slack Bot
Built and tested a custom Slack bot using Node.js and @slack /bolt! Integrated multiple slash
Ships:
I built a custom Slack bot using Node.js and @slack /bolt that responds to live slash commands like /f-a-i-catfact and /f-a-i-joke using Axios to fetch API data. The main challenge was configuring event listeners correctly and ensuring continuous uptime, which I solved by hosting the bot on a Nest server managed with systemd. I’m most proud of getting smooth API integrations working in real time and maintaining clean, modular command handling. To test it, head to #bot-spam-001 in the Hack Club Slack and try it out...
|
1793515697.1589031
|
1793602097.1589031
|
|
31065
|
dook bot by @Aliexpress_enjoyer | Stardance
|
Aliexpress_enjoyer
|
1
|
16.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-09T04:01:00Z", "hours": 16.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hi! I made a youtube downloader music discord bot primarily for my friend group. I had previously attempted something two years prior and it was beloved, but it permanently died since a library I previously used was unmaintained and eventually couldn’t keep up with the youtube updates, and I didn’t really have any idea of what I was doing at the time. This time, I’ve made a version that I like a lot more, and am quite proud of it. One notable feature is the ability to set a personal playlist, allowing for people to listen to each other’s playlists. I struggled with motivation while making this project, as there was only a little bit of social pressure to finish it. You can tell since near the end of the project, I added some random geolocating features.. Anyway, thanks for reading, enjoy!", "repo": "https://github.com/boredguywithacomputer/dook-bot", "demo": "https://discord.gg/ZBbQc37vv"}]...
|
[{"post_id": 64528, "ts": "202 [{"post_id": 64528, "ts": "2026-09-09T00:24:03Z", "hours": 1.0678, "text": "Prepared for shipping. I figured working on this project got kind of repetitive and boring especially since I have significantly more fun projects coming up, so I decided to wrap this bot up. I got rid of commented out unused code, and hid my api keys. I also optimized some things, such as removing unnecessary logic. More importantly, I accidentally fixed an uncommon error that has randomly crashed the bot before, which somehow never got caught in my catch loops. This was because there was logic in the catch handler that caused it to crash again. Anyway I’ll probably ship soon, enjoy"}, {"post_id": 63876, "ts": "2026-09-07T21:35:05Z", "hours": 2.3839, "text": "Failed to add some commands, instead added some weird doxxing features I’ve been dead for a bit as I was sick and also working on another more fun project, but I threw together a openstreetmap geolocating feature, along with a command that gets ssids based on an inputted latitude and longitude, courtesy of WiGle. A major issue was that there were extremely low rate limits (like in the ones digits every day), so I basically could only test it like a couple times every day."}, {"post_id": 60058, "ts": "2026-09-02T05:16:03Z", "hours": 0.3164, "text": "Previously the play command couldn’t accept links, only search queries. Now it can!! I made it hard for myself because my code was spaghettified and I had to use some hacky methods to get around it."}, {"post_id": 59386, "ts": "2026-09-01T05:14:15Z", "hours": 0.5386, "text": "I did some miscellaneous code optimizing, such as converting a bunch of stuff to using the ytdlp-nodejs library."}, {"post_id": 58656, "ts": "2026-08-31T04:37:42Z", "hours": 0.3331, "text": "Fixed a bug where it would play the wrong person’s playlist,. I initially blamed the new feature to disable but it, turned out that I forgot to reset the queue upon running the playlist command."}, {"post_id": 58432, "ts": "2026-08-30T21:01:44Z", "hours": 0.2803, "text": "I made the playlist shuffle feature optional. I also added a secret unrelated command.."}, {"post_id": 58417, "ts": "2026-08-30T20:34:04Z", "hours": 0.4731, "text": "I updated the playlist command to fix certain limitations. Previously, I’ve been using youtube’s api. Did I mention it sucks? It has an annoyingly low limit per day, along with providing limited information. Anyway I hit my daily limit and decided to fix it. I refactored the playlist command by switching to ytdlp-nodejs, which essentially does everything in much cleaner ways."}, {"post_id": 58389, "ts": "2026-08-30T19:57:15Z", "hours": 2.5122, "text": "Added a set playlist command. This allows users to attach a youtube playlist url/id to themselves, so that the /playlist command can play an individual’s playlist. There is also the ability to play someone else’s playlist as long as they set one. I spent most of the time implementing a db."}, {"post_id": 52666, "ts": "2026-08-22T22:29:29Z", "hours": 0.7922, "text": "Fixed the playlist command, added an embed to show current song, and added a skip command All i had to do was wait for a yt-dlp update. In other words, my code fixed itself. Very fun"}, {"post_id": 47910, "ts": "2026-08-16T05:46:02Z", "hours": 3.1097, "text": "Added half of a playlist command, which lets the user play a shuffled verision of someone’s youtube playlist. It was quite annoying since google’s documentation still sucks imo. Consequences of that include situations like me wasting half an hour because the docs told me to use id when the actual thing was supposed to be playlistId. I also had issues with yt-dlp being partially outdated., causing 403s upon downloading videos. Guess I’ll just have to wait a little bit."}, {"post_id": 33901, "ts": "2026-07-24T05:56:39Z", "hours": 1.9811, "text": "Added the music player command to the bot. It first downloads the video using yt-dlp and and then broadcasts it to a voice channel. I basically moved the search code from the previous devlog for this. I did have some issues getting it to play music for the first time, since discord has some niche annoying feature that requires you to set the bot’s intents and i forgot to do that. Eventually, I got it working. It came with some bugs related to file formatting, but they got fixed, and the bot should be working."}, {"post_id": 33856, "ts": "2026-07-24T03:32:58Z", "hours": 0.9606, "text": "Added a feature to search for youtube videos. Was a quick and easy api call, but Google’s documentation kinda sucks. I thought it was just me, but apparently internet people seem to agree. To quote one blog author, “Why has the YouTube API have to suck dongs?” Anyway Google also gives you essentially no search calls a day (100/day), so to bypass that I grabbed a bunch of alts and spun up 5 or more keys which seemed like an appropriate and reasonable amount."}, {"post_id": 23022, "ts": "2026-07-05T19:07:31Z", "hours": 0.8567, "text": "I created and setup the bot. Following the discordjs guide, I made a command handler and a very bare bone slash command."}]...
|
Title: dook bot by @Aliexpress_enjoyer | Stardance Title: dook bot by @Aliexpress_enjoyer | Stardance
Devlogs:
I created and setup the bot. Following the discordjs guide, I made a command handler and a very bare bone slash command.
Added a feature to search for youtube videos. Was a quick and easy api call, but Google’s documentation kinda sucks. I thought it was just me, but apparently internet people seem to agree. To quote one blog author, “Why has the YouTube API have to suck dongs?” Anyway Google also gives you essentially no search calls a day (100/day), so to bypass that I grabbed a bunch of alts and spun up 5 or more keys which seemed like an appropriate and reasonable amount.
Added the music player command to the bot. It first downloads the video using yt-dlp and and then broadcasts it to a voice channel. I basically moved the search code from the previous devlog for this. I did have some issues getting it to play music for the first time, since discord has some niche annoying feature that requires you to set the bot’s intents and i forgot to do that. Eventually, I got it working. It came with some bugs related to file formatting, but they got fixed, and the bot should be working.
Added half of a playlist command, which lets the user play a shuffled verision of someone’s youtube playlist. It was quite annoying since google’s documentation still sucks imo. Consequences of that include situations like me wasting half an hour because the docs told me to use id when the actual thing was supposed to be playlistId. I also had issues with yt-dlp being partially outdated., causing 403s upon downloading videos. Guess I’ll just have to wait a little bit.
Fixed the playlist command, added an embed to show current song, and added a skip command All i had to do was wait for a yt-dlp update. In other words, my code fixed itself. Very fun
Added a set playlist command. This allows users to attach a youtube playlist url/id to themselves, so that the /playlist command can play an individual’s playlist. There is also the ability to play someone else’s playlist as long as they set one. I spent most of the time implementing a db.
I updated the playlist command to fix certain limitations. Previously, I’ve been using youtube’s api. Did I mention it sucks? It has an annoyingly low limit per day, along with providing limited information. Anyway I hit my daily limit and decided to fix it. I refactored the playlist command by switching to ytdlp-nodejs, which essentially does everything in much cleaner ways.
I made the playlist shuffle feature optional. I also added a secret unrelated command..
Fixed a bug where it would play the wrong person’s playlist,. I initially blamed the new feature to disable but it, turned out that I forgot to reset the queue upon running the playlist command.
I did some miscellaneous code optimizing, such as converting a bunch of stuff to using the ytdlp-nodejs library.
Previously the play command couldn’t accept links, only search queries. Now it can!! I made it hard for myself because my code was spaghettified and I had to use some hacky methods to get around it.
Failed to add some commands, instead added some weird doxxing features I’ve been dead for a bit as I was sick and also working on another more fun project, but I threw together a openstreetmap geolocating feature, along with a command that gets ssids based on an inputted latitude and longitude, courtesy of WiGle. A major issue was that there were extremely low rate limits (like in the ones digits every day), so I basically could only test it like a couple times every day.
Prepared for shipping. I figured working on this project got kind of repetitive and boring especially since I have significantly more fun projects coming up, so I decided to wrap this bot up. I got rid of commented out unused code, and hid my api keys. I also optimized some things, such as removing unnecessary logic. More importantly, I accidentally fixed an uncommon error that has randomly crashed the bot before, which somehow never got caught in my catch loops. This was because there was logic in the catch handler that caused it to crash again. Anyway I’ll probably ship soon, enjoy
Ships:
Hi! I made a youtube downloader music discord bot primarily for my friend group. I had previously attempted something two years prior and it was beloved, but it permanently died since a library I previously used was unmaintained and eventually couldn’t keep up with the youtube updates, and I didn’t really have any idea of what I was doing at the time. This time, I’ve made a version that I like a lot more, and am quite proud of it. One notable feature is the ability to set a personal playlist, allowing for people to listen to each other’s playlists. I struggled with motivation while making this project, as there was only a little bit of social pressure to finish it. You can tell since near the end of the project, I added some random geolocating features.. Anyway, thanks for reading, enjoy!...
|
1793515687.8833957
|
1793602087.8833957
|
|
19717
|
The Glorious Smart Trash-Can by @TheSavageSheikh | The Glorious Smart Trash-Can by @TheSavageSheikh | Stardance...
|
TheSavageSheikh
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-31T20:34:07Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I just finished building my very first proper Arduino project: a smart bin engineered to eliminate the hygiene issues associated with typical trash cans. As my first-ever public project, I was definitely nervous and felt like a fish out of water. I had to learn how to code from scratch while simultaneously getting used to tools like GitHub and VS Code. When it came to programming, YT tutorials and the AI assistant in VS Code were a huge help. With regard to hardware, I struggled to find a small enough trash can, so I had to improvise with an ice cream tub! It was a massive learning curve, but I’m proud of how it turned out. Please be lenient when judging, and I hope you enjoy checking it out!", "repo": "https://github.com/ashazesheikh5-boop/The-Glorious-Smart-Trash-Can-", "demo": ""}]...
|
[{"post_id": 59130, "ts": "202 [{"post_id": 59130, "ts": "2026-08-31T19:15:48Z", "hours": 4.2975, "text": "Just finished building and testing my smart bin. I recently got into Arduino, and when I found out about Hack Club and Stardance, I just knew I wanted to build something cool to show you all. I’m also using this project to build up my engineering portfolio, especially since I’m finishing high school soon and top universities look for practical experience like this. It was a lot of hassle; learning to code and getting used to VS Code and GitHub was a pain, but hey, at least I have something to show for it!!"}]...
|
Title: The Glorious Smart Trash-Can by @TheSavageS Title: The Glorious Smart Trash-Can by @TheSavageSheikh | Stardance
Devlogs:
Just finished building and testing my smart bin. I recently got into Arduino, and when I found out about Hack Club and Stardance, I just knew I wanted to build something cool to show you all. I’m also using this project to build up my engineering portfolio, especially since I’m finishing high school soon and top universities look for practical experience like this. It was a lot of hassle; learning to code and getting used to VS Code and GitHub was a pain, but hey, at least I have something to show for it!!
Ships:
I just finished building my very first proper Arduino project: a smart bin engineered to eliminate the hygiene issues associated with typical trash cans. As my first-ever public project, I was definitely nervous and felt like a fish out of water. I had to learn how to code from scratch while simultaneously getting used to tools like GitHub and VS Code. When it came to programming, YT tutorials and the AI assistant in VS Code were a huge help. With regard to hardware, I struggled to find a small enough trash can, so I had to improvise with an ice cream tub! It was a massive learning curve, but I’m proud of how it turned out. Please be lenient when judging, and I hope you enjoy checking it out!...
|
1793515684.9173386
|
1793602084.9173386
|
|
59045
|
DevOS by @Dev_L_K | Stardance
|
Dev_L_K
|
2
|
12.0
|
30
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-11T17:05:56Z", "hours": 5.0, "multiplier": 6.51, "payout": 30, "blessing": "neutral", "text": "I have made a webos project named DevOS DevOS is a web based OS website built with html css and js and Deployed via Vercel. You should read my Readme before jumping into the app https://github.com/dev-l-k/DevOS The page includes an attractive ui. It was a little bit harder in my first stages of coding", "repo": "https://github.com/dev-l-k/DevOS", "demo": "https://os.devlkakkoth.me"}, {"ship_num": 2, "ts": "2026-09-09T15:17:46Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Adding the terminal and adding dragging was a bit hard. But AI helped me in js and css to rectify errors and to learn animations.", "repo": "https://github.com/dev-l-k/DevOS", "demo": "https://os.devlkakkoth.me"}]...
|
[{"post_id": 66055, "ts": "202 [{"post_id": 66055, "ts": "2026-09-11T16:53:52Z", "hours": 0.7881, "text": "Devlog 10 DevOS(WebOS 2) New added clock app added stopwatch inside the clock debugged css and js errors"}, {"post_id": 66014, "ts": "2026-09-11T15:27:51Z", "hours": 2.5139, "text": "DevLog 9 DevOS(WebOS 2) New Added more commands in the terminal. added a new app Weather Added background image using NASA APOD. Added apps dropdown section Site is now live at https://os.devlkakkoth.me"}, {"post_id": 65672, "ts": "2026-09-10T23:44:17Z", "hours": 0.5486, "text": "DevOS made the suggested changes by the reviewer"}, {"post_id": 65089, "ts": "2026-09-09T23:46:29Z", "hours": 0.7069, "text": "DevLog 7 DevOS Made some changes in the code(css) Converted complex codes to simple ones"}, {"post_id": 64841, "ts": "2026-09-09T15:14:43Z", "hours": 1.2811, "text": "DevLog 6 DevOS Completed the project debugged Added Terminal commands added code to update clock"}, {"post_id": 64555, "ts": "2026-09-09T01:51:55Z", "hours": 1.9542, "text": "DevLog 5 DevOS added the JS functions added Calculator function JS added Notes JS added minimize and maximize and close window functions"}, {"post_id": 64287, "ts": "2026-09-08T15:49:21Z", "hours": 0.9761, "text": "Devlog 4 DevOS Completed the css of the project tried hard to make it attractive.(My best) Now going to add JS to the OS. To make it fully functional"}, {"post_id": 64175, "ts": "2026-09-08T12:13:34Z", "hours": 1.5511, "text": "Devlog 3 DevOS Currently making the os more beautiful using css."}, {"post_id": 63929, "ts": "2026-09-08T00:06:01Z", "hours": 0.9008, "text": "Devlog 2 DevOS(WebOS) progress: Completed the structure of the OS Using HTML Now Moving to CSS"}, {"post_id": 63519, "ts": "2026-09-07T12:49:25Z", "hours": 0.8231, "text": "DevLog 1 DevOS(WebOS) currently making the structure of the os using HTML Completed planning project"}]...
|
Title: DevOS by @Dev_L_K | Stardance
Devlogs:
Dev Title: DevOS by @Dev_L_K | Stardance
Devlogs:
DevLog 1 DevOS(WebOS) currently making the structure of the os using HTML Completed planning project
Devlog 2 DevOS(WebOS) progress: Completed the structure of the OS Using HTML Now Moving to CSS
Devlog 3 DevOS Currently making the os more beautiful using css.
Devlog 4 DevOS Completed the css of the project tried hard to make it attractive.(My best) Now going to add JS to the OS. To make it fully functional
DevLog 5 DevOS added the JS functions added Calculator function JS added Notes JS added minimize and maximize and close window functions
DevLog 6 DevOS Completed the project debugged Added Terminal commands added code to update clock
DevLog 7 DevOS Made some changes in the code(css) Converted complex codes to simple ones
DevOS made the suggested changes by the reviewer
DevLog 9 DevOS(WebOS 2) New Added more commands in the terminal. added a new app Weather Added background image using NASA APOD. Added apps dropdown section Site is now live at https://os.devlkakkoth.me
Devlog 10 DevOS(WebOS 2) New added clock app added stopwatch inside the clock debugged css and js errors
Ships:
Adding the terminal and adding dragging was a bit hard. But AI helped me in js and css to rectify errors and to learn animations.
I have made a webos project named DevOS DevOS is a web based OS website built with html css and js and Deployed via Vercel. You should read my Readme before jumping into the app https://github.com/dev-l-k/DevOS The page includes an attractive ui. It was a little bit harder in my first stages of coding...
|
1793515677.3181143
|
1793602077.3181143
|
|
59041
|
NewTabLayout-RudraGoel by @RudraGoel | Stardance
|
RudraGoel
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-06T16:02:18Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I’ve made a New Tab layout, this is sort of what i’d want in my browser. Though, this is still pretty raw and if it was in an actual browser.. i’d have made it wayy better, such as linking the calendar to real calendar providers such as google calendar. And google tasks, etc. But, this is what i’d want in my new tab page.!", "repo": "https://github.com/rudraagoel/HCB_NewTabPage_Stardance", "demo": "https://hcbstardance-newtablayout.vercel.app/"}]...
|
[{"post_id": 63009, "ts": "202 [{"post_id": 63009, "ts": "2026-09-06T16:01:40Z", "hours": 2.9336, "text": "I’ve made a New Tab layout, this is sort of what i’d want in my browser. Though, this is still pretty raw and if it was in an actual browser.. i’d have made it wayy better, such as linking the calendar to real calendar providers such as google calendar. And google tasks, etc. But, this is what i’d want in my new tab page.!"}]...
|
Title: NewTabLayout-RudraGoel by @RudraGoel | Star Title: NewTabLayout-RudraGoel by @RudraGoel | Stardance
Devlogs:
I’ve made a New Tab layout, this is sort of what i’d want in my browser. Though, this is still pretty raw and if it was in an actual browser.. i’d have made it wayy better, such as linking the calendar to real calendar providers such as google calendar. And google tasks, etc. But, this is what i’d want in my new tab page.!
Ships:
I’ve made a New Tab layout, this is sort of what i’d want in my browser. Though, this is still pretty raw and if it was in an actual browser.. i’d have made it wayy better, such as linking the calendar to real calendar providers such as google calendar. And google tasks, etc. But, this is what i’d want in my new tab page.!...
|
1793515672.2055926
|
1793602072.2055926
|
|
7968
|
Chess Now! by @AngelCMHxD | Stardance
|
AngelCMHxD
|
1
|
140.11
|
1509
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-30T15:00:21Z", "hours": 137.0, "multiplier": 18.82, "payout": 1509, "blessing": "neutral", "text": "This is Chess Now! A real-time chess API with challenges handling, matches, friends, and much more! The idea is for anyone to be able to make a custom client, bot or integration with the platform, thus it’s as open as it can possibly be while trying to also stay secure. One of the biggest parts of the proyect was doing that many clients, especially the TUI client. While I learned Vue doing the TUI client, I found it’s behaviour kinda… unintuitive in some way I can’t really explain. Though at the end I felt that Vue is better than React by a mile (now I only have to try out Svelte) I am proud of how well structured the API is, and while I’m sure it can be improved, the bases feel pretty solid. I’m also proud of how much I learned doing this. I mean, I tried a lot of things I’ve been meaning to try for some time already: Vue, Better Auth, Drizzle ORM, actually deploying a Next.js app, React mail + Resend, Elysia, and Fumadocs. And probably something else I already forgot about hehe Would I do something different if I started right now? Probably, but mostly just to try out even more things, which is the main reason why I do most of my projects. If you want to try out the project, you should probably just check the instance hosted at https://chessnow.angelcmh.com/ , create an account and play against a bot. You should also check out the docs, or the npm package over at https://www.npmjs.com/package/@chess-now/api if you are interested. Thanks for reading till the end, have a great day! ;P", "repo": "https://github.com/AngelCMHxD/chess-now", "demo": "https://chessnow.angelcmh.com/"}]...
|
[{"post_id": 62578, "ts": "202 [{"post_id": 62578, "ts": "2026-09-06T01:20:34Z", "hours": 3.1125, "text": "aaaa, so… long time no see! also, super star!!! So, I’ve began doing some things that I’ve meant to do before, but completely forgot as I got quite busy… lol I fixed an error which made the TUI not work on Linux, it works now! It was an issue as I was building on NixOS, and the linker path was on my /nix/store folder instead of the usual /lib one. that means it also broke for me after an update lol You can now configure challenges! This needed to be implemented on all clients, hence why it took a little while lol Select whether you want to start with white, black or random. The opponent will be able to see which color you selected before accepting the challenge though! :P Also, meet unrankeds! You can now also mark a match as unranked so it doesn’t affect your ELO ratings at all . Take into account that there is decay though! so if you don’t play ranked for a while, your next match ELO diffs might be a little bit different Fun fact: The starting color option has been available on the API for a while already, even documented. so, if you did API calls directly, you could have selected a starting color and the opponent would not have been able to notice! as none of the clients showed it. except for the Discord bot… I think… or if you requested the match through the API too ;D"}, {"post_id": 37641, "ts": "2026-07-30T14:59:49Z", "hours": 0.8269, "text": "Hewo! This devlog was unexpected. I prepared a small video/trailer so I had something to upload when shipping the project, and when I tried to upload it I realized that you can only upload images when shipping a project :/ So here is that video as it won’t go to waste. I tried my best, hope my voice doesn’t sound awkward, I’m not a native speaker Also, check out the shipped project! As I probably shipped it right after this devlog"}, {"post_id": 37305, "ts": "2026-07-29T22:23:23Z", "hours": 3.36, "text": "Well, I set up the domain + reverse proxy and all kind of problems arose. I changed the package so you only need to instantiate the class without any arguments to use the default server over at https://chessnow.angelcmh.com though you can still pass an optional baseUrl in case you selfhost your own instance at first nothing worked, but then i noticed that I had a port conflict on my VPS with two things trying to use the same port lol i also tried to improve SEO on the main page as much as I could, though im not an expert on that. i also added an official bots section so you can challenge some bots without having to look at any docs to find them shipping in some minutes!"}, {"post_id": 36858, "ts": "2026-07-29T05:39:21Z", "hours": 6.6392, "text": "Hewo! Last devlog till ship here (i think) I didn’t think I’d add anything else, but you can now forfeit matches or ask the opponent for a draw! They just seemed like something that should exist on the shipped project… Each player can request only one draw per match, so you think before you do it. why did i do it like that? well, asking for a draw pauses the whole match, an neither player can do any moves until the draw request is answered. in order to prevent one of the users spamming draws, i simply limited to only one per match. also, ending the match in a draw doesn’t mean that your ELO isn’t affected, it is affected. depending on the elo of your opponent, you’ll lose/earn elo on a draw, just as you’d do on a stalemate. I also added a piece promotion selector. i forgot i made it so it always chose the queen by default, but in some matches that might not be wanted, so now you get a popup to select the piece you want to promote to well, i don’t really know if i’m missing any other things, as that was all that was i had on my TODO list, so i guess i’ll start setting up the prod environment below is a video showing the forfeit and draw flows, along with the promotion popup. don’t worry about the first match being a valid checkmate but the match continued being active, i already fixed that bug but it didn’t apply to already affected matches :P i also sped up (is that the correct way to say it?) and cutted out some parts of the video to prevent it from being 6 minutes of me playing the match lol"}, {"post_id": 34658, "ts": "2026-07-25T15:44:56Z", "hours": 9.5286, "text": "Well, that took way longer than expected. The docs are way more polished now! All endpoints have example responses so you know exactly what each one will return, along with a small description. HTTP endpoints that trigger a WebSocket event for any user (like friend requests, challenges, match moves, etc), mention it on their descriptions. I also added some headers to the PGN strings, as they were previously filled with “?“s. This mostly took this long due to a LOT of issues with the account deletion process, but it works perfectly now. When you delete your account, your user is replaced in all the matches you’ve played to @deleted_user . This is to keep the match data available even after any user deletes it. After that, your account is deleted from the DB. Due to how the DB is configured with cascade deletes, that will delete all other rows that reference the user (friendships, friend requests, pending challenges, etc.) except for matches, as they no longer reference the user that is being deleted. I’m am quite close to the ship, which I’m kinda nervous about. I want the project to be in the best state and as polished as possible, without any bugs (well, any known bugs lol). Which is mostly the reason this project as a whole has taken soo long :/ Below is a small video showing the docs with the example data. At the end is the delete account flow, which have lot’s of confirmations as it currently doesn’t send an email. I’m thinking it probably should send one lol See you in the next (and probably last) devlog! (I fixed my OBS settings, the video should look a bit better than the previous ones :P)"}, {"post_id": 33878, "ts": "2026-07-24T04:38:40Z", "hours": 5.6958, "text": "ELO system! let’s go!! At the end, I did add an ELO system. Well, it’s not really ELO, it’s Glicko . I used the glicko2-lite library, which is stateless unlike other glicko implementations I found. I wanted a stateless one because I’m saving the data on the DB anyways, so making it stateful would only make it use more resources (primarly RAM). You start with a rating of 1500. After every match your rating will go up/down depending on whether you win or lose. How much you win or lose depends on how many matches you have played (the first one are worth a bit more to get you to the optimal points), and depending on the rating of your oponent. If you win against someone with a bigger rating than yours, you’ll gain way more points than if you win agains someone around your rating or less. I also added a settings page so you can change your name and username, along with a page to change your password. Below is a small video showing how the ELO Glicko system works: What remains is just to also add the name/username change for bots and improve the docs. I also made a Stockfish bot which you can try to play against. (Keyword: try , because it’s probably almost impossible)"}, {"post_id": 33281, "ts": "2026-07-23T02:11:49Z", "hours": 2.855, "text": "User page done! You can now see all of the matches and friends of other people, along with a small list of stats. I’m thinking about implementing the ELO system. While I previously said that I wouldn’t be able to moderate people artificially inflating it (by selfbotting), having it without a leaderboard wouldn’t really make it that enticing to abuse. And personally, if there isn’t a leaderboard, I don’t think moderating it would be that important, what would the user gain more than having a bigger number on their profile? Still thinking about it though I’m not sure about adding custom profile pictures or really any other user generated content. It would be nice to have, but it also involves moderation in order to prevent anything inappropriate from being uploaded (i mean, we all know how the internet works :/) Below is a small video showing the user page, along with the bot auto accepting any new friend requests :P"}, {"post_id": 32786, "ts": "2026-07-22T05:22:14Z", "hours": 6.9678, "text": "Well, the web client is done!! I used react-chessboard and it’s a pretty good library. I didn’t add click-to-move pieces as it makes the logic a LOT more complex, so I didn’t want to do it for now I also used the API package from before, so we can use the websocket connection and listen for any changes. I also added it onto the matches page so any updates on the boards are reflected in real-time (which would probably look amazing if you have multiple automated matches running lol), and any new matches are added to the list without needing to refresh the page. I also want to add it onto the friends page, so it also updates in real-time I had to change the icons on the discord bot as I realized they were Chess.com’s icons, and they aren’t free to use, so I removed them and replaced them with a pack named Caliente , which look amazing. It’s the same one I use on the web client I think I should add a popup once the match is over as the current result feels quite plain. I also gotta add another page where you can spectate the match of other people, as the current one has too many logic already I prefer to duplicate it and remove the need of handling input and what not. I also haven’t added a profiles page yet, so that’s still on the TODO list hahah Below is a small video of me playing a match against a bot. Two disclaimers: I used AI to fix some issues I had with the CSS on the page, though it didn’t change anything other than fix some class names, and the whole logic was made by me. I played horribly against the bot, as the difficulty is set quite low lol Additional disclaimer: Ignore the -55s duration on one of the matches, it was an old bug but I’ve gotten lazy and haven’t fixed the match on the DB yet .-."}, {"post_id": 32426, "ts": "2026-07-21T16:34:43Z", "hours": 0.685, "text": "The TUI is 100% done! (I think…) There is no longer any mock data and it works with the actual API. You can send and receive challenges and friend requests, and you can see/play your running matches. I think that, for the account management, I’ll remove email signups and only allow social OAuth2 (currently Google and Discord). As with email/password signups I need to handle email verification and password reset, and while Resend (what I use right now) is REALLY good and it’s free tier is great (3000 mails a month, 100 daily), if someone tries to spam the endpoints, it’s gonna eat up the limit. Though I might just put a rate limiter in place, and with Cloudflare Turnstile I already combat at least some botting, still thinking about it… I’ll probably start with the web client for now, which might be the last thing to do Below is a little video showing the TUI in action, while playing a match: (I took quite a bit of time thinking about the move I should make till I remembered I was just recording a test video lol)"}, {"post_id": 32210, "ts": "2026-07-21T07:10:56Z", "hours": 0.5875, "text": "And… This devlog is just to show the web dashboard, which I have forgotten to do a devlog for it all this time, which is why the logged time is so low lol I used the Next.js framework to build the web dashboard (well, the whole dashboard + welcome page and just the whole web thing). I also used the shadcn/ui components library, as I’m not that good making frontend stuff, so that helped a lot. The dashboard layout is actually a template you can find on the shadcn site, I love the huge amount of things they have I didn’t know what else to put as a welcome to the dashboard, so I left a little welcome message as seen at the beginning of the video And I also forgot to show (mostly because there wasn’t any) the notifications button, where you can find any incoming challenges and friend requests. The whole bot creation process works, at the end it gives you a token that you can use as if it were a user auth token, but you have all the scopes by default, so you can do anything you want with the account What remains to do on this web part is to be able to see the profile of other users, along with their recent matches. And also a web client so you can play without downloading the TUI client or needing to use the discord bot"}, {"post_id": 32193, "ts": "2026-07-21T06:11:10Z", "hours": 5.3728, "text": "Edit: I realized right after posting this devlog: 100 hours! This has taken me more time than what I expected and gone quite big at this point hahah Welp, the bots are done, and now I’ve tested the Discord integration. I made the bots using the js-chess-engine package. Why that instead of something like stockfish? it simply was way easier to do as it’s a full js/ts engine lol Though, that doesn’t mean that the stockfish engine wouldn’t be posible to integrate! as anyone can create bots, that also means that anyone could create a stockfish bot if they wanted to. In case you don’t know what Stockfish is: It’s a really powerful and popular chess engine written in C++. Also, while writing this devlog, I found this package , which could be used to make a stockfish bot really easily. Though the ELO of the stockfish bot is really high, so I don’t really regret choosing js-chess-engine as a simpler engine means people can at least win against it lol Here is a small video showing a match running on the discord bot. There are some small coordinates on the image so writing the SAN/LAN notation is easier, though it’s quire hard to see them on the video due to compression. While it has support for everything (friend requests, send challenges, accept challenges, etc), I kinda forgot to record the rest :P"}, {"post_id": 31519, "ts": "2026-07-20T00:11:39Z", "hours": 9.0231, "text": "Well, making the TUI has gone quite well. While I initially thought that Vue seemed weird for doing TUIs, it’s actually not that bad. No wonder Ink is so popular. (Though I’m liking Vue more than I like React, and Ink felt kinda clunky at times when I first tried it) If you want to do TUIs with TypeScript/JavaScript, I’d recommend you give Vue TermUI a try. It also supports the Vue Router, so it’s easy to make a lot of pages and then navigate through them. The data show in the video is just mock data. So it still doesn’t use the actual API, though progress have gone quite well without many hiccups. The send friend request button, and the accept/reject challenge buttons do use the actual API, but they just throw an error because it tries to accept/reject a challenge that doesn’t actually exist, as it’s just mock data. The app doesn’t crash on error though, it displays the error message right below the button, that way the user can see what went wrong without having the whole app crash or any other unexpected behavior. What remains now is making some bots, that way I can make the whole “Playing a game” page, as having mock data for the WHOLE game state is not very… easy? I mean, I’ll have to do some bots anyway, so why not do them now instead of creating some weird mock functions hahah I also think that the icons on the authorization page feel weird. I dont know if maybe they are too big or if I should just change them to other ones. I also have to change the card after approval or denial instead of just showing the toast at the bottom, as it doesnt give feedback to the user Below is a small video of the TUI in action: (Disclaimer: Some AI was used, primarily to create the mock data so I could focus on the TUI itself)"}, {"post_id": 30506, "ts": "2026-07-18T04:16:32Z", "hours": 8.6408, "text": "Welp, designing how to do the TUI was kinda… complex. I mostly know JS/TS, so I wanted to use that. And that made everything way more complex, as there aren’t so many options as you might have with something like how good Bubble Tea is on Go. So these were the options I considered: Ink : Which didn’t have mouse support and uses React, which I’ve felt kinda clunky while doing the webpage, so I wanted try something else. Rezi : Which, at first, was AMAZING. But it had some bugs where focus didn’t work at all and I couldn’t interact with the TUI, or just started getting weird. OpenTUI : tbf, I didn’t test it out that much, couldn’t really understand it’s TS bindings So what I ended up going with? Something not listed above: I ended up going with Vue TermUI ( for now ). Why? Well, I’ve wanted to try out Vue for some time now, and it uses OpenTUI under the hood, so it’s backend is probably pretty stable, or so I think, i don’t really know. It does handles mouse input and focus management, making it quite easy to use. Will I stay with Vue TermUI? I don’t really know yet. I’m just beginning to try it out, and I’m curious to see how it ends up. Especially because Vue for TUI sounds pretty weird lol I actually really liked Rezi and you should check it out, as the issues I had were probably because I was doing something wrong hahah"}, {"post_id": 24535, "ts": "2026-07-08T04:57:03Z", "hours": 62.6878, "text": "Welp, I’ve been working for quite a while and this is quite a long devlog. If this seems interesting to you, leave a comment with suggestions! Maybe I could do some of them depending on their difficulty I now have a pretty good API structure. It has normal HTTP endpoints and also a subscription system using WebSockets so you can get event-based messages, all of it working already. I also did a JS/TS package so it’s easier to implement it on your proyects. (Still not published to npm) I currently have the following systems working: Account, Friends, Challenges, Matches, Bot management and Device auth (the thing where the app can show you an 8 character code to login). I also did a scopes system, that way you can know exactly what data the app will have access to and what actions it’d be able to do on your behalf I made the backend using Elysia , while the whole storage is a PostgreSQL database that I interface with using Drizzle . The doc pages were done using Fumadocs , I love the way they look :D A secondary DB, using Redis (or Redis-compatible DB) is also optional, quite useful as some thing like board movements might be done by players quite fast on low timers (like 1 min) and should be replied to as fast as possible to prevent the DB write speeds and reply time from counting against a player’s timer or affecting the match playability, though I still haven’t implemented timers lol If the secondary Redis DB isn’t setup, then that data will be stored on RAM in order to keep it fast. Things like match status is kept there until the match ends, that means if the API server restarts, the matches that are currently being played are restarted too. I thought this isn’t as bad of a tradeoff in order to have a fast API reply, especially because you can solve it by setting up the Redis DB, and then you can restart the API server without worry, as the data is stored on the Redis server. While the whole API is done, the account dashboard still requires some work to do, and I’m planning to do some integrations to make it easy to test, like a Discord bot (which is already done), a TUI, or maybe a web interface, though frontend interactivity isn’t something I’m really good at, and still haven’t gotten used to doing things “the React way” :P I also added some bot management endpoints. That way someone can create a bot account under their user and be able to create any “bot opponent” to play against, something that I also want to do so anyone trying out the API or implementations can test it without requiring another available opponent Don’t know if I should make an ELO/Leaderboard system, as those could be easily cheated and can’t really moderate them, and doing skill based match making wouldn’t work with a small user base."}, {"post_id": 7750, "ts": "2026-06-12T22:58:59Z", "hours": 14.0508, "text": "This is Chess Now! An open-source (soon!) API to control chess games. The idea is for anyone to be able to create and integrate their apps and be able to control the games from there. This also means that you could be playing on App1 while your opponent can be playing on App2, as the server-side is shared between them. I’ve added the whole auth flow and database integration. Better Auth really helped a lot in this regard, the docs were awesome. I used some templates for the hero and login/signup flow as I don’t have almost any experience with frontend development (and a side-goal for me is to not use AI for codegen while making this project), though I’ve been learning a LOT about frontend doing this. I’ll begin planning the whole API structure, I still don’t know where to begin hahah"}]...
|
Title: Chess Now! by @AngelCMHxD | Stardance
Devl Title: Chess Now! by @AngelCMHxD | Stardance
Devlogs:
This is Chess Now! An open-source (soon!) API to control chess games. The idea is for anyone to be able to create and integrate their apps and be able to control the games from there. This also means that you could be playing on App1 while your opponent can be playing on App2, as the server-side is shared between them. I’ve added the whole auth flow and database integration. Better Auth really helped a lot in this regard, the docs were awesome. I used some templates for the hero and login/signup flow as I don’t have almost any experience with frontend development (and a side-goal for me is to not use AI for codegen while making this project), though I’ve been learning a LOT about frontend doing this. I’ll begin planning the whole API structure, I still don’t know where to begin hahah
Welp, I’ve been working for quite a while and this is quite a long devlog. If this seems interesting to you, leave a comment with suggestions! Maybe I could do some of them depending on their difficulty I now have a pretty good API structure. It has normal HTTP endpoints and also a subscription system using WebSockets so you can get event-based messages, all of it working already. I also did a JS/TS package so it’s easier to implement it on your proyects. (Still not published to npm) I currently have the following systems working: Account, Friends, Challenges, Matches, Bot management and Device auth (the thing where the app can show you an 8 character code to login). I also did a scopes system, that way you can know exactly what data the app will have access to and what actions it’d be able to do on your behalf I made the backend using Elysia , while the whole storage is a PostgreSQL database that I interface with using Drizzle . The doc pages were done using Fumadocs , I love the way they look :D A secondary DB, using Redis (or Redis-compatible DB) is also optional, quite useful as some thing like board movements might be done by players quite fast on low timers (like 1 min) and should be replied to as fast as possible to prevent the DB write speeds and reply time from counting against a player’s timer or affecting the match playability, though I still haven’t implemented timers lol If the secondary Redis DB isn’t setup, then that data will be stored on RAM in order to keep it fast. Things like match status is kept there until the match ends, that means if the API server restarts, the matches that are currently being played are restarted too. I thought this isn’t as bad of a tradeoff in order to have a fast API reply, especially because you can solve it by setting up the Redis DB, and then you can restart the API server without worry, as the data is stored on the Redis server. While the whole API is done, the account dashboard still requires some work to do, and I’m planning to do some integrations to make it easy to test, like a Discord bot (which is already done), a TUI, or maybe a web interface, though frontend interactivity isn’t something I’m really good at, and still haven’t gotten used to doing things “the React way” :P I also added some bot management endpoints. That way someone can create a bot account under their user and be able to create any “bot opponent” to play against, something that I also want to do so anyone trying out the API or implementations can test it without requiring another available opponent Don’t know if I should make an ELO/Leaderboard system, as those could be easily cheated and can’t really moderate them, and doing skill based match making wouldn’t work with a small user base.
Welp, designing how to do the TUI was kinda… complex. I mostly know JS/TS, so I wanted to use that. And that made everything way more complex, as there aren’t so many options as you might have with something like how good Bubble Tea is on Go. So these were the options I considered: Ink : Which didn’t have mouse support and uses React, which I’ve felt kinda clunky while doing the webpage, so I wanted try something else. Rezi : Which, at first, was AMAZING. But it had some bugs where focus didn’t work at all and I couldn’t interact with the TUI, or just started getting weird. OpenTUI : tbf, I didn’t test it out that much, couldn’t really understand it’s TS bindings So what I ended up going with? Something not listed above: I ended up going with Vue TermUI ( for now ). Why? Well, I’ve wanted to try out Vue for some time now, and it uses OpenTUI under the hood, so it’s backend is probably pretty stable, or so I think, i don’t really know. It does handles mouse input and focus management, making it quite easy to use. Will I stay with Vue TermUI? I don’t really know yet. I’m just beginning to try it out, and I’m curious to see how it ends up. Especially because Vue for TUI sounds pretty weird lol I actually really liked Rezi and you should check it out, as the issues I had were probably because I was doing something wrong hahah
Well, making the TUI has gone quite well. While I initially thought that Vue seemed weird for doing TUIs, it’s actually not that bad. No wonder Ink is so popular. (Though I’m liking Vue more than I like React, and Ink felt kinda clunky at times when I first tried it) If you want to do TUIs with TypeScript/JavaScript, I’d recommend you give Vue TermUI a try. It also supports the Vue Router, so it’s easy to make a lot of pages and then navigate through them. The data show in the video is just mock data. So it still doesn’t use the actual API, though progress have gone quite well without many hiccups. The send friend request button, and the accept/reject challenge buttons do use the actual API, but they just throw an error because it tries to accept/reject a challenge that doesn’t actually exist, as it’s just mock data. The app doesn’t crash on error though, it displays the error message right below the button, that way the user can see what went wrong without having the whole app crash or any other unexpected behavior. What remains now is making some bots, that way I can make the whole “Playing a game” page, as having mock data for the WHOLE game state is not very… easy? I mean, I’ll have to do some bots anyway, so why not do them now instead of creating some weird mock functions hahah I also think that the icons on the authorization page feel weird. I dont know if maybe they are too big or if I should just change them to other ones. I also have to change the card after approval or denial instead of just showing the toast at the bottom, as it doesnt give feedback to the user Below is a small video of the TUI in action: (Disclaimer: Some AI was used, primarily to create the mock data so I could focus on the TUI itself)
Edit: I realized right after posting this devlog: 100 hours! This has taken me more time than what I expected and gone quite big at this point hahah Welp, the bots are done, and now I’ve tested the Discord integration. I made the bots using the js-chess-engine package. Why that instead of something like stockfish? it simply was way easier to do as it’s a full js/ts engine lol Though, that doesn’t mean that the stockfish engine wouldn’t be posible to integrate! as anyone can create bots, that also means that anyone could create a stockfish bot if they wanted to. In case you don’t know what Stockfish is: It’s a really powerful and popular chess engine written in C++. Also, while writing this devlog, I found this package , which could be used to make a stockfish bot really easily. Though the ELO of the stockfish bot is really high, so I don’t really regret choosing js-chess-engine as a simpler engine means people can at least win against it lol Here is a small video showing a match running on the discord bot. There are some small coordinates on the image so writing the SAN/LAN notation is easier, though it’s quire hard to see them on the video due to compression. While it has support for everything (friend requests, send challenges, accept challenges, etc), I kinda forgot to record the rest :P
And… This devlog is just to show the web dashboard, which I have forgotten to do a devlog for it all this time, which is why the logged time is so low lol I used the Next.js framework to build the web dashboard (well, the whole dashboard + welcome page and just the whole web thing). I also used the shadcn/ui components library, as I’m not that good making frontend stuff, so that helped a lot. The dashboard layout is actually a template you can find on the shadcn site, I love the huge amount of things they have I didn’t know what else to put as a welcome to the dashboard, so I left a little welcome message as seen at the beginning of the video And I also forgot to show (mostly because there wasn’t any) the notifications button, where you can find any incoming challenges and friend requests. The whole bot creation process works, at the end it gives you a token that you can use as if it were a user auth token, but you have all the scopes by default, so you can do anything you want with the account What remains to do on this web part is to be able to see the profile of other users, along with their recent matches. And also a web client so you can play without downloading the TUI client or needing to use the discord bot
The TUI is 100% done! (I think…) There is no longer any mock data and it works with the actual API. You can send and receive challenges and friend requests, and you can see/play your running matches. I think that, for the account management, I’ll remove email signups and only allow social OAuth2 (currently Google and Discord). As with email/password signups I need to handle email verification and password reset, and while Resend (what I use right now) is REALLY good and it’s free tier is great (3000 mails a month, 100 daily), if someone tries to spam the endpoints, it’s gonna eat up the limit. Though I might just put a rate limiter in place, and with Cloudflare Turnstile I already combat at least some botting, still thinking about it… I’ll probably start with the web client for now, which might be the last thing to do Below is a little video showing the TUI in action, while playing a match: (I took quite a bit of time thinking about the move I should make till I remembered I was just recording a test video lol)
Well, the web client is done!! I used react-chessboard and it’s a pretty good library. I didn’t add click-to-move pieces as it makes the logic a LOT more complex, so I didn’t want to do it for now I also used the API package from before, so we can use the websocket connection and listen for any changes. I also added it onto the matches page so any updates on the boards are reflected in real-time (which would probably look amazing if you have multiple automated matches running lol), and any new matches are added to the list without needing to refresh the page. I also want to add it onto the friends page, so it also updates in real-time I had to change the icons on the discord bot as I realized they were Chess.com’s icons, and they aren’t free to use, so I removed them and replaced them with a pack named Caliente , which look amazing. It’s the same one I use on the web client I think I should add a popup once the match is over as the current result feels quite plain. I also gotta add another page where you can spectate the match of other people, as the current one has too many logic already I prefer to duplicate it and remove the need of handling input and what not. I also haven’t added a profiles page yet, so that’s still on the TODO list hahah Below is a small video of me playing a match against a bot. Two disclaimers: I used AI to fix some issues I had with the CSS on the page, though it didn’t change anything other than fix some class names, and the whole logic was made by me. I played horribly against the bot, as the difficulty is set quite low lol Additional disclaimer: Ignore the -55s duration on one of the matches, it was an old bug but I’ve gotten lazy and haven’t fixed the match on the DB yet .-.
User page done! You can now see all of the matches and friends of other people, along with a small list of stats. I’m thinking about implementing the ELO system. While I previously said that I wouldn’t be able to moderate people artificially inflating it (by selfbotting), having it without a leaderboard wouldn’t really make it that enticing to abuse. And personally, if there isn’t a leaderboard, I don’t think moderating it would be that important, what would the user gain more than having a bigger number on their profile? Still thinking about it though I’m not sure about adding custom profile pictures or really any other user generated content. It would be nice to have, but it also involves moderation in order to prevent anything inappropriate from being uploaded (i mean, we all know how the internet works :/) Below is a small video showing the user page, along with the bot auto accepting any new friend requests :P
ELO system! let’s go!! At the end, I did add an ELO system. Well, it’s not really ELO, it’s Glicko . I used the glicko2-lite library, which is stateless unlike other glicko implementations I found. I wanted a stateless one because I’m saving the data on the DB anyways, so making it stateful would only make it use more resources (primarly RAM). You start with a rating of 1500. After every match your rating will go up/down depending on whether you win or lose. How much you win or lose depends on how many matches you have played (the first one are worth a bit more to get you to the optimal points), and depending on the rating of your oponent. If you win against someone with a bigger rating than yours, you’ll gain way more points than if you win agains someone around your rating or less. I also added a settings page so you can change your name and username, along with a page to change your password. Below is a small video showing how the ELO Glicko system works: What remains is just to also add the name/username change for bots and improve the docs. I also made a Stockfish bot which you can try to play against. (Keyword: try , because it’s probably almost impossible)
Well, that took way longer than expected. The docs are way more polished now! All endpoints have example responses so you know exactly what each one will return, along with a small description. HTTP endpoints that trigger a WebSocket event for any user (like friend requests, challenges, match moves, etc), mention it on their descriptions. I also added some headers to the PGN strings, as they were previously filled with “?“s. This mostly took this long due to a LOT of issues with the account deletion process, but it works perfectly now. When you delete your account, your user is replaced in all the matches you’ve played to @deleted_user . This is to keep the match data available even after any user deletes it. After that, your account is deleted from the DB. Due to how the DB is configured with cascade deletes, that will delete all other rows that reference the user (friendships, friend requests, pending challenges, etc.) except for matches, as they no longer reference the user that is being deleted. I’m am quite close to the ship, which I’m kinda nervous about. I want the project to be in the best state and as polished as possible, without any bugs (well, any known bugs lol). Which is mostly the reason this project as a whole has taken soo long :/ Below is a small video showing the docs with the example data. At the end is the delete account flow, which have lot’s of confirmations as it currently doesn’t send an email. I’m thinking it probably should send one lol See you in the next (and probably last) devlog! (I fixed my OBS settings, the video should look a bit better than the previous ones :P)
Hewo! Last devlog till ship here (i think) I didn’t think I’d add anything else, but you can now forfeit matches or ask the opponent for a draw! They just seemed like something that should exist on the shipped project… Each player can request only one draw per match, so you think before you do it. why did i do it like that? well, asking for a draw pauses the whole match, an neither player can do any moves until the draw request is answered. in order to prevent one of the users spamming draws, i simply limited to only one per match. also, ending the match in a draw doesn’t mean that your ELO isn’t affected, it is affected. depending on the elo of your opponent, you’ll lose/earn elo on a draw, just as you’d do on a stalemate. I also added a piece promotion selector. i forgot i made it so it always chose the queen by default, but in some matches that might not be wanted, so now you get a popup to select the piece you want to promote to well, i don’t really know if i’m missing any other things, as that was all that was i had on my TODO list, so i guess i’ll start setting up the prod environment below is a video showing the forfeit and draw flows, along with the promotion popup. don’t worry about the first match being a valid checkmate but the match continued being active, i already fixed that bug but it didn’t apply to already affected matches :P i also sped up (is that the correct way to say it?) and cutted out some parts of the video to prevent it from being 6 minutes of me playing the match lol
Well, I set up the domain + reverse proxy and all kind of problems arose. I changed the package so you only need to instantiate the class without any arguments to use the default server over at https://chessnow.angelcmh.com though you can still pass an optional baseUrl in case you selfhost your own instance at first nothing worked, but then i noticed that I had a port conflict on my VPS with two things trying to use the same port lol i also tried to improve SEO on the main page as much as I could, though im not an expert on that. i also added an official bots section so you can challenge some bots without having to look at any docs to find them shipping in some minutes!
Hewo! This devlog was unexpected. I prepared a small video/trailer so I had something to upload when shipping the project, and when I tried to upload it I realized that you can only upload images when shipping a project :/ So here is that video as it won’t go to waste. I tried my best, hope my voice doesn’t sound awkward, I’m not a native speaker Also, check out the shipped project! As I probably shipped it right after this devlog
aaaa, so… long time no see! also, super star!!! So, I’ve began doing some things that I’ve meant to do before, but completely forgot as I got quite busy… lol I fixed an error which made the TUI not work on Linux, it works now! It was an issue as I was building on NixOS, and the linker path was on my /nix/store folder instead of the usual /lib one. that means it also broke for me after an update lol You can now configure challenges! This needed to be implemented on all clients, hence why it took a little while lol Select whether you want to start with white, black or random. The opponent will be able to see which color you selected before accepting the challenge though! :P Also, meet unrankeds! You can now also mark a match as unranked so it doesn’t affect your ELO ratings at all . Take into account that there is decay though! so if you don’t play ranked for a while, your next match ELO diffs might be a little bit different Fun fact: The starting color option has been available on the API for a while already, even documented. so, if you did API calls directly, you could have selected a starting color and the opponent would not have been able to notice! as none of the clients showed it. except for the Discord bot… I think… or if you requested the match through the API too ;D
Ships:
This is Chess Now! A real-time chess API with challenges handling, matches, friends, and much more! The idea is for anyone to be able to make a custom client, bot or integration with the platform, thus it’s as open as it can possibly be while trying to also stay secure. One of the biggest parts of the proyect was doing that many clients, especially the TUI client. While I learned Vue doing the TUI client, I found it’s behaviour kinda… unintuitive in some way I can’t really explain. Though at the end I felt that Vue is better than React by a mile (now I only have to try out Svelte) I am proud of how well structured the API is, and while I’m sure it can be improved, the bases feel pretty solid. I’m also proud of how much I learned doing this. I mean, I tried a lot of things I’ve been meaning to try for some time already: Vue, Better Auth, Drizzle ORM, actually deploying a Next.js app, React mail + Resend, Elysia, and Fumadocs. And probably something else I already forgot about hehe Would I do something different if I started right now? Probably, but mostly just to try out even more things, which is the main reason why I do most of my projects. If you want to try out the project, you should probably just check the instance hosted at https://chessnow.angelcmh.com/ , create an account and play against a bot. You should also check out the docs, or the npm package over at https://www.npmjs.com/package/@chess-now/api if you are interested. Thanks for reading till the end, have a great day! ;P...
|
1793515662.1332543
|
1793602062.1332543
|
|
15318
|
Meet Desa my Everyday Helper by @Jamiee | Stardanc Meet Desa my Everyday Helper by @Jamiee | Stardance...
|
Jamiee
|
1
|
10.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-31T15:01:43Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I tried to build a desk assistant, as you can read in my devlogs but I overestimated my knowledge and abilities. That does not mean that i give up, I’m just giving myself a bit more time and will finish it without pressure in my free time. The speaking assistant is finished and is uploaded on my GitHub and ready to be used, as is the main movement and the camera. Only the physical robot will still take a while.", "repo": "https://github.com/7h88ngyrtw-source/Jarvis", "demo": ""}]...
|
[{"post_id": 85573, "ts": "202 [{"post_id": 85573, "ts": "2026-10-31T14:48:38Z", "hours": 0.3489, "text": "That’s what the robot is currently looking like 🤖🫠"}, {"post_id": 75527, "ts": "2026-09-30T11:33:56Z", "hours": 3.7072, "text": "I can’t finish my project in time, at least not my big project. I have finished my talking assistant and that is my accomplishment for this challenge. I set goals far too big for my knowledge but I’m proud of what I’ve finished."}, {"post_id": 73198, "ts": "2026-09-24T16:14:43Z", "hours": 1.0558, "text": "I linked the projects together so that it works at the same time. Took me forever 😭"}, {"post_id": 46856, "ts": "2026-08-14T12:01:53Z", "hours": 5.1925, "text": "GUYS I’M SO EXITED to share this with you!!!!! I finally managed to execute both programs (camera and jarvis) at the same time. I had to but the codes in different files and then create a third one and use subprocess and it finallyyy works. I’m so happy. And I’m sorry that my devlog is for 5 hours but I really only worked on Jarvis, adjusted it to my wishes ( listens all the time but only reacts when i say his name) and tried to let the two processes go at the same time."}, {"post_id": 43256, "ts": "2026-08-08T12:36:29Z", "hours": 2.1403, "text": "I’m still trying to connect yolov8n with gemma3, so gemma knows whats on the camera."}, {"post_id": 38705, "ts": "2026-08-01T07:38:05Z", "hours": 2.7769, "text": "I am still working on object detection and I’m planning on doing object tracking next and linking the recorded video to Gemma 3, so that it can talk about the objects. It may be that I end up doing it without the Ai (gemma) if i know how to do it without and if i have the time for it. I’m also going to build the robot with cardboard first so that i have a prototype to see how it looks."}, {"post_id": 35721, "ts": "2026-07-27T10:30:26Z", "hours": 1.5025, "text": "I am currently working on the camera vision with OpenCV– I’m using YOlOv8 Nano for Object Detection. Side Note: My total coding time is actually now almost 13 h, idk why it is less here :("}, {"post_id": 31190, "ts": "2026-07-19T12:11:03Z", "hours": 4.1828, "text": "I haven’t updated much about my progress, only because I got stuck at one particular thing. Here’s what i have done: I downloaded Ollama for Gamma3 and also installed pyttsx3, pyaudio and speech recognition because I want Desa (still trying to find another name) to recognize my voice when i say its name. So far I have achieved that when I ask, for example: “Hey Desa, where is the biggest mountain in Europe?” that Desa answers me but I still have a far way to go. I still need that it recognizes Objects and knows attributes so he can detect items easier later on. So in order to do so I have to install OpenCV and many other things for Vision and stuff, and because I’m still working on the software, I haven’t yet bought the hardware, so I can’t really upload anything, to show you:( But I plan to begin with the hardware-part in August!! I added a picture of the biggest part of my code. It still needs much improvement and so far I’m proud of it. The code only contains calling Desa and answers from it"}, {"post_id": 23695, "ts": "2026-07-06T20:06:23Z", "hours": 2.1444, "text": "I finished the command lines, and now I can ask DESA for anything and it will respond with what it’s giving me. Also I added a tts module (pyttsx3) and now I’m about to work with that, so that Desa can speak and react to my question and commands. (If you have any name ideas, please text me, because I’m not entirely happy with the name Desa) I’m adding a screenshot of my code, let me know, what you think (it’s not much so far)"}, {"post_id": 18613, "ts": "2026-06-29T20:14:47Z", "hours": 2.0722, "text": "Desa will be my personal desk assistant, in form of mechanical ROBOT ARM"}]...
|
Title: Meet Desa my Everyday Helper by @Jamiee | S Title: Meet Desa my Everyday Helper by @Jamiee | Stardance
Devlogs:
Desa will be my personal desk assistant, in form of mechanical ROBOT ARM
I finished the command lines, and now I can ask DESA for anything and it will respond with what it’s giving me. Also I added a tts module (pyttsx3) and now I’m about to work with that, so that Desa can speak and react to my question and commands. (If you have any name ideas, please text me, because I’m not entirely happy with the name Desa) I’m adding a screenshot of my code, let me know, what you think (it’s not much so far)
I haven’t updated much about my progress, only because I got stuck at one particular thing. Here’s what i have done: I downloaded Ollama for Gamma3 and also installed pyttsx3, pyaudio and speech recognition because I want Desa (still trying to find another name) to recognize my voice when i say its name. So far I have achieved that when I ask, for example: “Hey Desa, where is the biggest mountain in Europe?” that Desa answers me but I still have a far way to go. I still need that it recognizes Objects and knows attributes so he can detect items easier later on. So in order to do so I have to install OpenCV and many other things for Vision and stuff, and because I’m still working on the software, I haven’t yet bought the hardware, so I can’t really upload anything, to show you:( But I plan to begin with the hardware-part in August!! I added a picture of the biggest part of my code. It still needs much improvement and so far I’m proud of it. The code only contains calling Desa and answers from it
I am currently working on the camera vision with OpenCV– I’m using YOlOv8 Nano for Object Detection. Side Note: My total coding time is actually now almost 13 h, idk why it is less here :(
I am still working on object detection and I’m planning on doing object tracking next and linking the recorded video to Gemma 3, so that it can talk about the objects. It may be that I end up doing it without the Ai (gemma) if i know how to do it without and if i have the time for it. I’m also going to build the robot with cardboard first so that i have a prototype to see how it looks.
I’m still trying to connect yolov8n with gemma3, so gemma knows whats on the camera.
GUYS I’M SO EXITED to share this with you!!!!! I finally managed to execute both programs (camera and jarvis) at the same time. I had to but the codes in different files and then create a third one and use subprocess and it finallyyy works. I’m so happy. And I’m sorry that my devlog is for 5 hours but I really only worked on Jarvis, adjusted it to my wishes ( listens all the time but only reacts when i say his name) and tried to let the two processes go at the same time.
I linked the projects together so that it works at the same time. Took me forever 😭
I can’t finish my project in time, at least not my big project. I have finished my talking assistant and that is my accomplishment for this challenge. I set goals far too big for my knowledge but I’m proud of what I’ve finished.
That’s what the robot is currently looking like 🤖🫠
Ships:
I tried to build a desk assistant, as you can read in my devlogs but I overestimated my knowledge and abilities. That does not mean that i give up, I’m just giving myself a bit more time and will finish it without pressure in my free time. The speaking assistant is finished and is uploaded on my GitHub and ready to be used, as is the main movement and the camera. Only the physical robot will still take a while....
|
1793515656.382703
|
1793602056.382703
|
|
37691
|
VisualShare - Frictionless by @Ayon | Stardance
|
Ayon
|
1
|
12.17
|
38
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-24T05:12:49Z", "hours": 6.0, "multiplier": 13.48, "payout": 38, "blessing": "neutral", "text": "Why did I make it? When sharing files over internet or network, we are not sure that our data is stolen or used by third-party. But, if it’s qr code based encrypted, it is sure that no one can access our data or if anyone tries to steal it, they can’t decrypt it as it is encrypted by AES-256-GCM algorithm. No server, no internet or anything is used here. How does it work? Sending First of all, our uploaded file is converted to a Uint8Array . Then, it is converted to chunks of strings. Now, the chunks are encrypted by random 4 word passphrase with a 16-byte random array salt. The generated chunks are converted into qr codes and displayed in sequence. The passphrase is then shared to the receiver and the receiver scans/enters the code. Receiving The passphrase QR code or the words are entered. Then, the passphrase is stored in the browser The QR Codes shown on the sender’s display is shown at the interval of 300ms are scanned The encrypted data is then decrypted using the passphrase and reassembled. Finally, the file is download. Pros Super-Secure End-to-End Encrypted. Multi layer encryption. Full data is transferred for sure. Cons Slow transfer", "repo": "https://github.com/amiayon8/visual-share", "demo": "https://visual-share.thenicedev.xyz/"}]...
|
[{"post_id": 40666, "ts": "202 [{"post_id": 40666, "ts": "2026-08-04T11:00:32Z", "hours": 6.1725, "text": "Added Audio based transmission. It uses the device’s microphone and speaker to interact with other devices. This ensures full data transfer. Comparing with protocols, QR-based transfer is UDP and audio-based transfer is TCP as audio-based transfer acknowledges successful receiving of packets."}, {"post_id": 33885, "ts": "2026-07-24T05:02:34Z", "hours": 0.8311, "text": "Completed the project. Now encryption, passphrase generation and transfer everything works well."}, {"post_id": 33542, "ts": "2026-07-23T16:06:12Z", "hours": 1.5647, "text": "Done real passphrase generator with a wordlist"}, {"post_id": 33498, "ts": "2026-07-23T14:30:56Z", "hours": 1.6892, "text": "Updated the UI with shadcn/ui"}, {"post_id": 32995, "ts": "2026-07-22T14:54:11Z", "hours": 0.2711, "text": "Started working on the encryption. I am gonna use the X25519 for keypair generation, AES-256-GCM for data encryption"}, {"post_id": 32554, "ts": "2026-07-21T20:12:38Z", "hours": 0.5203, "text": "Completed making the receiving. Now I can scan to get the file shared by the sender. Next: Encryption"}, {"post_id": 32535, "ts": "2026-07-21T19:33:23Z", "hours": 0.2706, "text": "Now my app generates qr codes for the files. Next: I will work for receiving"}, {"post_id": 32523, "ts": "2026-07-21T19:16:22Z", "hours": 0.3978, "text": "Working on the app. Just made the basic UI and testing the chunking of files. Now moving on to QR Code generation"}]...
|
Title: VisualShare - Frictionless by @Ayon | Stard Title: VisualShare - Frictionless by @Ayon | Stardance
Devlogs:
Working on the app. Just made the basic UI and testing the chunking of files. Now moving on to QR Code generation
Now my app generates qr codes for the files. Next: I will work for receiving
Completed making the receiving. Now I can scan to get the file shared by the sender. Next: Encryption
Started working on the encryption. I am gonna use the X25519 for keypair generation, AES-256-GCM for data encryption
Updated the UI with shadcn/ui
Done real passphrase generator with a wordlist
Completed the project. Now encryption, passphrase generation and transfer everything works well.
Added Audio based transmission. It uses the device’s microphone and speaker to interact with other devices. This ensures full data transfer. Comparing with protocols, QR-based transfer is UDP and audio-based transfer is TCP as audio-based transfer acknowledges successful receiving of packets.
Ships:
Why did I make it? When sharing files over internet or network, we are not sure that our data is stolen or used by third-party. But, if it’s qr code based encrypted, it is sure that no one can access our data or if anyone tries to steal it, they can’t decrypt it as it is encrypted by AES-256-GCM algorithm. No server, no internet or anything is used here. How does it work? Sending First of all, our uploaded file is converted to a Uint8Array . Then, it is converted to chunks of strings. Now, the chunks are encrypted by random 4 word passphrase with a 16-byte random array salt. The generated chunks are converted into qr codes and displayed in sequence. The passphrase is then shared to the receiver and the receiver scans/enters the code. Receiving The passphrase QR code or the words are entered. Then, the passphrase is stored in the browser The QR Codes shown on the sender’s display is shown at the interval of 300ms are scanned The encrypted data is then decrypted using the passphrase and reassembled. Finally, the file is download. Pros Super-Secure End-to-End Encrypted. Multi layer encryption. Full data is transferred for sure. Cons Slow transfer...
|
1793515654.3177521
|
1793602054.3177521
|
|
28690
|
PenguinoRunner by @Pixeleyesd | Stardance
|
Pixeleyesd
|
0
|
30.92
|
0
|
[]
|
[{"post_id": 67102, "ts": "202 [{"post_id": 67102, "ts": "2026-09-13T05:03:28Z", "hours": 3.1408, "text": "I made the sides big also theyre on a different layer cuz my laptop slowed down a bunch when i started editing the tiles on the main platform layer cuz there were so many tiles."}, {"post_id": 66223, "ts": "2026-09-11T22:13:36Z", "hours": 10.7814, "text": "Im tryna make an end to the game where if you touch this hitbox it counts as winning but im bad at coding and idk why it isnt working :/"}, {"post_id": 53542, "ts": "2026-08-24T04:15:30Z", "hours": 2.905, "text": "I made more platforms on the horizontal axis, ready to do some vertical ones now :)."}, {"post_id": 21032, "ts": "2026-07-02T20:07:29Z", "hours": 8.1472, "text": "I’ve done the main stuff with the level"}, {"post_id": 19083, "ts": "2026-06-30T08:54:21Z", "hours": 5.9411, "text": "I’m making a cool 2D platformer in Godot. I made a cool 3d title screen and placeholder buttons (the 3d assembly is what took so long lol). the player is in progress, and we are making tiles with kenney.nl assets (absolute GOAT btw)"}]...
|
Title: PenguinoRunner by @Pixeleyesd | Stardance
Title: PenguinoRunner by @Pixeleyesd | Stardance
Devlogs:
I’m making a cool 2D platformer in Godot. I made a cool 3d title screen and placeholder buttons (the 3d assembly is what took so long lol). the player is in progress, and we are making tiles with kenney.nl assets (absolute GOAT btw)
I’ve done the main stuff with the level
I made more platforms on the horizontal axis, ready to do some vertical ones now :).
Im tryna make an end to the game where if you touch this hitbox it counts as winning but im bad at coding and idk why it isnt working :/
I made the sides big also theyre on a different layer cuz my laptop slowed down a bunch when i started editing the tiles on the main platform layer cuz there were so many tiles....
|
1792738054.031157
|
1793602054.031157
|
|
32885
|
personal by @advayc | Stardance
|
advayc
|
1
|
11.06
|
35
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-30T12:15:13Z", "hours": 10.0, "multiplier": 5.13, "payout": 35, "blessing": "neutral", "text": "revamped the site with a new page at /resume. also did a lot of technical optimzations behind the scenes on the main page too. PLZ PLZ PLZ view /resume !!!", "repo": "https://github.com/advayc/personal", "demo": "https://advay.ca/"}]...
|
[{"post_id": 38748, "ts": "202 [{"post_id": 38748, "ts": "2026-08-01T09:29:37Z", "hours": 0.4156, "text": "bug fixes and reordering bg styles"}, {"post_id": 38080, "ts": "2026-07-31T09:21:29Z", "hours": 0.6483, "text": "change background styling of the main page adn hover effect on terminals, might add the internet terminal and draw terminal onto the resume page"}, {"post_id": 37570, "ts": "2026-07-30T12:09:04Z", "hours": 0.4836, "text": "wip and better description, also default styles"}, {"post_id": 37204, "ts": "2026-07-29T19:00:27Z", "hours": 1.2425, "text": "create background styles, grid, dots, none, stripes, crosshatch, polka, diamond also combined with diff colours that u can access on command center, also put a proper footer here with settings toggle, diff colour combinations are all present"}, {"post_id": 35835, "ts": "2026-07-27T15:02:38Z", "hours": 0.7483, "text": "add icons and new img"}, {"post_id": 35736, "ts": "2026-07-27T11:17:22Z", "hours": 3.2006, "text": "add new page as a summary on my personal site, figuring out how to change it a bit and make the design nicer and so it flows better on the whole site"}, {"post_id": 25121, "ts": "2026-07-09T03:52:17Z", "hours": 4.3389, "text": "set up the internet terminal, going to optmize it further because it uses a lot of cpu usage and ram and it runs very slow"}]...
|
Title: personal by @advayc | Stardance
Devlogs:
s Title: personal by @advayc | Stardance
Devlogs:
set up the internet terminal, going to optmize it further because it uses a lot of cpu usage and ram and it runs very slow
add new page as a summary on my personal site, figuring out how to change it a bit and make the design nicer and so it flows better on the whole site
add icons and new img
create background styles, grid, dots, none, stripes, crosshatch, polka, diamond also combined with diff colours that u can access on command center, also put a proper footer here with settings toggle, diff colour combinations are all present
wip and better description, also default styles
change background styling of the main page adn hover effect on terminals, might add the internet terminal and draw terminal onto the resume page
bug fixes and reordering bg styles
Ships:
revamped the site with a new page at /resume. also did a lot of technical optimzations behind the scenes on the main page too. PLZ PLZ PLZ view /resume !!!...
|
1793515649.1977224
|
1793602049.1977224
|
|
71434
|
BLARE by @disheshchauhan | Stardance
|
disheshchauhan
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: BLARE by @disheshchauhan | Stardance
|
1792997243.7967098
|
1793602043.7967098
|
|
71433
|
My very own WebOS by @magicXY23 | Stardance
|
magicXY23
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @magicXY23 | Stardance
|
1792997242.9495778
|
1793602042.9495778
|
|
71432
|
My own site! by @MasterTotem | Stardance
|
MasterTotem
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @MasterTotem | Stardance
|
1792997242.0660453
|
1793602042.0660453
|
|
38958
|
TEMPO SURGE by @marygoat | Stardance
|
marygoat
|
5
|
29.0
|
385
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-11-01T01:28:14Z", "hours": 4.0, "multiplier": 17.05, "payout": 91, "blessing": "neutral", "text": "A WarioWare like game where you have to complete minigames without losing lives to win! Controls WASD / Arrow keys to move Space / W / Up arrow to jump Mouse click to interact with things 1 2 3 on keyboard to press trumpet keys Q E on the bongos A B C D E F G for the memorization minigame Features 9 fast-paced minigames! Such as: Guitar Platformer - Grab the guitar picks as fast as possible! Note Clicker - Collect all the music notes in time! Tuner - Tune your sound before time ends! Wrong Order - Swap the xylophone keys into place! String the Harp - String the harp as soon as you can! Trumpet Player - Press the trumpet keys in the right order! Memorization - Press the right letters in the right order of the notes that appear! Bongo - Press the correct bongo in the right order! Metronome - Click when the pendelum of the metronome is in the middle! Chill Mode - Turn this on through Options to have more time during the minigames! Made in Godot and was made for the Stardance Hackclub program, with the project: Make a WarioWare game. Tempo Surge was also made in order to learn Godot and to learn how to make games and art. All art assets used in game were made by me :) More minigames might be added in the future, but the game seems to be in a good spot for now! Hope you have fun playing Tempo Surge! AI USAGE: I used AI to help me debug some errors in the code as well as help me bring the fourth minigame to life, since I wasn’t sure on what the best way of adding a swap object system would look like. Also used it to help me learn how to tween objects in order to have a better touch feedback system.", "repo": "https://github.com/awesomesauce4646/wario-ware-game", "demo": "https://marygoat.itch.io/tempo-surge"}, {"ship_num": 2, "ts": "2026-10-30T03:33:37Z", "hours": 4.0, "multiplier": 10.79, "payout": 48, "blessing": "neutral", "text": "A game inspired off of WarioWare, where you must complete many minigames to win! a You can play Tempo Surge at: https://marygoat.itch.io/tempo-surge To start, just press run! Controls WASD / Arrow keys to move Space / W / Up arrow to jump Mouse click to interact with things 1 2 3 on keyboard to press trumpet keys Q E on the bongos A B C D E F G for the memorization minigame Features 8 fast-paced minigames! Such as: Platformer - Grab the guitar picks as fast as possible Clicker - Collect all the music notes in time Click-Smasher - Tune your sound before time ends Swap Pieces - Swap the xylophone keys into place Click parallel buttons - String the harp as soon as you can Press keyboard numbers - Press the trumpet keys in the right order Memorization - Press the right letters in the right order of the notes that appear Press keyboard letters - Press the correct bongo in the right order Made in Godot and was made for the Stardance Hackclub program, with the project: Make a WarioWare game. Tempo Surge was also made in order to learn Godot and to learn how to make games and art. All art assets used in game were made by me :) I will probably add more things in the game, as well as redesign some things that I didn’t really like but didn’t want to spend more time drawing. Hope you have fun playing Tempo Surge! AI Usage I used AI to help me debug some errors in the code as well as help me bring the fourth minigame to life, since I wasn’t sure on what the best way of adding a swap object system would look like.", "repo": "https://github.com/awesomesauce4646/wario-ware-game", "demo": "https://marygoat.itch.io/tempo-surge"}, {"ship_num": 3, "ts": "2026-09-23T20:03:49Z", "hours": 6.0, "multiplier": 12.39, "payout": 84, "blessing": "neutral", "text": "Tempo Surge A WarioWare like game where you have to complete minigames without losing lives to win! Controls WASD / Arrow keys to move Space / W / Up arrow to jump Mouse click to interact with things 1 2 3 on keyboard to press trumpet keys Q E on the bongos A B C D E F G for the memorization minigame Features 8 fast-paced minigames! Such as: Platformer - Grab the guitar picks as fast as possible Clicker - Collect all the music notes in time Click-Smasher - Tune your sound before time ends Swap Pieces - Swap the xylophone keys into place Click parallel buttons - String the harp as soon as you can Press keyboard numbers - Press the trumpet keys in the right order NEW ONES SINCE LAST SHIP: Memorization - Press the right letters in the right order of the notes that appear Press keyboard letters - Press the correct bongo in the right order All art assets used in game were made by me :) Hope you have fun playing Tempo Surge! AI USAGE: I used AI to help me debug some errors in the code as well as help me bring the fourth minigame to life, since I wasn’t sure on what the best way of adding a swap object system would look like.", "repo": "https://github.com/awesomesauce4646/wario-ware-game", "demo": "https://marygoat.itch.io/tempo-surge"}, {"ship_num": 4, "ts": "2026-08-13T07:10:48Z", "hours": 9.0, "multiplier": 17.96, "payout": 162, "blessing": "neutral", "text": "Tempo Surge, A WarioWare like game where you have to complete minigames without losing lives to win! It was pretty challenging coming up with minigame ideas that were creative and original, while also making sense for the music theme I had going on! I am really proud of my new minigames, I think they’re pretty engaging. I am also proud that I made the game a bit more polished and nicer to look at. To play, press try project down below and press run, or go to: https://marygoat.itch.io/tempo-surge to play! Controls WASD / Arrow keys to move Space to jump Mouse click to interact with things 1 2 3 on keyboard to press trumpet keys Features 6 fast-paced minigames! Such as: Platformer - Grab the guitar picks as fast as possible Clicker - Collect all the music notes in time Click-Smasher - Tune your sound before time ends Swap Pieces - Swap the xylophone keys into place Click parallel buttons - String the harp as soon as you can Press keyboard numbers - Press the trumpet keys in the right order Made in Godot and was made for the Stardance Hackclub program, with the project: Make a WarioWare game. Tempo Surge was also made in order to learn Godot and to learn how to make games and art. All art assets used in game were made by me :) More minigames might be added in the future, but the game seems to be in a good spot for now! Hope you have fun playing Tempo Surge! AI Usage I used AI to help me debug some errors in the code as well as help me bring the fourth minigame to life, since I wasn’t sure on what the best way of adding a swap object system would look like.", "repo": "https://github.com/awesomesauce4646/wario-ware-game", "demo": "https://marygoat.itch.io/tempo-surge"}, {"ship_num": 5, "ts": "2026-07-27T11:43:14Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Tempo Surge A game inspired off of WarioWare, where you must complete many minigames to win! Controls: WASD / Arrow keys to move Space to jump Mouse click to interact with things Features 3 fast minigames! Such as: Platformer - Grab the guitar picks as fast as possible Clicker - Collect all the music notes in time Click-Smasher - Tune your sound before time ends Made in Godot and was made for the Stardance Hackclub program, with the project: Make a WarioWare game. All art assets used in game were made by me. I will probably add more things in the game, as well as redesign some things that I didn’t really like but didn’t want to spend more time drawing. Hope you have fun playing Tempo Surge!", "repo": "https://github.com/awesomesauce4646/wario-ware-game", "demo": "https://marygoat.itch.io/tempo-surge"}]...
|
[{"post_id": 86070, "ts": "202 [{"post_id": 86070, "ts": "2026-11-01T01:25:08Z", "hours": 0.4703, "text": "TEMPO SURGE DEVLOG: #23 READme update, GIF bg, SHIP? What’s next? READme: I have added the last minigame to the list, alongside naming all of the other minigames to something new. Updated AI usage + added some images. GIF Background: All gifs in the instructions before the minigame starts now have the same card background as the instructions. Time changes: Subtracted some thing from Memorization first phase if Chill Mode is on due to the initial time + Chill Mode time making it too long. Struggles? Not too many this time around, just wrapping things up! I did want to put a gif into the READme, but then I just went with some images, so there’s that. What’s next? SHIPPING! This is a quick devlog, and I’m ready to ship this. Stardance is ending, and this has been an amazing journey. I have learned and grown so much, so this YSWS ending will be a bit sad."}, {"post_id": 85927, "ts": "2026-10-31T22:06:32Z", "hours": 1.2714, "text": "TEMPO SURGE DEVLOG: #22 Improved Touch Feedback, Lose Life Anim What’s new? Touch Feedback: Minigame 3, Tuner, now shakes the arrow if it’s the wrong direction and plays a wrong sound and right sound if it’s the wrong / right arrow to press on. Minigame 5, Harp, now has a string that follows your mouse when you only click on one box. Life Screen: If you lose a life, the note will sway back and forth and then fall off. Also plays a record scratch sound. Guitar Animation: Minigame 1, Guitar Platformer, now spins as it walks to give it a bit more personality! If stopped, will spin until it’s back at its original state. Timer Pressure: When the minigame is close to ending, the music will speed up and the timer will pulse + slowly turn red to induce some sort of panic? Struggles? I struggled with the losing life section, since I had to figure out what the best way to tween the note would be, alongside how to place the record scratch sound. I keep running into bugs since I tried to put a timer to wait for the sound to play only til the note actually dropped off the staff. What’s next? Might ship? Might keep working? It depends on if I come up with any new ideas throughout the day before Stardance ends, which, RIP! Stardance has been pretty cool, and I’ll miss it!"}, {"post_id": 85286, "ts": "2026-10-31T02:29:04Z", "hours": 1.3775, "text": "TEMPO SURGE DEVLOG: #21 GIF INSTRUCTIONS! What’s new? GIF Instructions: There is now a button for each instruction card that shows you what to do, hopefully clearing any confusion about some of my poorly written instructions. Time changes: Gave a bit less time to xylophone because of instructions. Struggles? I struggled trying to figure out how to implement a gif into the system, but with a bit of googling and help of Godot forums, I figured that the best way was to add an AnimatedSprite2D and have a video to png converter so that I could just add all of the pngs into that sprite and animate it that way. It worked out pretty well, and I was familiar with AnimatedSpritess due to my virtual pet project, so that skill transferred over! Kewls. What’s next? I might do some UI updates, like to the new gif and some polishing, but other than that I think I’m done?"}, {"post_id": 85221, "ts": "2026-10-30T23:55:44Z", "hours": 1.3297, "text": "TEMPO SURGE DEVLOG: #20 METRONOME MINIGAME! What’s new? Metronome: Click when the pendelum is at the center of the metronome three times! One off beat count and you’re out. Chill Mode Buff: 4.0 seconds -> 7.0 seconds, making the game even chiller! Guitar Platformer: New moving platform! Also changed the platforms to be a brighter pink for contrast so that players can easily see where to go. Might change the pink. Button Hover: Now does a wobble when the mouse enters it! Struggle Text: After you have failed a level, the life scene shows a text that tells you about the Chill mode. Makes players aware of the difficulty mode change. Additional Time: More time on Harp, Xylophone, and Platformer minigames to make it balanced, especially for trackpad users. Struggles? Coming up with an idea for another minigame was pretty hard, and making it was harder! I struggled with the math and where the pivot should be, which made sense to make it the bottom since that’s where a pivot on a metronome pendelum actually is. I asked Claude to help me with the math, since it was taking me a bit to figure out. What’s next? I’m going to continue to improve my new minigame, as well as probably make adjustments to sound effects? I want to polish this some more, but I’m kinda lost on how."}, {"post_id": 84700, "ts": "2026-10-30T03:21:01Z", "hours": 1.0964, "text": "TEMPO SURGE DEVLOG: #19 SHIP! What’s new? Sound Effects: A lot of new sfx for almost all the levels, such as jump sounds, harp strings, xylophone, etc. Floating Picks: Floating animation NOW WORKS! This was in the guide but I couldn’t get it to work in the time so I just ignored it til now. Struggles? I struggled with getting the timing of the sfx right and putting it in the right part of the code, since it would sometimes not play or get cut off due to the scene changing. I had to delay scene change in minigames such as the Harp minigame due to the string noise getting cut off which is a bit awkward sounding. What’s next? SHIP! Ship often and ship early, am I right? I want that finality bonus and I’m not sure what else to add, so take this!"}, {"post_id": 84670, "ts": "2026-10-30T01:59:40Z", "hours": 1.4928, "text": "TEMPO SURGE DEVLOG: #18 Chill Mode, Animation on Pick Up! What’s new? Chill Mode: A mode that gives each level an additional 4 seconds to make it easier! Acess it through Options. Guitar Pick Up: In the first Minigame, you collect Guitar Picks. On pick up, a retro sound plays and the pick shrinks instead of just disappearing. Instructions Update: I have modified some instructions to make it more obvious, such as the Xylophone minigame specifying that dragging is NOT a thing, only clicks. Specified Memorization minigame and Trumpet minigame. Instructions Border: Added a border to make the instruction card a bit nicer. Struggles? I struggled a lot with the guitar pick up. When I added the animation of it shrinking, the game counted it as TONS of pick up since the pick didn’t hide immediately, so the guitar player would keep picking it up until it shrank completely. I fixed this by adding a boolean variable, only picking it up if the variable “collected” is false. What’s next? I want to continue to improve the first Guitar minigame by adding some sort of floating animation to the picks and more sfx throughout the game."}, {"post_id": 84561, "ts": "2026-10-29T21:09:43Z", "hours": 1.1256, "text": "TEMPO SURGE DEVLOG: #17 Touch Feedback Improvements! What’s new? Touch Feedback: Most of my buttons on this game were pretty static, so I have done many effects! Start Button: A simple modulate and scale up in size when cursor hovers over it. Bongos: Will shrink down a bit to give a hit visual effect. Note-Clicker: Will change colors in a burst and then disappear. Memorization: Will fade out Tuner: Arrow scales up when hovered Xylophone: Scale up in size when hovered Struggles? I struggled a LOT with learning how to use animations in GODOT and using tween. I used Claude to help me debug because I was getting stuck due to my tween causing accidental bugs such as the arrows never appearing again. I decided to just rewrite the code and it ended up working! What’s next? I want to touch up on the first minigame, the platformer one. I want it to be cooler to play, since as of right now it’s just move and jump. It kinda lacks in animation and whimsy."}, {"post_id": 72779, "ts": "2026-09-23T18:47:30Z", "hours": 1.225, "text": "TEMPO SURGE DEVLOG: #17 MINIGAME 8: MEMORIZATION! okay, TECHNICALLY this is now the seventh minigame, i have swapped this minigame with the bongos so that the trumpet minigame and bongo minigame wouldnt be back to back, since i thought that was too similar of a mechanic to go back and forth. i have made a minigame where you must memorize the notes that are shown on the screen! you have one second to see em, then you must use your keyboard to type out what the notes were! it was finnicky trying to get each step to work, since it must be in order. you cant just press gadc and go through. after i got that to work, i had to overwrite the scenes so that their names would change. if i didnt overwrite, the level scene would not put the right level. think ima ship! also W stardance for getting extended!"}, {"post_id": 66205, "ts": "2026-09-11T21:42:40Z", "hours": 1.4608, "text": "TEMPO SURGE DEVLOG: #16 MINIGAME 7: BONGOS?! i have made a seventh minigame! it is really similar to my sixth minigame though, so i’ll probably switch this minigame to be one of the later minigames instead of being right after the sixth one, which is pressing down the trumpet keys in the way its highlighted. it was hard trying to reuse the sixth minigames code and convert it to a slightly different style for the bongos, but it worked out!"}, {"post_id": 63293, "ts": "2026-09-07T01:23:45Z", "hours": 1.7128, "text": "TEMPO SURGE DEVLOG: #16 MORE INSTRUCTIONS + TRANSITION EFFECT i have completed the remaining instruction pop ups that were missing from the rest of the minigames, and also added a fade-in / fade-out transition effect! its pretty basic and i dont know how to feel about it, but its there! it was really hard figuring out why everything went pitch black, and i thought i had lost all of my progress for a second lol. i figured out that the node being a canvaslayer caused it to go pitch black, so i modified it so itd only work when it had to transition scenes and stuff. im not sure what else to add… but i want to keep working on it. maybe a new minigame?"}, {"post_id": 57826, "ts": "2026-08-30T04:05:49Z", "hours": 1.245, "text": "TEMPO SURGE DEVLOG: #15 INSTRUCTIONS POP-UP alrighty, so after looking at my feedback, i decided to start with the instructions before a minigame. i have added a simple instruction box, with a button with the text “start” for whenever the player is ready to play. it was a bit difficult knowing how to tie in the button and make it so you can’t move the guitar while in the instructions page, but I found a good enough solution by adding a barrier that disappears on click. excited to improve this project!"}, {"post_id": 46170, "ts": "2026-08-13T06:16:45Z", "hours": 1.3028, "text": "redesigned entire game! i have made all of my assets into the pixel art style, and i think im ready to ship?? it took me a long time having to go over each asset and making the edges look crisp without any fuzzy pixels. i have six working minigames! i was wanting to add more, but… no ideas are coming to me and i also want to work on other projects! i can always just ship again lol. this has been SUCH a fun project to work on, and i have learned a lot about godot and art in the process of making this! i hope this brings you as much fun as it brought me!"}, {"post_id": 45620, "ts": "2026-08-12T07:08:56Z", "hours": 0.5292, "text": "redesign! ive redesigned the timer screen to have that pixelated art style, and i have also added instructions too all of my minigames just incase it was unclear on what you were supposed to be doing. i have also tweaked my sixth minigame so that when you play all four notes, you can have some time to spam some notes for fun, disabling the green highlights. the font has also changed to a pixeled one :)"}, {"post_id": 45036, "ts": "2026-08-11T06:13:36Z", "hours": 2.2761, "text": "trumpet playing! sixth minigame done! wowzies… ts took me a bit. this is the sixth minigame i have come up with, where you have to press on the selected keys with your keyboards to play the note. i really like how this turned out, but it took a bit to figure out how i wanted to make this. i went with the press down to play way since it made the most sense on how a trumpet works, and i thought itd be cool to have a functioning trumpet to play with in this minigame! it took me some problem solving to figure out how i wanted to layout the if functions for when two / one key(s) were pressed, but i managed in the end! :D (the fingerings ARENT correct for you trumpet enthusiasts…. i picked two notes that had NO fingerings… so i had to make sum up. sorry!)"}, {"post_id": 44375, "ts": "2026-08-10T02:50:09Z", "hours": 0.8714, "text": "string the harp… done??? okay im REALLY proud of this one. i have tried doing some proper pixel art… and i think its lowkey fire?? :D i wanna try to pixelate the whole game if possible now.. but that might take forever. ive designed the minigame, where you have to click the gray rectangles on the harp to string it. you must click buttons that are across form each other, otherwise it won’t work. this has to be my favorite minigame even though the script really didnt take that long, just a few booleans going from false to true."}, {"post_id": 44343, "ts": "2026-08-10T01:21:51Z", "hours": 0.3914, "text": "fifth minigame: string the harp! i came up with a minigame where you have to string a harp by clicking on two buttons. i might do more buttons later, but i have put only two buttons in for simplicity. i came up with this yesterday late at night so i was overthinking on how to do this… but really, all you gotta do is have two buttons and make a line appear once true, and repeat if you want more strings. i think this will be a nice addition, since harps need to be strung and such. i chose a harp cause… why not? its a pretty cool instrument! no visuals yet… but i will be making some soon :D i THOUGHT of making it a drag from one point to another… but uhhh thats a bit out of my skill level right now. i have searched it up but i got no clear answer or guide, but i might come back if i figure it out!"}, {"post_id": 43852, "ts": "2026-08-09T09:16:21Z", "hours": 1.0772, "text": "fourth minigame done! this took a lot of time thinking and figuring out how to do this… i was thinking it could be a drag and drop system but i found that too complicated, so then i thought of swapping the positions. i had to use some math to find the center of each piece and so that theyd be centered when swapped, and added a slight highlight to see what youre doing better. i used ai to help me figure out how to debug my swapping system, since it was taking a long time and i was getting pretty frustrated."}, {"post_id": 43754, "ts": "2026-08-09T05:30:03Z", "hours": 1.1892, "text": "minigame 4 start! came up with an idea for my fourth minigame! what i have in mind is that it’ll be a puzzle, where you have to put the xylophone parts in descending order, aka largest piece left to smallest piece right. im not sure how to script this though, so ill have to do some googling ! i am pretty excited for this last minigame though, and im planning on redesigning my third minigames background cause i think i chose some really ugly colors lol."}, {"post_id": 43675, "ts": "2026-08-09T02:28:00Z", "hours": 1.3725, "text": "adding options screen, music! i am starting to make the options scene, since it wasnt actually functional and only has a guitar png… but now i will make it so it toggles the music on and off! i have also added music to the game that loops, a retro game vibe. i have also made the third minigame more obvious, adding a “SPAM” text so that the user knows you have to spam click, as well as making the first minigame easier by adding more time since the only way you could beat it is if you had a perfect run, which could get frustrating."}, {"post_id": 35741, "ts": "2026-07-27T11:38:30Z", "hours": 0.3611, "text": "itch.io page up! the game is functional, so i have decided to export it to itch.io. exporting it was a bit tricky since i didn’t have web downloaded, but i was able to export it into the itch.io page and now it’s runnable! i think i’m going to ship it now, and keep working on it even after i have shipped. making all the assets and programming the minigames to work has been fun!"}, {"post_id": 35654, "ts": "2026-07-27T07:21:59Z", "hours": 1.6461, "text": "third minigame done! i have finished up my third minigame, where you have to press up or down depending if you’re sharp or flat (music tuning terms). i have also made a losing screen and winning screen. it was tricky figuring out what type of minigame i should make, but then i remembered that to play instruments, you gotta tune to sound good! i used the second minigame clicker script to help guide me on how to make this third minigame, with some googling. i think this project has gone way better than i expected, and im excited for when i ship it!"}, {"post_id": 35082, "ts": "2026-07-26T09:01:34Z", "hours": 0.5214, "text": "clicker minigame! finished up the clicker minigame scene, going onto the win / lose screens now. i was able to put in the scripts so that once clicked, the music note will disappear and will count towards if the player won the minigame or not. it was a bit funky trying to put in the script and connecting the signals properly, but i managed to do it! i like how the game is going so far, i have learned a lot about godot :)"}, {"post_id": 34487, "ts": "2026-07-25T07:51:13Z", "hours": 1.2006, "text": "finally added guitar picks :) designed some funky guitar picks that are collectable once the guitar player collides with it. i also programmed an animation so they float. i really like how the guitar picks contrast a lot, making them easy to see. i struggled a lot with figuring out why my script couldn’t find the timer node, since i (thought i) had followed the guide exactly. my mistake was that i didn’t label the text (which had to be named timer so the script could find it), so “timer” never actually existed. i consulted claude a bit to help me debug this issue. this helped me learn how to debug script problems and a good reminder to check what things are named so far, this has been pretty fun! my godot DID randomly crash, which freaked me out so much, but nothing was lost! remember to ctrl + s!"}, {"post_id": 34430, "ts": "2026-07-25T04:08:27Z", "hours": 1.8572, "text": "started on my first minigame! it got some platforms, and the player is able to jump on each one of them. it was hard placing each platform in a good height where the player could jump on it with ease, while also making an engaging parkour setup where it had some sort of challenge that was fun to play through. i learned a lot about how different shapes for collisions worked, like how the oval collision that i chose for my player allows it to climb up the edges of each platform, which i thought was a nice feature!"}, {"post_id": 33872, "ts": "2026-07-24T04:24:23Z", "hours": 0.4897, "text": "started a warioware inspired game! so far, i have a format for a main menu done and the buttons lead to different scenes. the trickiest part was trying to set godot up with github, and also the tracking time plugin. i had to put the super wakatime addons inside the project folder manually to fix it. once i got that figured out and working, things have been simple. the guide has been a huge help on starting this!"}]...
|
Title: TEMPO SURGE by @marygoat | Stardance
Devlo Title: TEMPO SURGE by @marygoat | Stardance
Devlogs:
started a warioware inspired game! so far, i have a format for a main menu done and the buttons lead to different scenes. the trickiest part was trying to set godot up with github, and also the tracking time plugin. i had to put the super wakatime addons inside the project folder manually to fix it. once i got that figured out and working, things have been simple. the guide has been a huge help on starting this!
started on my first minigame! it got some platforms, and the player is able to jump on each one of them. it was hard placing each platform in a good height where the player could jump on it with ease, while also making an engaging parkour setup where it had some sort of challenge that was fun to play through. i learned a lot about how different shapes for collisions worked, like how the oval collision that i chose for my player allows it to climb up the edges of each platform, which i thought was a nice feature!
finally added guitar picks :) designed some funky guitar picks that are collectable once the guitar player collides with it. i also programmed an animation so they float. i really like how the guitar picks contrast a lot, making them easy to see. i struggled a lot with figuring out why my script couldn’t find the timer node, since i (thought i) had followed the guide exactly. my mistake was that i didn’t label the text (which had to be named timer so the script could find it), so “timer” never actually existed. i consulted claude a bit to help me debug this issue. this helped me learn how to debug script problems and a good reminder to check what things are named so far, this has been pretty fun! my godot DID randomly crash, which freaked me out so much, but nothing was lost! remember to ctrl + s!
clicker minigame! finished up the clicker minigame scene, going onto the win / lose screens now. i was able to put in the scripts so that once clicked, the music note will disappear and will count towards if the player won the minigame or not. it was a bit funky trying to put in the script and connecting the signals properly, but i managed to do it! i like how the game is going so far, i have learned a lot about godot :)
third minigame done! i have finished up my third minigame, where you have to press up or down depending if you’re sharp or flat (music tuning terms). i have also made a losing screen and winning screen. it was tricky figuring out what type of minigame i should make, but then i remembered that to play instruments, you gotta tune to sound good! i used the second minigame clicker script to help guide me on how to make this third minigame, with some googling. i think this project has gone way better than i expected, and im excited for when i ship it!
itch.io page up! the game is functional, so i have decided to export it to itch.io. exporting it was a bit tricky since i didn’t have web downloaded, but i was able to export it into the itch.io page and now it’s runnable! i think i’m going to ship it now, and keep working on it even after i have shipped. making all the assets and programming the minigames to work has been fun!
adding options screen, music! i am starting to make the options scene, since it wasnt actually functional and only has a guitar png… but now i will make it so it toggles the music on and off! i have also added music to the game that loops, a retro game vibe. i have also made the third minigame more obvious, adding a “SPAM” text so that the user knows you have to spam click, as well as making the first minigame easier by adding more time since the only way you could beat it is if you had a perfect run, which could get frustrating.
minigame 4 start! came up with an idea for my fourth minigame! what i have in mind is that it’ll be a puzzle, where you have to put the xylophone parts in descending order, aka largest piece left to smallest piece right. im not sure how to script this though, so ill have to do some googling ! i am pretty excited for this last minigame though, and im planning on redesigning my third minigames background cause i think i chose some really ugly colors lol.
fourth minigame done! this took a lot of time thinking and figuring out how to do this… i was thinking it could be a drag and drop system but i found that too complicated, so then i thought of swapping the positions. i had to use some math to find the center of each piece and so that theyd be centered when swapped, and added a slight highlight to see what youre doing better. i used ai to help me figure out how to debug my swapping system, since it was taking a long time and i was getting pretty frustrated.
fifth minigame: string the harp! i came up with a minigame where you have to string a harp by clicking on two buttons. i might do more buttons later, but i have put only two buttons in for simplicity. i came up with this yesterday late at night so i was overthinking on how to do this… but really, all you gotta do is have two buttons and make a line appear once true, and repeat if you want more strings. i think this will be a nice addition, since harps need to be strung and such. i chose a harp cause… why not? its a pretty cool instrument! no visuals yet… but i will be making some soon :D i THOUGHT of making it a drag from one point to another… but uhhh thats a bit out of my skill level right now. i have searched it up but i got no clear answer or guide, but i might come back if i figure it out!
string the harp… done??? okay im REALLY proud of this one. i have tried doing some proper pixel art… and i think its lowkey fire?? :D i wanna try to pixelate the whole game if possible now.. but that might take forever. ive designed the minigame, where you have to click the gray rectangles on the harp to string it. you must click buttons that are across form each other, otherwise it won’t work. this has to be my favorite minigame even though the script really didnt take that long, just a few booleans going from false to true.
trumpet playing! sixth minigame done! wowzies… ts took me a bit. this is the sixth minigame i have come up with, where you have to press on the selected keys with your keyboards to play the note. i really like how this turned out, but it took a bit to figure out how i wanted to make this. i went with the press down to play way since it made the most sense on how a trumpet works, and i thought itd be cool to have a functioning trumpet to play with in this minigame! it took me some problem solving to figure out how i wanted to layout the if functions for when two / one key(s) were pressed, but i managed in the end! :D (the fingerings ARENT correct for you trumpet enthusiasts…. i picked two notes that had NO fingerings… so i had to make sum up. sorry!)
redesign! ive redesigned the timer screen to have that pixelated art style, and i have also added instructions too all of my minigames just incase it was unclear on what you were supposed to be doing. i have also tweaked my sixth minigame so that when you play all four notes, you can have some time to spam some notes for fun, disabling the green highlights. the font has also changed to a pixeled one :)
redesigned entire game! i have made all of my assets into the pixel art style, and i think im ready to ship?? it took me a long time having to go over each asset and making the edges look crisp without any fuzzy pixels. i have six working minigames! i was wanting to add more, but… no ideas are coming to me and i also want to work on other projects! i can always just ship again lol. this has been SUCH a fun project to work on, and i have learned a lot about godot and art in the process of making this! i hope this brings you as much fun as it brought me!
TEMPO SURGE DEVLOG: #15 INSTRUCTIONS POP-UP alrighty, so after looking at my feedback, i decided to start with the instructions before a minigame. i have added a simple instruction box, with a button with the text “start” for whenever the player is ready to play. it was a bit difficult knowing how to tie in the button and make it so you can’t move the guitar while in the instructions page, but I found a good enough solution by adding a barrier that disappears on click. excited to improve this project!
TEMPO SURGE DEVLOG: #16 MORE INSTRUCTIONS + TRANSITION EFFECT i have completed the remaining instruction pop ups that were missing from the rest of the minigames, and also added a fade-in / fade-out transition effect! its pretty basic and i dont know how to feel about it, but its there! it was really hard figuring out why everything went pitch black, and i thought i had lost all of my progress for a second lol. i figured out that the node being a canvaslayer caused it to go pitch black, so i modified it so itd only work when it had to transition scenes and stuff. im not sure what else to add… but i want to keep working on it. maybe a new minigame?
TEMPO SURGE DEVLOG: #16 MINIGAME 7: BONGOS?! i have made a seventh minigame! it is really similar to my sixth minigame though, so i’ll probably switch this minigame to be one of the later minigames instead of being right after the sixth one, which is pressing down the trumpet keys in the way its highlighted. it was hard trying to reuse the sixth minigames code and convert it to a slightly different style for the bongos, but it worked out!
TEMPO SURGE DEVLOG: #17 MINIGAME 8: MEMORIZATION! okay, TECHNICALLY this is now the seventh minigame, i have swapped this minigame with the bongos so that the trumpet minigame and bongo minigame wouldnt be back to back, since i thought that was too similar of a mechanic to go back and forth. i have made a minigame where you must memorize the notes that are shown on the screen! you have one second to see em, then you must use your keyboard to type out what the notes were! it was finnicky trying to get each step to work, since it must be in order. you cant just press gadc and go through. after i got that to work, i had to overwrite the scenes so that their names would change. if i didnt overwrite, the level scene would not put the right level. think ima ship! also W stardance for getting extended!
TEMPO SURGE DEVLOG: #17 Touch Feedback Improvements! What’s new? Touch Feedback: Most of my buttons on this game were pretty static, so I have done many effects! Start Button: A simple modulate and scale up in size when cursor hovers over it. Bongos: Will shrink down a bit to give a hit visual effect. Note-Clicker: Will change colors in a burst and then disappear. Memorization: Will fade out Tuner: Arrow scales up when hovered Xylophone: Scale up in size when hovered Struggles? I struggled a LOT with learning how to use animations in GODOT and using tween. I used Claude to help me debug because I was getting stuck due to my tween causing accidental bugs such as the arrows never appearing again. I decided to just rewrite the code and it ended up working! What’s next? I want to touch up on the first minigame, the platformer one. I want it to be cooler to play, since as of right now it’s just move and jump. It kinda lacks in animation and whimsy.
TEMPO SURGE DEVLOG: #18 Chill Mode, Animation on Pick Up! What’s new? Chill Mode: A mode that gives each level an additional 4 seconds to make it easier! Acess it through Options. Guitar Pick Up: In the first Minigame, you collect Guitar Picks. On pick up, a retro sound plays and the pick shrinks instead of just disappearing. Instructions Update: I have modified some instructions to make it more obvious, such as the Xylophone minigame specifying that dragging is NOT a thing, only clicks. Specified Memorization minigame and Trumpet minigame. Instructions Border: Added a border to make the instruction card a bit nicer. Struggles? I struggled a lot with the guitar pick up. When I added the animation of it shrinking, the game counted it as TONS of pick up since the pick didn’t hide immediately, so the guitar player would keep picking it up until it shrank completely. I fixed this by adding a boolean variable, only picking it up if the variable “collected” is false. What’s next? I want to continue to improve the first Guitar minigame by adding some sort of floating animation to the picks and more sfx throughout the game.
TEMPO SURGE DEVLOG: #19 SHIP! What’s new? Sound Effects: A lot of new sfx for almost all the levels, such as jump sounds, harp strings, xylophone, etc. Floating Picks: Floating animation NOW WORKS! This was in the guide but I couldn’t get it to work in the time so I just ignored it til now. Struggles? I struggled with getting the timing of the sfx right and putting it in the right part of the code, since it would sometimes not play or get cut off due to the scene changing. I had to delay scene change in minigames such as the Harp minigame due to the string noise getting cut off which is a bit awkward sounding. What’s next? SHIP! Ship often and ship early, am I right? I want that finality bonus and I’m not sure what else to add, so take this!
TEMPO SURGE DEVLOG: #20 METRONOME MINIGAME! What’s new? Metronome: Click when the pendelum is at the center of the metronome three times! One off beat count and you’re out. Chill Mode Buff: 4.0 seconds -> 7.0 seconds, making the game even chiller! Guitar Platformer: New moving platform! Also changed the platforms to be a brighter pink for contrast so that players can easily see where to go. Might change the pink. Button Hover: Now does a wobble when the mouse enters it! Struggle Text: After you have failed a level, the life scene shows a text that tells you about the Chill mode. Makes players aware of the difficulty mode change. Additional Time: More time on Harp, Xylophone, and Platformer minigames to make it balanced, especially for trackpad users. Struggles? Coming up with an idea for another minigame was pretty hard, and making it was harder! I struggled with the math and where the pivot should be, which made sense to make it the bottom since that’s where a pivot on a metronome pendelum actually is. I asked Claude to help me with the math, since it was taking me a bit to figure out. What’s next? I’m going to continue to improve my new minigame, as well as probably make adjustments to sound effects? I want to polish this some more, but I’m kinda lost on how.
TEMPO SURGE DEVLOG: #21 GIF INSTRUCTIONS! What’s new? GIF Instructions: There is now a button for each instruction card that shows you what to do, hopefully clearing any confusion about some of my poorly written instructions. Time changes: Gave a bit less time to xylophone because of instructions. Struggles? I struggled trying to figure out how to implement a gif into the system, but with a bit of googling and help of Godot forums, I figured that the best way was to add an AnimatedSprite2D and have a video to png converter so that I could just add all of the pngs into that sprite and animate it that way. It worked out pretty well, and I was familiar with AnimatedSpritess due to my virtual pet project, so that skill transferred over! Kewls. What’s next? I might do some UI updates, like to the new gif and some polishing, but other than that I think I’m done?
TEMPO SURGE DEVLOG: #22 Improved Touch Feedback, Lose Life Anim What’s new? Touch Feedback: Minigame 3, Tuner, now shakes the arrow if it’s the wrong direction and plays a wrong sound and right sound if it’s the wrong / right arrow to press on. Minigame 5, Harp, now has a string that follows your mouse when you only click on one box. Life Screen: If you lose a life, the note will sway back and forth and then fall off. Also plays a record scratch sound. Guitar Animation: Minigame 1, Guitar Platformer, now spins as it walks to give it a bit more personality! If stopped, will spin until it’s back at its original state. Timer Pressure: When the minigame is close to ending, the music will speed up and the timer will pulse + slowly turn red to induce some sort of panic? Struggles? I struggled with the losing life section, since I had to figure out what the best way to tween the note would be, alongside how to place the record scratch sound. I keep running into bugs since I tried to put a timer to wait for the sound to play only til the note actually dropped off the staff. What’s next? Might ship? Might keep working? It depends on if I come up with any new ideas throughout the day before Stardance ends, which, RIP! Stardance has been pretty cool, and I’ll miss it!
TEMPO SURGE DEVLOG: #23 READme update, GIF bg, SHIP? What’s next? READme: I have added the last minigame to the list, alongside naming all of the other minigames to something new. Updated AI usage + added some images. GIF Background: All gifs in the instructions before the minigame starts now have the same card background as the instructions. Time changes: Subtracted some thing from Memorization first phase if Chill Mode is on due to the initial time + Chill Mode time making it too long. Struggles? Not too many this time around, just wrapping things up! I did want to put a gif into the READme, but then I just went with some images, so there’s that. What’s next? SHIPPING! This is a quick devlog, and I’m ready to ship this. Stardance is ending, and this has been an amazing journey. I have learned and grown so much, so this YSWS ending will be a bit sad.
Ships:
Tempo Surge A game inspired off of WarioWare, where you must complete many minigames to win! Controls: WASD / Arrow keys to move Space to jump Mouse click to interact with things Features 3 fast minigames! Such as: Platformer - Grab the guitar picks as fast as possible Clicker - Collect all the music notes in time Click-Smasher - Tune your sound before time ends Made in Godot and was made for the Stardance Hackclub program, with the project: Make a WarioWare game. All art assets used in game were made by me. I will probably add more things in the game, as well as redesign some things that I didn’t really like but didn’t want to spend more time drawing. Hope you have fun playing Tempo Surge!
Tempo Surge, A WarioWare like game where you have to complete minigames without losing lives to win! It was pretty challenging coming up with minigame ideas that were creative and original, while also making sense for the music theme I had going on! I am really proud of my new minigames, I think they’re pretty engaging. I am also proud that I made the game a bit more polished and nicer to look at. To play, press try project down below and press run, or go to: https://marygoat.itch.io/tempo-surge to play! Controls WASD / Arrow keys to move Space to jump Mouse click to interact with things 1 2 3 on keyboard to press trumpet keys Features 6 fast-paced minigames! Such as: Platformer - Grab the guitar picks as fast as possible Clicker - Collect all the music notes in time Click-Smasher - Tune your sound before time ends Swap Pieces - Swap the xylophone keys into place Click parallel buttons - String the harp as soon as you can Press keyboard numbers - Press the trumpet keys in the right order Made in Godot and was made for the Stardance Hackclub program, with the project: Make a WarioWare game. Tempo Surge was also made in order to learn Godot and to learn how to make games and art. All art assets used in game were made by me :) More minigames might be added in the future, but the game seems to be in a good spot for now! Hope you have fun playing Tempo Surge! AI Usage I used AI to help me debug some errors in the code as well as help me bring the fourth minigame to life, since I wasn’t sure on what the best way of adding a swap object system would look like.
Tempo Surge A WarioWare like game where you have to complete minigames without losing lives to win! Controls WASD / Arrow keys to move Space / W / Up arrow to jump Mouse click to interact with things 1 2 3 on keyboard to press trumpet keys Q E on the bongos A B C D E F G for the memorization minigame Features 8 fast-paced minigames! Such as: Platformer - Grab the guitar picks as fast as possible Clicker - Collect all the music notes in time Click-Smasher - Tune your sound before time ends Swap Pieces - Swap the xylophone keys into place Click parallel buttons - String the harp as soon as you can Press keyboard numbers - Press the trumpet keys in the right order NEW ONES SINCE LAST SHIP: Memorization - Press the right letters in the right order of the notes that appear Press keyboard letters - Press the correct bongo in the right order All art assets used in game were made by me :) Hope you have fun playing Tempo Surge! AI USAGE: I used AI to help me debug some errors in the code as well as help me bring the fourth minigame to life, since I wasn’t sure on what the best way of adding a swap object system would look like.
A game inspired off of WarioWare, where you must complete many minigames to win! a You can play Tempo Surge at: https://marygoat.itch.io/tempo-surge To start, just press run! Controls WASD / Arrow keys to move Space / W / Up arrow to jump Mouse click to interact with things 1 2 3 on keyboard to press trumpet keys Q E on the bongos A B C D E F G for the memorization minigame Features 8 fast-paced minigames! Such as: Platformer - Grab the guitar picks as fast as possible Clicker - Collect all the music notes in time Click-Smasher - Tune your sound before time ends Swap Pieces - Swap the xylophone keys into place Click parallel buttons - String the harp as soon as you can Press keyboard numbers - Press the trumpet keys in the right order Memorization - Press the right letters in the right order of the notes that appear Press keyboard letters - Press the correct bongo in the right order Made in Godot and was made for the Stardance Hackclub program, with the project: Make a WarioWare game. Tempo Surge was also made in order to learn Godot and to learn how to make games and art. All art assets used in game were made by me :) I will probably add more things in the game, as well as redesign some things that I didn’t really like but didn’t want to spend more time drawing. Hope you have fun playing Tempo Surge! AI Usage I used AI to help me debug some errors in the code as well as help me bring the fourth minigame to life, since I wasn’t sure on what the best way of adding a swap object system would look like.
A WarioWare like game where you have to complete minigames without losing lives to win! Controls WASD / Arrow keys to move Space / W / Up arrow to jump Mouse click to interact with things 1 2 3 on keyboard to press trumpet keys Q E on the bongos A B C D E F G for the memorization minigame Features 9 fast-paced minigames! Such as: Guitar Platformer - Grab the guitar picks as fast as possible! Note Clicker - Collect all the music notes in time! Tuner - Tune your sound before time ends! Wrong Order - Swap the xylophone keys into place! String the Harp - String the harp as soon as you can! Trumpet Player - Press the trumpet keys in the right order! Memorization - Press the right letters in the right order of the notes that appear! Bongo - Press the correct bongo in the right order! Metronome - Click when the pendelum of the metronome is in the middle! Chill Mode - Turn this on through Options to have more time during the minigames! Made in Godot and was made for the Stardance Hackclub program, with the project: Make a WarioWare game. Tempo Surge was also made in order to learn Godot and to learn how to make games and art. All art assets used in game were made by me :) More minigames might be added in the future, but the game seems to be in a good spot for now! Hope you have fun playing Tempo Surge! AI USAGE: I used AI to help me debug some errors in the code as well as help me bring the fourth minigame to life, since I wasn’t sure on what the best way of adding a swap object system would look like. Also used it to help me learn how to tween objects in order to have a better touch feedback system....
|
1793515636.572931
|
1793602036.572931
|
|
38918
|
Votrio by @shivcodes | Stardance
|
shivcodes
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-24T16:36:14Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built a project that scans GitHub repositories for security vulnerabilities. It’s designed for developers who use AI to write code, helping them catch security issues before shipping that code to production. It analyzes repositories, surfaces potential risks, and makes it easier to ship safer software with confidence.", "repo": "https://github.com/shaypat112/votrio", "demo": "https://votrio.vercel.app/"}]...
|
[{"post_id": 34105, "ts": "202 [{"post_id": 34105, "ts": "2026-07-24T16:15:09Z", "hours": 2.6631, "text": "Archetecture For Votrio"}]...
|
Title: Votrio by @shivcodes | Stardance
Devlogs:
Title: Votrio by @shivcodes | Stardance
Devlogs:
Archetecture For Votrio
Ships:
I built a project that scans GitHub repositories for security vulnerabilities. It’s designed for developers who use AI to write code, helping them catch security issues before shipping that code to production. It analyzes repositories, surfaces potential risks, and makes it easier to ship safer software with confidence....
|
1793515633.8597631
|
1793602033.8597631
|