|
27064
|
Mission #0717 by @vandenelis | Stardance
|
vandenelis
|
1
|
22.0
|
263
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-13T13:01:46Z", "hours": 22.0, "multiplier": 12.13, "payout": 263, "blessing": "neutral", "text": "I made a small app for a one-day adventure. The project features 3 sections: Geoguessr (find the described place and do a challenge there), Color Catch (upload photos of items of certain colors and categories) and Photo Booth (recreate the given photo and upload you version). Originally, it was made as a gift for my partner (and in Lithuanian), but it’s possible to easily modify the system and personalise everything for other users. Every challenge contributes to a global progress bar. The initial idea is to use it for earning the big prize - in my case, TLT concert tickets :D. Since there is no actual virtual prize, the user is free to think of a personalised reward at any point of completion. This was a great way to not only brighten a friend’s day, but also learn how to use React Native and Expo Go. I strictly limited the amount of AI used for that natural “trial and error” process, so Claude Code was used only for minor debugging and certain reference points. The knowledge gained will let me further work on more ambitious app ideas I’ve had for ages! –What to know before trying for yourself– As of now, and, to be fair, probably forever, the production version is made only for Android 7.0+. You can install it in the Github repo Latest Release page. –Possible areas of improvement– If there would be actual users of the app, I could translate everything into English. Make a tutorial/info page. Create a “full-completion” celebrating pop-up.", "repo": "https://github.com/bulviakas/mission-0717", "demo": "https://github.com/bulviakas/mission-0717/releases/tag/v1.0.0"}]...
|
[{"post_id": 46005, "ts": "202 [{"post_id": 46005, "ts": "2026-08-12T21:12:24Z", "hours": 3.9936, "text": "READY TO SHIP!!! The occasion for this amazing app has already long passed and I’m happy to share that the gift was a total success ! ;D Now in between vacation and other side-quests, I’ve managed to tidy everything up enough to be able to share all this with the wider audience. The app itself has undergone minor tweaks - a title on the home page and a custom app icon . Took me quite a bit to figure out how the .apk packages work, though. I’m hoping that I managed to successfully create a signed copy of my creation and it is accessable for everybody in the repo Releases section. Lastly, the easiest, yet the most daunting part was writing the actual README. It might not be the most pleasant looking description in the world, but it’s mine and that’s what matters :) Now fingers crossed I did everything correctly for shipping…"}, {"post_id": 29370, "ts": "2026-07-16T08:43:55Z", "hours": 4.7308, "text": "ALL CHALLENGE SECTIONS DONE The long-dreaded film roll update turned out to be way easier than expected. I really wanted to maximise the Photo Booth experience, that’s why I made the photos show up on the roll after task completion. Now it actually looks like those photo strips in real life! This morning I also built the third section - Color Catch. The concept is to photograph certain objects of certain colours and complete the collection. That is why the rainbow section screen is the perfect way to go! I didn’t really want to overwhelm the adventure more by adding less frequent categories for hunting (like animals or clothing (find a purple animal xd)), so I simplified it to 6 photos from 4 categories (2 for nature and random). The photo upload logic is similar to the Photo challenges. To be fair, it was surprisingly satisfying rewriting the challenge types after it got messy. Instead of separate MapChallenge and PhotoChallenge elements, I put the shared logic into BaseChallenge and just extended that interface with section specific parameters. The only thing is have trouble fixing is the color challenge modal size. For some reason, everywhere except the Expo Go app on my phone, the photos are square ant the window wraps them beautifully. But on my mobile, the aspect ratio is off and there are a lot of free space for no apparent reason. I tried everything, but maybe this is one of those things, that fixes itself up after a short break :)"}, {"post_id": 28893, "ts": "2026-07-15T14:22:46Z", "hours": 8.3133, "text": "FIRST SECTION FINISHED!!! The “Goeguessr” section (where the challenges are to find the described place and complete a quest at it) is now complete. The only missing (though optional) part is the collection of stickers after completion of every task, however, for now I’m moving on to the other part of the adventure. Below there’s a screenshot of one of the final quest version. A for the Photo Booth , I’m super proud of the film roll design for the photo challenges. Nothing too complicated, just playing around with color-matching and margins :p Now I continue to work on creating the actual Booth challenges. The idea is to give an example drawing of a duo pose and the user has to replicate it and upload the photo to the app. Completed challenges display the taken picture on the film roll. So writing their logic is currently the first point on my To-do list."}, {"post_id": 27593, "ts": "2026-07-13T09:48:48Z", "hours": 4.6497, "text": "For these past few days, I’ve been getting familiar with Expo Go and React Native, since I’ve never done mobile or much web development before. Now about the project itself, I’m building a fun little temporary app as a gift for my partner - basically a guide for a whole-day date. The idea is that there are 3 sections: memorable spot searching, photographing specific colours to form a puzzle and replicating silly couple photography poses. For every challenge, the user collects custom design stickers (which are made irl too!) and with enough progress unlocks the big prize - tickets to a favourite concert! Now I’m focusing on building the “Geoguessr” quest. The main screen base is done, map challenge page layout is mostly done, I even managed to successfully implement task completion. Some design touch ups are still due and I actually need to write the challenges. But it’s a great start!"}]...
|
Title: Mission #0717 by @vandenelis | Stardance
D Title: Mission #0717 by @vandenelis | Stardance
Devlogs:
For these past few days, I’ve been getting familiar with Expo Go and React Native, since I’ve never done mobile or much web development before. Now about the project itself, I’m building a fun little temporary app as a gift for my partner - basically a guide for a whole-day date. The idea is that there are 3 sections: memorable spot searching, photographing specific colours to form a puzzle and replicating silly couple photography poses. For every challenge, the user collects custom design stickers (which are made irl too!) and with enough progress unlocks the big prize - tickets to a favourite concert! Now I’m focusing on building the “Geoguessr” quest. The main screen base is done, map challenge page layout is mostly done, I even managed to successfully implement task completion. Some design touch ups are still due and I actually need to write the challenges. But it’s a great start!
FIRST SECTION FINISHED!!! The “Goeguessr” section (where the challenges are to find the described place and complete a quest at it) is now complete. The only missing (though optional) part is the collection of stickers after completion of every task, however, for now I’m moving on to the other part of the adventure. Below there’s a screenshot of one of the final quest version. A for the Photo Booth , I’m super proud of the film roll design for the photo challenges. Nothing too complicated, just playing around with color-matching and margins :p Now I continue to work on creating the actual Booth challenges. The idea is to give an example drawing of a duo pose and the user has to replicate it and upload the photo to the app. Completed challenges display the taken picture on the film roll. So writing their logic is currently the first point on my To-do list.
ALL CHALLENGE SECTIONS DONE The long-dreaded film roll update turned out to be way easier than expected. I really wanted to maximise the Photo Booth experience, that’s why I made the photos show up on the roll after task completion. Now it actually looks like those photo strips in real life! This morning I also built the third section - Color Catch. The concept is to photograph certain objects of certain colours and complete the collection. That is why the rainbow section screen is the perfect way to go! I didn’t really want to overwhelm the adventure more by adding less frequent categories for hunting (like animals or clothing (find a purple animal xd)), so I simplified it to 6 photos from 4 categories (2 for nature and random). The photo upload logic is similar to the Photo challenges. To be fair, it was surprisingly satisfying rewriting the challenge types after it got messy. Instead of separate MapChallenge and PhotoChallenge elements, I put the shared logic into BaseChallenge and just extended that interface with section specific parameters. The only thing is have trouble fixing is the color challenge modal size. For some reason, everywhere except the Expo Go app on my phone, the photos are square ant the window wraps them beautifully. But on my mobile, the aspect ratio is off and there are a lot of free space for no apparent reason. I tried everything, but maybe this is one of those things, that fixes itself up after a short break :)
READY TO SHIP!!! The occasion for this amazing app has already long passed and I’m happy to share that the gift was a total success ! ;D Now in between vacation and other side-quests, I’ve managed to tidy everything up enough to be able to share all this with the wider audience. The app itself has undergone minor tweaks - a title on the home page and a custom app icon . Took me quite a bit to figure out how the .apk packages work, though. I’m hoping that I managed to successfully create a signed copy of my creation and it is accessable for everybody in the repo Releases section. Lastly, the easiest, yet the most daunting part was writing the actual README. It might not be the most pleasant looking description in the world, but it’s mine and that’s what matters :) Now fingers crossed I did everything correctly for shipping…
Ships:
I made a small app for a one-day adventure. The project features 3 sections: Geoguessr (find the described place and do a challenge there), Color Catch (upload photos of items of certain colors and categories) and Photo Booth (recreate the given photo and upload you version). Originally, it was made as a gift for my partner (and in Lithuanian), but it’s possible to easily modify the system and personalise everything for other users. Every challenge contributes to a global progress bar. The initial idea is to use it for earning the big prize - in my case, TLT concert tickets :D. Since there is no actual virtual prize, the user is free to think of a personalised reward at any point of completion. This was a great way to not only brighten a friend’s day, but also learn how to use React Native and Expo Go. I strictly limited the amount of AI used for that natural “trial and error” process, so Claude Code was used only for minor debugging and certain reference points. The knowledge gained will let me further work on more ambitious app ideas I’ve had for ages! –What to know before trying for yourself– As of now, and, to be fair, probably forever, the production version is made only for Android 7.0+. You can install it in the Github repo Latest Release page. –Possible areas of improvement– If there would be actual users of the app, I could translate everything into English. Make a tutorial/info page. Create a “full-completion” celebrating pop-up....
|
1793328732.1900778
|
1793415132.1900778
|
|
27083
|
FarmerBG by @michaelbg | Stardance
|
michaelbg
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-27T21:44:26Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A farmer’s marketplace that connects buyers with sellers directly, focused to target the Bulgarian market at first before scale. All of them are disconnected and split around Facebook, OLX, Bazarbg etc. so we merge them in one place. Bulgaria struggles to connect farmers with a buyer so here is a solution.", "repo": "https://github.com/JacobJandon/farmerbg-web", "demo": "https://www.pgmss-farmerbg.com/"}]...
|
[{"post_id": 17161, "ts": "202 [{"post_id": 17161, "ts": "2026-06-27T21:04:15Z", "hours": 3.7703, "text": "Worked on admin panel: ─── (everything below is the original prod baseline) ─── d9ff7d6 2026-02-10 text: rename to “Училищен фермерски пазар”… 09b3330 2026-02-08 FarmerBG Web App - Production Ready 🧩 Admin-specific work in those commits115d758 — the big one: reconciled all 18 admin pages + 8 admin API routes to the real DB schema (offers/orders removed, moderation→reports table, verification→seller_verification_status, security/sessions/tickets column casts, etc.).e71db12 — admin-sidebar.tsx scrollable nav; moderation/page.tsx resolve/ban write valid columns; user-actions.tsx Verify/Ban fixed (is_verified_seller/is_banned).05888b3 — product-table.tsx + user-actions.tsx: three-dots dropdowns now position:fixed so last-row menus aren’t clipped."}]...
|
Title: FarmerBG by @michaelbg | Stardance
Devlogs Title: FarmerBG by @michaelbg | Stardance
Devlogs:
Worked on admin panel: ─── (everything below is the original prod baseline) ─── d9ff7d6 2026-02-10 text: rename to “Училищен фермерски пазар”… 09b3330 2026-02-08 FarmerBG Web App - Production Ready 🧩 Admin-specific work in those commits115d758 — the big one: reconciled all 18 admin pages + 8 admin API routes to the real DB schema (offers/orders removed, moderation→reports table, verification→seller_verification_status, security/sessions/tickets column casts, etc.).e71db12 — admin-sidebar.tsx scrollable nav; moderation/page.tsx resolve/ban write valid columns; user-actions.tsx Verify/Ban fixed (is_verified_seller/is_banned).05888b3 — product-table.tsx + user-actions.tsx: three-dots dropdowns now position:fixed so last-row menus aren’t clipped.
Ships:
A farmer’s marketplace that connects buyers with sellers directly, focused to target the Bulgarian market at first before scale. All of them are disconnected and split around Facebook, OLX, Bazarbg etc. so we merge them in one place. Bulgaria struggles to connect farmers with a buyer so here is a solution....
|
1793242254.032024
|
1793328654.032024
|
|
27099
|
. by @ayshine | Stardance
|
ayshine
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-10T12:06:41Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What did you make? XO OS – a fully functional desktop OS in the browser. Includes 10 apps, draggable windows, taskbar, start menu, and easter eggs (Konami Code, Secret Menu, Retro Mode). Built with HTML, CSS, JavaScript. What was challenging? Git issues (nested .git folder, master vs main) CSS vendor prefixes (background-clip bug) Window z-index management Secret Menu trigger (clock double-click) – added terminal backup Album app typo (win-photo album vs win-album) GitHub Pages not working – switched to Vercel What are you proud of? Complete OS in a single HTML file 10 working apps Creative easter eggs Mobile responsive Learned a ton and didn’t give up! How to test? Live Demo: https://webos1xo.vercel.app Double-click desktop Weeknd’s famous sayings Try the terminal: type help Konami Code: ↑ ↑ ↓ ↓ ← → ← → B A Secret Menu: double-click clock 7x OR type secret", "repo": "", "demo": ""}]...
|
[{"post_id": 25369, "ts": "202 [{"post_id": 25369, "ts": "2026-07-09T16:54:27Z", "hours": 2.39, "text": "tried adding konami code and a secret menu but ended up showing some errors. Will figure it out later."}, {"post_id": 22940, "ts": "2026-07-05T16:28:12Z", "hours": 1.1333, "text": "DONE WITH THE APP STYLE YALLLLLLLLL"}, {"post_id": 22891, "ts": "2026-07-05T15:05:21Z", "hours": 0.3064, "text": "Started off with my Weeknd based WebOs"}]...
|
Title: . by @ayshine | Stardance
Devlogs:
Started Title: . by @ayshine | Stardance
Devlogs:
Started off with my Weeknd based WebOs
DONE WITH THE APP STYLE YALLLLLLLLL
tried adding konami code and a secret menu but ended up showing some errors. Will figure it out later.
Ships:
What did you make? XO OS – a fully functional desktop OS in the browser. Includes 10 apps, draggable windows, taskbar, start menu, and easter eggs (Konami Code, Secret Menu, Retro Mode). Built with HTML, CSS, JavaScript. What was challenging? Git issues (nested .git folder, master vs main) CSS vendor prefixes (background-clip bug) Window z-index management Secret Menu trigger (clock double-click) – added terminal backup Album app typo (win-photo album vs win-album) GitHub Pages not working – switched to Vercel What are you proud of? Complete OS in a single HTML file 10 working apps Creative easter eggs Mobile responsive Learned a ton and didn’t give up! How to test? Live Demo: https://webos1xo.vercel.app Double-click desktop Weeknd’s famous sayings Try the terminal: type help Konami Code: ↑ ↑ ↓ ↓ ← → ← → B A Secret Menu: double-click clock 7x OR type secret...
|
1793310922.6645238
|
1793397322.6645238
|
|
27111
|
Eridian Speak by @hoshiko | Stardance
|
hoshiko
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-22T15:58:17Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I LOVE Project hail mary so i thought lets make something related to that, and what’s the one piece (ONE PIECE MENTIONED) of technology which helped them, the first one was the translatorrr, so Yeah this is a prototype (hopefully it can translate to actual eridians.. not tested on them yet) but it works by converting the words you type and the sentences into individual notes and then playing them, there are multiple voice modes coresponding to the emotions of Rocky, check it outt!..", "repo": "https://github.com/harshDhiman3344/Erid-Speak", "demo": "https://erid-speak.vercel.app/"}]...
|
[{"post_id": 33016, "ts": "202 [{"post_id": 33016, "ts": "2026-07-22T15:54:01Z", "hours": 1.2883, "text": "UI Improvements, changed the sound system to make it smoother, added multiple voice modes"}, {"post_id": 24223, "ts": "2026-07-07T17:23:18Z", "hours": 2.5817, "text": "Created a working UI for the translator Created a dictionary of tones which are supposed to be linked with each word. then it gets converted to sound"}, {"post_id": 22648, "ts": "2026-07-05T06:16:48Z", "hours": 0.8417, "text": "Devlog1, So i wanted to make a cool project, i didnt knew what. then i randomly got an idea from Project hail mary which i LOVEEDDD i watched it recently, and so im gonna make an app which coverts speech to notes, just like the eridian language from the movie"}]...
|
Title: Eridian Speak by @hoshiko | Stardance
Devl Title: Eridian Speak by @hoshiko | Stardance
Devlogs:
Devlog1, So i wanted to make a cool project, i didnt knew what. then i randomly got an idea from Project hail mary which i LOVEEDDD i watched it recently, and so im gonna make an app which coverts speech to notes, just like the eridian language from the movie
Created a working UI for the translator Created a dictionary of tones which are supposed to be linked with each word. then it gets converted to sound
UI Improvements, changed the sound system to make it smoother, added multiple voice modes
Ships:
I LOVE Project hail mary so i thought lets make something related to that, and what’s the one piece (ONE PIECE MENTIONED) of technology which helped them, the first one was the translatorrr, so Yeah this is a prototype (hopefully it can translate to actual eridians.. not tested on them yet) but it works by converting the words you type and the sentences into individual notes and then playing them, there are multiple voice modes coresponding to the emotions of Rocky, check it outt!.....
|
1793328625.9225473
|
1793415025.9225473
|
|
27126
|
Poem AI by @kallenseelo | Stardance
|
kallenseelo
|
1
|
35.0
|
560
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-17T06:23:03Z", "hours": 35.0, "multiplier": 15.84, "payout": 560, "blessing": "neutral", "text": "PoemAI is a small neural language model built from scratch with the goal of generating English poetry. Instead of using something like PyTorch or fine-tuning an existing small LLM, I attempted to build a simple neural network to generate poetry, and it was trained on a large collection of English poetry. This project is mainly a way for me to learn how LLMs and transformers work under the hood and attempt to build my own very basic one! It also helps me learn how processing the dataset and adjusting settings can affect the performance and overall quality of large language models, such as Top-K, epochs, learning rate, etc. IF YOU WANT TO TRY THIS, just click on the link and type anything out. Honestly, while it doesn’t produce really coherent text, it’s super interesting to read and see the patterns and formations take shape from just a bunch of lines of data and some math! And it creates some actually impressive connections, even if the poems/sonnets don’t make much sense! There are a few challenges I encountered when building and coding this neural language model. The first was getting my head wrapped around the concepts and understanding, “What the heck am I doing?” It was a lot of learning concepts and looking at how other people build and code large language models so that I could implement them myself! The second challenge was getting the LLM from training to chat. I had no idea really how to do this, as it’s easy to train and develop the backend of the LLM, but getting it from training to talking took a while, and I ended up using AI to help me learn. Gemini’s learning mode helped me actually understand what the heck I was doing and not just copy and paste! Finally, the final one was optimization; my architecture honestly sucked, so I had to spend a lot of time learning and fixing the bugs and issues in my code that let it eat up 10 GB of RAM. I honestly think I’m proud that I even finished this project, as it was such a pain, but looking back on it, it was super rewarding overall. My other favourite part was the website, getting streaming working, and building HTML for the first time, with absolutely no AI at all. Overall it was super rewarding, and I WOULD recommend doing something similar for your project!", "repo": "https://github.com/k754a/PoemAI", "demo": "https://k754a.hackclub.app/PoemAi"}]...
|
[{"post_id": 48685, "ts": "202 [{"post_id": 48685, "ts": "2026-08-17T06:05:35Z", "hours": 4.7856, "text": "Finished the project! Better outputs, using torch, output streaming, and a readme! Try it! -> https://k754a.hackclub.app/PoemAi Ok, a decent amount of stuff! First, after the retraining of the model, I got it up and running on the server; that didn’t take too long. What took the longest was switching from the AI slop of the chat to using a simpler torch approach. I’m going to be honest, AI did do a lot of the handholding for the inference, but it really helped me learn and did save me 15+ hours for sure, though I did write a large chunk of it, using learning mode, rather than the fast answer. The next thing was output streaming. Output streaming made it feel so much faster and more efficient and less slow overall and helped a lot! Finally, the readme. The readme took a bit, as I made a few graphs and some stats and stuff, but it’s all done! Overall this project was a super fun and interesting project that helped me learn a LOT about AI and how they are trained, and I have mad respect for the people who figured this out from basically nothing!"}, {"post_id": 47930, "ts": "2026-08-16T06:13:50Z", "hours": 5.3281, "text": "Small changes to the website, better training data, efficiency, and performance! Try it! -> https://k754a.hackclub.app/PoemAi This took so freaking long, just because of all the random bugs, issues, and problems training an AI can have. But some of the biggest changes came from the dataset. Changing the dataset from a lot of junk to more Shakespeare ended up really improving output and structure (even though it doesn’t really rhyme). The other things were mixing the data. Instead of training on the same text doc, I shuffle the data around, still in the chunks so as to not affect output performance, but because of shuffling each epoch, running longer training (like 400 epochs) created much better results. Another update was because of these larger parameters and changes to the model; it created a problem where my loader could no longer load the model file, so I switched it to a bin and to store pure binary, allowing much faster loading and a memory drop from 3 GB to 1.1, running on the NEST server! Overall, this has been a super fun project! There is still one thing I want to change: the main chat loader is basically all AI, and I kind of hate using it, so I’m going to attempt to code my own. I could see that taking a bit, but then I’m done! EDIT: I’ve also been testing with different learning speeds, epochs, and context windows, and i ended up getting a even better model than the one currently, so i’m going to run the 400 epochs, overnight, and it should be updated by morning!"}, {"post_id": 46747, "ts": "2026-08-14T07:04:46Z", "hours": 3.1731, "text": "Web interface up, backend, and changes to CSS and HTML for all devices! Try it out!! -> https://k754a.hackclub.app/PoemAi Ok, this was not too hard; I updated a bunch of the CSS to make sure it worked for mobile and other aspect ratios (and stuff like that)! Next was the harder part: I coded the backend and sent a packet requesting the poem and got a packet back from the server. This was probably the hardest part, but overall it was good! I ended up changing a lot of the original AI chatbot to update it to take in a request and send it back out, but I did use a bit more AI to make it efficient, as it was using 2 GB of RAM on Nest lol, but that was probably the only AI part, and I really didn’t use AI for anything else, definitely keeping it under 30%.Overall it was good. I want to get a better model, as it’s alright, but it’s lowkey lacking, so yeah!"}, {"post_id": 46590, "ts": "2026-08-13T22:37:18Z", "hours": 5.3225, "text": "Faster sorting and work on the chat UI! Over the last bit, I’ve worked a lot on building a basic chat UI. I’m going to be honest, even though I’ve built a browser engine, I’ve actually not done that much HTML coding (without tons of AI), so without using AI, I built just a basic chat UI that lets you send in your word and get the poem back (but it hasn’t been wired yet). This took me a ridiculously long time, as I’m just not very good at HTML, but everyone has to start somewhere! The sorting was also another change; this allowed the AI to train so much faster, and I also changed a few compiler settings to have faster training times, but overall that was it. I’m not a huge fan of all of it, so I want to put in some more work for the UI, get it running and hosted on NEST, then just improve the AI and be done! So yeah."}, {"post_id": 45460, "ts": "2026-08-11T22:59:59Z", "hours": 3.1222, "text": "Finished training the BoW (Bag of Words) custom architecture model, with 0.7m and 3m parameter models. It’s been a hot minute since I’ve worked on this project, but I decided I gotta finish this, ‘cause those hours won’t earn themselves! Today, I fixed a few bugs with the training, but the main change was upping the dataset size from 96k chars to 600k and a 3m version as well. This proved to create much higher AI performance and took about 4 hours to train for both (as it’s trained on CPU, with one thread). While it works, i used some quick ai just code the chat part, to test to make sure the models worked, and to fix any bugs, but i plan to write the chat connection in c++ (as the ai version is in python), then to create the web view, and hook it up to my nest site! Overall a good day, and I should finish it up soon."}, {"post_id": 18731, "ts": "2026-06-29T22:21:35Z", "hours": 4.5611, "text": "Migrated to C++, as well as made training faster and smarter! Some of the main things I changed were to add epochs (going through the data more than once). Also, thanks to C++, I was able to improve the speed from about an hour and a half to under 2 seconds; however, with epochs, it’s about a minute, which isn’t too bad overall! I’m almost done with this project; I’ll build the chat interface, then I’m planning to make a UI for it on Nest so that people can use it! This project has really taught me a lot about ML and LLMs, and I’m starting to understand (and appreciate) how they are built! There really isnt much to see still, but next time i should have a vid of it working fully!"}, {"post_id": 17800, "ts": "2026-06-28T18:44:44Z", "hours": 4.0686, "text": "Converted the tokenizer and data processing to C++! Ok, this wasn’t as horrible as I thought it would be; however, it was just super long, as I had to search for similar functions and fix tons of errors, and overall it took a bit! However, I’m in the perfect place for converting the training part, then testing it! So stay tuned for that. :) The vid below shows just the basic loop running! (Not much to see, though)"}, {"post_id": 17404, "ts": "2026-06-28T05:22:44Z", "hours": 2.3661, "text": "Trained the first version! Ok, so today, I was able to build a full tokenizer and train the first version! However, it was super duper slow, but thanks to learning how to do this in Python (with very minimal libraries), I think I can code it in C++! The AI took about 2 hours for about 100 neurons and 96k samples. My plan is to make this train faster and smarter, as it has poetry structure but not the poetry part overall! The video below shows the code, as the AI currently returns bad outputs! Thanks for reading!"}, {"post_id": 17046, "ts": "2026-06-27T17:51:51Z", "hours": 2.6456, "text": "Started work on the AI! Ok, taking a break from my other project, I wanted to program a simple AI without using libraries like PyTorch, as well as learn Python! The idea for my AI is you give it a word, and it creates poetry from that word (even if it doesn’t make much sense, I’m just trying to get it to rhyme)! Today, I worked on learning some Python, as well as building the start of the tokenizer! So far it’s not too bad, and I should have it finished by the end of today! Some challenges I’ve been running into are just learning Python in general, because I keep trying to do std::cout to print things, lol, but overall it’s going well! Thanks for reading!"}]...
|
Title: Poem AI by @kallenseelo | Stardance
Devlog Title: Poem AI by @kallenseelo | Stardance
Devlogs:
Started work on the AI! Ok, taking a break from my other project, I wanted to program a simple AI without using libraries like PyTorch, as well as learn Python! The idea for my AI is you give it a word, and it creates poetry from that word (even if it doesn’t make much sense, I’m just trying to get it to rhyme)! Today, I worked on learning some Python, as well as building the start of the tokenizer! So far it’s not too bad, and I should have it finished by the end of today! Some challenges I’ve been running into are just learning Python in general, because I keep trying to do std::cout to print things, lol, but overall it’s going well! Thanks for reading!
Trained the first version! Ok, so today, I was able to build a full tokenizer and train the first version! However, it was super duper slow, but thanks to learning how to do this in Python (with very minimal libraries), I think I can code it in C++! The AI took about 2 hours for about 100 neurons and 96k samples. My plan is to make this train faster and smarter, as it has poetry structure but not the poetry part overall! The video below shows the code, as the AI currently returns bad outputs! Thanks for reading!
Converted the tokenizer and data processing to C++! Ok, this wasn’t as horrible as I thought it would be; however, it was just super long, as I had to search for similar functions and fix tons of errors, and overall it took a bit! However, I’m in the perfect place for converting the training part, then testing it! So stay tuned for that. :) The vid below shows just the basic loop running! (Not much to see, though)
Migrated to C++, as well as made training faster and smarter! Some of the main things I changed were to add epochs (going through the data more than once). Also, thanks to C++, I was able to improve the speed from about an hour and a half to under 2 seconds; however, with epochs, it’s about a minute, which isn’t too bad overall! I’m almost done with this project; I’ll build the chat interface, then I’m planning to make a UI for it on Nest so that people can use it! This project has really taught me a lot about ML and LLMs, and I’m starting to understand (and appreciate) how they are built! There really isnt much to see still, but next time i should have a vid of it working fully!
Finished training the BoW (Bag of Words) custom architecture model, with 0.7m and 3m parameter models. It’s been a hot minute since I’ve worked on this project, but I decided I gotta finish this, ‘cause those hours won’t earn themselves! Today, I fixed a few bugs with the training, but the main change was upping the dataset size from 96k chars to 600k and a 3m version as well. This proved to create much higher AI performance and took about 4 hours to train for both (as it’s trained on CPU, with one thread). While it works, i used some quick ai just code the chat part, to test to make sure the models worked, and to fix any bugs, but i plan to write the chat connection in c++ (as the ai version is in python), then to create the web view, and hook it up to my nest site! Overall a good day, and I should finish it up soon.
Faster sorting and work on the chat UI! Over the last bit, I’ve worked a lot on building a basic chat UI. I’m going to be honest, even though I’ve built a browser engine, I’ve actually not done that much HTML coding (without tons of AI), so without using AI, I built just a basic chat UI that lets you send in your word and get the poem back (but it hasn’t been wired yet). This took me a ridiculously long time, as I’m just not very good at HTML, but everyone has to start somewhere! The sorting was also another change; this allowed the AI to train so much faster, and I also changed a few compiler settings to have faster training times, but overall that was it. I’m not a huge fan of all of it, so I want to put in some more work for the UI, get it running and hosted on NEST, then just improve the AI and be done! So yeah.
Web interface up, backend, and changes to CSS and HTML for all devices! Try it out!! -> https://k754a.hackclub.app/PoemAi Ok, this was not too hard; I updated a bunch of the CSS to make sure it worked for mobile and other aspect ratios (and stuff like that)! Next was the harder part: I coded the backend and sent a packet requesting the poem and got a packet back from the server. This was probably the hardest part, but overall it was good! I ended up changing a lot of the original AI chatbot to update it to take in a request and send it back out, but I did use a bit more AI to make it efficient, as it was using 2 GB of RAM on Nest lol, but that was probably the only AI part, and I really didn’t use AI for anything else, definitely keeping it under 30%.Overall it was good. I want to get a better model, as it’s alright, but it’s lowkey lacking, so yeah!
Small changes to the website, better training data, efficiency, and performance! Try it! -> https://k754a.hackclub.app/PoemAi This took so freaking long, just because of all the random bugs, issues, and problems training an AI can have. But some of the biggest changes came from the dataset. Changing the dataset from a lot of junk to more Shakespeare ended up really improving output and structure (even though it doesn’t really rhyme). The other things were mixing the data. Instead of training on the same text doc, I shuffle the data around, still in the chunks so as to not affect output performance, but because of shuffling each epoch, running longer training (like 400 epochs) created much better results. Another update was because of these larger parameters and changes to the model; it created a problem where my loader could no longer load the model file, so I switched it to a bin and to store pure binary, allowing much faster loading and a memory drop from 3 GB to 1.1, running on the NEST server! Overall, this has been a super fun project! There is still one thing I want to change: the main chat loader is basically all AI, and I kind of hate using it, so I’m going to attempt to code my own. I could see that taking a bit, but then I’m done! EDIT: I’ve also been testing with different learning speeds, epochs, and context windows, and i ended up getting a even better model than the one currently, so i’m going to run the 400 epochs, overnight, and it should be updated by morning!
Finished the project! Better outputs, using torch, output streaming, and a readme! Try it! -> https://k754a.hackclub.app/PoemAi Ok, a decent amount of stuff! First, after the retraining of the model, I got it up and running on the server; that didn’t take too long. What took the longest was switching from the AI slop of the chat to using a simpler torch approach. I’m going to be honest, AI did do a lot of the handholding for the inference, but it really helped me learn and did save me 15+ hours for sure, though I did write a large chunk of it, using learning mode, rather than the fast answer. The next thing was output streaming. Output streaming made it feel so much faster and more efficient and less slow overall and helped a lot! Finally, the readme. The readme took a bit, as I made a few graphs and some stats and stuff, but it’s all done! Overall this project was a super fun and interesting project that helped me learn a LOT about AI and how they are trained, and I have mad respect for the people who figured this out from basically nothing!
Ships:
PoemAI is a small neural language model built from scratch with the goal of generating English poetry. Instead of using something like PyTorch or fine-tuning an existing small LLM, I attempted to build a simple neural network to generate poetry, and it was trained on a large collection of English poetry. This project is mainly a way for me to learn how LLMs and transformers work under the hood and attempt to build my own very basic one! It also helps me learn how processing the dataset and adjusting settings can affect the performance and overall quality of large language models, such as Top-K, epochs, learning rate, etc. IF YOU WANT TO TRY THIS, just click on the link and type anything out. Honestly, while it doesn’t produce really coherent text, it’s super interesting to read and see the patterns and formations take shape from just a bunch of lines of data and some math! And it creates some actually impressive connections, even if the poems/sonnets don’t make much sense! There are a few challenges I encountered when building and coding this neural language model. The first was getting my head wrapped around the concepts and understanding, “What the heck am I doing?” It was a lot of learning concepts and looking at how other people build and code large language models so that I could implement them myself! The second challenge was getting the LLM from training to chat. I had no idea really how to do this, as it’s easy to train and develop the backend of the LLM, but getting it from training to talking took a while, and I ended up using AI to help me learn. Gemini’s learning mode helped me actually understand what the heck I was doing and not just copy and paste! Finally, the final one was optimization; my architecture honestly sucked, so I had to spend a lot of time learning and fixing the bugs and issues in my code that let it eat up 10 GB of RAM. I honestly think I’m proud that I even finished this project, as it was such a pain, but looking back on it, it was super rewarding overall. My other favourite part was the website, getting streaming working, and building HTML for the first time, with absolutely no AI at all. Overall it was super rewarding, and I WOULD recommend doing something similar for your project!...
|
1792878729.1398911
|
1793742729.1398911
|
|
27129
|
TETRIS by @AB_TRANFORMER | Stardance
|
AB_TRANFORMER
|
1
|
3.0
|
4
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-03T20:32:16Z", "hours": 3.0, "multiplier": 1.23, "payout": 4, "blessing": "neutral", "text": "I made a simple Tetris game, where you have to use your right and left arrows to move the falling blocks .To rotate the block press the up arrow and to make it go faster press the down arrow.Thanks to Chill Coding with Robert for this game.", "repo": "https://github.com/abhilikescheese-pixel/TETRIS-ULTIMATE", "demo": "https://abhi-cool.itch.io/tetris-ultimate"}]...
|
[{"post_id": 21488, "ts": "202 [{"post_id": 21488, "ts": "2026-07-03T13:53:36Z", "hours": 2.5675, "text": "ive just finnished making a simple Tetris game"}, {"post_id": 17030, "ts": "2026-06-27T17:16:47Z", "hours": 0.36, "text": "I’ve just started a tetris style game"}]...
|
Title: TETRIS by @AB_TRANFORMER | Stardance
Devlo Title: TETRIS by @AB_TRANFORMER | Stardance
Devlogs:
I’ve just started a tetris style game
ive just finnished making a simple Tetris game
Ships:
I made a simple Tetris game, where you have to use your right and left arrows to move the falling blocks .To rotate the block press the up arrow and to make it go faster press the down arrow.Thanks to Chill Coding with Robert for this game....
|
1793300206.25983
|
1793386606.25983
|
|
27130
|
Tic Tac Toe Bot by @Joshua_Westrick | Stardance
|
Joshua_Westrick
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-30T13:58:50Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a Tic Tac Toe game you play with a bot. Coding it was a little hard at points but made it better. I’m proud of the auto detection when someone wins", "repo": "https://github.com/DizzyCow3DPrints/Tic-Tac-Toe-Bot", "demo": "https://www.online-python.com/7jW5cpSyNM"}]...
|
[{"post_id": 19193, "ts": "202 [{"post_id": 19193, "ts": "2026-06-30T13:40:57Z", "hours": 4.3119, "text": "I forgot to post devlog. I have finished the python and almost done with the README.md file."}]...
|
Title: Tic Tac Toe Bot by @Joshua_Westrick | Stard Title: Tic Tac Toe Bot by @Joshua_Westrick | Stardance
Devlogs:
I forgot to post devlog. I have finished the python and almost done with the README.md file.
Ships:
I made a Tic Tac Toe game you play with a bot. Coding it was a little hard at points but made it better. I’m proud of the auto detection when someone wins...
|
1793292897.808087
|
1793379297.808087
|
|
27133
|
My very own WebOS by @Abdulatif | Stardance
|
Abdulatif
|
1
|
1.32
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-09T07:00:23Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made my own WebOS, you can try it. it has cool features even it’s own terminal(if you are hacker give it a try 😁). you can change wallpaper as mucha s you want.", "repo": "https://github.com/Botirsherov/AbdulatifOS", "demo": "https://botirsherov.github.io/AbdulatifOS/"}]...
|
[{"post_id": 26445, "ts": "202 [{"post_id": 26445, "ts": "2026-07-11T07:47:57Z", "hours": 0.3236, "text": "I updated md to make it show raw file"}, {"post_id": 25172, "ts": "2026-07-09T06:58:29Z", "hours": 0.3303, "text": "I made new feature: now you can upload picture from your gallery and make it wallpaper"}, {"post_id": 25163, "ts": "2026-07-09T06:38:18Z", "hours": 0.3881, "text": "I fixed some info in Notes, and added a new project."}, {"post_id": 17482, "ts": "2026-06-28T08:58:08Z", "hours": 0.3314, "text": "I created my webOS, it was good experience for the first time."}]...
|
Title: My very own WebOS by @Abdulatif | Stardance Title: My very own WebOS by @Abdulatif | Stardance
Devlogs:
I created my webOS, it was good experience for the first time.
I fixed some info in Notes, and added a new project.
I made new feature: now you can upload picture from your gallery and make it wallpaper
I updated md to make it show raw file
Ships:
I made my own WebOS, you can try it. it has cool features even it’s own terminal(if you are hacker give it a try 😁). you can change wallpaper as mucha s you want....
|
1793314427.2634966
|
1793400827.2634966
|
|
27134
|
VEX App by @boberto | Stardance
|
boberto
|
1
|
37.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-13T16:28:41Z", "hours": 37.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hey guys, soo since the dashboard invite link reroutes users to /onboarding, it doesnt return a code 200 “ok”. So please use this link instead: https://stlvexapp.guanine.org/join/b93d07e1-b1a8-467e-81fb-d3f36dcff0b7 But anyways, the point of this project wasn’t to build something beautiful, fun, or exciting. Compared to the other things people are building (I saw some awesome spider bots and rocket ship CADs), my project is pretty lame. Why did I build it? Well, around 4 months ago, I noticed some major bottlenecks in my school’s Robotics organization. Our calendar was on a google doc with only a single page, fragmented communications, field elements getting lost, first year members constantly asking for support, and nobody on any of the 6 teams had any idea what they were supposed to do Therefore, I set out to build a solution and I learned SO MUCH along the way! My VEX internal dashboard has taught me so much about backend design such as: rate-limiting throttling oAuth flows SQL databases & normalization database annotations monorepos prefetching & async fetching image preloading GIT!!!!! It was such an amazing journey and it has helped me build a portfolio of projects that actually show that I CAN engineer real apps that hold up against heavy user traffic. (AI WILL NEVER REPLACE ME) The result: I’ve used this app as a my FRONTIER project is SO MANY applications to organizer positions at JamHacks, IgnitionHacks, EurekaHacks, etc… And… Now I work as a backend engineer for THREE HACKATHONS!!! I’m so happy and I know that this may not be the most EXCITING of projects but if you could please support me and my future endeavours thanks :)", "repo": "https://github.com/RandomPerson5571/VEXApp", "demo": "https://stlvexapp.guanine.org"}]...
|
[{"post_id": 66166, "ts": "202 [{"post_id": 66166, "ts": "2026-09-11T20:20:18Z", "hours": 17.1692, "text": "Around four months ago, I noticed my school’s robotics organization had a lot of small problems adding up Our calendar was a one-page Google Doc Communication was scattered Field elements kept getting lost New members constantly needed help People across our 6 teams often had no idea what they were supposed to be doing So a friend and I started building a centralized management portal. A few technical decisions I made Turborepo for a monorepo, so I didn’t have to duplicate backend logic across multiple repos Supabase + Prisma for auth and database accessZuplo for API rate limiting RoboEvents API for competition data GitHub + Fusion 360 webhooks for Discord notifications Render + UptimeRobot to keep hosting cheap and reduce cold starts It was a long and difficult road to get here, as I had to learn so many new tools and resolve so many different problems. But now the portal has officially shipped to our robotics organization, with 200+ members across 6 teams!! Pretty crazy considering it started because our Google Doc calendar sucked."}, {"post_id": 23242, "ts": "2026-07-06T02:20:35Z", "hours": 0.7717, "text": "Feats: Code cleanup Debugging App is now production-ready."}, {"post_id": 22585, "ts": "2026-07-05T03:36:59Z", "hours": 0.8592, "text": "Feats: general testing planning 3d renders"}, {"post_id": 20988, "ts": "2026-07-02T18:45:08Z", "hours": 3.6522, "text": "Feats: added github integration added team repos fixed some dom hydration errors added push notifs for the discord bot"}, {"post_id": 19378, "ts": "2026-06-30T17:50:29Z", "hours": 1.3994, "text": "Feats: latency issues a lot of code refactoring pushed the app to prod"}, {"post_id": 18555, "ts": "2026-06-29T19:06:07Z", "hours": 1.0864, "text": "Feats: added documentation pages added markdown support added folder creation basically fully CRUD for documentation and folders added discord slash commands TODOs: add more discord slash commands add notificaitons add external integrations (github, fusion360, etc.)"}, {"post_id": 18066, "ts": "2026-06-29T01:45:38Z", "hours": 2.2067, "text": "Feats: implemented inventory items (signout, creation, viewing, etc.) implemented dashboard widgets implemented task creations implemented documentation view implemented inline edits for tasks implemented documentation + folders for proper storage TODOs: add more admin-based discord bot commands create a mobile app??? write a backend api server to fetch data from robotevents api"}, {"post_id": 17627, "ts": "2026-06-28T14:39:15Z", "hours": 2.0258, "text": "Feats: added tasks improved admin panel UI improved settings page UI and added actions such as user deletion, discord linking, onshape & github integration, password resets, and account information changes. added discord bot slash commands for task creation, task viewing, task sign offs, invite creation, event scheduling TODOs: improve tasks list UI/UX add inventory tracking improve dashboard add more discord bot functionalities"}, {"post_id": 17107, "ts": "2026-06-27T19:35:26Z", "hours": 7.6894, "text": "I just added a couple of slash commands for the discord bot related to admin features (such as creating platform invite links, event scheduling, etc) Updated web interface UI and wired dashboard with supabase db."}]...
|
Title: VEX App by @boberto | Stardance
Devlogs:
I Title: VEX App by @boberto | Stardance
Devlogs:
I just added a couple of slash commands for the discord bot related to admin features (such as creating platform invite links, event scheduling, etc) Updated web interface UI and wired dashboard with supabase db.
Feats: added tasks improved admin panel UI improved settings page UI and added actions such as user deletion, discord linking, onshape & github integration, password resets, and account information changes. added discord bot slash commands for task creation, task viewing, task sign offs, invite creation, event scheduling TODOs: improve tasks list UI/UX add inventory tracking improve dashboard add more discord bot functionalities
Feats: implemented inventory items (signout, creation, viewing, etc.) implemented dashboard widgets implemented task creations implemented documentation view implemented inline edits for tasks implemented documentation + folders for proper storage TODOs: add more admin-based discord bot commands create a mobile app??? write a backend api server to fetch data from robotevents api
Feats: added documentation pages added markdown support added folder creation basically fully CRUD for documentation and folders added discord slash commands TODOs: add more discord slash commands add notificaitons add external integrations (github, fusion360, etc.)
Feats: latency issues a lot of code refactoring pushed the app to prod
Feats: added github integration added team repos fixed some dom hydration errors added push notifs for the discord bot
Feats: general testing planning 3d renders
Feats: Code cleanup Debugging App is now production-ready.
Around four months ago, I noticed my school’s robotics organization had a lot of small problems adding up Our calendar was a one-page Google Doc Communication was scattered Field elements kept getting lost New members constantly needed help People across our 6 teams often had no idea what they were supposed to be doing So a friend and I started building a centralized management portal. A few technical decisions I made Turborepo for a monorepo, so I didn’t have to duplicate backend logic across multiple repos Supabase + Prisma for auth and database accessZuplo for API rate limiting RoboEvents API for competition data GitHub + Fusion 360 webhooks for Discord notifications Render + UptimeRobot to keep hosting cheap and reduce cold starts It was a long and difficult road to get here, as I had to learn so many new tools and resolve so many different problems. But now the portal has officially shipped to our robotics organization, with 200+ members across 6 teams!! Pretty crazy considering it started because our Google Doc calendar sucked.
Ships:
Hey guys, soo since the dashboard invite link reroutes users to /onboarding, it doesnt return a code 200 “ok”. So please use this link instead: https://stlvexapp.guanine.org/join/b93d07e1-b1a8-467e-81fb-d3f36dcff0b7 But anyways, the point of this project wasn’t to build something beautiful, fun, or exciting. Compared to the other things people are building (I saw some awesome spider bots and rocket ship CADs), my project is pretty lame. Why did I build it? Well, around 4 months ago, I noticed some major bottlenecks in my school’s Robotics organization. Our calendar was on a google doc with only a single page, fragmented communications, field elements getting lost, first year members constantly asking for support, and nobody on any of the 6 teams had any idea what they were supposed to do Therefore, I set out to build a solution and I learned SO MUCH along the way! My VEX internal dashboard has taught me so much about backend design such as: rate-limiting throttling oAuth flows SQL databases & normalization database annotations monorepos prefetching & async fetching image preloading GIT!!!!! It was such an amazing journey and it has helped me build a portfolio of projects that actually show that I CAN engineer real apps that hold up against heavy user traffic. (AI WILL NEVER REPLACE ME) The result: I’ve used this app as a my FRONTIER project is SO MANY applications to organizer positions at JamHacks, IgnitionHacks, EurekaHacks, etc… And… Now I work as a backend engineer for THREE HACKATHONS!!! I’m so happy and I know that this may not be the most EXCITING of projects but if you could please support me and my future endeavours thanks :)...
|
1793148747.4685183
|
1793235147.4685183
|
|
27135
|
ownStartup by @EngThi | Stardance
|
EngThi
|
1
|
25.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-29T01:32:08Z", "hours": 25.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What I made: A startup financial simulator built in Python with Streamlit. It models unit economics (CAC, LTV, churn, cash flow, and runway) through an interactive multi-page dashboard. What was challenging: Styling Streamlit beyond its default look — injecting custom CSS for dark-mode cards. Also structuring engine.py to make the projections feel realistic. What I’m proud of: Turning simple code tests into a complete, clean SaaS-like dashboard and getting it deployed live on Streamlit Cloud. How to test it: Click “Try project” (its on Streamlit Community Cloud!) for the live demo. In the sidebar, go to Simulador (Simulator) , pick a scenario or tweak the sliders (initial cash, CAC, churn, price) to watch the metrics and charts update live.", "repo": "https://github.com/EngThi/ownStartup", "demo": "https://ownstartup.streamlit.app/"}]...
|
[{"post_id": 84013, "ts": "202 [{"post_id": 84013, "ts": "2026-10-29T01:24:59Z", "hours": 1.2342, "text": "I ended up tweaking and polishing a lot of things compared to the last devlog especially the colors, the general presentation, and how the dashboard elements sit together 🎨 . One thing that was bugging me was that I had originally put a video on the app, but Streamlit renders it with that standard video player UI (progress bar, controls, play button), which just didn’t fit the vibe of a dashboard. So I swapped it for an animated GIF instead! Now it sits cleanly on the simulator sidebar, looping nicely without any player controls getting in the way . For the simulator itself, I encapsulated the simular_cenario parameters into organized cards and blocks. It makes the data much easier to digest, pairing nicely with Streamlit’s native callouts like st.info with their own accent colors. On app.py , I also organized the other modules into their own structured cards. For navigation, I organized the sidebar options with clean selectable radio dots and unified the whole UI palette: Kept the standard Streamlit white and default accent colors (like the red highlights on active selectors). Replaced the plain look with a deep dark-slate / navy background, paired with crisp light gray for labels and titles to keep high contrast and readability. Added some extra CSS (which I used AI to help me dial in) to handle card borders, hover states, and spacing. Overall, it finally feels like a cohesive, custom web app rather than just a bunch of default Streamlit widgets thrown together ✨ ."}, {"post_id": 83822, "ts": "2026-10-28T17:48:47Z", "hours": 0.8639, "text": "I kept tinkering around here and made the initial version of the README . Basically, besides that, I added a requirements.txt and finished working on some things in the other files . And I also deployed it to the Streamlit Community Cloud . So now I have my demo URL and it’s available there, looking pretty good. I didn’t understand what caused that error. I don’t know if it was Zed's automatic saving 💾 or something like that, depending on whether I edited it and there was a space and then the parenthesis didn’t close. For me everything was OK, but it’s easy to fix…"}, {"post_id": 83744, "ts": "2026-10-28T14:47:18Z", "hours": 1.27, "text": "Here, I finished integrating what I already had in app.py . I had the simulators, module parts, and everything else now I hooked up the other apps into it, so everything is fully accessible! I set up the pages/ directory and moved simulador.py in there. Streamlit automatically picks it up like a slug/route to load multi-page navigation on the site, which is honestly really neat. Basically, for app.py I just wrapped up the integration and cleaned up the imports. In engine.py , the core logic was already pretty much settled, so I mostly had to finish tweaking the simulator interface itself. I also dropped a video showing the general UI along with some screenshots 📸. Man, after all that downtime coming back to it a bit last week and diving in way more this week I managed to make some serious progress! Things are feeling much smoother around here now, and it turned out really cool. I liked it! 🚀"}, {"post_id": 83287, "ts": "2026-10-27T16:47:24Z", "hours": 0.6225, "text": "For now, I basically made simulator.py run the simulation and have the data that will show up and the interface stuff on Streamlit . So that second image there is basically the file. I also took that data from engine.py to transform it and do all that. Then you can make the graphs and other stuff like that. Oh, I’m already sort of thinking about it, I was just looking here. It’s just that some sliders are missing, other input parts 🔢 , and then actually showing the metrics and plotting everything ."}, {"post_id": 83059, "ts": "2026-10-26T18:34:43Z", "hours": 1.3369, "text": "In this other part, I finished the function and everything else the general organization, the loop over the data, how the variance of the parameters would work, and the kind of things that happen inside an actual company, right? Basically this whole little startup simulation. I was also hooking it up into app.py to pull the dictionary. Then, using the projected data returned by the function, I was going to use pandas and its DataFrame to pack and organize everything neatly together 📊. Later on, as I was testing things and brainstorming ideas with AGY , the plan is to turn all of this into a nice graph using Streamlit 📈 . There was a quick error showing up in the image — took a quick look, and it seemed like an unclosed parenthesis somewhere in the code. I poked around and tweaked it, but I’m not even sure if it was just missing, placed in the wrong spot, or had an indentation issue where Python didn’t register it as closing that specific call. Basically, that was it for now!"}, {"post_id": 82966, "ts": "2026-10-26T12:07:10Z", "hours": 1.6858, "text": "After finishing those tests and kind of setting up that minimal dashboard with the anomaly generation, detector, statistics, simulator, and journal parts, I spent some time here and there testing out other Python stuff and everything. It’s already been four months I hadn’t really been able to work much on this back then, but now I’m back and I’ll be able to mess with it a lot more. For now, I was thinking about actually adding the simulators and the whole core startup idea itself 📊. I created three files (haven’t really edited all of them yet), including engine.py . Basically, it’s a function I just put together that takes startup data monthly metrics and all that and runs tests and calculations related to, well, running an actual business. Then with Streamlit , I’m planning to use its native components like charts and other widgets to organize things and make both the dashboard and the overall app interface feel way better . For now, I pretty much just drafted the function signature and a few test routines to get things rolling."}, {"post_id": 24075, "ts": "2026-07-07T12:12:00Z", "hours": 3.1031, "text": "I spent quite a bit of time on this part… To give you a quick overview: I improved the app’s interface experimenting with various elements, especially the charts and related features. I utilized the exercises I had already been working on—specifically the functionsand adapted them for the app. This includes the sections on statistics, data simulation, and so on. I’m not very experienced with CSS yet since I don’t use it often, I asked Antigravity to add some styling to give the page a more premium look, given that Streamlit supports the standard web trio (HTML/CSS/JS). I also came across FastHTML, which encapsulates these technologies; the API and the way it handles standard web operations using Python are pretty cool. It’s less abstracted and feels closer to “standard” web development. There’s a sidebar to access the sections I set up—four of them: General , Anomaly Detector , Statistics , Simulator , and Journal . Since I’m not fully comfortable with modularization yet and tend to get lost when the file or project size grows, that Agent helped me organize the code and use the correct functions and parameters. It’s easy to forget things like passing file paths as strings, missing commas , or similar details errors that can take a long time to track down if you aren’t testing thoroughly throughout the development process."}, {"post_id": 21438, "ts": "2026-07-03T12:10:02Z", "hours": 0.7572, "text": "I just started the app now. Before, I was looking, not exactly at the docs, but at the library’s syntax, some projects on Streamlit Cloud , the ones people like the most , and a bit of the repo to understand and see what it has to offer. I was just testing the colors here, formatting I saw there is the .streamlit/config.toml to configure its applications . In the images , I only made a sidebar and some kind of mocked options and put an icon that shows up in the browser tab :>"}, {"post_id": 20992, "ts": "2026-07-02T18:49:59Z", "hours": 0.7547, "text": "Today I started playing around with Streamlit. I took a quick look at the formatting and did some research to get a basic understanding of how it works. For now, I ran some local tests and eventually built this \"little page\" with it. Here’s what I used: st . text_input # For text input... st . write # To write text st . markdown # Renders Markdown formatting st . image # To render an image; I even added a caption Yeah, that was it."}, {"post_id": 20874, "ts": "2026-07-02T16:22:46Z", "hours": 1.1072, "text": "I was working on improving the readability and logic of my files. Often , I’d finish an exercise and depending on the time just go to sleep or shut down my laptop without really testing whether the logic was sound. There were about two or three files like that, so I had to go back and tidy them up a bit . Now that I’ve started using Antigravity , I feed the file to the Agent , and it analyzes my logic, my solution, and so on. This gives me a good idea of whether I’m improving and whether \"it gives me the green light\" to move on to another topic or part of the language . What I mean is, if my logic and command of the tools are at a satisfactory level for the work I’ll be doing, I can move forward without worrying about making mistakes , forgetting things, or lacking a tool or technique I should have already mastered."}, {"post_id": 19968, "ts": "2026-07-01T13:03:24Z", "hours": 1.1036, "text": "I finished the last two functions. Actually, they ended up being three because in the second file I did two. The first exercise was to return the price of a product with tax already included. The function received parameters for the value and the tax, and then I applied the tax to the value and printed it. The second one was a converter from 24-hour format to 12-hour format. For these two (I’d say both could use quite a bit of work) I didn’t put any input validation or code defense. Basically, that’s it."}, {"post_id": 19931, "ts": "2026-07-01T11:32:46Z", "hours": 0.4269, "text": "It ended up that I didn’t work much yesterday… I was studying Chemistry :/ Now I finished the palindrome function , I just had to pass the data, set the parameters, call the function, and that’s it. I’ll continue with the other two and then I’ll probably start the Streamlit part."}, {"post_id": 19409, "ts": "2026-06-30T18:36:49Z", "hours": 1.2125, "text": "Now I’m working more with functions here. I made two simple ones that take three numbers as parameters and return the sum , and another that checks if the number passed as a parameter (int) is even . I had almost everything right, but I looked at it and thought \"man, there's a way to improve/make this shorter\" , so I sent it to * AI Mode on Chrome (I use it because it's much more integrated with search engines, can see websites, docs, stuff like that, forums, etc) and it gave me this which I thought was pretty cool : return num % 2 == 0 The result of this is a boolean value , and when printing you just need to check the value of the variable which is already True or False , and that’s it. Pretty cool …I had already done an exercise in C to check if something is a palindrome in my course. There, the code gets longer (verbose, from what they say) because you have to use strings which are arrays, validate all those things. I don’t know, but quickly thinking about the logic and the use of variables for comparing letters, it seemed more intuitive there… Here I haven’t done it with a function yet. I’ll do it soon. Afterwards, to check what I had done up to that point, I sent it in Chrome and it just gave me a crazy trick! There are methods/arguments used in string slicing that reverse the string and check if it’s a palindrome in just 5 lines of code… I really didn’t know that."}, {"post_id": 19187, "ts": "2026-06-30T13:33:19Z", "hours": 1.5472, "text": "This one was trickier . I need to improve how I use functions and keep variable scope in mind. This new file adds modularity to Exercise 7 . It contains functions for all the program’s processing tasks statistics , anomaly detection , results , status , displaying the report , and generating the report file . The part involving the file output was throwing an error because it didn’t recognize the total variable. I tinkered with it for a while, and since I’m using the Antigravity IDE , I decided to hand the problem over to the Agent , it basically changed the code to use len(dados) as a parameter (I really should have thought of that :| it was pretty simple, but I just got stuck). In the end, it was generating two files: one in the script’s directory and another in the directory where I was running it . (I use a \"Run\" extension (exactly Code Runner , so I just click it and it executes the file —whether it’s compiled or just the source code, since it’s an interpreted language.)"}, {"post_id": 18809, "ts": "2026-06-30T00:46:55Z", "hours": 1.0714, "text": "So, for Exercise 7 , I basically took what I had done in the previous ones and combined everything. I would input the numbers, and the program would recalculate the z-score to determine the standard deviation component. It then displayed the input , the total , and any anomalies . That’s essentially what I did. I still need to improve an understand better the input validation and how I use the .split() function/method. I hadn’t included this image in the post, so: C7complted"}, {"post_id": 18646, "ts": "2026-06-29T20:42:45Z", "hours": 1.2017, "text": "M365 Copilot had assigned that exercise, but as I mentioned earlier, I skipped it. I didn’t quite grasp what it was asking for—I just did what I thought made sense and moved on to number 6… After finishing number 6, I asked it exactly what it wanted me to do, since I hadn’t understood the previous task. It explained something like this: you need to generate normal data and insert an anomaly. The dataset would consist mostly of normal values, with very few abnormal ones. It provided this pseudocode to illustrate the logic: if random < error_chance: generate unusual value else: generate normal value"}, {"post_id": 17883, "ts": "2026-06-28T20:25:48Z", "hours": 1.0894, "text": "I did exercise 6 . I skipped 5 , actually I think I started it pretty much, but I decided to come to this one. Here I had to enter the logs and see the occurrences of the events, only 'ok' and 'fail' . If there were failures , it would show how many there were . I even had the general logic, the code was well structured, but I was trying a defense loop right at the beginning of reading the user input. It had to be only ok and fail, so it was becoming an infinite loop. Actually, I wanted to do this input validation part: it can't be empty and only allows the strings I mentioned Then I researched and looked at some things until I put a piece of the code into Chrome and that overview created by AI appeared and simply gave me the input block ready… I was using: if len ( status ) < 1 or any ( resultado != permitidos ): # logic was using while True"}, {"post_id": 17765, "ts": "2026-06-28T18:13:57Z", "hours": 1.7158, "text": "This one was a bit different… what the M365 exercise wanted was for me to find values that fell outside the norm . I had studied variance and standard deviation back in school, but I honestly didn't remember anything about them . I managed to handle the initial part—up to the summation fairly well (more or less what’s shown in the image, though it was far from right) . I tried various approaches and attempted to recall the formulas or rather, not the exact formulas, but the underlying logic and the mathematical steps I needed to implement. I’ve included the simpleC4.py file here so you can see roughly what I was attempting earlier. I ran quite a few tests, executing the code after every new mathematical operation to verify everything was correct; I also had to comment out certain lines to debug and figure out how far the code got or what needed fixing."}, {"post_id": 17636, "ts": "2026-06-28T14:51:02Z", "hours": 1.1708, "text": "Man , this one took quite a while … I didn’t think it would take so long, and I thought I’d be able to do most of it on my own, but the for loop logic kept throwing errors because it was iterating over an index that didn’t exist I think its funny/strange how I forget certain things (I wouldn’t say easily ), even though it wasn’t that long ago that I learned or understood them. I don’t printed the final code… so get the source code on the repo: C3"}, {"post_id": 17118, "ts": "2026-06-27T19:58:37Z", "hours": 0.4017, "text": "This new exercise was basically meant to read only the numbers from the file (specifically, integers). The template only included the letters/string \"abc\" but the code handles anything that isn’t a number because I used the isdigit function He mentioned that this exercise would involve try-except blocks, but I didn’t quite understand why at first. After completing my version , wondering about his comment, and imagining how it might work, I searched for the code block on Google ; using the AI-generated overview , I learned about the different types of exceptions (basically, the errors that could occur)."}, {"post_id": 17099, "ts": "2026-06-27T19:23:32Z", "hours": 0.4889, "text": "I didn’t explain this earlier, but the exercises I’m doing are *mostly about file manipulation *sort of an introduction to Pandas and working with Data And that image there is of M365 Copilot . I managed indirectly to get access to it through the institution where I’m taking the course. I’m using it for studying and things like that. I asked it to generate exercises for me to do This first one asks to read numbers from a file and print the average"}, {"post_id": 17052, "ts": "2026-06-27T17:59:52Z", "hours": 0.7156, "text": "Hi, I’ve started this new project… It had been a while since I last worked with Python , and when I did, I didn’t have my laptop with me. I was using Acode on my A05s , which wasn’t exactly great for development. Actually, I think it’s one of the best—if not the best—mobile options out there, but having the ergonomics and capabilities of a machine “built for the this” is so much better! I was sitting here wondering, “What kind of project should I do?” I wanted something useful. I know \"useful\" is subjective, but I look for things I connect with and find interesting (which inherently adds a bit of utility). I have a basic grasp of Python, but I haven’t done much hands-on practice—mostly just watching videos and doing class exercises last year. Because of that, I went a long time without building anything serious, and I decided there was no point in forcing myself to tackle something “advanced” right away. I started by writing a few things (what you see in the image) and testing some language features, but it didn’t really flow well, and I didn’t feel like I was actually learning anything new (truth be told, I already knew those little bits). In the course I’m taking now, the instructor uses C; I’ve been really digging into the fundamentals and practicing with hands-on exercises based on how C works that’s the approach I enjoy . Starting strong, mastering the basics, and building up from there. Since I never really did that with Python, I’m going to do it now! My plan is to work through some exercises, cover the language fundamentals, and eventually build a portfolio site—kind of like a project diary—using something like Streamlit or Dash. That’s about it. :)"}]...
|
Title: ownStartup by @EngThi | Stardance
Devlogs: Title: ownStartup by @EngThi | Stardance
Devlogs:
Hi, I’ve started this new project… It had been a while since I last worked with Python , and when I did, I didn’t have my laptop with me. I was using Acode on my A05s , which wasn’t exactly great for development. Actually, I think it’s one of the best—if not the best—mobile options out there, but having the ergonomics and capabilities of a machine “built for the this” is so much better! I was sitting here wondering, “What kind of project should I do?” I wanted something useful. I know "useful" is subjective, but I look for things I connect with and find interesting (which inherently adds a bit of utility). I have a basic grasp of Python, but I haven’t done much hands-on practice—mostly just watching videos and doing class exercises last year. Because of that, I went a long time without building anything serious, and I decided there was no point in forcing myself to tackle something “advanced” right away. I started by writing a few things (what you see in the image) and testing some language features, but it didn’t really flow well, and I didn’t feel like I was actually learning anything new (truth be told, I already knew those little bits). In the course I’m taking now, the instructor uses C; I’ve been really digging into the fundamentals and practicing with hands-on exercises based on how C works that’s the approach I enjoy . Starting strong, mastering the basics, and building up from there. Since I never really did that with Python, I’m going to do it now! My plan is to work through some exercises, cover the language fundamentals, and eventually build a portfolio site—kind of like a project diary—using something like Streamlit or Dash. That’s about it. :)
I didn’t explain this earlier, but the exercises I’m doing are *mostly about file manipulation *sort of an introduction to Pandas and working with Data And that image there is of M365 Copilot . I managed indirectly to get access to it through the institution where I’m taking the course. I’m using it for studying and things like that. I asked it to generate exercises for me to do This first one asks to read numbers from a file and print the average
This new exercise was basically meant to read only the numbers from the file (specifically, integers). The template only included the letters/string "abc" but the code handles anything that isn’t a number because I used the isdigit function He mentioned that this exercise would involve try-except blocks, but I didn’t quite understand why at first. After completing my version , wondering about his comment, and imagining how it might work, I searched for the code block on Google ; using the AI-generated overview , I learned about the different types of exceptions (basically, the errors that could occur).
Man , this one took quite a while … I didn’t think it would take so long, and I thought I’d be able to do most of it on my own, but the for loop logic kept throwing errors because it was iterating over an index that didn’t exist I think its funny/strange how I forget certain things (I wouldn’t say easily ), even though it wasn’t that long ago that I learned or understood them. I don’t printed the final code… so get the source code on the repo: C3
This one was a bit different… what the M365 exercise wanted was for me to find values that fell outside the norm . I had studied variance and standard deviation back in school, but I honestly didn't remember anything about them . I managed to handle the initial part—up to the summation fairly well (more or less what’s shown in the image, though it was far from right) . I tried various approaches and attempted to recall the formulas or rather, not the exact formulas, but the underlying logic and the mathematical steps I needed to implement. I’ve included the simpleC4.py file here so you can see roughly what I was attempting earlier. I ran quite a few tests, executing the code after every new mathematical operation to verify everything was correct; I also had to comment out certain lines to debug and figure out how far the code got or what needed fixing.
I did exercise 6 . I skipped 5 , actually I think I started it pretty much, but I decided to come to this one. Here I had to enter the logs and see the occurrences of the events, only 'ok' and 'fail' . If there were failures , it would show how many there were . I even had the general logic, the code was well structured, but I was trying a defense loop right at the beginning of reading the user input. It had to be only ok and fail, so it was becoming an infinite loop. Actually, I wanted to do this input validation part: it can't be empty and only allows the strings I mentioned Then I researched and looked at some things until I put a piece of the code into Chrome and that overview created by AI appeared and simply gave me the input block ready… I was using: if len ( status ) < 1 or any ( resultado != permitidos ): # logic was using while True
M365 Copilot had assigned that exercise, but as I mentioned earlier, I skipped it. I didn’t quite grasp what it was asking for—I just did what I thought made sense and moved on to number 6… After finishing number 6, I asked it exactly what it wanted me to do, since I hadn’t understood the previous task. It explained something like this: you need to generate normal data and insert an anomaly. The dataset would consist mostly of normal values, with very few abnormal ones. It provided this pseudocode to illustrate the logic: if random < error_chance: generate unusual value else: generate normal value
So, for Exercise 7 , I basically took what I had done in the previous ones and combined everything. I would input the numbers, and the program would recalculate the z-score to determine the standard deviation component. It then displayed the input , the total , and any anomalies . That’s essentially what I did. I still need to improve an understand better the input validation and how I use the .split() function/method. I hadn’t included this image in the post, so: C7complted
This one was trickier . I need to improve how I use functions and keep variable scope in mind. This new file adds modularity to Exercise 7 . It contains functions for all the program’s processing tasks statistics , anomaly detection , results , status , displaying the report , and generating the report file . The part involving the file output was throwing an error because it didn’t recognize the total variable. I tinkered with it for a while, and since I’m using the Antigravity IDE , I decided to hand the problem over to the Agent , it basically changed the code to use len(dados) as a parameter (I really should have thought of that :| it was pretty simple, but I just got stuck). In the end, it was generating two files: one in the script’s directory and another in the directory where I was running it . (I use a "Run" extension (exactly Code Runner , so I just click it and it executes the file —whether it’s compiled or just the source code, since it’s an interpreted language.)
Now I’m working more with functions here. I made two simple ones that take three numbers as parameters and return the sum , and another that checks if the number passed as a parameter (int) is even . I had almost everything right, but I looked at it and thought "man, there's a way to improve/make this shorter" , so I sent it to * AI Mode on Chrome (I use it because it's much more integrated with search engines, can see websites, docs, stuff like that, forums, etc) and it gave me this which I thought was pretty cool : return num % 2 == 0 The result of this is a boolean value , and when printing you just need to check the value of the variable which is already True or False , and that’s it. Pretty cool …I had already done an exercise in C to check if something is a palindrome in my course. There, the code gets longer (verbose, from what they say) because you have to use strings which are arrays, validate all those things. I don’t know, but quickly thinking about the logic and the use of variables for comparing letters, it seemed more intuitive there… Here I haven’t done it with a function yet. I’ll do it soon. Afterwards, to check what I had done up to that point, I sent it in Chrome and it just gave me a crazy trick! There are methods/arguments used in string slicing that reverse the string and check if it’s a palindrome in just 5 lines of code… I really didn’t know that.
It ended up that I didn’t work much yesterday… I was studying Chemistry :/ Now I finished the palindrome function , I just had to pass the data, set the parameters, call the function, and that’s it. I’ll continue with the other two and then I’ll probably start the Streamlit part.
I finished the last two functions. Actually, they ended up being three because in the second file I did two. The first exercise was to return the price of a product with tax already included. The function received parameters for the value and the tax, and then I applied the tax to the value and printed it. The second one was a converter from 24-hour format to 12-hour format. For these two (I’d say both could use quite a bit of work) I didn’t put any input validation or code defense. Basically, that’s it.
I was working on improving the readability and logic of my files. Often , I’d finish an exercise and depending on the time just go to sleep or shut down my laptop without really testing whether the logic was sound. There were about two or three files like that, so I had to go back and tidy them up a bit . Now that I’ve started using Antigravity , I feed the file to the Agent , and it analyzes my logic, my solution, and so on. This gives me a good idea of whether I’m improving and whether "it gives me the green light" to move on to another topic or part of the language . What I mean is, if my logic and command of the tools are at a satisfactory level for the work I’ll be doing, I can move forward without worrying about making mistakes , forgetting things, or lacking a tool or technique I should have already mastered.
Today I started playing around with Streamlit. I took a quick look at the formatting and did some research to get a basic understanding of how it works. For now, I ran some local tests and eventually built this "little page" with it. Here’s what I used: st . text_input # For text input... st . write # To write text st . markdown # Renders Markdown formatting st . image # To render an image; I even added a caption Yeah, that was it.
I just started the app now. Before, I was looking, not exactly at the docs, but at the library’s syntax, some projects on Streamlit Cloud , the ones people like the most , and a bit of the repo to understand and see what it has to offer. I was just testing the colors here, formatting I saw there is the .streamlit/config.toml to configure its applications . In the images , I only made a sidebar and some kind of mocked options and put an icon that shows up in the browser tab :>
I spent quite a bit of time on this part… To give you a quick overview: I improved the app’s interface experimenting with various elements, especially the charts and related features. I utilized the exercises I had already been working on—specifically the functionsand adapted them for the app. This includes the sections on statistics, data simulation, and so on. I’m not very experienced with CSS yet since I don’t use it often, I asked Antigravity to add some styling to give the page a more premium look, given that Streamlit supports the standard web trio (HTML/CSS/JS). I also came across FastHTML, which encapsulates these technologies; the API and the way it handles standard web operations using Python are pretty cool. It’s less abstracted and feels closer to “standard” web development. There’s a sidebar to access the sections I set up—four of them: General , Anomaly Detector , Statistics , Simulator , and Journal . Since I’m not fully comfortable with modularization yet and tend to get lost when the file or project size grows, that Agent helped me organize the code and use the correct functions and parameters. It’s easy to forget things like passing file paths as strings, missing commas , or similar details errors that can take a long time to track down if you aren’t testing thoroughly throughout the development process.
After finishing those tests and kind of setting up that minimal dashboard with the anomaly generation, detector, statistics, simulator, and journal parts, I spent some time here and there testing out other Python stuff and everything. It’s already been four months I hadn’t really been able to work much on this back then, but now I’m back and I’ll be able to mess with it a lot more. For now, I was thinking about actually adding the simulators and the whole core startup idea itself 📊. I created three files (haven’t really edited all of them yet), including engine.py . Basically, it’s a function I just put together that takes startup data monthly metrics and all that and runs tests and calculations related to, well, running an actual business. Then with Streamlit , I’m planning to use its native components like charts and other widgets to organize things and make both the dashboard and the overall app interface feel way better . For now, I pretty much just drafted the function signature and a few test routines to get things rolling.
In this other part, I finished the function and everything else the general organization, the loop over the data, how the variance of the parameters would work, and the kind of things that happen inside an actual company, right? Basically this whole little startup simulation. I was also hooking it up into app.py to pull the dictionary. Then, using the projected data returned by the function, I was going to use pandas and its DataFrame to pack and organize everything neatly together 📊. Later on, as I was testing things and brainstorming ideas with AGY , the plan is to turn all of this into a nice graph using Streamlit 📈 . There was a quick error showing up in the image — took a quick look, and it seemed like an unclosed parenthesis somewhere in the code. I poked around and tweaked it, but I’m not even sure if it was just missing, placed in the wrong spot, or had an indentation issue where Python didn’t register it as closing that specific call. Basically, that was it for now!
For now, I basically made simulator.py run the simulation and have the data that will show up and the interface stuff on Streamlit . So that second image there is basically the file. I also took that data from engine.py to transform it and do all that. Then you can make the graphs and other stuff like that. Oh, I’m already sort of thinking about it, I was just looking here. It’s just that some sliders are missing, other input parts 🔢 , and then actually showing the metrics and plotting everything .
Here, I finished integrating what I already had in app.py . I had the simulators, module parts, and everything else now I hooked up the other apps into it, so everything is fully accessible! I set up the pages/ directory and moved simulador.py in there. Streamlit automatically picks it up like a slug/route to load multi-page navigation on the site, which is honestly really neat. Basically, for app.py I just wrapped up the integration and cleaned up the imports. In engine.py , the core logic was already pretty much settled, so I mostly had to finish tweaking the simulator interface itself. I also dropped a video showing the general UI along with some screenshots 📸. Man, after all that downtime coming back to it a bit last week and diving in way more this week I managed to make some serious progress! Things are feeling much smoother around here now, and it turned out really cool. I liked it! 🚀
I kept tinkering around here and made the initial version of the README . Basically, besides that, I added a requirements.txt and finished working on some things in the other files . And I also deployed it to the Streamlit Community Cloud . So now I have my demo URL and it’s available there, looking pretty good. I didn’t understand what caused that error. I don’t know if it was Zed's automatic saving 💾 or something like that, depending on whether I edited it and there was a space and then the parenthesis didn’t close. For me everything was OK, but it’s easy to fix…
I ended up tweaking and polishing a lot of things compared to the last devlog especially the colors, the general presentation, and how the dashboard elements sit together 🎨 . One thing that was bugging me was that I had originally put a video on the app, but Streamlit renders it with that standard video player UI (progress bar, controls, play button), which just didn’t fit the vibe of a dashboard. So I swapped it for an animated GIF instead! Now it sits cleanly on the simulator sidebar, looping nicely without any player controls getting in the way . For the simulator itself, I encapsulated the simular_cenario parameters into organized cards and blocks. It makes the data much easier to digest, pairing nicely with Streamlit’s native callouts like st.info with their own accent colors. On app.py , I also organized the other modules into their own structured cards. For navigation, I organized the sidebar options with clean selectable radio dots and unified the whole UI palette: Kept the standard Streamlit white and default accent colors (like the red highlights on active selectors). Replaced the plain look with a deep dark-slate / navy background, paired with crisp light gray for labels and titles to keep high contrast and readability. Added some extra CSS (which I used AI to help me dial in) to handle card borders, hover states, and spacing. Overall, it finally feels like a cohesive, custom web app rather than just a bunch of default Streamlit widgets thrown together ✨ .
Ships:
What I made: A startup financial simulator built in Python with Streamlit. It models unit economics (CAC, LTV, churn, cash flow, and runway) through an interactive multi-page dashboard. What was challenging: Styling Streamlit beyond its default look — injecting custom CSS for dark-mode cards. Also structuring engine.py to make the projections feel realistic. What I’m proud of: Turning simple code tests into a complete, clean SaaS-like dashboard and getting it deployed live on Streamlit Cloud. How to test it: Click “Try project” (its on Streamlit Community Cloud!) for the live demo. In the sidebar, go to Simulador (Simulator) , pick a scenario or tweak the sliders (initial cash, CAC, churn, price) to watch the metrics and charts update live....
|
1793299958.134083
|
1793386358.134083
|
|
27153
|
click lense by @nishank | Stardance
|
nishank
|
1
|
43.67
|
325
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-19T02:08:38Z", "hours": 43.0, "multiplier": 11.21, "payout": 325, "blessing": "neutral", "text": "A modern, full-featured URL shortener & analytics platform with password-protected links, expiration dates, custom aliases, QR code generation, and rich click metrics. Built with Next.js 16", "repo": "https://github.com/Devnish0/click-lense", "demo": "https://clicklense.vercel.app/"}]...
|
[{"post_id": 36229, "ts": "202 [{"post_id": 36229, "ts": "2026-07-28T05:22:01Z", "hours": 0.6656, "text": "changed the readme.md"}, {"post_id": 30777, "ts": "2026-07-18T17:25:43Z", "hours": 23.8922, "text": "completed and in production right now check it out now"}, {"post_id": 26142, "ts": "2026-07-10T19:24:50Z", "hours": 6.1253, "text": "built the main dashboard ui"}, {"post_id": 24832, "ts": "2026-07-08T17:23:56Z", "hours": 3.3294, "text": "built the landing page for the clause app"}, {"post_id": 17058, "ts": "2026-06-27T18:13:55Z", "hours": 9.5158, "text": "completed basic 0 auth login , redirection logic, max attempt, time based attempt, disabled attempt etc."}]...
|
Title: click lense by @nishank | Stardance
Devlog Title: click lense by @nishank | Stardance
Devlogs:
completed basic 0 auth login , redirection logic, max attempt, time based attempt, disabled attempt etc.
built the landing page for the clause app
built the main dashboard ui
completed and in production right now check it out now
changed the readme.md
Ships:
A modern, full-featured URL shortener & analytics platform with password-protected links, expiration dates, custom aliases, QR code generation, and rich click metrics. Built with Next.js 16...
|
1793303533.632135
|
1793389933.632135
|
|
27160
|
Chinese Quiz Website by @lilfox | Stardance
|
lilfox
|
1
|
22.0
|
104
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-03T23:58:56Z", "hours": 22.0, "multiplier": 4.67, "payout": 104, "blessing": "neutral", "text": "I made a website to quiz native Chinese speakers on their English skills, with 36 questions total. The site provides feedback on which questions you answered wrong, and your proficiency in each grade level. This was my first time using HTML, CSS, and Javascript, so it was challenging to figure out how each programming language even worked—from HTML buttons, to data collection, to CSS ids…But I’m proud that I pulled through, and taught myself something new (even if the thing I made kinda sucks)! This is actually made for three Chinese elementary school students that I will tutor. I wanted to know their skill level in English so far—what I should teach, what topics they need to focus on, etc—but I also wanted this “test” to be as stress-free as possible. I hope that the silly little animations and simplified visuals will at least brighten up their days a little. You can test my website by clicking the demo link here: https://foxlil.github.io/Quiz_site/ . While you try my little project, I hope this can brighten up your day, too. :)", "repo": "https://github.com/Foxlil/Quiz_site", "demo": "https://foxlil.github.io/Quiz_site/"}]...
|
[{"post_id": 21819, "ts": "202 [{"post_id": 21819, "ts": "2026-07-03T23:05:04Z", "hours": 0.6939, "text": "There were some bugs/silly mistakes I caught, such as sourcing an image incorrectly (bar.png instead of Bar.png). As for the bar graph, I realized that it only showed a portion of the bar, even if I got all questions in that section correct. I realized that I sorted questions like so: if ((question_number+1) < 6) { Unit = 0 } . The issue is that each unit/grade has 6 questions, but since I said <6, for example, it only considered questions 1-5. I just increased n of < n by one, but it took me a bit to fix my little idiot mistake. But hey, that’s what coding’s for, right? (Here’s the fixed code!)"}, {"post_id": 21681, "ts": "2026-07-03T19:22:26Z", "hours": 5.3708, "text": "Finished bar graph and visuals of the website (and fixed mistakes in Chinese grammar)! I know that quizzes aren’t very enjoyable, so I tried my best to make as low-stress and fun as possible. I added more of the tiny little tiger avatar, animating a thinking animation and a celebration animation (hopefully that makes quiz-takers feel better :D). I also wanted to clearly show which units/grade levels the learner excelled at/needed to improve upon, alongside the scoring system and the list of questions wrong. This was conveyed through a bar graph, which was made up of rectangles that adjusted their length based on the number of questions right in that section. Overall, coding a website for the first time was really fun, and I enjoyed learning HTML, JS, and CSS!"}, {"post_id": 21095, "ts": "2026-07-02T21:49:44Z", "hours": 4.6172, "text": "Gave my text a background with box shadows to make it pop more, and finally input all the questions that will be tested (most were questions from various PDFs across the web, levels K-5). There are now 36 questions total! In the code, I also assigned a unit (/grade level) to each question so that I could see which units the user was the best at, or could improve upon. I hope to use a bar graph to convey this data later! (I also noticed a mistake in the Chinese, so going to fix that, too)"}, {"post_id": 20784, "ts": "2026-07-02T14:08:28Z", "hours": 6.0072, "text": "I added a scoring system that added points for every question correct and listed which questions the user answered wrong. This will let me know which questions/topics the user is struggling on! Also added more pizazz with the CSS by changing the cursor (look at the little guy! :D), styling the buttons, and placing a little waving tiger at the beginning (animating that was such a pain, haha). I struggled with the check boxes though; I didn’t know how to record which answer was checked, and uncheck the other boxes when the user checked one. Reading through forums helped me realize that radio buttons were far superior in this situation, and I hope to customize those as well!"}, {"post_id": 20005, "ts": "2026-07-01T14:15:37Z", "hours": 1.3728, "text": "Learned some CSS and added basic features, such as background color and font. Took me a bit to figure out how to set a font for Chinese, but realized I could import it from Google fonts! They made it convenient by providing the necessary CSS and HTML code. Now it looks a little less generic, haha."}, {"post_id": 17593, "ts": "2026-06-28T13:40:41Z", "hours": 4.2222, "text": "Created the framework of how the website works through html and javascript. Has a welcome page, assigned answer choices for each question, and a next button. Will need to work on adding a limit to the next button (further than the assigned amount of questions in the array and the results are undefined), score tracker, and of course, CSS ;)."}]...
|
Title: Chinese Quiz Website by @lilfox | Stardance Title: Chinese Quiz Website by @lilfox | Stardance
Devlogs:
Created the framework of how the website works through html and javascript. Has a welcome page, assigned answer choices for each question, and a next button. Will need to work on adding a limit to the next button (further than the assigned amount of questions in the array and the results are undefined), score tracker, and of course, CSS ;).
Learned some CSS and added basic features, such as background color and font. Took me a bit to figure out how to set a font for Chinese, but realized I could import it from Google fonts! They made it convenient by providing the necessary CSS and HTML code. Now it looks a little less generic, haha.
I added a scoring system that added points for every question correct and listed which questions the user answered wrong. This will let me know which questions/topics the user is struggling on! Also added more pizazz with the CSS by changing the cursor (look at the little guy! :D), styling the buttons, and placing a little waving tiger at the beginning (animating that was such a pain, haha). I struggled with the check boxes though; I didn’t know how to record which answer was checked, and uncheck the other boxes when the user checked one. Reading through forums helped me realize that radio buttons were far superior in this situation, and I hope to customize those as well!
Gave my text a background with box shadows to make it pop more, and finally input all the questions that will be tested (most were questions from various PDFs across the web, levels K-5). There are now 36 questions total! In the code, I also assigned a unit (/grade level) to each question so that I could see which units the user was the best at, or could improve upon. I hope to use a bar graph to convey this data later! (I also noticed a mistake in the Chinese, so going to fix that, too)
Finished bar graph and visuals of the website (and fixed mistakes in Chinese grammar)! I know that quizzes aren’t very enjoyable, so I tried my best to make as low-stress and fun as possible. I added more of the tiny little tiger avatar, animating a thinking animation and a celebration animation (hopefully that makes quiz-takers feel better :D). I also wanted to clearly show which units/grade levels the learner excelled at/needed to improve upon, alongside the scoring system and the list of questions wrong. This was conveyed through a bar graph, which was made up of rectangles that adjusted their length based on the number of questions right in that section. Overall, coding a website for the first time was really fun, and I enjoyed learning HTML, JS, and CSS!
There were some bugs/silly mistakes I caught, such as sourcing an image incorrectly (bar.png instead of Bar.png). As for the bar graph, I realized that it only showed a portion of the bar, even if I got all questions in that section correct. I realized that I sorted questions like so: if ((question_number+1) < 6) { Unit = 0 } . The issue is that each unit/grade has 6 questions, but since I said <6, for example, it only considered questions 1-5. I just increased n of < n by one, but it took me a bit to fix my little idiot mistake. But hey, that’s what coding’s for, right? (Here’s the fixed code!)
Ships:
I made a website to quiz native Chinese speakers on their English skills, with 36 questions total. The site provides feedback on which questions you answered wrong, and your proficiency in each grade level. This was my first time using HTML, CSS, and Javascript, so it was challenging to figure out how each programming language even worked—from HTML buttons, to data collection, to CSS ids…But I’m proud that I pulled through, and taught myself something new (even if the thing I made kinda sucks)! This is actually made for three Chinese elementary school students that I will tutor. I wanted to know their skill level in English so far—what I should teach, what topics they need to focus on, etc—but I also wanted this “test” to be as stress-free as possible. I hope that the silly little animations and simplified visuals will at least brighten up their days a little. You can test my website by clicking the demo link here: https://foxlil.github.io/Quiz_site/ . While you try my little project, I hope this can brighten up your day, too. :)...
|
1793328474.3607106
|
1793414874.3607106
|
|
27161
|
GTA by @dominik | Stardance
|
dominik
|
1
|
10.4
|
15
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-27T19:07:30Z", "hours": 9.0, "multiplier": 1.68, "payout": 15, "blessing": "neutral", "text": "Made a basic FPS with HUD and beautiful textures in Java with GLOOP graphics library :)", "repo": "https://github.com/dominikwe09/GTA", "demo": "https://github.com/dominikwe09/GTA/releases/tag/v1.1"}]...
|
[{"post_id": 22711, "ts": "202 [{"post_id": 22711, "ts": "2026-07-05T09:04:19Z", "hours": 1.4006, "text": "check readme to run!"}, {"post_id": 17063, "ts": "2026-06-27T18:21:34Z", "hours": 9.06, "text": "GTA :D"}]...
|
Title: GTA by @dominik | Stardance
Devlogs:
GTA : Title: GTA by @dominik | Stardance
Devlogs:
GTA :D
check readme to run!
Ships:
Made a basic FPS with HUD and beautiful textures in Java with GLOOP graphics library :)...
|
1793288949.2493246
|
1793375349.2493246
|
|
27168
|
Minecraft PVP Statistics Slack Bot by @hamidcc | S Minecraft PVP Statistics Slack Bot by @hamidcc | Stardance...
|
hamidcc
|
1
|
1.0
|
3
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-30T18:13:49Z", "hours": 1.0, "multiplier": 4.83, "payout": 3, "blessing": "neutral", "text": "I made a slack bot that responds to user requests to grab MCTiers and PVPTiers Tier data for specific individuals. It was very challenging to find the API of both Tier providers as I was looking at the wrong places and wrong sites. I also had to debug a lot because of many errors that appeared while creating the bot. This bot is mainly for people who are interested in Minecraft PVP Tier system and want a quick way to search up the Tiers of an individual in slack.", "repo": "https://github.com/Hamidcc/slackbot", "demo": "https://hackclub.enterprise.slack.com/archives/C0P5NE354"}]...
|
[{"post_id": 19268, "ts": "202 [{"post_id": 19268, "ts": "2026-06-30T15:07:45Z", "hours": 0.5839, "text": "Added a second API to grab data from incase the user has tested in one website but not the other. New websites: McTiers PVPTiers"}]...
|
Title: Minecraft PVP Statistics Slack Bot by @hami Title: Minecraft PVP Statistics Slack Bot by @hamidcc | Stardance
Devlogs:
Added a second API to grab data from incase the user has tested in one website but not the other. New websites: McTiers PVPTiers
Ships:
I made a slack bot that responds to user requests to grab MCTiers and PVPTiers Tier data for specific individuals. It was very challenging to find the API of both Tier providers as I was looking at the wrong places and wrong sites. I also had to debug a lot because of many errors that appeared while creating the bot. This bot is mainly for people who are interested in Minecraft PVP Tier system and want a quick way to search up the Tiers of an individual in slack....
|
1793321478.0168517
|
1793407878.0168517
|
|
27177
|
Four In A Row by @averagestardancefan | Stardance
|
averagestardancefan
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-14T16:53:01Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is my third silly little Java game. This is definitely not Connect Four, for sure not. Please play, it’s cool. Try with code: https://codehs.com/sandbox/garrettellis/new-sandbox-program-3 Without code: https://codehs.com/sandbox/garrettellis/new-sandbox-program-3/run You can use these links to play it or go into the github thingy and download the .java file and open it in VS Code or use the .zip file and run the program from the file. Easiest way is just to click on the browser versions from above. Basically this just lets you take turns placing your tile in one of the seven columns and puts it on top of the last one. The only actually complicated code is the code that checks all of the win cases because there are a lot of ways to have four in a row. Play it, it’s cool I promise.", "repo": "https://github.com/garetelis/Four-In-A-Row", "demo": "https://github.com/garetelis/Four-In-A-Row/releases/tag/1.0.0"}]...
|
[{"post_id": 21238, "ts": "202 [{"post_id": 21238, "ts": "2026-07-03T02:17:11Z", "hours": 1.8883, "text": "Well I kind of never made a devlog for this but it’s because this game was super easy compared to the others. So… here you go."}]...
|
Title: Four In A Row by @averagestardancefan | Sta Title: Four In A Row by @averagestardancefan | Stardance
Devlogs:
Well I kind of never made a devlog for this but it’s because this game was super easy compared to the others. So… here you go.
Ships:
This is my third silly little Java game. This is definitely not Connect Four, for sure not. Please play, it’s cool. Try with code: https://codehs.com/sandbox/garrettellis/new-sandbox-program-3 Without code: https://codehs.com/sandbox/garrettellis/new-sandbox-program-3/run You can use these links to play it or go into the github thingy and download the .java file and open it in VS Code or use the .zip file and run the program from the file. Easiest way is just to click on the browser versions from above. Basically this just lets you take turns placing your tile in one of the seven columns and puts it on top of the last one. The only actually complicated code is the code that checks all of the win cases because there are a lot of ways to have four in a row. Play it, it’s cool I promise....
|
1793267674.986497
|
1793354074.986497
|
|
27178
|
MariOS by @EmanShahid | Stardance
|
|
1
|
11.26
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-11T19:43:41Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I created MariOS, my first web operating system. It’s simple, easy to use, and quite basic, but I have many ideas that I plan to implement later. It was a fun journey to create it, and after six hours of work, it’s finally available for everyone to try.", "repo": "https://github.com/Syeda-Eman/MariOS", "demo": "https://syeda-eman.github.io/MariOS/"}]...
|
[{"post_id": 32542, "ts": "202 [{"post_id": 32542, "ts": "2026-07-21T19:52:24Z", "hours": 4.3097, "text": "Did a lot of work this time but still a lot is remaining. Happy with the progress so far!"}, {"post_id": 29764, "ts": "2026-07-16T21:06:59Z", "hours": 0.9478, "text": "Started to work on MariOS 2!"}, {"post_id": 26783, "ts": "2026-07-11T19:38:58Z", "hours": 3.1603, "text": "Finally! I’m done with MariOS! I added two applications: My Journal and the World Map. I have many ideas in mind to add but will save them for later (WebOS 2). It has been a great journey, full of learning! If you have any ideas for improvement, drop them in the comment section below."}, {"post_id": 24947, "ts": "2026-07-08T20:38:56Z", "hours": 2.2094, "text": "MariOS is officially halfway there! I’m excited to share that MariOS—a custom web-based OS concept inspired by Mario is officially halfway to launch! I’ve just finished separating the HTML/CSS logic, cleaning up the interface, and implementing fully draggable, openable, and closable windows. Can’t wait to cross the finish line and ship it!"}, {"post_id": 17577, "ts": "2026-06-28T12:58:42Z", "hours": 0.8081, "text": "Hello everyone, I have started working on my first OS inspired by Mario. This is just the beginning; there are many things to add. Any suggestions are appreciated. Thank you!"}]...
|
Title: MariOS by @EmanShahid | Stardance
Devlogs: Title: MariOS by @EmanShahid | Stardance
Devlogs:
Hello everyone, I have started working on my first OS inspired by Mario. This is just the beginning; there are many things to add. Any suggestions are appreciated. Thank you!
MariOS is officially halfway there! I’m excited to share that MariOS—a custom web-based OS concept inspired by Mario is officially halfway to launch! I’ve just finished separating the HTML/CSS logic, cleaning up the interface, and implementing fully draggable, openable, and closable windows. Can’t wait to cross the finish line and ship it!
Finally! I’m done with MariOS! I added two applications: My Journal and the World Map. I have many ideas in mind to add but will save them for later (WebOS 2). It has been a great journey, full of learning! If you have any ideas for improvement, drop them in the comment section below.
Started to work on MariOS 2!
Did a lot of work this time but still a lot is remaining. Happy with the progress so far!
Ships:
I created MariOS, my first web operating system. It’s simple, easy to use, and quite basic, but I have many ideas that I plan to implement later. It was a fun journey to create it, and after six hours of work, it’s finally available for everyone to try....
|
1792878470.2335072
|
1793742470.2335072
|
|
27198
|
APT-Gcode by @karlo_ugrin | Stardance
|
karlo_ugrin
|
1
|
123.61
|
25
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-16T08:32:16Z", "hours": 4.0, "multiplier": 5.86, "payout": 25, "blessing": "neutral", "text": "CAM post processor, so far its only suitable for CatiaV5 intoISO 6983, it’s still in development, there are a few non finished commands, but since there is no actual documentation for CATIA APT1.0 it works really good. erm yeah. at some point im going to make work on the web the rest is pretty much written on Git.", "repo": "https://github.com/karlo-c277/ATP-Gcode", "demo": "http://karlougrin.com/apt_gcode-web/index-apt.html"}]...
|
[{"post_id": 78445, "ts": "202 [{"post_id": 78445, "ts": "2026-10-10T20:15:53Z", "hours": 9.4358, "text": "DEVLOG 24 NEW STUFF the parseline v3 is going relatively fast tomorrow it is probablly going to be finished currently the only left syntacs from v2 is to complete cycles, rawG, PSIS, INDIRV, MAXSPNDL, $$, CUTCOM, change tool rework on the SPINDLE syntacs is needed bc i compicated some stuff there and to make a value check by giving a +variable, then if it wasn’t a number it is going to be a NaN which is a false meaning i can make if (+variable) LEFTOVER STUFF (Not in the parseline v3) to do a guide on how to make your own output general overview on the program"}, {"post_id": 77376, "ts": "2026-10-06T18:19:18Z", "hours": 6.9919, "text": "DEVLOG 23 NEW STUFF so the parselinev2 build is working (not on the web but in the git) the parselinev3 build is on the way, why? Because I realized how much the v2 build is leaking the performance and optimisation, so it would be simpler to re-do and make it with more brain this time HOW WILL IT WORK simple, for each command in Catia, there will be a case (switch case stuff) then each switch case will call a function that will do all the work for that case that function will call other function do math etc. the user will simply select a document from which the function will get called therefore giving a different syntacs and thats pretty much it"}, {"post_id": 76514, "ts": "2026-10-03T19:46:21Z", "hours": 10.2128, "text": "DEVLOG 22 New stuff re edited the KK guide so it is written in .md and I SWEAR it looks so much better and it is easier to read rawG new command this one is to be written in the APT or added as an additional command and it bypasses both layers of translation rawKK new command this one is to be written in the APT and it bypasses the first layer of translation (line written in KK) Bug fixes I saw a few bugs in the rapto section of the goto and godlta pretty much all, still haven’t had time to test this changes but it seems to be working ok Leftover stuff make a guide on how to use Catia and CATIA.pptable make an explanation of this program how it works and other and i have written about 3 pages of stuff in catia that i have no idea what that meas and what does it do so research those improve with like code block suggestions for manual code writing BUGS for some reason now the costum panel wint show"}, {"post_id": 69275, "ts": "2026-09-16T18:30:53Z", "hours": 10.2019, "text": "DEVLOG 21 New stuff Catia PPTable so it turns out I can modify the APT output for some commands, which had not only helped in the post processor more accurate but now I understand more stuff so I made the PPtable and it seems to work more on that some other time Logic since I now know what is to be expected for some commands I was able to shave off roughly 200 lines of code which is great COMPENSATION defines what tool correction register is being redefined, what quadrant is the cutting end, xyz corrections, and nose radius END OF PROGRAM is now single meaning CIRCLE output looks like this kk(\"ARCH/CENTER, \"+centar_x+\", \"+centar_y+\", \"+centar_z); kk(\"ARCH/AXIS\"); kk(\"ARCH/TANGENT, \"+this.ls_i+\", \"+this.ls_j+\", \"+this.ls_k); kk(\"ARCH/INFO, \"+radius+\", \"+movement+\", \"+angle); kk(\"ARCH/END, \"+kraj_x+\", \"+kraj_y+\", \"+kraj_z); CYLINDR or sinusoidal movement like this kk(\"SINUS/CENTER, \"+centar_x+\", \"+centar_y+\", \"+centar_z); kk(\"SINUS/AXIS\"); kk(\"SINUS/INFO, \"+amplitude); kk(\"SINUS/TANGENT, \"+this.ls_i+\", \"+this.ls_j+\", \"+this.ls_k); kk(\"SINUS/END,\"+kraj_x+\", \"+kraj_y+\", \"+kraj_z); helix (in APT) HELICAL/CENTER, %MFG_HELICAL_X_CENTER, %MFG_HELICAL_Y_CENTER, %MFG_HELICAL_Z_CENTER HELICAL/TANGENT, %MFG_HELICAL_INDIRV_I, %MFG_HELICAL_INDIRV_J, %MFG_HELICAL_INDIRV_K HELICAL/AXIS, %MFG_HELICAL_I_AXIS, %MFG_HELICAL_J_AXIS, %MFG_HELICAL_K_AXIS HELICAL/INFO, %MFG_HELICAL_PITCH, %MFG_HELICAL_RADIUS, %MFG_HELICAL_HEIGHT, %MFG_HELICAL_ROUND HELICAL/END, %MFG_HELICAL_X_END, %MFG_HELICAL_Y_END, %MFG_HELICAL_Z_END SPINDL is now simply defined FEDRAT is now simply defined COOLANT on the other hand, apparently the coolant is set while defining the tool, which i have accounted on and then just coolant on off, but it seems a bit like it doesn’t make sense that way what if different coolant is wanted??, also the actual syntacs is quite unknown for the coolant sooo yeah DELAY is now simply defined CYCLE now got major upgrades by manipulating the APT lost like a 75 lines of code there spindle rotation limit is now settable CUTCOM pensation is now uncovered but I genuenly have no idea what the stuff means NORMDS or NORMPS, maybe normal to drive / prat surface God knows the answer that I am sure BUGS Yes - I haven’t had a chance to test it yet so I dunno I got the background loading path wrong so that is corrected STUFF LEFT TO DO Make a function for the line split into 3, 4, 5, 6 Rework G-coder to output accordingly to the reworked parser Play with the PPTable The rest of the TO-DO list SUM-UP Found out that I can modify the APT output via PPTable, made a PPTable, now I know much more about The APT, made the parser more precise and thus more correct"}, {"post_id": 62918, "ts": "2026-09-06T13:40:40Z", "hours": 3.5292, "text": "V1.0 is now DEVLOG 20 New stuff Logic now both APT reader and G-code output are in switch case this makes processing much faster, and takes less memory line splitting is now done before actually going into the switch case for both reader and writer, mainly because then element zero in this case is basically line.startsWith, and then later in code I shaved of like 14 line splits invalid cycles are now rejected and aren’t even translated into KK Bug fixes since I switched from line.startsWith I need only the word in the variable, and there is like a $$*CATIA0 in every file and I hadn’t put line split with * so it registered as and error I have had left the incomplete cycles to be completely written causing an undefined variable to be written in KK and forwarded into G-code What if’s? What if I was supposed to like make CYLINDR output 300 points in G-code I honestly don’t wanna do that?"}, {"post_id": 60226, "ts": "2026-09-02T13:46:14Z", "hours": 2.4911, "text": "DEVLOG 19 New stuff Logic helical interpolation in g-coder g-coder now remembers the last coordinate, because CATIA gives, the center, radius, direction, 2D vector for direction of movement, end point and pitch, but WinNC that reads the g-code takes end point center and number of full turns and cw or ccw, so number of turns is calculated speciffically inside the class Bug fixes yes What if’s??? No"}, {"post_id": 58937, "ts": "2026-08-31T14:35:08Z", "hours": 4.0992, "text": "DEVLOG 18 New stuff Input now the default value for APT input is CatiaV5 but only for development and it is not written that it is it just is default value for for G-code output is WinNC Sinumerik Logic added logic for CYLINDR which is essentially just a sinusoidal path, not just one period pr it but can be multiple or just a part of one logic for PSIS which is supposed to be like a sign that the CYLINDR is to be defined and that it starts at this coordinates and then some random vector that defines that the movement will be projected in a PLANE that does not contain that vector logic for ROTABL is incomplete but here I would need to look into it but it seems like it is used in MULTI axial machines, but only when it does 3 axis work idk it is a bit emptly defined TLON,GOFWD is now the new definition for circular movement, so it takes the line in the correct logic for both CIRCLE and CYLINDR I undiscovered what CUTTER with 7 tool data defines but for now it just outputs it as 7 comments Bug fixes for SWITCH or setting tool compensation had .trim instead of .trim() same thing happened on the g coder side for some reason maybe a bad commit, the text enter pop-up window didn’t pop-up, resolved What if’s??? What if the sinusoidal movement isn’t horizontal yet at an angle what would happen then? The angle isn’t specified, but I do have the circle center and the first point that is on that circle Note that the path is on the surface of the cylinder this is a sinusoide What if the sinusoide isn’t set in 2D? since 3D circular intepolation is off it should be just a set of close points What if there was no AI that could by pass the main page and end up to a sub-page that isn’t locked to me, unlike the main page? -Would I be ******?"}, {"post_id": 56696, "ts": "2026-08-28T15:40:08Z", "hours": 8.2294, "text": "NEW VERSION INCOMING once I get to it v0.9 is going to be official and running on my website DEVLOG 17 New stuff Visual re-organised quick settings fine tuned the spacing’s inside and between blocks Input now you can manually write code to test how output would look like mostly for me for developing so I can have some APT code loaded in keyboard cache for Ctrl + v comes with a pop-up text box for a nicer visual Solved bugs Rapid logic is renewed by hand I literally have a page in a notebook filled with possible logic combinations and solutions for it (in APT, RAPID is only for the next line, in G code however it is on until set to work in cutting motion ) some other issues where it would save CYCLE the wrong way, it would have saved 2 number with out spacing I have forgotten that x y z in cycle aren’t always saved as just numbers but rather 2 of em had X Y or Z before written so it would have double letters"}, {"post_id": 55447, "ts": "2026-08-27T09:09:44Z", "hours": 10.4814, "text": "DEVLOG 16 New stuff For Catia TLAXIS now defines which way does the tool need to go to complete the cutting motion MULTAX defines this is a multi axial process SWITCH defines a change in tool compensation *see under DOCUMENTATIONS - Images - Image.png Complete cycle support some cycles are excluded from support due to a possible bug causing to have incomplete information about the cycle GOTO/GODLTA between CYCLE start and the CYCLE/OFF log the coords in a variable CYCLE/ON activates the function to start collecting coords CYCLE/OFF puts out all of collected data for that cycle WinNC Sinum counting that you can set it in ISO-Mode Complete canned cycles for the cycles that are matching with Catias idea how the cycle should look like MULTAX support TLAXIS support Added a fall-back for CYCLES that are not matching, except this one can use any format of the given CYCLE Errors I did AI’s job, which is making sloppy code, and instead of sectioning Catias TLAXIS I replaced the commas, and replaced / with : causing mayhem, i got empty strings a string that contains double data I tought I could use Autodesk,s logic for parsing, They might be onto something but I have no idea what is going on there soo I made ChatGPT quit (I just wanted him to help me with finding out why was I getting bugged lines fed to my g-coder (it was magically fixed I still have no idea what had been happening))"}, {"post_id": 54420, "ts": "2026-08-25T12:57:05Z", "hours": 8.5297, "text": "DEVLOG 15 New stuff Nothing much just did some documentation on Catias apt output Added a few guides on how to set up the APT correctly very likely prone to changes SWITCH As it turns out SWITCH means a change on tools compensation look at image.png in DOCUMENTATIONS Completed output for the g-code on that switch but I think that it might cause problems bc in WinNC sinumerik it look like it doesn’t do that sooo yeah Fun fact, *picture, this is what you get when you set a random curve as a tool path Found out that https://archive.org/details/numericalcontrpol0000stan is tottaly right about every single bit of stuff that I tought wasn’t in Catia so yeah"}, {"post_id": 53297, "ts": "2026-08-23T19:14:03Z", "hours": 5.1833, "text": "I added a background So i have been tinkering with ChatGPT on what to do to up the looks on my project, and I had some ideas for the background but my CSS and JS skill are beyond wanted so he helped to find https://neat.firecms.co/ And it is a MUST have for any project, it just looks SOOO good. But with every edit there are bugs, so erm yeah. CYCLE SYNTACS It is going to be a long one since CATIA V5R21 likes to vary and I feel like an archeologist uncovering this secrets"}, {"post_id": 52268, "ts": "2026-08-22T11:31:00Z", "hours": 3.0536, "text": "Finished editing and preparations for a Ship and launched it on http://karlougrin.com/apt_gcode-web/index-apt.html"}, {"post_id": 39944, "ts": "2026-08-03T08:43:39Z", "hours": 1.72, "text": "Completed some needed bugs and excess output I should prolly add some fire background (any suggestions??)"}, {"post_id": 39569, "ts": "2026-08-02T17:01:22Z", "hours": 4.1064, "text": "Another 4 hours down the drain Pretty much just destroying my brains out why it didn’t want to make an output file, then why it didn’t write anything down<"}, {"post_id": 35418, "ts": "2026-07-26T20:11:41Z", "hours": 5.1631, "text": "DEBUGGING FOR 5 HOURS <(Writing code for +/-9min)>"}, {"post_id": 34642, "ts": "2026-07-25T15:16:16Z", "hours": 7.6756, "text": "I REVERSE ENGINEERED CAM APT CODE So basically what I needed to do was to like just make up my own kind of universal data tranfer standard via JSON so I can translate from different APT into different G-code, and so I made up KK (Karlov Kod). To make it a first ship just need to write another 400 lines but Hey!, this part at least has some documentation. (Unlike CATIA APT1.0)"}, {"post_id": 33534, "ts": "2026-07-23T15:55:30Z", "hours": 2.9978, "text": "Edited the CSS it looks so fire, just need to finish my website firstly. Then there goes the first ship!!"}, {"post_id": 32277, "ts": "2026-07-21T10:46:20Z", "hours": 8.9172, "text": "OH! MY! WORD! (it finnaly works after trouble shooting for 4 hours)"}, {"post_id": 31236, "ts": "2026-07-19T14:15:13Z", "hours": 6.5864, "text": "Made it to display ts, just left to translate like 600 pyhton lines into JavaScript. YAAY cant wait for allat.(lowkey hidden menus wont show up but its ok)"}, {"post_id": 28825, "ts": "2026-07-15T10:14:33Z", "hours": 1.1894, "text": "I did it, rapto comand now works!!>’*’<"}, {"post_id": 28521, "ts": "2026-07-14T20:41:00Z", "hours": 0.8669, "text": "adding code so i might get rapto to work"}, {"post_id": 28410, "ts": "2026-07-14T17:26:50Z", "hours": 1.1178, "text": "The last one before first shipping."}, {"post_id": 28349, "ts": "2026-07-14T15:39:43Z", "hours": 0.7244, "text": "I may or may not have renamed the git repo so i kinda lost some minor time but- a lot left to do"}, {"post_id": 28295, "ts": "2026-07-14T13:41:40Z", "hours": 0.3261, "text": "Yess, finnaly got the wakatime running, exept i have spent like 40hours of my life on this beafore i installed waka. And it says that i used more ai than actual code, not true (bc of those 40h)."}]...
|
Title: APT-Gcode by @karlo_ugrin | Stardance
Devl Title: APT-Gcode by @karlo_ugrin | Stardance
Devlogs:
Yess, finnaly got the wakatime running, exept i have spent like 40hours of my life on this beafore i installed waka. And it says that i used more ai than actual code, not true (bc of those 40h).
I may or may not have renamed the git repo so i kinda lost some minor time but- a lot left to do
The last one before first shipping.
adding code so i might get rapto to work
I did it, rapto comand now works!!>’*’<
Made it to display ts, just left to translate like 600 pyhton lines into JavaScript. YAAY cant wait for allat.(lowkey hidden menus wont show up but its ok)
OH! MY! WORD! (it finnaly works after trouble shooting for 4 hours)
Edited the CSS it looks so fire, just need to finish my website firstly. Then there goes the first ship!!
I REVERSE ENGINEERED CAM APT CODE So basically what I needed to do was to like just make up my own kind of universal data tranfer standard via JSON so I can translate from different APT into different G-code, and so I made up KK (Karlov Kod). To make it a first ship just need to write another 400 lines but Hey!, this part at least has some documentation. (Unlike CATIA APT1.0)
DEBUGGING FOR 5 HOURS <(Writing code for +/-9min)>
Another 4 hours down the drain Pretty much just destroying my brains out why it didn’t want to make an output file, then why it didn’t write anything down<
Completed some needed bugs and excess output I should prolly add some fire background (any suggestions??)
Finished editing and preparations for a Ship and launched it on http://karlougrin.com/apt_gcode-web/index-apt.html
I added a background So i have been tinkering with ChatGPT on what to do to up the looks on my project, and I had some ideas for the background but my CSS and JS skill are beyond wanted so he helped to find https://neat.firecms.co/ And it is a MUST have for any project, it just looks SOOO good. But with every edit there are bugs, so erm yeah. CYCLE SYNTACS It is going to be a long one since CATIA V5R21 likes to vary and I feel like an archeologist uncovering this secrets
DEVLOG 15 New stuff Nothing much just did some documentation on Catias apt output Added a few guides on how to set up the APT correctly very likely prone to changes SWITCH As it turns out SWITCH means a change on tools compensation look at image.png in DOCUMENTATIONS Completed output for the g-code on that switch but I think that it might cause problems bc in WinNC sinumerik it look like it doesn’t do that sooo yeah Fun fact, *picture, this is what you get when you set a random curve as a tool path Found out that https://archive.org/details/numericalcontrpol0000stan is tottaly right about every single bit of stuff that I tought wasn’t in Catia so yeah
DEVLOG 16 New stuff For Catia TLAXIS now defines which way does the tool need to go to complete the cutting motion MULTAX defines this is a multi axial process SWITCH defines a change in tool compensation *see under DOCUMENTATIONS - Images - Image.png Complete cycle support some cycles are excluded from support due to a possible bug causing to have incomplete information about the cycle GOTO/GODLTA between CYCLE start and the CYCLE/OFF log the coords in a variable CYCLE/ON activates the function to start collecting coords CYCLE/OFF puts out all of collected data for that cycle WinNC Sinum counting that you can set it in ISO-Mode Complete canned cycles for the cycles that are matching with Catias idea how the cycle should look like MULTAX support TLAXIS support Added a fall-back for CYCLES that are not matching, except this one can use any format of the given CYCLE Errors I did AI’s job, which is making sloppy code, and instead of sectioning Catias TLAXIS I replaced the commas, and replaced / with : causing mayhem, i got empty strings a string that contains double data I tought I could use Autodesk,s logic for parsing, They might be onto something but I have no idea what is going on there soo I made ChatGPT quit (I just wanted him to help me with finding out why was I getting bugged lines fed to my g-coder (it was magically fixed I still have no idea what had been happening))
NEW VERSION INCOMING once I get to it v0.9 is going to be official and running on my website DEVLOG 17 New stuff Visual re-organised quick settings fine tuned the spacing’s inside and between blocks Input now you can manually write code to test how output would look like mostly for me for developing so I can have some APT code loaded in keyboard cache for Ctrl + v comes with a pop-up text box for a nicer visual Solved bugs Rapid logic is renewed by hand I literally have a page in a notebook filled with possible logic combinations and solutions for it (in APT, RAPID is only for the next line, in G code however it is on until set to work in cutting motion ) some other issues where it would save CYCLE the wrong way, it would have saved 2 number with out spacing I have forgotten that x y z in cycle aren’t always saved as just numbers but rather 2 of em had X Y or Z before written so it would have double letters
DEVLOG 18 New stuff Input now the default value for APT input is CatiaV5 but only for development and it is not written that it is it just is default value for for G-code output is WinNC Sinumerik Logic added logic for CYLINDR which is essentially just a sinusoidal path, not just one period pr it but can be multiple or just a part of one logic for PSIS which is supposed to be like a sign that the CYLINDR is to be defined and that it starts at this coordinates and then some random vector that defines that the movement will be projected in a PLANE that does not contain that vector logic for ROTABL is incomplete but here I would need to look into it but it seems like it is used in MULTI axial machines, but only when it does 3 axis work idk it is a bit emptly defined TLON,GOFWD is now the new definition for circular movement, so it takes the line in the correct logic for both CIRCLE and CYLINDR I undiscovered what CUTTER with 7 tool data defines but for now it just outputs it as 7 comments Bug fixes for SWITCH or setting tool compensation had .trim instead of .trim() same thing happened on the g coder side for some reason maybe a bad commit, the text enter pop-up window didn’t pop-up, resolved What if’s??? What if the sinusoidal movement isn’t horizontal yet at an angle what would happen then? The angle isn’t specified, but I do have the circle center and the first point that is on that circle Note that the path is on the surface of the cylinder this is a sinusoide What if the sinusoide isn’t set in 2D? since 3D circular intepolation is off it should be just a set of close points What if there was no AI that could by pass the main page and end up to a sub-page that isn’t locked to me, unlike the main page? -Would I be ******?
DEVLOG 19 New stuff Logic helical interpolation in g-coder g-coder now remembers the last coordinate, because CATIA gives, the center, radius, direction, 2D vector for direction of movement, end point and pitch, but WinNC that reads the g-code takes end point center and number of full turns and cw or ccw, so number of turns is calculated speciffically inside the class Bug fixes yes What if’s??? No
V1.0 is now DEVLOG 20 New stuff Logic now both APT reader and G-code output are in switch case this makes processing much faster, and takes less memory line splitting is now done before actually going into the switch case for both reader and writer, mainly because then element zero in this case is basically line.startsWith, and then later in code I shaved of like 14 line splits invalid cycles are now rejected and aren’t even translated into KK Bug fixes since I switched from line.startsWith I need only the word in the variable, and there is like a $$*CATIA0 in every file and I hadn’t put line split with * so it registered as and error I have had left the incomplete cycles to be completely written causing an undefined variable to be written in KK and forwarded into G-code What if’s? What if I was supposed to like make CYLINDR output 300 points in G-code I honestly don’t wanna do that?
DEVLOG 21 New stuff Catia PPTable so it turns out I can modify the APT output for some commands, which had not only helped in the post processor more accurate but now I understand more stuff so I made the PPtable and it seems to work more on that some other time Logic since I now know what is to be expected for some commands I was able to shave off roughly 200 lines of code which is great COMPENSATION defines what tool correction register is being redefined, what quadrant is the cutting end, xyz corrections, and nose radius END OF PROGRAM is now single meaning CIRCLE output looks like this kk("ARCH/CENTER, "+centar_x+", "+centar_y+", "+centar_z); kk("ARCH/AXIS"); kk("ARCH/TANGENT, "+this.ls_i+", "+this.ls_j+", "+this.ls_k); kk("ARCH/INFO, "+radius+", "+movement+", "+angle); kk("ARCH/END, "+kraj_x+", "+kraj_y+", "+kraj_z); CYLINDR or sinusoidal movement like this kk("SINUS/CENTER, "+centar_x+", "+centar_y+", "+centar_z); kk("SINUS/AXIS"); kk("SINUS/INFO, "+amplitude); kk("SINUS/TANGENT, "+this.ls_i+", "+this.ls_j+", "+this.ls_k); kk("SINUS/END,"+kraj_x+", "+kraj_y+", "+kraj_z); helix (in APT) HELICAL/CENTER, %MFG_HELICAL_X_CENTER, %MFG_HELICAL_Y_CENTER, %MFG_HELICAL_Z_CENTER HELICAL/TANGENT, %MFG_HELICAL_INDIRV_I, %MFG_HELICAL_INDIRV_J, %MFG_HELICAL_INDIRV_K HELICAL/AXIS, %MFG_HELICAL_I_AXIS, %MFG_HELICAL_J_AXIS, %MFG_HELICAL_K_AXIS HELICAL/INFO, %MFG_HELICAL_PITCH, %MFG_HELICAL_RADIUS, %MFG_HELICAL_HEIGHT, %MFG_HELICAL_ROUND HELICAL/END, %MFG_HELICAL_X_END, %MFG_HELICAL_Y_END, %MFG_HELICAL_Z_END SPINDL is now simply defined FEDRAT is now simply defined COOLANT on the other hand, apparently the coolant is set while defining the tool, which i have accounted on and then just coolant on off, but it seems a bit like it doesn’t make sense that way what if different coolant is wanted??, also the actual syntacs is quite unknown for the coolant sooo yeah DELAY is now simply defined CYCLE now got major upgrades by manipulating the APT lost like a 75 lines of code there spindle rotation limit is now settable CUTCOM pensation is now uncovered but I genuenly have no idea what the stuff means NORMDS or NORMPS, maybe normal to drive / prat surface God knows the answer that I am sure BUGS Yes - I haven’t had a chance to test it yet so I dunno I got the background loading path wrong so that is corrected STUFF LEFT TO DO Make a function for the line split into 3, 4, 5, 6 Rework G-coder to output accordingly to the reworked parser Play with the PPTable The rest of the TO-DO list SUM-UP Found out that I can modify the APT output via PPTable, made a PPTable, now I know much more about The APT, made the parser more precise and thus more correct
DEVLOG 22 New stuff re edited the KK guide so it is written in .md and I SWEAR it looks so much better and it is easier to read rawG new command this one is to be written in the APT or added as an additional command and it bypasses both layers of translation rawKK new command this one is to be written in the APT and it bypasses the first layer of translation (line written in KK) Bug fixes I saw a few bugs in the rapto section of the goto and godlta pretty much all, still haven’t had time to test this changes but it seems to be working ok Leftover stuff make a guide on how to use Catia and CATIA.pptable make an explanation of this program how it works and other and i have written about 3 pages of stuff in catia that i have no idea what that meas and what does it do so research those improve with like code block suggestions for manual code writing BUGS for some reason now the costum panel wint show
DEVLOG 23 NEW STUFF so the parselinev2 build is working (not on the web but in the git) the parselinev3 build is on the way, why? Because I realized how much the v2 build is leaking the performance and optimisation, so it would be simpler to re-do and make it with more brain this time HOW WILL IT WORK simple, for each command in Catia, there will be a case (switch case stuff) then each switch case will call a function that will do all the work for that case that function will call other function do math etc. the user will simply select a document from which the function will get called therefore giving a different syntacs and thats pretty much it
DEVLOG 24 NEW STUFF the parseline v3 is going relatively fast tomorrow it is probablly going to be finished currently the only left syntacs from v2 is to complete cycles, rawG, PSIS, INDIRV, MAXSPNDL, $$, CUTCOM, change tool rework on the SPINDLE syntacs is needed bc i compicated some stuff there and to make a value check by giving a +variable, then if it wasn’t a number it is going to be a NaN which is a false meaning i can make if (+variable) LEFTOVER STUFF (Not in the parseline v3) to do a guide on how to make your own output general overview on the program
Ships:
CAM post processor, so far its only suitable for CatiaV5 intoISO 6983, it’s still in development, there are a few non finished commands, but since there is no actual documentation for CATIA APT1.0 it works really good. erm yeah. at some point im going to make work on the web the rest is pretty much written on Git....
|
1793296557.3031375
|
1793382957.3031375
|
|
27206
|
rag feed reader by @keyboardspam | Stardance
|
keyboardspam
|
1
|
28.18
|
96
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-29T20:35:41Z", "hours": 11.0, "multiplier": 17.45, "payout": 96, "blessing": "neutral", "text": "This project is a feed reader for emacs that focuses on performance. The feed reader that I used before this is elfeed so I will be comparing this with that. QOL Improvements (over elfeed) Memory usage The elfeed implementation does a bunch of things that hog memory. For one, the database is held entirely in memory. Rag uses a sqlite database to consume less memory. Another thing is that the xml data is parsed into an AST before it gets processed by the parsers which means that you have both the original XML text and an AST which is duplicated work. To fix this, in rag it uses a xml streaming library (quick-xml) to process xml without an AST. Performance The biggest focus of this is in performance. One of the things that is improved over elfeed is that the elfeed buffer gets redrawn after every update by erasing the buffer and then redrawing everything which is very inefficient. This consumes a lot of time when elfeed finishes parsing feeds now that the updates are incremental and lazy, we are already multitudes faster than elfeed. There are more optimizations such as that are implemented using arena allocators to reuse allocations, or using references to avoid copying data. The reason that I need my feed reader (or anything else I use in Emacs) to be very fast because on Linux (I use an Arch derivative btw) I use EXWM as my window manager so whenever ELISP code blocks, I cannot use my computer to do anything else (like remembering to use Emacs as a text editor). As a result I want my feed reader to be as fast as possible. Reliability One of the issues that I have with elfeed is a bug (that I haven’t reported because idk how to describe or reproduce, I also don’t have any screenshots) where after the elfeed database gets large enough with entries, the description of entries ends up incorrect where it cuts off halfway or it shows you the description of the wrong entry. I suspect that this has something to do with the fact that the database they use is a custom one implemented in ELISP (before Emacs got sqlite support) so by making a feed reader that uses sqlite which is very battle tested, in my limited experience so far, the database is more reliable here than in elfeed.", "repo": "https://github.com/butterfingres/rag", "demo": "https://github.com/butterfingres/rag/releases"}]...
|
[{"post_id": 32579, "ts": "202 [{"post_id": 32579, "ts": "2026-07-21T21:00:54Z", "hours": 1.1211, "text": "After figuring out how to use cargo build with makefiles to test elisp dynamic modules, and replacing it in my other project, I replaced the build system from a configure script + makefiles to makefiles + cargo to run tests."}, {"post_id": 31389, "ts": "2026-07-19T18:33:09Z", "hours": 5.6822, "text": "I made parsing happen inside of a thread pool in order to have parallelism to not block the main thread. Everything now happens much faster and is more responsive now."}, {"post_id": 24640, "ts": "2026-07-08T11:18:13Z", "hours": 3.5075, "text": "I added handling ttl caches to prevent spamming rss feeds and added building shared libraries for musl libc users on linux."}, {"post_id": 21456, "ts": "2026-07-03T12:41:45Z", "hours": 3.0242, "text": "The dublin core, syndication, content and media namespace parsers are now complete and all feed types are able to support them. Now you view feeds that don’t use most of their native elements."}, {"post_id": 19954, "ts": "2026-07-01T12:26:25Z", "hours": 3.8461, "text": "I added support for the Dublin Core (dc) and Media RSS (media) namespaces in feeds. My favorite part of this was handling date and time because it is always just so fun. In Dublin Core, not only do the specs say that you can have incomplete ISO-8601 timestamps like (2000), (2000-01) but you could also specify time ranges like (2000/2000-02-01) https://www.dublincore.org/specifications/dublin-core/dcmi-terms/#date meaning the publishing date is somewhere between 2000-01-01 and 2000-02-01 leading to this amazing function. The best part of all this is that there is going to be more complicated date time handling when I write the syndication (sy) namespace handler."}, {"post_id": 18609, "ts": "2026-06-29T20:10:01Z", "hours": 1.2136, "text": "I wrote a README that describes the project and its goals that doubles for my ship description."}, {"post_id": 18540, "ts": "2026-06-29T18:38:25Z", "hours": 2.3694, "text": "I added a github actions workflow that builds release artifacts for windows, mac, and linux in x86_64 and aarch64 + a bunch of obscure linux architectures. I also added a installation guide at https://github.com/butterfingres/rag/blob/master/README.org so now I can finally ship this."}, {"post_id": 18407, "ts": "2026-06-29T15:22:33Z", "hours": 4.0789, "text": "The entries that are parsed from the feeds now get inserted into the buffer using binary search to incrementally you new entries. All that would be left is to create a guide for non-Emacs users so that people can tests it and also CI builds for releases for a bunch of different architectures then I could ship."}, {"post_id": 18010, "ts": "2026-06-28T23:45:38Z", "hours": 1.32, "text": "I added an entry viewer so now you can look see the description of feeds. The ui is “inspired” by elfeed. The only thing left before shipping would be a configuration interface for feeds to add your rss feeds followed by a scheduler for downloading them."}, {"post_id": 17807, "ts": "2026-06-28T18:59:14Z", "hours": 0.6406, "text": "Made the feed reader put the parsed entries & feeds into a sqlite database. I also added a basic frontend to the database that currently only shows feed titles."}, {"post_id": 17258, "ts": "2026-06-27T23:41:21Z", "hours": 1.3494, "text": "finished parsing all the feed xml formats (rss, rdf, atom) will start working on the front-end soon. there’s not much to show bc its backend stuff."}]...
|
Title: rag feed reader by @keyboardspam | Stardanc Title: rag feed reader by @keyboardspam | Stardance
Devlogs:
finished parsing all the feed xml formats (rss, rdf, atom) will start working on the front-end soon. there’s not much to show bc its backend stuff.
Made the feed reader put the parsed entries & feeds into a sqlite database. I also added a basic frontend to the database that currently only shows feed titles.
I added an entry viewer so now you can look see the description of feeds. The ui is “inspired” by elfeed. The only thing left before shipping would be a configuration interface for feeds to add your rss feeds followed by a scheduler for downloading them.
The entries that are parsed from the feeds now get inserted into the buffer using binary search to incrementally you new entries. All that would be left is to create a guide for non-Emacs users so that people can tests it and also CI builds for releases for a bunch of different architectures then I could ship.
I added a github actions workflow that builds release artifacts for windows, mac, and linux in x86_64 and aarch64 + a bunch of obscure linux architectures. I also added a installation guide at https://github.com/butterfingres/rag/blob/master/README.org so now I can finally ship this.
I wrote a README that describes the project and its goals that doubles for my ship description.
I added support for the Dublin Core (dc) and Media RSS (media) namespaces in feeds. My favorite part of this was handling date and time because it is always just so fun. In Dublin Core, not only do the specs say that you can have incomplete ISO-8601 timestamps like (2000), (2000-01) but you could also specify time ranges like (2000/2000-02-01) https://www.dublincore.org/specifications/dublin-core/dcmi-terms/#date meaning the publishing date is somewhere between 2000-01-01 and 2000-02-01 leading to this amazing function. The best part of all this is that there is going to be more complicated date time handling when I write the syndication (sy) namespace handler.
The dublin core, syndication, content and media namespace parsers are now complete and all feed types are able to support them. Now you view feeds that don’t use most of their native elements.
I added handling ttl caches to prevent spamming rss feeds and added building shared libraries for musl libc users on linux.
I made parsing happen inside of a thread pool in order to have parallelism to not block the main thread. Everything now happens much faster and is more responsive now.
After figuring out how to use cargo build with makefiles to test elisp dynamic modules, and replacing it in my other project, I replaced the build system from a configure script + makefiles to makefiles + cargo to run tests.
Ships:
This project is a feed reader for emacs that focuses on performance. The feed reader that I used before this is elfeed so I will be comparing this with that. QOL Improvements (over elfeed) Memory usage The elfeed implementation does a bunch of things that hog memory. For one, the database is held entirely in memory. Rag uses a sqlite database to consume less memory. Another thing is that the xml data is parsed into an AST before it gets processed by the parsers which means that you have both the original XML text and an AST which is duplicated work. To fix this, in rag it uses a xml streaming library (quick-xml) to process xml without an AST. Performance The biggest focus of this is in performance. One of the things that is improved over elfeed is that the elfeed buffer gets redrawn after every update by erasing the buffer and then redrawing everything which is very inefficient. This consumes a lot of time when elfeed finishes parsing feeds now that the updates are incremental and lazy, we are already multitudes faster than elfeed. There are more optimizations such as that are implemented using arena allocators to reuse allocations, or using references to avoid copying data. The reason that I need my feed reader (or anything else I use in Emacs) to be very fast because on Linux (I use an Arch derivative btw) I use EXWM as my window manager so whenever ELISP code blocks, I cannot use my computer to do anything else (like remembering to use Emacs as a text editor). As a result I want my feed reader to be as fast as possible. Reliability One of the issues that I have with elfeed is a bug (that I haven’t reported because idk how to describe or reproduce, I also don’t have any screenshots) where after the elfeed database gets large enough with entries, the description of entries ends up incorrect where it cuts off halfway or it shows you the description of the wrong entry. I suspect that this has something to do with the fact that the database they use is a custom one implemented in ELISP (before Emacs got sqlite support) so by making a feed reader that uses sqlite which is very battle tested, in my limited experience so far, the database is more reliable here than in elfeed....
|
1793281837.4634542
|
1793368237.4634542
|
|
27217
|
M-Logger by @vik | Stardance
|
vik
|
1
|
6.0
|
23
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-04T19:21:35Z", "hours": 6.0, "multiplier": 3.8, "payout": 23, "blessing": "neutral", "text": "I just finished making a Streamlit-based workout tracking app. My initial goal was to include more in-depth metrics than the average tracker. I did this, first brainstorming 20-30 things that lifters would like to track, and including them all as inputs; for example, RIR, RPE, tempo, drop sets, assisted reps, etc. This was my first time ever touching Python or Streamlit! I ran into so many walls and sunk so much time debugging due to beginner mistakes like writing bad syntax, messing up indentations. I had no idea how to track variables after page refreshes, or how to make pages interact with each other. I didn’t understand the point of list operations: appending and checking length I didn’t know about creating unique keys to store variables with. (Honestly, I still largely don’t…) Still, this is much farther than I thought I could’ve gone for a first project, I’m grateful to have grasped the basics of Python: variables, inputs, loops. In hindsight, the whole experience was fun, especially writing out a bank of wise quotes to be randomly displayed on startup. “Pain is an illusion, but PRs are real.”; “I lift, therefore I am.” etc. Thanks for reading, please check out my demo!", "repo": "https://github.com/vikh6/gym-logger", "demo": "https://mlogger.streamlit.app/"}]...
|
[{"post_id": 22314, "ts": "202 [{"post_id": 22314, "ts": "2026-07-04T18:33:28Z", "hours": 1.7122, "text": "got the app pretty much done!! my first change was adding an additional reps feature where people could add in drop sets, myoreps, rest-pause reps, etc. this goes into more detail than most simple weight/reps loggers. I left that section intentionally more open-ended because there’s such a wide range of intensifiers people use. . I ran into a lotttt of problems trying to optionally allow certain features to be disabled. it should’ve been a simple feature - a checkbox that if true hid certain form fields. but my checkboxes kept resetting their state when the page refreshed :( using a combination session state and keys, i got the feature to work at last. it didn’t help that I got stuck due to some rookie coding mistakes: I initially put all the form inputs in an if loop, but I had to change it when I realized the variables were only defined inside that loop. . even deploying the streamlit app was an interesting new experience for me. I learned about Git and Github, and how to organise the files in a repo. this helped me learn how projects go from code files to real applications with a domain and frontend."}, {"post_id": 20338, "ts": "2026-07-01T22:18:11Z", "hours": 2.1014, "text": "I added forms for users to input exercises and sets into my logger, the key function. I included all the different set metrics that I brainstormed yesterday. My original idea to differentiate my app from all others was including all the bells and whistles, a lot of workout trackers don’t let you input minor details like rest times, ROM, etc. Right now it’s a sprawling mess; I’m planning a settings page where users can choose which to include. . I also learned a lot about debugging. As a complete beginner to Python, it was a massive pain working with all the nested forms. I got so many errors and tweaked so much stuff only to realize I indented one thing wrong and that was causing all of it :( . Next up, all the different set types, like dropsets and supersets. I’m not fully sure yet how I’m going to include that. Also, I need to let people add in additional reps, ie partial reps, assisted reps, etc. and include the types of stuff loggers would care about - how many partials, how much ROM?"}, {"post_id": 18288, "ts": "2026-06-29T12:01:45Z", "hours": 1.56, "text": "I started making the form screen for inputting a workout. First I wrote out a huge list of all the workout details, exercise details, and set metrics I wanted to include. It took a while to research and copy down all the different types of nonsense lifters do and record… I don’t think my list is comprehensive yet. Also, I think I’m overly sad because all that work counted as 0min of time logged :/ . Seeing this huge dump, I think I should allow users to check off which selections to include while logging workouts, for simplicity and because everyone lifts differently. . I created the add workout form today and learned about different input boxes that generated different variable types. One cool feature was the inbuilt slider, which I used to allow users to input their overall energy level, but I anticipate could also be used to input RPE, etc. . I also added a text section that generates a random cheesy gym-related quote whenever the user adds a new workout, and I wrote out 25 of them."}, {"post_id": 17240, "ts": "2026-06-27T23:11:48Z", "hours": 0.7489, "text": "Devlog 0: 27.06.25 . Started my project today, I want to make a gym logger because Google Sheets is really uninspiring to work with. I thought of differentiating myself from other loggers by including options for very specific inputs. Most loggers I’ve seen only let you input weight and reps, and don’t let you log RIR, RPE, rest times, etc. and/or don’t support stuff like dropsets, supersets, cluster sets, etc. . I’m a complete beginner to coding so I spent some time watching a Python tutorial on YT and learned about print statements and variable types. . The UI looks beautiful doesn’t it ⌄ (I only set up the environment today)"}]...
|
Title: M-Logger by @vik | Stardance
Devlogs:
Devl Title: M-Logger by @vik | Stardance
Devlogs:
Devlog 0: 27.06.25 . Started my project today, I want to make a gym logger because Google Sheets is really uninspiring to work with. I thought of differentiating myself from other loggers by including options for very specific inputs. Most loggers I’ve seen only let you input weight and reps, and don’t let you log RIR, RPE, rest times, etc. and/or don’t support stuff like dropsets, supersets, cluster sets, etc. . I’m a complete beginner to coding so I spent some time watching a Python tutorial on YT and learned about print statements and variable types. . The UI looks beautiful doesn’t it ⌄ (I only set up the environment today)
I started making the form screen for inputting a workout. First I wrote out a huge list of all the workout details, exercise details, and set metrics I wanted to include. It took a while to research and copy down all the different types of nonsense lifters do and record… I don’t think my list is comprehensive yet. Also, I think I’m overly sad because all that work counted as 0min of time logged :/ . Seeing this huge dump, I think I should allow users to check off which selections to include while logging workouts, for simplicity and because everyone lifts differently. . I created the add workout form today and learned about different input boxes that generated different variable types. One cool feature was the inbuilt slider, which I used to allow users to input their overall energy level, but I anticipate could also be used to input RPE, etc. . I also added a text section that generates a random cheesy gym-related quote whenever the user adds a new workout, and I wrote out 25 of them.
I added forms for users to input exercises and sets into my logger, the key function. I included all the different set metrics that I brainstormed yesterday. My original idea to differentiate my app from all others was including all the bells and whistles, a lot of workout trackers don’t let you input minor details like rest times, ROM, etc. Right now it’s a sprawling mess; I’m planning a settings page where users can choose which to include. . I also learned a lot about debugging. As a complete beginner to Python, it was a massive pain working with all the nested forms. I got so many errors and tweaked so much stuff only to realize I indented one thing wrong and that was causing all of it :( . Next up, all the different set types, like dropsets and supersets. I’m not fully sure yet how I’m going to include that. Also, I need to let people add in additional reps, ie partial reps, assisted reps, etc. and include the types of stuff loggers would care about - how many partials, how much ROM?
got the app pretty much done!! my first change was adding an additional reps feature where people could add in drop sets, myoreps, rest-pause reps, etc. this goes into more detail than most simple weight/reps loggers. I left that section intentionally more open-ended because there’s such a wide range of intensifiers people use. . I ran into a lotttt of problems trying to optionally allow certain features to be disabled. it should’ve been a simple feature - a checkbox that if true hid certain form fields. but my checkboxes kept resetting their state when the page refreshed :( using a combination session state and keys, i got the feature to work at last. it didn’t help that I got stuck due to some rookie coding mistakes: I initially put all the form inputs in an if loop, but I had to change it when I realized the variables were only defined inside that loop. . even deploying the streamlit app was an interesting new experience for me. I learned about Git and Github, and how to organise the files in a repo. this helped me learn how projects go from code files to real applications with a domain and frontend.
Ships:
I just finished making a Streamlit-based workout tracking app. My initial goal was to include more in-depth metrics than the average tracker. I did this, first brainstorming 20-30 things that lifters would like to track, and including them all as inputs; for example, RIR, RPE, tempo, drop sets, assisted reps, etc. This was my first time ever touching Python or Streamlit! I ran into so many walls and sunk so much time debugging due to beginner mistakes like writing bad syntax, messing up indentations. I had no idea how to track variables after page refreshes, or how to make pages interact with each other. I didn’t understand the point of list operations: appending and checking length I didn’t know about creating unique keys to store variables with. (Honestly, I still largely don’t…) Still, this is much farther than I thought I could’ve gone for a first project, I’m grateful to have grasped the basics of Python: variables, inputs, loops. In hindsight, the whole experience was fun, especially writing out a bank of wise quotes to be randomly displayed on startup. “Pain is an illusion, but PRs are real.”; “I lift, therefore I am.” etc. Thanks for reading, please check out my demo!...
|
1793311015.4494298
|
1793397415.4494298
|
|
27224
|
My very own WebOS by @nevasood | Stardance
|
nevasood
|
1
|
17.07
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-21T14:51:23Z", "hours": 12.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a WEBOS about myself with 3 specific apps. It contains a shopping list, a calculator and a notepad. It was challenging to make the shopping list. It was difficult to code in Javascript, which I did more effectively through the use of AI.", "repo": "https://github.com/itzzneva/my-own-web-OS", "demo": "https://itzzneva.github.io/my-own-web-OS/"}]...
|
[{"post_id": 83362, "ts": "202 [{"post_id": 83362, "ts": "2026-10-27T20:26:30Z", "hours": 1.4375, "text": "added a photo gallery with my items instead"}, {"post_id": 83067, "ts": "2026-10-26T19:34:04Z", "hours": 3.6314, "text": "had to rewrite some of the code"}, {"post_id": 81500, "ts": "2026-10-21T14:49:05Z", "hours": 4.77, "text": "my web os complete"}, {"post_id": 60255, "ts": "2026-09-02T14:50:53Z", "hours": 0.315, "text": "I have added a background colour. I might add some extra apps such as a calculator."}, {"post_id": 59615, "ts": "2026-09-01T15:11:30Z", "hours": 7.3794, "text": "I have currently added a window. I have struggled with making it draggable but it can close properly. I plan on adding more apps or windows. I plan to make it fit a certain theme, by adding certain images."}]...
|
Title: My very own WebOS by @nevasood | Stardance
Title: My very own WebOS by @nevasood | Stardance
Devlogs:
I have currently added a window. I have struggled with making it draggable but it can close properly. I plan on adding more apps or windows. I plan to make it fit a certain theme, by adding certain images.
I have added a background colour. I might add some extra apps such as a calculator.
my web os complete
had to rewrite some of the code
added a photo gallery with my items instead
Ships:
I made a WEBOS about myself with 3 specific apps. It contains a shopping list, a calculator and a notepad. It was challenging to make the shopping list. It was difficult to code in Javascript, which I did more effectively through the use of AI....
|
1793199349.5048501
|
1793285749.5048501
|
|
27230
|
Portfolio by @Sem_Acou | Stardance
|
Sem_Acou
|
1
|
11.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-29T11:04:42Z", "hours": 11.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I like to build hardware projects, but I also like to write articles about space! With the final result of this project, I can finally combine the two. I made a portfolio website to practice my HTML and CSS skills. But there was one problem… the project got slightly out of hand. After making the basic website, I wanted MORE. I started adding animations and page transitions with the Swup libary, which… let’s say ‘could have gone better😅’ Disclamer (I like to be transparent about this): To make it easier for me to upload new projects or articles, the website required a bit of JS, I can’t code in JS very well yet, so I did get some help from AI there.", "repo": "https://github.com/MrQuaq/A-SPACE_Website", "demo": "https://aspacedemo.netlify.app"}]...
|
[{"post_id": 36922, "ts": "202 [{"post_id": 36922, "ts": "2026-07-29T10:09:27Z", "hours": 0.9092, "text": "This will be my last devlog before I ship I have only done some clean up and writing some paragraphs for the website. It was a great pleasure working on this and sharing this journey of my first bigger project with you. And I’ll say it here to as I like to be transparent about such things: This website was mainly created to practice my HTML and CSS skills. Because I’ve always wanted a place where I could share both my projects and articles that I wrote, this project got slightly out of hand. To be able to get to a finished version I did have to use some AI for the JS as I am not that familiar with it… But i am learning!"}, {"post_id": 22177, "ts": "2026-07-04T14:40:42Z", "hours": 5.8158, "text": "The same library got me again😑 Quick take: I added a project page where I can showcase all projects. I also added a blog page where I can show the development process of my projects and also write about whatever interests me. Finally I added a very simple gallery page that hosts some pictures. The projects and blogs both have buttons to ‘read more’. And thats exactly where it became dificult… For the most part, making these pages was fairly easy, I made it so I can just add entries to a json file and there appears a new card with all of the article/project info. The difficult part began when I wanted to link a markdown file to these json files so that I can easily write in Google docs and just export as a markdown. The big problem was that because of the libary I am using (Swup) the text inside the markdown files wasn’t being rendered. I tried a bunch of solutions but the one that worked was to tell Swup not to care about the link to an article/project (eg. dont perform a transition). This way the browser performes a hard reset of the page. The only problem that was left is that then the header and footer dont display… Yeah, I just hardcoded them in everywhere😅. It’s not beautifull and I’m not proud of it, but it is a fix. And that’s the most important!"}, {"post_id": 19886, "ts": "2026-07-01T09:49:03Z", "hours": 4.485, "text": "I had beef with a library… or was it just me🥲 I spent the past few hours working on a portfolio/blog website where I can easily track and show my progress, both for myself and others. The idea was to just create a quick website so I could quickly continue working on my other projects and actually start posting on the page… Just as all projects, it got slightly out of hand and I spent WAY too much time making this website nicer, and completely ignoring my goal of a “quick” website. The home page On the home page I added a carousell, orbiting around earth, where I can showcase some projects. I did follow a youtube tutorial for the carousell (I’m not that good🥲) I already did this one time before so I just used that code. The about page I also designed the about page with some info, a quote and some aditional ‘focus cards’. Oh yeah, and the whole library thing… I basically wanted to make some cool page transitions (which I have never done before). So I figured I would just follow a quick tutorial on youtube about the Swup libary… aaandd that didn’t exactly work as planned. Turns out it was just my fault for completely following a 6y old tutorial that was using a previous v3 version of the libary. I was using the v4 in my code, which appairently works a bit differently. Luckly everything works fine now!! … turns out it was my fault after all."}]...
|
Title: Portfolio by @Sem_Acou | Stardance
Devlogs Title: Portfolio by @Sem_Acou | Stardance
Devlogs:
I had beef with a library… or was it just me🥲 I spent the past few hours working on a portfolio/blog website where I can easily track and show my progress, both for myself and others. The idea was to just create a quick website so I could quickly continue working on my other projects and actually start posting on the page… Just as all projects, it got slightly out of hand and I spent WAY too much time making this website nicer, and completely ignoring my goal of a “quick” website. The home page On the home page I added a carousell, orbiting around earth, where I can showcase some projects. I did follow a youtube tutorial for the carousell (I’m not that good🥲) I already did this one time before so I just used that code. The about page I also designed the about page with some info, a quote and some aditional ‘focus cards’. Oh yeah, and the whole library thing… I basically wanted to make some cool page transitions (which I have never done before). So I figured I would just follow a quick tutorial on youtube about the Swup libary… aaandd that didn’t exactly work as planned. Turns out it was just my fault for completely following a 6y old tutorial that was using a previous v3 version of the libary. I was using the v4 in my code, which appairently works a bit differently. Luckly everything works fine now!! … turns out it was my fault after all.
The same library got me again😑 Quick take: I added a project page where I can showcase all projects. I also added a blog page where I can show the development process of my projects and also write about whatever interests me. Finally I added a very simple gallery page that hosts some pictures. The projects and blogs both have buttons to ‘read more’. And thats exactly where it became dificult… For the most part, making these pages was fairly easy, I made it so I can just add entries to a json file and there appears a new card with all of the article/project info. The difficult part began when I wanted to link a markdown file to these json files so that I can easily write in Google docs and just export as a markdown. The big problem was that because of the libary I am using (Swup) the text inside the markdown files wasn’t being rendered. I tried a bunch of solutions but the one that worked was to tell Swup not to care about the link to an article/project (eg. dont perform a transition). This way the browser performes a hard reset of the page. The only problem that was left is that then the header and footer dont display… Yeah, I just hardcoded them in everywhere😅. It’s not beautifull and I’m not proud of it, but it is a fix. And that’s the most important!
This will be my last devlog before I ship I have only done some clean up and writing some paragraphs for the website. It was a great pleasure working on this and sharing this journey of my first bigger project with you. And I’ll say it here to as I like to be transparent about such things: This website was mainly created to practice my HTML and CSS skills. Because I’ve always wanted a place where I could share both my projects and articles that I wrote, this project got slightly out of hand. To be able to get to a finished version I did have to use some AI for the JS as I am not that familiar with it… But i am learning!
Ships:
I like to build hardware projects, but I also like to write articles about space! With the final result of this project, I can finally combine the two. I made a portfolio website to practice my HTML and CSS skills. But there was one problem… the project got slightly out of hand. After making the basic website, I wanted MORE. I started adding animations and page transitions with the Swup libary, which… let’s say ‘could have gone better😅’ Disclamer (I like to be transparent about this): To make it easier for me to upload new projects or articles, the website required a bit of JS, I can’t code in JS very well yet, so I did get some help from AI there....
|
1793220854.1795633
|
1793307254.1795633
|
|
27259
|
Textlib - Adventure API by @timon | Stardance
|
timon
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-27T21:38:12Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I wanted to share a small library I just built as an addon for the Kyori Adventure API. I mainly make Paper pluginsand typing out Component.text() over and over for every time with hex colors is getting annoying. I wanted it simple and fast for my plugin projects. That’s why I created this! It adds a super easy cmp shortcut and automatically fixes missing # tags in hex codes so things dont break. For combining you use the + operator to append text. This was my first time actually making a library. At the beginning it was pretty difficult. Though it was pretty easy now thinking back (the 2 hours lol) I would be super happy if anyone wants to check it out or even build onto it.", "repo": "https://github.com/Facticee/my-textlib", "demo": "https://github.com/Facticee/my-textlib/blob/main/README.md"}]...
|
[{"post_id": 17173, "ts": "202 [{"post_id": 17173, "ts": "2026-06-27T21:30:44Z", "hours": 1.0, "text": "I actually finished it in one sitting so this is just everything but here I go: I made a library as an addon to the adventure api. I made it because it helps me with paper plugin making. started with a shortcut function called cmp. You can now just type cmp instead of component.text. If you forget the # in a hex code (like ”FF5555”), Adventure usually breaks. The lib now checks for this and fixes it automatically. You can now just use + to append components."}]...
|
Title: Textlib - Adventure API by @timon | Stardan Title: Textlib - Adventure API by @timon | Stardance
Devlogs:
I actually finished it in one sitting so this is just everything but here I go: I made a library as an addon to the adventure api. I made it because it helps me with paper plugin making. started with a shortcut function called cmp. You can now just type cmp instead of component.text. If you forget the # in a hex code (like ”FF5555”), Adventure usually breaks. The lib now checks for this and fixes it automatically. You can now just use + to append components.
Ships:
I wanted to share a small library I just built as an addon for the Kyori Adventure API. I mainly make Paper pluginsand typing out Component.text() over and over for every time with hex colors is getting annoying. I wanted it simple and fast for my plugin projects. That’s why I created this! It adds a super easy cmp shortcut and automatically fixes missing # tags in hex codes so things dont break. For combining you use the + operator to append text. This was my first time actually making a library. At the beginning it was pretty difficult. Though it was pretty easy now thinking back (the 2 hours lol) I would be super happy if anyone wants to check it out or even build onto it....
|
1792882053.081405
|
1793746053.081405
|
|
27263
|
AsciiBird by @renanfartes | Stardance
|
renanfartes
|
1
|
8.0
|
119
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-30T16:36:18Z", "hours": 8.0, "multiplier": 14.29, "payout": 119, "blessing": "neutral", "text": "I creaded a AsciiBird! A flappy bird version on the terminal. I learned about frame buffers, memcpy() and how to handle user input without the canonical mode and the terminal ECHO. Space Jumps R restarts Q exits", "repo": "https://github.com/Renan-G-projec/AsciiBird", "demo": "https://github.com/Renan-G-projec/AsciiBird/releases/tag/v1.0.0"}]...
|
[{"post_id": 19320, "ts": "202 [{"post_id": 19320, "ts": "2026-06-30T16:30:00Z", "hours": 0.3656, "text": "Devlog #07 Added finally windows support! I added the tag _WIN32 to speciallized compile. As i do not have windows, i cannot compile the inary and put it on releases. If your’re on windows, you’ll need to build it from source… ;("}, {"post_id": 19277, "ts": "2026-06-30T15:28:17Z", "hours": 0.6781, "text": "Devlog #06 GAME COMPLETE I added the points and gameover system. I did it fast, so the code is crappy by the moment. But after i refactor it. I only need to port it to windows before shipping. (Yeah, i’m terrible in my own game, as yall can see in this clip)"}, {"post_id": 19235, "ts": "2026-06-30T14:30:42Z", "hours": 0.7244, "text": "Devlog #06 Working pipes! I added the pipe mechanic. So now it spawns at different Y levels and returns to the X initial position to not waste memory. It does not make the player die or anything, i’ll add this later."}, {"post_id": 19179, "ts": "2026-06-30T13:17:10Z", "hours": 1.4264, "text": "Devlog #05 Basic Mechanics added! So basicly my core ascii engine is ready. So, i’ll start making the flappy bird logic. Since is simple, i’ll make it faster. after i can make some other scenes such as a menu or stuff. By the time, i have a funcitonal gravity and a jump mechanic. Still needs the pipes."}, {"post_id": 18837, "ts": "2026-06-30T01:15:59Z", "hours": 1.4369, "text": "Devlog #04 Finally working clock! I now finished the interface. The std::chrono Library is a really torture to convert and display. THe documentation is the end of the world. Todos: Add a setTargetFPS() function Add a getFrameTime() function for deltatime Start the game itself,"}, {"post_id": 18428, "ts": "2026-06-29T16:08:44Z", "hours": 1.7056, "text": "Devlog #03 FINALLY NONBLOCK INPUT I’ve navigated for like almost 40 minutes and not found any reasonable or good answer. I had to search with AI to learn what is the termios struct and how it works on the linux headers. Is a lot more simple than stack overflow answers. I thought using ncurses but it still not have a full port for windows later. I’ll use <conio.h> to read input on windows."}, {"post_id": 17544, "ts": "2026-06-28T11:34:00Z", "hours": 1.5275, "text": "Devlog #02 I added sprite loading and rendering. The Framebuffer is also implemented and i had some headaches I wanted to load sprites from files. I searched all over the google to see how to use only \\n as delimeter. I didn’t find. THIS TOOK ME HALF AN HOUR I used AI for that. I’m not a machine ;("}, {"post_id": 17170, "ts": "2026-06-27T21:28:50Z", "hours": 0.5144, "text": "Devlog #01 Project initialized. Cmake, README and Git repo all setted Just started writting my logic to render things on the terminal! The idea is to be mantainable and secure. Here’s the renderer class scaffold"}]...
|
Title: AsciiBird by @renanfartes | Stardance
Devl Title: AsciiBird by @renanfartes | Stardance
Devlogs:
Devlog #01 Project initialized. Cmake, README and Git repo all setted Just started writting my logic to render things on the terminal! The idea is to be mantainable and secure. Here’s the renderer class scaffold
Devlog #02 I added sprite loading and rendering. The Framebuffer is also implemented and i had some headaches I wanted to load sprites from files. I searched all over the google to see how to use only \n as delimeter. I didn’t find. THIS TOOK ME HALF AN HOUR I used AI for that. I’m not a machine ;(
Devlog #03 FINALLY NONBLOCK INPUT I’ve navigated for like almost 40 minutes and not found any reasonable or good answer. I had to search with AI to learn what is the termios struct and how it works on the linux headers. Is a lot more simple than stack overflow answers. I thought using ncurses but it still not have a full port for windows later. I’ll use <conio.h> to read input on windows.
Devlog #04 Finally working clock! I now finished the interface. The std::chrono Library is a really torture to convert and display. THe documentation is the end of the world. Todos: Add a setTargetFPS() function Add a getFrameTime() function for deltatime Start the game itself,
Devlog #05 Basic Mechanics added! So basicly my core ascii engine is ready. So, i’ll start making the flappy bird logic. Since is simple, i’ll make it faster. after i can make some other scenes such as a menu or stuff. By the time, i have a funcitonal gravity and a jump mechanic. Still needs the pipes.
Devlog #06 Working pipes! I added the pipe mechanic. So now it spawns at different Y levels and returns to the X initial position to not waste memory. It does not make the player die or anything, i’ll add this later.
Devlog #06 GAME COMPLETE I added the points and gameover system. I did it fast, so the code is crappy by the moment. But after i refactor it. I only need to port it to windows before shipping. (Yeah, i’m terrible in my own game, as yall can see in this clip)
Devlog #07 Added finally windows support! I added the tag _WIN32 to speciallized compile. As i do not have windows, i cannot compile the inary and put it on releases. If your’re on windows, you’ll need to build it from source… ;(
Ships:
I creaded a AsciiBird! A flappy bird version on the terminal. I learned about frame buffers, memcpy() and how to handle user input without the canonical mode and the terminal ECHO. Space Jumps R restarts Q exits...
|
1793245988.124176
|
1793332388.124176
|
|
27279
|
My very own WebOS by @FireNinja | Stardance
|
FireNinja
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-01T16:50:17Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a simple web OS with the guide, it’s not nearly enough to compete with the other OS’s I’ve seen on this site, but I plan to expand on this and make it better, this is my first real finished project, and considering I didn’t have any prior coding experience I’m pretty proud of it", "repo": "https://github.com/fireninja012/WebOS", "demo": "https://fireninja012.github.io/WebOS/"}]...
|
[{"post_id": 19994, "ts": "202 [{"post_id": 19994, "ts": "2026-07-01T13:56:04Z", "hours": 3.3, "text": "I just realized how bad my other devlogs were, well I’ll try to make this one better. so far, I have this, I’ll finish this mission here but that’s not all, I already have some ideas in mind on how to make this better for WebOS 2."}, {"post_id": 18785, "ts": "2026-06-30T00:03:58Z", "hours": 1.8611, "text": "Thinking of inspiring quotes to put on it"}, {"post_id": 18441, "ts": "2026-06-29T16:29:31Z", "hours": 0.4, "text": "Making an OS :)"}]...
|
Title: My very own WebOS by @FireNinja | Stardance Title: My very own WebOS by @FireNinja | Stardance
Devlogs:
Making an OS :)
Thinking of inspiring quotes to put on it
I just realized how bad my other devlogs were, well I’ll try to make this one better. so far, I have this, I’ll finish this mission here but that’s not all, I already have some ideas in mind on how to make this better for WebOS 2.
Ships:
I made a simple web OS with the guide, it’s not nearly enough to compete with the other OS’s I’ve seen on this site, but I plan to expand on this and make it better, this is my first real finished project, and considering I didn’t have any prior coding experience I’m pretty proud of it...
|
1793264053.5606554
|
1793350453.5606554
|
|
27307
|
Cell life simulation by @atomic925 | Stardance
|
atomic925
|
1
|
2.0
|
3
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-03T16:49:41Z", "hours": 2.0, "multiplier": 1.25, "payout": 3, "blessing": "neutral", "text": "I made a particle simulation where simple rules turn into complex shapes", "repo": "https://github.com/atomic92511/Particle-Life", "demo": "https://github.com/atomic92511/Particle-Life/releases/tag/Particle"}]...
|
[{"post_id": 21586, "ts": "202 [{"post_id": 21586, "ts": "2026-07-03T16:48:07Z", "hours": 1.3378, "text": "Cell life simulation"}, {"post_id": 18343, "ts": "2026-06-29T13:41:55Z", "hours": 0.9178, "text": "Particle Life simulation"}]...
|
Title: Cell life simulation by @atomic925 | Starda Title: Cell life simulation by @atomic925 | Stardance
Devlogs:
Particle Life simulation
Cell life simulation
Ships:
I made a particle simulation where simple rules turn into complex shapes...
|
1793274447.316262
|
1793360847.316262
|
|
27322
|
Bazaar Tracker HSB by @SagittaJL | Stardance
|
SagittaJL
|
1
|
48.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-11T20:56:51Z", "hours": 48.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built a live Hypixel SkyBlock Bazaar tracker that ranks 1200+ items using my own Gamma and Omega market metrics. The hardest part was dealing with Hypixel’s item data and getting custom item icons to work reliably. I’m most proud that it went from a small Python script into a full Flask website that’s now live. You can try searching for items, changing tax/Omega settings, and switching backgrounds in the settings menu. This is for all the SkyBlock buffs.", "repo": "https://github.com/linjeffrey21-creator/BazaarTracker", "demo": "https://bazaar-tracker-ten.vercel.app/"}]...
|
[{"post_id": 78875, "ts": "202 [{"post_id": 78875, "ts": "2026-10-11T20:54:39Z", "hours": 0.4081, "text": "Project is live on Render!"}, {"post_id": 78852, "ts": "2026-10-11T19:30:12Z", "hours": 13.8189, "text": "The Bazaar Tracker looks better off now with live item data, ranking, search, taxes, custom Gamma/Omega scores, item icons, and a background picker. My next step is to host it somewhere so other people can actually use it."}, {"post_id": 72086, "ts": "2026-09-22T04:22:54Z", "hours": 2.4642, "text": "Put the backend on a website now, working on the aesthetics but first time with YouTube"}, {"post_id": 71641, "ts": "2026-09-21T06:38:25Z", "hours": 30.8742, "text": "Working on a Search Feature to Expand the Catalog"}, {"post_id": 18576, "ts": "2026-06-29T19:27:44Z", "hours": 0.0692, "text": "This started as a script to list Hypixel SkyBlock reforge stones by category. Then, I decided to turn it into a full-on demand & stability scoring system for the Bazaar. It’s still in the works, as I don’t have many products being tracked right now. There’s a custom Demand Score (γ) for every item and a Stability Score (Ω) for each item. The program also spits out a Top 20 list of the most liquid, most in-demand flips, ranked by gamma."}]...
|
Title: Bazaar Tracker HSB by @SagittaJL | Stardanc Title: Bazaar Tracker HSB by @SagittaJL | Stardance
Devlogs:
This started as a script to list Hypixel SkyBlock reforge stones by category. Then, I decided to turn it into a full-on demand & stability scoring system for the Bazaar. It’s still in the works, as I don’t have many products being tracked right now. There’s a custom Demand Score (γ) for every item and a Stability Score (Ω) for each item. The program also spits out a Top 20 list of the most liquid, most in-demand flips, ranked by gamma.
Working on a Search Feature to Expand the Catalog
Put the backend on a website now, working on the aesthetics but first time with YouTube
The Bazaar Tracker looks better off now with live item data, ranking, search, taxes, custom Gamma/Omega scores, item icons, and a background picker. My next step is to host it somewhere so other people can actually use it.
Project is live on Render!
Ships:
I built a live Hypixel SkyBlock Bazaar tracker that ranks 1200+ items using my own Gamma and Omega market metrics. The hardest part was dealing with Hypixel’s item data and getting custom item icons to work reliably. I’m most proud that it went from a small Python script into a full Flask website that’s now live. You can try searching for items, changing tax/Omega settings, and switching backgrounds in the settings menu. This is for all the SkyBlock buffs....
|
1793336055.0247989
|
1793422455.0247989
|
|
27334
|
very terrible platformer by @Cawcaw | Stardance
|
Cawcaw
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-30T20:15:06Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a basic platformer where you try to go up. I kept changing concepts so much that i also wasted some hours too. Its a pretty basic and kinda boring platformer, but also short. also theres a bug that will flash 2 levels quickly.", "repo": "https://github.com/cawcawyt/decent-platformer", "demo": "https://turbowarp.org/1350406700?fps=60&interpolate&offscreen"}]...
|
[{"post_id": 19477, "ts": "202 [{"post_id": 19477, "ts": "2026-06-30T20:10:01Z", "hours": 3.7564, "text": "so far, i changed so much, and remove a lot too much that i kinda wasted some hours"}, {"post_id": 18863, "ts": "2026-06-30T02:00:27Z", "hours": 0.3408, "text": "What i have made so far (basic movement and moving the player back (its not much))"}]...
|
Title: very terrible platformer by @Cawcaw | Stard Title: very terrible platformer by @Cawcaw | Stardance
Devlogs:
What i have made so far (basic movement and moving the player back (its not much))
so far, i changed so much, and remove a lot too much that i kinda wasted some hours
Ships:
I made a basic platformer where you try to go up. I kept changing concepts so much that i also wasted some hours too. Its a pretty basic and kinda boring platformer, but also short. also theres a bug that will flash 2 levels quickly....
|
1793260215.8496711
|
1793346615.8496711
|
|
27336
|
Aerovox by @ari | Stardance
|
ari
|
1
|
11.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-28T18:26:55Z", "hours": 11.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Built an AI copilot for real flight. You can use your voice to command any nearby aircraft in real time. We faces challenges such as voice API reliability but were able to overcome this by pivoting to ElevenLabs.", "repo": "https://github.com/snowpoffez/aerovox", "demo": "https://devpost.com/software/aerovox"}]...
|
[{"post_id": 17301, "ts": "202 [{"post_id": 17301, "ts": "2026-06-28T00:56:52Z", "hours": 10.8681, "text": "Completed the project at a hackathon! See the devpost here: https://devpost.com/software/aerovox"}]...
|
Title: Aerovox by @ari | Stardance
Devlogs:
Compl Title: Aerovox by @ari | Stardance
Devlogs:
Completed the project at a hackathon! See the devpost here: https://devpost.com/software/aerovox
Ships:
Built an AI copilot for real flight. You can use your voice to command any nearby aircraft in real time. We faces challenges such as voice API reliability but were able to overcome this by pivoting to ElevenLabs....
|
1793260058.8447475
|
1793346458.8447475
|
|
27346
|
shadow less light by @flyingfish | Stardance
|
flyingfish
|
1
|
200.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-20T21:59:09Z", "hours": 200.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "this is a desk lamp inspired my surgery lights this is my first time ever doing a pcb or smd soldering i learned a ton it was super fun", "repo": "https://github.com/dinotiger01/shadowless-light", "demo": ""}]...
|
[{"post_id": 71477, "ts": "202 [{"post_id": 71477, "ts": "2026-09-20T21:56:22Z", "hours": 7.8586, "text": "https://youtu.be/H-r51vnOVfs everything is done i can ship now there wasnt a lot of stuff to say in the midle of development so the devlogs got kinda bad around the middle"}, {"post_id": 69984, "ts": "2026-09-18T05:47:32Z", "hours": 6.7189, "text": "i have the video on my phone but i dont have wifi rn so you can have this i assembed every thing and starded the covumantation"}, {"post_id": 68285, "ts": "2026-09-14T20:58:58Z", "hours": 7.6081, "text": "100% done with 3d modeling it just takes a long time to proint everything"}, {"post_id": 66330, "ts": "2026-09-12T03:15:51Z", "hours": 8.2417, "text": "um i have done almost everything besides the case servos were breaking everything so aparently even if you dont use a servo on pin 10 0r 9 the servo lobrary still disables it but i uses those for red and green so i will need to figure that out later all panels and the main board are soldered and wired controlls when you click on the rotary encoder it changes what value you are changeing white - white lights red - red lights green - green lights blue - blue lights yellow - servos (not working) purple - turns on uv on main pannel"}, {"post_id": 65764, "ts": "2026-09-11T03:41:50Z", "hours": 4.5517, "text": "i started soldering everything over to the mother board i was able to dim the lights but i broke also its like green idk but most of the fir ware is done"}, {"post_id": 65105, "ts": "2026-09-10T00:33:09Z", "hours": 2.18, "text": "i have finished most of the soldering the rest is just small stuff"}, {"post_id": 64596, "ts": "2026-09-09T03:20:50Z", "hours": 5.7506, "text": "i am at 7/9 sooo close"}, {"post_id": 64439, "ts": "2026-09-08T20:21:40Z", "hours": 2.9669, "text": "i just made a a panel i am at 5/8 i am going to try to finish the other 3 today also"}, {"post_id": 64073, "ts": "2026-09-08T07:05:34Z", "hours": 3.8169, "text": "i got the uv lights all soldered up and made another panel i have made 4/8 panels i was going to meanchen how i have posted 3 devlogs today but i just noticed it became tomorrow during my last recording"}, {"post_id": 63995, "ts": "2026-09-08T03:05:37Z", "hours": 7.0836, "text": "i did the big one and every single light acualy works this time my back is in extreme consent pain i am almost don with soldering though my eyes i have been staring in to these lights for like 7 hr"}, {"post_id": 63665, "ts": "2026-09-07T16:29:00Z", "hours": 2.4503, "text": "i am starting to get the hang of things i lowered my chair and now i dont have insane back pain"}, {"post_id": 63304, "ts": "2026-09-07T01:49:15Z", "hours": 2.8169, "text": "i got some new stuff for soldering um and my back hurts sooo bad"}, {"post_id": 63218, "ts": "2026-09-06T22:02:36Z", "hours": 5.0336, "text": "yooo"}, {"post_id": 62617, "ts": "2026-09-06T02:45:23Z", "hours": 5.6875, "text": "so like i think i poisoned my self or somthing i wasnt able to get mech work done i am like on the verge of passing out like constently ill do a lot more tomarow"}, {"post_id": 61747, "ts": "2026-09-04T20:03:13Z", "hours": 7.3389, "text": "it works"}, {"post_id": 36826, "ts": "2026-07-29T04:02:13Z", "hours": 6.045, "text": "3d modeling and i hate windows i have finish all the 3dmodling i need to do for now and am now just waiting foe the pcbs to ship in the mean tim i wall be here https://stardance.hackclub.com/projects/41354 clips i added clips on the bottom of the outer pieaces they wew to small on the first print so i made them bigger poles i did almost a com pleat overhaul on the poles i made them connect stronger by making them go deeper in logo * i added the loo to everything because it looks cool control i add a control panel it is at the base of the main light and just kinda sits there idea i have a another idea but i am way to tired to add it rn so i am not adding it till later the idea is to have a light conecten to a pole so i can pull it off to like press it up against things rn i also want to add a uv light to it so i can cure things better"}, {"post_id": 35555, "ts": "2026-07-27T02:13:05Z", "hours": 9.48, "text": "windows is soo slow i am making this because i have been modeling for 10hr and more then 10hr doesn’t log to star dance will make a longer devlog in a bit"}, {"post_id": 33887, "ts": "2026-07-24T05:20:04Z", "hours": 4.9367, "text": "alright i got the pcbs 100% done for real this time UV i fully implemented the UV lights IR i gave the option to attach a it receiver so i can do that in the futor if i want to logo i added the updated logo silkscreen i went through the silkscreen and fixed all there errors check i want through literately every since trace and footprint on these boards to make sure i am actually done designing thease"}, {"post_id": 33673, "ts": "2026-07-23T19:40:16Z", "hours": 5.7425, "text": "so turns out i was not done with the pcbs i redesigned the logo i gave it this outline and added a gear to the light bulb uv i had the idea to add uv light to the light for like idk i will probably never use it but its fun the best use i can think of is curing resen witch is really cool i added them in to the pcb redesign so while adding the uv i realized i didnt use the vertion of the foot print ment for hand a soldering so i made sure to fix that hopfully they are done for real this time"}, {"post_id": 32810, "ts": "2026-07-22T06:19:52Z", "hours": 9.4156, "text": "logo i got everything done to get the pcbs orderd Logo i made a logo so i could add it to the silkscreen for some extra style mother board the mother board is basically an Arduino what directly plugs in to 36 outputs so it can control all 9 boards controll to make the controller i have desided it is going to be comprised of 3 componest the indicator a rotary encoder and a switch indicator it is passively a relay small since wrgb controller so i can do a small display type out but it is also nice because i have extra of all the components so this will make them easy to use for other components jlc is goofy so if you have sevral break away bords in one they charge you for all of them witch is like a lot and the work around is if you split all of them in to there own file it only cost like $2 per board so instead of paying $20 for for board i paid $8 for the same amount this is what i split everything in to fin_right fin_left indicator mother_board main_light"}, {"post_id": 32122, "ts": "2026-07-21T02:09:02Z", "hours": 6.1692, "text": "uh i am so tired i did like 6hr of work while fighting to stay awake split i split the pcb in to 2 100mm sections becouse it is like a lot cheaper. i have no mony to connect between panels i come up with an idea that is rather guineas or it is going to be the biggest mistake in the entire project i put 5 pads on the sides of each board and i am planing to aline the boards then bridge the gap with solder this should electrically connect the 2 boards and hold them together at least a bit net i finished the net on the main pcb i finished the not on the fins flip just like yesterday i flipped the pcb so that the leds work"}, {"post_id": 31867, "ts": "2026-07-20T16:31:24Z", "hours": 7.3906, "text": "data sheet uh resistors i moved the resistors like 5mm apart because i have plenty of space and it will be like X400 easier so solder i am blind i was testing the led so i can make sure every thing works the led is like really small so i was leaning in so that i can see the pins so i can try and turn it on… so like it is super bright and i burned a little dot in my eye data sheet so when i was testing the led i noticed that you need to power it from the left side and i assumed that it was powered from the right side i was curious as to why i got it backwards because i reference the data sheet like all the time. so apparently the schematic counted clockwise. while everything else on the data sheet is counter-clockwise like look at pg 15 and you can see why i assumed the power went from right to left not left to right https://downloads.cree-led.com/files/ds/h/HB-CLW6A-TKW.pdf the flip so i needed to flip the entire pcb becouse the power is on the wrong side i would have just rotated it around but scene the resistors are specific to the pins that wouldn’t work and the leds would burn out i also learned that you cant mirror footprints on kicad so what i did was set the center of my pcb to (0,0) then went through and switch the sign on every x value on the pcb"}, {"post_id": 31021, "ts": "2026-07-19T02:34:27Z", "hours": 6.3408, "text": "i am making things small small i have decided to find some way to fit everything in to 100 mm pieces the old deign would have costed like $30 idk why but pcb manufacturers really like 100mm x 100mm and each only cost like 1 dollar"}, {"post_id": 30448, "ts": "2026-07-18T00:20:00Z", "hours": 4.9019, "text": "pcb are really time consuming i have found (expetaly if you have never used any kinda pcb editor) bigger trace the traces on my pcb before were a bit to small and there was a good chance they would but each light pulls 20mA witch is 0.02A there is 25 lights and each has 4 light in side because RGBW witch means this could potently run at 2 amps and the 0.2 mm traces can only handle like 0.5A(i forgot but it is a smaller number) so i mad most things bigger lets hope it doesn’t explode"}, {"post_id": 29907, "ts": "2026-07-17T02:32:06Z", "hours": 4.6172, "text": "pcbs are like really expenceve so turns out most pcb manufatuers only sell 5 panels at a time so i shrunk my design down to just 2 so i get 10 in total also all the components arrived from mouser because i assumed it would take waaaay longer for them to ship"}, {"post_id": 29262, "ts": "2026-07-16T02:11:59Z", "hours": 6.4558, "text": "i think i got scamed idk why but like a lot of my time just didnt get logged i am working on it fins are done i put the finishing toutches on the fin lights mainly changing out the mosfets and stuff net so i had no clue what net is and aparently i was sposed to be lableing what everything is sposed to canect to so it can auto check for shorts so i spent like 2 hrs individualy assining a value to all the pads on the pcb panalization i was doing a lot of stuff trying to figure out panzatoin its almost done i think"}, {"post_id": 28654, "ts": "2026-07-15T01:16:48Z", "hours": 10.5153, "text": "so i had to go to my grand parents over the week end so i want able to get much work done but i figured out how to use kicad on my laptop so it was funny in the car while we driving i was working and then kicad crashed before i saved and i had to restart and then after i had done it all a second time i saved and turns out my kicad was out of date so i had to restart all i did was sett up the main pcb that has the 25 lights as seen below the zig zag pattern is because all the lights need to be connected in parallel the really weird pattern in the middle right was because the light was too close to the side so i had to move things and that is that only way i could find that things fit new mosfets i just changed the mosfets for fun idk"}, {"post_id": 26330, "ts": "2026-07-11T01:59:42Z", "hours": 10.4356, "text": "i did a lot of work on the pcb and Um idk i burnt my hand RGBW to i decided i would have 10 per segment and 25 on the core 105 in total witch end up at 8 amps and 1050 lumins resistors i decided to giv every pin its own resistor witch ends up with 420 resistor is need to solder i have never hand solder a smd component this is going to be a learning expireence mostfets i think i was high earlier it is like realy easy to fin smd mosfets i added smd mosfets i have in idea regarding the stand i didnt like the crane becouse it was really bulky and i feel like it wont move how i want it to and i wanted like a standered desk lamp where it can me moved easy but it is too wide for that to work well so what if i take the same mechonisum as the desk arm and just mount it to the wall"}, {"post_id": 24530, "ts": "2026-07-08T04:31:37Z", "hours": 5.7922, "text": "so i have to delete all of the pcb work i had before . i learned that making white light with RGB sucks and causes eye strain and it wont be brite enough RGBW i switched to RGBW leds witch is the same but with a dedicated white led the white light fixes both problems the pure white light wont cause eye strain and they are about 4x brighter then the old ones however it took me like 3 hours to figure out how to add a footprint to my library"}, {"post_id": 23669, "ts": "2026-07-06T19:38:41Z", "hours": 4.6003, "text": "so i managed to not save and lost all my progress again pcb rgb so the rgb have common anode(+) witch means yo just need to power the one pin then short witch color you want to turn on i learned how to us the seconded layer in order to hook all the cathodes(-) together mosfet the plan is to use the mosfets to switch each color on using a arduino idk why i couldn’t find any smd mosfets so i added tht mosfets and put them in backward to i can add a heatsink with out it getting in the way of the light resistors idk man its a resistor its not that exiting"}, {"post_id": 23003, "ts": "2026-07-05T18:22:30Z", "hours": 4.7006, "text": "so uh i worked for a long time then a black out hit and i lost all of it"}, {"post_id": 21865, "ts": "2026-07-04T01:07:06Z", "hours": 4.8339, "text": "i finished the crane for the case matirials i decided to make part of the crane out of pvc pipe because idk i don’t know anything better *changeable i made a simple pole connector to hole the thing on so that the crane can hold any future projects if needed *motor i have been debating whether it is worth it to make it motorized at the moment it is set up to be but idk"}, {"post_id": 20491, "ts": "2026-07-02T02:58:40Z", "hours": 4.2003, "text": "so this is the first time i have ever used kicad there is not a lot to say here i just spent like 4 trying to make a pcb and nothing happend execpt things turned green every so often and idk why"}, {"post_id": 19714, "ts": "2026-07-01T03:18:51Z", "hours": 4.7839, "text": "i worked on the core model servo i made places for the servos to sit in the core *the servos will push and pull the control poles to tilt the segments *poles the poles i printed earlier finished and i though i could get away with just 2 servos but i am going to need 4 other then that is seems to work as expected for now *RGB *ngl i just think it would be funny to add RGB and it could help with very specific tasked i gouess *general so i feel kinda dumb but i realized i could add lights on the bottom of the core too so that is something i am working on now i did a lot of general changes to the design mainly getting rid of unneeded plastic witch makes it look cooler"}, {"post_id": 17315, "ts": "2026-06-28T01:16:37Z", "hours": 9.3347, "text": "so i want to make a desk lamp that works the same way that surgery lamps so there is no shadows constraints: bright: i want to be able to use it to see no shadows: i don’t want shadows alright this is the model so far: it has 8 segments : place to mount a pcb a hole with a pole that lets it swivel a second hole to have a pole that can control it moving in and out(see more farther down) each has 2 brackets that hold the swivel pole to the center control poles like the segments there are 8 of these each of them have a hole and a pole the idea is you thread the pole part thought the hole of another one till it comes all the way around then if one is pusher out it should push all of them out i am currently printing some small versions to see if the concept workes center it is curtly just a block with slits for the brackest i am sure there will be more on it latter"}]...
|
Title: shadow less light by @flyingfish | Stardanc Title: shadow less light by @flyingfish | Stardance
Devlogs:
so i want to make a desk lamp that works the same way that surgery lamps so there is no shadows constraints: bright: i want to be able to use it to see no shadows: i don’t want shadows alright this is the model so far: it has 8 segments : place to mount a pcb a hole with a pole that lets it swivel a second hole to have a pole that can control it moving in and out(see more farther down) each has 2 brackets that hold the swivel pole to the center control poles like the segments there are 8 of these each of them have a hole and a pole the idea is you thread the pole part thought the hole of another one till it comes all the way around then if one is pusher out it should push all of them out i am currently printing some small versions to see if the concept workes center it is curtly just a block with slits for the brackest i am sure there will be more on it latter
i worked on the core model servo i made places for the servos to sit in the core *the servos will push and pull the control poles to tilt the segments *poles the poles i printed earlier finished and i though i could get away with just 2 servos but i am going to need 4 other then that is seems to work as expected for now *RGB *ngl i just think it would be funny to add RGB and it could help with very specific tasked i gouess *general so i feel kinda dumb but i realized i could add lights on the bottom of the core too so that is something i am working on now i did a lot of general changes to the design mainly getting rid of unneeded plastic witch makes it look cooler
so this is the first time i have ever used kicad there is not a lot to say here i just spent like 4 trying to make a pcb and nothing happend execpt things turned green every so often and idk why
i finished the crane for the case matirials i decided to make part of the crane out of pvc pipe because idk i don’t know anything better *changeable i made a simple pole connector to hole the thing on so that the crane can hold any future projects if needed *motor i have been debating whether it is worth it to make it motorized at the moment it is set up to be but idk
so uh i worked for a long time then a black out hit and i lost all of it
so i managed to not save and lost all my progress again pcb rgb so the rgb have common anode(+) witch means yo just need to power the one pin then short witch color you want to turn on i learned how to us the seconded layer in order to hook all the cathodes(-) together mosfet the plan is to use the mosfets to switch each color on using a arduino idk why i couldn’t find any smd mosfets so i added tht mosfets and put them in backward to i can add a heatsink with out it getting in the way of the light resistors idk man its a resistor its not that exiting
so i have to delete all of the pcb work i had before . i learned that making white light with RGB sucks and causes eye strain and it wont be brite enough RGBW i switched to RGBW leds witch is the same but with a dedicated white led the white light fixes both problems the pure white light wont cause eye strain and they are about 4x brighter then the old ones however it took me like 3 hours to figure out how to add a footprint to my library
i did a lot of work on the pcb and Um idk i burnt my hand RGBW to i decided i would have 10 per segment and 25 on the core 105 in total witch end up at 8 amps and 1050 lumins resistors i decided to giv every pin its own resistor witch ends up with 420 resistor is need to solder i have never hand solder a smd component this is going to be a learning expireence mostfets i think i was high earlier it is like realy easy to fin smd mosfets i added smd mosfets i have in idea regarding the stand i didnt like the crane becouse it was really bulky and i feel like it wont move how i want it to and i wanted like a standered desk lamp where it can me moved easy but it is too wide for that to work well so what if i take the same mechonisum as the desk arm and just mount it to the wall
so i had to go to my grand parents over the week end so i want able to get much work done but i figured out how to use kicad on my laptop so it was funny in the car while we driving i was working and then kicad crashed before i saved and i had to restart and then after i had done it all a second time i saved and turns out my kicad was out of date so i had to restart all i did was sett up the main pcb that has the 25 lights as seen below the zig zag pattern is because all the lights need to be connected in parallel the really weird pattern in the middle right was because the light was too close to the side so i had to move things and that is that only way i could find that things fit new mosfets i just changed the mosfets for fun idk
i think i got scamed idk why but like a lot of my time just didnt get logged i am working on it fins are done i put the finishing toutches on the fin lights mainly changing out the mosfets and stuff net so i had no clue what net is and aparently i was sposed to be lableing what everything is sposed to canect to so it can auto check for shorts so i spent like 2 hrs individualy assining a value to all the pads on the pcb panalization i was doing a lot of stuff trying to figure out panzatoin its almost done i think
pcbs are like really expenceve so turns out most pcb manufatuers only sell 5 panels at a time so i shrunk my design down to just 2 so i get 10 in total also all the components arrived from mouser because i assumed it would take waaaay longer for them to ship
pcb are really time consuming i have found (expetaly if you have never used any kinda pcb editor) bigger trace the traces on my pcb before were a bit to small and there was a good chance they would but each light pulls 20mA witch is 0.02A there is 25 lights and each has 4 light in side because RGBW witch means this could potently run at 2 amps and the 0.2 mm traces can only handle like 0.5A(i forgot but it is a smaller number) so i mad most things bigger lets hope it doesn’t explode
i am making things small small i have decided to find some way to fit everything in to 100 mm pieces the old deign would have costed like $30 idk why but pcb manufacturers really like 100mm x 100mm and each only cost like 1 dollar
data sheet uh resistors i moved the resistors like 5mm apart because i have plenty of space and it will be like X400 easier so solder i am blind i was testing the led so i can make sure every thing works the led is like really small so i was leaning in so that i can see the pins so i can try and turn it on… so like it is super bright and i burned a little dot in my eye data sheet so when i was testing the led i noticed that you need to power it from the left side and i assumed that it was powered from the right side i was curious as to why i got it backwards because i reference the data sheet like all the time. so apparently the schematic counted clockwise. while everything else on the data sheet is counter-clockwise like look at pg 15 and you can see why i assumed the power went from right to left not left to right https://downloads.cree-led.com/files/ds/h/HB-CLW6A-TKW.pdf the flip so i needed to flip the entire pcb becouse the power is on the wrong side i would have just rotated it around but scene the resistors are specific to the pins that wouldn’t work and the leds would burn out i also learned that you cant mirror footprints on kicad so what i did was set the center of my pcb to (0,0) then went through and switch the sign on every x value on the pcb
uh i am so tired i did like 6hr of work while fighting to stay awake split i split the pcb in to 2 100mm sections becouse it is like a lot cheaper. i have no mony to connect between panels i come up with an idea that is rather guineas or it is going to be the biggest mistake in the entire project i put 5 pads on the sides of each board and i am planing to aline the boards then bridge the gap with solder this should electrically connect the 2 boards and hold them together at least a bit net i finished the net on the main pcb i finished the not on the fins flip just like yesterday i flipped the pcb so that the leds work
logo i got everything done to get the pcbs orderd Logo i made a logo so i could add it to the silkscreen for some extra style mother board the mother board is basically an Arduino what directly plugs in to 36 outputs so it can control all 9 boards controll to make the controller i have desided it is going to be comprised of 3 componest the indicator a rotary encoder and a switch indicator it is passively a relay small since wrgb controller so i can do a small display type out but it is also nice because i have extra of all the components so this will make them easy to use for other components jlc is goofy so if you have sevral break away bords in one they charge you for all of them witch is like a lot and the work around is if you split all of them in to there own file it only cost like $2 per board so instead of paying $20 for for board i paid $8 for the same amount this is what i split everything in to fin_right fin_left indicator mother_board main_light
so turns out i was not done with the pcbs i redesigned the logo i gave it this outline and added a gear to the light bulb uv i had the idea to add uv light to the light for like idk i will probably never use it but its fun the best use i can think of is curing resen witch is really cool i added them in to the pcb redesign so while adding the uv i realized i didnt use the vertion of the foot print ment for hand a soldering so i made sure to fix that hopfully they are done for real this time
alright i got the pcbs 100% done for real this time UV i fully implemented the UV lights IR i gave the option to attach a it receiver so i can do that in the futor if i want to logo i added the updated logo silkscreen i went through the silkscreen and fixed all there errors check i want through literately every since trace and footprint on these boards to make sure i am actually done designing thease
windows is soo slow i am making this because i have been modeling for 10hr and more then 10hr doesn’t log to star dance will make a longer devlog in a bit
3d modeling and i hate windows i have finish all the 3dmodling i need to do for now and am now just waiting foe the pcbs to ship in the mean tim i wall be here https://stardance.hackclub.com/projects/41354 clips i added clips on the bottom of the outer pieaces they wew to small on the first print so i made them bigger poles i did almost a com pleat overhaul on the poles i made them connect stronger by making them go deeper in logo * i added the loo to everything because it looks cool control i add a control panel it is at the base of the main light and just kinda sits there idea i have a another idea but i am way to tired to add it rn so i am not adding it till later the idea is to have a light conecten to a pole so i can pull it off to like press it up against things rn i also want to add a uv light to it so i can cure things better
it works
so like i think i poisoned my self or somthing i wasnt able to get mech work done i am like on the verge of passing out like constently ill do a lot more tomarow
yooo
i got some new stuff for soldering um and my back hurts sooo bad
i am starting to get the hang of things i lowered my chair and now i dont have insane back pain
i did the big one and every single light acualy works this time my back is in extreme consent pain i am almost don with soldering though my eyes i have been staring in to these lights for like 7 hr
i got the uv lights all soldered up and made another panel i have made 4/8 panels i was going to meanchen how i have posted 3 devlogs today but i just noticed it became tomorrow during my last recording
i just made a a panel i am at 5/8 i am going to try to finish the other 3 today also
i am at 7/9 sooo close
i have finished most of the soldering the rest is just small stuff
i started soldering everything over to the mother board i was able to dim the lights but i broke also its like green idk but most of the fir ware is done
um i have done almost everything besides the case servos were breaking everything so aparently even if you dont use a servo on pin 10 0r 9 the servo lobrary still disables it but i uses those for red and green so i will need to figure that out later all panels and the main board are soldered and wired controlls when you click on the rotary encoder it changes what value you are changeing white - white lights red - red lights green - green lights blue - blue lights yellow - servos (not working) purple - turns on uv on main pannel
100% done with 3d modeling it just takes a long time to proint everything
i have the video on my phone but i dont have wifi rn so you can have this i assembed every thing and starded the covumantation
https://youtu.be/H-r51vnOVfs everything is done i can ship now there wasnt a lot of stuff to say in the midle of development so the devlogs got kinda bad around the middle
Ships:
this is a desk lamp inspired my surgery lights this is my first time ever doing a pcb or smd soldering i learned a ton it was super fun...
|
1793152350.0706704
|
1793238750.0706704
|
|
27369
|
Jolly-ify by @iamalive | Stardance
|
iamalive
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-28T05:54:00Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made jolly-ify, a small project that relies on the public cachet api which can grab slack pfps, and then you have the ability to make them jolly through a multitude of tools :)", "repo": "https://github.com/CKacha/jolly-ify", "demo": "https://ckacha.github.io/jolly-ify/"}]...
|
[{"post_id": 17417, "ts": "202 [{"post_id": 17417, "ts": "2026-06-28T05:51:27Z", "hours": 0.7328, "text": "more jollyness + pages more festive options have been added, and now the project is ready to be shipped - its on github pages now!"}, {"post_id": 17369, "ts": "2026-06-28T04:00:39Z", "hours": 1.4706, "text": "JOLLY using cachet api which can grab slack profile names/pictures through the UID, ive made it possible to make someone’s profile picture jolly!"}]...
|
Title: Jolly-ify by @iamalive | Stardance
Devlogs Title: Jolly-ify by @iamalive | Stardance
Devlogs:
JOLLY using cachet api which can grab slack profile names/pictures through the UID, ive made it possible to make someone’s profile picture jolly!
more jollyness + pages more festive options have been added, and now the project is ready to be shipped - its on github pages now!
Ships:
I made jolly-ify, a small project that relies on the public cachet api which can grab slack pfps, and then you have the ability to make them jolly through a multitude of tools :)...
|
1793278422.7895877
|
1793364822.7895877
|
|
27371
|
555LEDCHASER by @ahmed_brawns_needs_brains | Stard 555LEDCHASER by @ahmed_brawns_needs_brains | Stardance...
|
ahmed_brawns_needs_brains
|
1
|
1.0
|
5
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-03T12:11:53Z", "hours": 1.0, "multiplier": 5.0, "payout": 5, "blessing": "neutral", "text": "I have made an LED555CHASER, in the shape of an anatomical heart, it blinks in the direction of bloodflow, from upper right chamber, lower right, lower left and then to upper left, I had started it on stasis", "repo": "https://github.com/Scorpion9000IQmech/555LEDchaser", "demo": ""}]...
|
[{"post_id": 20969, "ts": "202 [{"post_id": 20969, "ts": "2026-07-02T18:19:40Z", "hours": 1.0133, "text": "I am soldering my led 555 chaser, its heart shaped, anatomical!!!, smd is difficult, I will test it first👍👍. and it works"}]...
|
Title: 555LEDCHASER by @ahmed_brawns_needs_brains Title: 555LEDCHASER by @ahmed_brawns_needs_brains | Stardance
Devlogs:
I am soldering my led 555 chaser, its heart shaped, anatomical!!!, smd is difficult, I will test it first👍👍. and it works
Ships:
I have made an LED555CHASER, in the shape of an anatomical heart, it blinks in the direction of bloodflow, from upper right chamber, lower right, lower left and then to upper left, I had started it on stasis...
|
1793220641.0816681
|
1793307041.0816681
|
|
27375
|
Frictionless by @Jazil | Stardance
|
Jazil
|
1
|
2.0
|
2
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-29T13:16:21Z", "hours": 2.0, "multiplier": 1.44, "payout": 2, "blessing": "neutral", "text": "i made a project that help student to learn and teachers only want to changes the content. i am proud because i am beginner on website bulding", "repo": "https://github.com/JazilJafar/quiz-time-by-jazil--jafar", "demo": "https://jaziljafar.github.io/quiz-time-by-jazil--jafar/"}]...
|
[{"post_id": 18329, "ts": "202 [{"post_id": 18329, "ts": "2026-06-29T13:09:41Z", "hours": 1.6847, "text": "i am working on quiz maker challenge of frictionless"}]...
|
Title: Frictionless by @Jazil | Stardance
Devlogs Title: Frictionless by @Jazil | Stardance
Devlogs:
i am working on quiz maker challenge of frictionless
Ships:
i made a project that help student to learn and teachers only want to changes the content. i am proud because i am beginner on website bulding...
|
1793310729.0501428
|
1793397129.0501428
|
|
27376
|
Latin Study Aid by @jamkv359 | Stardance
|
jamkv359
|
1
|
30.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-09T16:16:39Z", "hours": 30.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Latin is a subject with fantastic history — but not always fantastic study resources. I built this ‘Latin Study Aid’ website to make revision feel more engaging than flipping through vocabulary lists and pages of verb endings. Instead of a collection of isolated pages, I wanted it to feel like a complete learning platform, with persistent progress, achievements, statistics, music, multiple revision modes, and personalised features that encourage students to keep coming back. The project is written entirely in HTML, CSS and JavaScript without using frameworks. Most pages are generated dynamically with Javascript from large databases, allowing new vocabulary, grammar and achievements to be added with minimal code changes. I’d say, the tallest hurdle in this project was the persistent bugs in Javascript, and the stylistic failures in CSS. Especially after implementing lage amounts of localStorage variables, debugging required looking over a multitude of scripts. I’d say, what I’m most proud of are the massive databases that I constructed - around 2400 Google Sheet rows were managed by me, accumilating super satisfyingly into ordered Javascript arrays and objects. Over the course of development, the project grew from a simple vocabulary tester into a multi-page, cohesive platform containing both the interactive resources for modern study, and many quality-of-life features, both designed specifically for studying Latin. The website can be easily accessed on a Netlify-hosted domain: https://latin-study-aid.netlify.app/ .", "repo": "https://github.com/jamkv359-rgb/Latin-Everything-Tester", "demo": "https://latin-study-aid.netlify.app/"}]...
|
[{"post_id": 25335, "ts": "202 [{"post_id": 25335, "ts": "2026-07-09T15:48:12Z", "hours": 2.9319, "text": "Hey everyone! Fifth devlog: My Latin-language Study Aid is nearly done! Today, I was mainly cleaning up my code, fixing some bugs, cleaning up stylistic features, and getting ready to ship my project. I also uploaded my files to Github, as well as making the website public on netlify, at: https://latin-study-aid.netlify.app/ I also polished up the Google Sheets documents which I managed the massive databases on, cleaning it up for public use/viewing. After this devlog is posted, my devlog will likely have been shipped. Thanks for reading!"}, {"post_id": 24621, "ts": "2026-07-08T10:33:41Z", "hours": 2.5986, "text": "Hey everyone! Fourth devlog: After a LOT of time spent on Excel and Google spreadsheets, I finally composed the vocab database for the De Romanis Latin Course! I implemented this into the website, and now: The user can choose which vocab set they want to learn; either the Cambridge Latin Course, or the De Romanis Course. The user can see the ‘learning progress’ for their vocab for each stage The achievements have been altered to accommodate for the new vocab database Not only that, but I also added another feature; the Username. After users enter their username on the dashboard/hopepage, it is saved to localStorage Each page in the website greets the user by their username Having implemented all I can, I think I’m ready to ship my project soon. If I get no more ideas for this project, this might be my final devlog. Thanks, all of you, for reading!"}, {"post_id": 23934, "ts": "2026-07-07T04:29:12Z", "hours": 1.5394, "text": "Hey everyone! Third devlog: Just today, I added a new page to my Latin Study Website - the flashcard feature. Users can now: Flip through all 800+ latin words in the Cambridge Latin Course wordlist, in anki-style flippable flashcards Filter out the wordlist by ‘stage’ and ‘type’, so they can focus their revision to what’s relevant to them I did this mostly by copying my previous code for the Type-in Vocab Tester, and simplifying it so that no input, other than the ‘reveal’ button, is needed to progress. On the side, I also cleaned up the index.html homepage, so that it can display more statistics and data about the user: tests completed, average score across all tests, longest login streak, total days logged in. Not only that, but I also fixed the position of the macron keyboard to the top left of the viewport, since my addition of the music player, at the bottom of the viewport, covered it. I had some trouble uploadng my changes to the project on github, due to the massive number of music files in the ./music folder - so I spent a lotta time uploading them individually. Next, I plan on making a seperate vocab database, but from the De Romanis Latin Course rather than the Cambride Latin Course, allowing for more diversity in the website."}, {"post_id": 23497, "ts": "2026-07-06T14:52:30Z", "hours": 5.6478, "text": "Hey everyone! Second devlog: Recently, I added a universal feature to my Latin Study Aid website: the music playlist function. Users can listen to music while they study- They can select music from a large ‘music library homepage’, referencing a database that consists of the genres lofi, lofi pop, and pop (no lyrics). Like Spotify, users can access and change the music at the very bottom of their viewport, from any page in the website. The music is public domain, selected from Pixabay, each referenced to the original creator by hyperlink from the music library homepage. Overall, I’m really happy about the direction of this project - and am currently running out of ideas, heh. What do you all think I should add next?"}, {"post_id": 21108, "ts": "2026-07-02T22:01:17Z", "hours": 17.76, "text": "Hey everyone! First devlog: I started making the basis of a study website for the Cambridge Latin Course, a revision resource for this absolutely hellish language. Recently, I’ve added a few neat features to make the website more interactive. ‘Previous tests’ - The user can see the results of previous tests they’ve done on this website, saved to localStorage. The average percentage, standard deviation, highest test score, and total quesitons answered can be seen. Note that this function works only for the vocab type in, noun endings, pronoun, and verb endings tests Website colour themes - 2 different colour themes are available for all pages - light and dark mode, changeable by tickbox. The user preference is saved to localStorage, so they don’t have to change it each time. Achievements - the user can see what achievements they have and haven’t completed. The achievements are saved to loacalStorage, sorted by difficulty, and most definitely never end. Vocab and Verb grammar completion progress - the user can see what words/verb endings they have and haven’t answered correctly to in their history on this website, saved to localStorage. XP and level feature - the user can accumilate experience points and increase their level, by acing tests, ticking off more vocab words/verb endings, logging in daily, or unlocking achievements. Time-sensitive quotes - at the top of each page, the user can read a quote. Its attitude may be inspirational, friendly, witty, or reference ancient Roman scholars, depending on what page the user is on. Their comment also depends on what time of day it is, either chastising you to sleep or praising you as an early bird. Post-test Latin quotes - the user also gets a quote in Latin (from famous Roman history), and its english translation every time they finish a test, depending on how well they did. It’s randomly generated, so the same score won’t yield the same quote. it can be inspirational, encouraging of your failure, or pleased with your performance. Beta version archives - The user can access a multitude of scrapped pages that were either replaced or not needed as this project developed. They’re unpolished; no dark mode, no localStorage. Sample tests - the user can access past test papers from my school, now digitalised. Currently there’s only one, but there might be more. In the existing fronted, I used AI to help me with: composing the quotes, giving me some ideas, debugging or formatting, and make the colour scheme. I also used excel to help make the huge databases; for vocab, grammar, and achievements. Overall, I’m happy with how this project is going! Next, I’m planning on imkplementing a lofi-beats playlist, where the user can listen to music running from the website itself."}]...
|
Title: Latin Study Aid by @jamkv359 | Stardance
D Title: Latin Study Aid by @jamkv359 | Stardance
Devlogs:
Hey everyone! First devlog: I started making the basis of a study website for the Cambridge Latin Course, a revision resource for this absolutely hellish language. Recently, I’ve added a few neat features to make the website more interactive. ‘Previous tests’ - The user can see the results of previous tests they’ve done on this website, saved to localStorage. The average percentage, standard deviation, highest test score, and total quesitons answered can be seen. Note that this function works only for the vocab type in, noun endings, pronoun, and verb endings tests Website colour themes - 2 different colour themes are available for all pages - light and dark mode, changeable by tickbox. The user preference is saved to localStorage, so they don’t have to change it each time. Achievements - the user can see what achievements they have and haven’t completed. The achievements are saved to loacalStorage, sorted by difficulty, and most definitely never end. Vocab and Verb grammar completion progress - the user can see what words/verb endings they have and haven’t answered correctly to in their history on this website, saved to localStorage. XP and level feature - the user can accumilate experience points and increase their level, by acing tests, ticking off more vocab words/verb endings, logging in daily, or unlocking achievements. Time-sensitive quotes - at the top of each page, the user can read a quote. Its attitude may be inspirational, friendly, witty, or reference ancient Roman scholars, depending on what page the user is on. Their comment also depends on what time of day it is, either chastising you to sleep or praising you as an early bird. Post-test Latin quotes - the user also gets a quote in Latin (from famous Roman history), and its english translation every time they finish a test, depending on how well they did. It’s randomly generated, so the same score won’t yield the same quote. it can be inspirational, encouraging of your failure, or pleased with your performance. Beta version archives - The user can access a multitude of scrapped pages that were either replaced or not needed as this project developed. They’re unpolished; no dark mode, no localStorage. Sample tests - the user can access past test papers from my school, now digitalised. Currently there’s only one, but there might be more. In the existing fronted, I used AI to help me with: composing the quotes, giving me some ideas, debugging or formatting, and make the colour scheme. I also used excel to help make the huge databases; for vocab, grammar, and achievements. Overall, I’m happy with how this project is going! Next, I’m planning on imkplementing a lofi-beats playlist, where the user can listen to music running from the website itself.
Hey everyone! Second devlog: Recently, I added a universal feature to my Latin Study Aid website: the music playlist function. Users can listen to music while they study- They can select music from a large ‘music library homepage’, referencing a database that consists of the genres lofi, lofi pop, and pop (no lyrics). Like Spotify, users can access and change the music at the very bottom of their viewport, from any page in the website. The music is public domain, selected from Pixabay, each referenced to the original creator by hyperlink from the music library homepage. Overall, I’m really happy about the direction of this project - and am currently running out of ideas, heh. What do you all think I should add next?
Hey everyone! Third devlog: Just today, I added a new page to my Latin Study Website - the flashcard feature. Users can now: Flip through all 800+ latin words in the Cambridge Latin Course wordlist, in anki-style flippable flashcards Filter out the wordlist by ‘stage’ and ‘type’, so they can focus their revision to what’s relevant to them I did this mostly by copying my previous code for the Type-in Vocab Tester, and simplifying it so that no input, other than the ‘reveal’ button, is needed to progress. On the side, I also cleaned up the index.html homepage, so that it can display more statistics and data about the user: tests completed, average score across all tests, longest login streak, total days logged in. Not only that, but I also fixed the position of the macron keyboard to the top left of the viewport, since my addition of the music player, at the bottom of the viewport, covered it. I had some trouble uploadng my changes to the project on github, due to the massive number of music files in the ./music folder - so I spent a lotta time uploading them individually. Next, I plan on making a seperate vocab database, but from the De Romanis Latin Course rather than the Cambride Latin Course, allowing for more diversity in the website.
Hey everyone! Fourth devlog: After a LOT of time spent on Excel and Google spreadsheets, I finally composed the vocab database for the De Romanis Latin Course! I implemented this into the website, and now: The user can choose which vocab set they want to learn; either the Cambridge Latin Course, or the De Romanis Course. The user can see the ‘learning progress’ for their vocab for each stage The achievements have been altered to accommodate for the new vocab database Not only that, but I also added another feature; the Username. After users enter their username on the dashboard/hopepage, it is saved to localStorage Each page in the website greets the user by their username Having implemented all I can, I think I’m ready to ship my project soon. If I get no more ideas for this project, this might be my final devlog. Thanks, all of you, for reading!
Hey everyone! Fifth devlog: My Latin-language Study Aid is nearly done! Today, I was mainly cleaning up my code, fixing some bugs, cleaning up stylistic features, and getting ready to ship my project. I also uploaded my files to Github, as well as making the website public on netlify, at: https://latin-study-aid.netlify.app/ I also polished up the Google Sheets documents which I managed the massive databases on, cleaning it up for public use/viewing. After this devlog is posted, my devlog will likely have been shipped. Thanks for reading!
Ships:
Latin is a subject with fantastic history — but not always fantastic study resources. I built this ‘Latin Study Aid’ website to make revision feel more engaging than flipping through vocabulary lists and pages of verb endings. Instead of a collection of isolated pages, I wanted it to feel like a complete learning platform, with persistent progress, achievements, statistics, music, multiple revision modes, and personalised features that encourage students to keep coming back. The project is written entirely in HTML, CSS and JavaScript without using frameworks. Most pages are generated dynamically with Javascript from large databases, allowing new vocabulary, grammar and achievements to be added with minimal code changes. I’d say, the tallest hurdle in this project was the persistent bugs in Javascript, and the stylistic failures in CSS. Especially after implementing lage amounts of localStorage variables, debugging required looking over a multitude of scripts. I’d say, what I’m most proud of are the massive databases that I constructed - around 2400 Google Sheet rows were managed by me, accumilating super satisfyingly into ordered Javascript arrays and objects. Over the course of development, the project grew from a simple vocabulary tester into a multi-page, cohesive platform containing both the interactive resources for modern study, and many quality-of-life features, both designed specifically for studying Latin. The website can be easily accessed on a Netlify-hosted domain: https://latin-study-aid.netlify.app/ ....
|
1793289319.0710123
|
1793375719.0710123
|
|
27377
|
AI-Powered Adventure Text Game by @jeremyngai | St AI-Powered Adventure Text Game by @jeremyngai | Stardance...
|
jeremyngai
|
1
|
31.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-27T08:27:12Z", "hours": 31.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is an AI-powered text adventure device using an ESP32, an e-paper display and a rotary encoder. It is powered by Gemini to generate infinite stories and choices. It uses ESP32-C3 microcontroller to connect to WiFi and query the Gemini API. Gemini generates an interactive story segment and choices for the player in JSON format. Then the text is shown on the e-paper display. The user can use the rotary encoder to scroll through the text and select their next action. Each choice is returned to the history buffer on the ESP32 and is sent back to Gemini to generate the next story segment. Personally the most enjoyable part is when the PCB worked after i soldered them, however the coding part is hell cuz i sucks at coding lol. It haven’t got an enclosure yet, i will work on it soon! Now I can play this in my free time!", "repo": "https://github.com/Jeremy-Ngai-Sew-Poh/InkQuest", "demo": ""}]...
|
[{"post_id": 74300, "ts": "202 [{"post_id": 74300, "ts": "2026-09-27T04:39:13Z", "hours": 1.6014, "text": "I worked on the game loop system so the story is infinite. after you selected your choice your response will be sent back to gemini api to generate next story! now its actually infinite loop"}, {"post_id": 38642, "ts": "2026-08-01T04:29:45Z", "hours": 4.8872, "text": "Spent the last few days implementing gemini api into the code and formatting json data like text, choice into the e paper display :) I’ll take a break from this project as i have joined other competition. so stay tuned!"}, {"post_id": 31150, "ts": "2026-07-19T10:08:00Z", "hours": 2.8883, "text": "GAH DAMN MY PCB IS WORKING!!! Timelapse below! I spent the last few hours carefully soldering my new PCB. I decided to use 0805 for all smd component cuz in my last project, I used 0603 ones and it was PURE TORTURE to solder them all lol. lessen learnt! Overall, I absolutely love the pcb outcome its nicer than I expected especially the ws2812b led and all those smd resistor (they look so sci-fi xD). However there was one flaw, I forgot about the ESP32 antenna. I’m forced to awkwardly fit the antenna on the pcb back (right beside my Great Wave silkscreen print). Luckily it didn’t block it lol. This is something I needa keep in mind the next time! You might be wondering what’s that tiny pin header I used there. It’s just a pin header, but for the design, I wanted it to be ultra slim, so I designed a PCB sandwich layout. The battery fits perfectly between the e-paper pcb and my pcb. However the problem with normal pin headers is that they are super chunky, they have like 9mm gap. That instantly ruin the whole vibe… So after hours of digging in aliexpress, I found those low profile pin header. They are SUPER PERFECT for my project (6mm gap), which is exactly my battery thickness!!! Anyways the low profile pin header was NOT CHEAP at all… well at least its so worth it. Other than soldering the PCB, I did a few adjustment to the firmware, including: rotary encoder logic improvement - I used interrupt pin logic to read it, they place the rotary encoder at the toppest priority (if theres any changes in pin state, the esp32 instantly ignore everything and focus on the encoder). That’s all for now, stay tuned! its so fun"}, {"post_id": 30648, "ts": "2026-07-18T12:04:16Z", "hours": 1.4833, "text": "Today I worked on a WiFi prompt to let user choose whether they want to connect to a different wifi or existing one, because this device is supposed to be portable, working anywhere, so this is very important. However, I’m still figuring out how to show the WiFi name… wm.getWiFiSSID() didn’t work though. Btw, all my hardware had already arrived just now!! (after slow ahh aliexpress) I can’t wait to solder them, so stay tuned lol XD"}, {"post_id": 30125, "ts": "2026-07-17T13:25:32Z", "hours": 4.3369, "text": "In the last few days, I made a few changes to my project: I decided to switch the idea from the initial quiz game concept into a choice-based adventure text game, it’s basically an infinite “choose your own adventure” concept. I feel like it’s way more fun! I worked with the WiFiManager library to make the wifi setup more accessible and easy. We now don’t need to hardcode wifi password into the code, the device will launch a hotspot captive portal and you can just connect any of your device to setup wifi at anytime anywhere. portable, isn’t it? Since this game concept will need the e-paper display to show a long text, I used a serif font and coded an automatic text wrapping and an adaptive scroll bar at the side so you can know the length of the text I also added a low battery and data parsing error page for the user alongside with an ok button to shutdown the device. What’s next? After the text formatting is stable, i’ll be focusing on text generation and choice logic!! xD"}, {"post_id": 27138, "ts": "2026-07-12T12:49:33Z", "hours": 2.3742, "text": "Added automatic text wrapping, improved code logic and added low battery screen"}, {"post_id": 26595, "ts": "2026-07-11T14:50:08Z", "hours": 0.6044, "text": "Sent PCB design to JLCPCB for manufacturing (the silkscreen boutta look fire!!)"}, {"post_id": 26395, "ts": "2026-07-11T05:00:22Z", "hours": 1.8842, "text": "Finalised PCB schematics and tested with breadboard. PCB is ready to be manufactured!!"}, {"post_id": 24655, "ts": "2026-07-08T11:42:57Z", "hours": 1.2667, "text": "Added WS2812B Neopixel on the PCB and rerouted PCB"}, {"post_id": 22722, "ts": "2026-07-05T09:35:39Z", "hours": 2.0708, "text": "Finalised schematics circuit, now starting PCB layout!!"}, {"post_id": 22147, "ts": "2026-07-04T13:36:10Z", "hours": 0.4381, "text": "Updated UI interface to fit longer question and answer"}, {"post_id": 21968, "ts": "2026-07-04T05:52:14Z", "hours": 1.4556, "text": "Designed first schematics for custom PCB"}, {"post_id": 21501, "ts": "2026-07-03T14:21:54Z", "hours": 0.3519, "text": "Added ADC reading from battery pin to calculate percentage"}, {"post_id": 19185, "ts": "2026-06-30T13:32:47Z", "hours": 0.3486, "text": "I implemented random seed for Gemini and reinforced the prompt because the AI keep generating the same question and answer over and over again"}, {"post_id": 19168, "ts": "2026-06-30T12:51:47Z", "hours": 1.8264, "text": "Finally implemented Gemini 3.1 Flash Lite into my e-paper ai quiz! Took a long long time debugging errors. Next I’m gonna optimise the ui"}, {"post_id": 18247, "ts": "2026-06-29T10:07:48Z", "hours": 0.7272, "text": "Removed variable dummy placeholder to prepare for API implementation. Also fixed navigation bug when switching pages."}, {"post_id": 17501, "ts": "2026-06-28T09:50:58Z", "hours": 0.6828, "text": "Added hourglass loading screen and improved code logic"}, {"post_id": 17459, "ts": "2026-06-28T07:44:51Z", "hours": 0.7906, "text": "Implemented full quiz logic in Arduino IDE (Gemini API yet to do)"}, {"post_id": 17431, "ts": "2026-06-28T06:34:17Z", "hours": 0.5061, "text": "Added logic pages system using partial refresh in Arduino IDE"}, {"post_id": 17370, "ts": "2026-06-28T04:02:32Z", "hours": 0.4453, "text": "Initialise e-paper screen and wifi in Arduino IDE"}, {"post_id": 17359, "ts": "2026-06-28T03:34:17Z", "hours": 0.3494, "text": "UI Design for quiz interface"}]...
|
Title: AI-Powered Adventure Text Game by @jeremyng Title: AI-Powered Adventure Text Game by @jeremyngai | Stardance
Devlogs:
UI Design for quiz interface
Initialise e-paper screen and wifi in Arduino IDE
Added logic pages system using partial refresh in Arduino IDE
Implemented full quiz logic in Arduino IDE (Gemini API yet to do)
Added hourglass loading screen and improved code logic
Removed variable dummy placeholder to prepare for API implementation. Also fixed navigation bug when switching pages.
Finally implemented Gemini 3.1 Flash Lite into my e-paper ai quiz! Took a long long time debugging errors. Next I’m gonna optimise the ui
I implemented random seed for Gemini and reinforced the prompt because the AI keep generating the same question and answer over and over again
Added ADC reading from battery pin to calculate percentage
Designed first schematics for custom PCB
Updated UI interface to fit longer question and answer
Finalised schematics circuit, now starting PCB layout!!
Added WS2812B Neopixel on the PCB and rerouted PCB
Finalised PCB schematics and tested with breadboard. PCB is ready to be manufactured!!
Sent PCB design to JLCPCB for manufacturing (the silkscreen boutta look fire!!)
Added automatic text wrapping, improved code logic and added low battery screen
In the last few days, I made a few changes to my project: I decided to switch the idea from the initial quiz game concept into a choice-based adventure text game, it’s basically an infinite “choose your own adventure” concept. I feel like it’s way more fun! I worked with the WiFiManager library to make the wifi setup more accessible and easy. We now don’t need to hardcode wifi password into the code, the device will launch a hotspot captive portal and you can just connect any of your device to setup wifi at anytime anywhere. portable, isn’t it? Since this game concept will need the e-paper display to show a long text, I used a serif font and coded an automatic text wrapping and an adaptive scroll bar at the side so you can know the length of the text I also added a low battery and data parsing error page for the user alongside with an ok button to shutdown the device. What’s next? After the text formatting is stable, i’ll be focusing on text generation and choice logic!! xD
Today I worked on a WiFi prompt to let user choose whether they want to connect to a different wifi or existing one, because this device is supposed to be portable, working anywhere, so this is very important. However, I’m still figuring out how to show the WiFi name… wm.getWiFiSSID() didn’t work though. Btw, all my hardware had already arrived just now!! (after slow ahh aliexpress) I can’t wait to solder them, so stay tuned lol XD
GAH DAMN MY PCB IS WORKING!!! Timelapse below! I spent the last few hours carefully soldering my new PCB. I decided to use 0805 for all smd component cuz in my last project, I used 0603 ones and it was PURE TORTURE to solder them all lol. lessen learnt! Overall, I absolutely love the pcb outcome its nicer than I expected especially the ws2812b led and all those smd resistor (they look so sci-fi xD). However there was one flaw, I forgot about the ESP32 antenna. I’m forced to awkwardly fit the antenna on the pcb back (right beside my Great Wave silkscreen print). Luckily it didn’t block it lol. This is something I needa keep in mind the next time! You might be wondering what’s that tiny pin header I used there. It’s just a pin header, but for the design, I wanted it to be ultra slim, so I designed a PCB sandwich layout. The battery fits perfectly between the e-paper pcb and my pcb. However the problem with normal pin headers is that they are super chunky, they have like 9mm gap. That instantly ruin the whole vibe… So after hours of digging in aliexpress, I found those low profile pin header. They are SUPER PERFECT for my project (6mm gap), which is exactly my battery thickness!!! Anyways the low profile pin header was NOT CHEAP at all… well at least its so worth it. Other than soldering the PCB, I did a few adjustment to the firmware, including: rotary encoder logic improvement - I used interrupt pin logic to read it, they place the rotary encoder at the toppest priority (if theres any changes in pin state, the esp32 instantly ignore everything and focus on the encoder). That’s all for now, stay tuned! its so fun
Spent the last few days implementing gemini api into the code and formatting json data like text, choice into the e paper display :) I’ll take a break from this project as i have joined other competition. so stay tuned!
I worked on the game loop system so the story is infinite. after you selected your choice your response will be sent back to gemini api to generate next story! now its actually infinite loop
Ships:
This is an AI-powered text adventure device using an ESP32, an e-paper display and a rotary encoder. It is powered by Gemini to generate infinite stories and choices. It uses ESP32-C3 microcontroller to connect to WiFi and query the Gemini API. Gemini generates an interactive story segment and choices for the player in JSON format. Then the text is shown on the e-paper display. The user can use the rotary encoder to scroll through the text and select their next action. Each choice is returned to the history buffer on the ESP32 and is sent back to Gemini to generate the next story segment. Personally the most enjoyable part is when the PCB worked after i soldered them, however the coding part is hell cuz i sucks at coding lol. It haven’t got an enclosure yet, i will work on it soon! Now I can play this in my free time!...
|
1793152278.702267
|
1793238678.702267
|
|
27388
|
Frictionless FRANCAISS by @manayp | Stardance
|
manayp
|
1
|
4.0
|
27
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-10T21:06:17Z", "hours": 4.0, "multiplier": 6.89, "payout": 27, "blessing": "neutral", "text": "I made a French app that teaches individuals how to learn French in fun ways by adding games and various activities, including the quiz activities and a bunch more. Overall, it was challenging in the beginning, but after I fixed a bunch of bugs and figured out what the team and everything was gonna be, it was actually pretty fun, but to be honest, the funny part was one of the most challenging things were was finding the right emojis and stuff and yeah, making the foundation of it. I’m proud of how I created this just from using HTM. and that it could help a bunch of people especially being Canadians because french in their curriculum. Overall, this is an amazing project and I put a lot of thought into it and added a lot of things. Additionally, AI also helped me, especially in the French integration because I initially thought the web browser could only like have English in it but claude helped me figure that out, and in the end it also pushed my files to github because it wasn’t working. Overall, it was great.", "repo": "https://github.com/manayparikh1/francais", "demo": "https://creative-cassata-b1143f.netlify.app/"}]...
|
[{"post_id": 26192, "ts": "202 [{"post_id": 26192, "ts": "2026-07-10T21:02:38Z", "hours": 0.7494, "text": "Finally done. I fixed a bunch of errors and bugs and made the xp and streak settings more workable. And for the english setting I made it more right because last time it had a lot of issues and the wrong things were written. I also came up with a small title with a small tagline."}, {"post_id": 26170, "ts": "2026-07-10T20:17:08Z", "hours": 1.1578, "text": "I fixed minor bugs and I added this little Croissant thing in the corner of the screen and fixed some of the games and now everything works perfectly. Now last thing I wanna do is make the questions keep coming so basically a lot of questions."}, {"post_id": 26135, "ts": "2026-07-10T19:05:23Z", "hours": 0.7839, "text": "I worked on a few more features, which are extra and helpful, but there are a few errors and css miss alignments so ima fix that now."}, {"post_id": 26097, "ts": "2026-07-10T18:01:21Z", "hours": 0.4689, "text": "I fixed bugs and added more features like the quiz feature and the game one. I am trying to make it fun and useful in the same time."}, {"post_id": 26054, "ts": "2026-07-10T17:19:02Z", "hours": 0.7717, "text": "Some improvements I have made on the French learning site are that there is now an English version available, as well as audio. This means that the site can talk in French and assist users with pronunciation."}]...
|
Title: Frictionless FRANCAISS by @manayp | Stardan Title: Frictionless FRANCAISS by @manayp | Stardance
Devlogs:
Some improvements I have made on the French learning site are that there is now an English version available, as well as audio. This means that the site can talk in French and assist users with pronunciation.
I fixed bugs and added more features like the quiz feature and the game one. I am trying to make it fun and useful in the same time.
I worked on a few more features, which are extra and helpful, but there are a few errors and css miss alignments so ima fix that now.
I fixed minor bugs and I added this little Croissant thing in the corner of the screen and fixed some of the games and now everything works perfectly. Now last thing I wanna do is make the questions keep coming so basically a lot of questions.
Finally done. I fixed a bunch of errors and bugs and made the xp and streak settings more workable. And for the english setting I made it more right because last time it had a lot of issues and the wrong things were written. I also came up with a small title with a small tagline.
Ships:
I made a French app that teaches individuals how to learn French in fun ways by adding games and various activities, including the quiz activities and a bunch more. Overall, it was challenging in the beginning, but after I fixed a bunch of bugs and figured out what the team and everything was gonna be, it was actually pretty fun, but to be honest, the funny part was one of the most challenging things were was finding the right emojis and stuff and yeah, making the foundation of it. I’m proud of how I created this just from using HTM. and that it could help a bunch of people especially being Canadians because french in their curriculum. Overall, this is an amazing project and I put a lot of thought into it and added a lot of things. Additionally, AI also helped me, especially in the French integration because I initially thought the web browser could only like have English in it but claude helped me figure that out, and in the end it also pushed my files to github because it wasn’t working. Overall, it was great....
|
1793292486.5614717
|
1793378886.5614717
|
|
27389
|
Fpv Mini Rc Car by @Kiril | Stardance
|
Kiril
|
1
|
47.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-18T06:25:26Z", "hours": 47.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I spent almost the whole summer building this mini FPV RC car. It took a massive amount of time with 3d modeling, testing, and finding the right electronic modules. This is really one of my hardest projects I have ever made, but I am happy that I realized my childhood dream of creating it.", "repo": "https://github.com/kirilDen/Mini_FPV_RC_CAR_WiFi", "demo": ""}]...
|
[{"post_id": 68423, "ts": "202 [{"post_id": 68423, "ts": "2026-09-15T02:59:08Z", "hours": 1.1667, "text": "After adding support braces, I finally finished the body of the car. After 3d printing I will paint and submit the project."}, {"post_id": 67869, "ts": "2026-09-14T04:48:31Z", "hours": 1.7, "text": "I improved the body’s mounting points so it could be attached firmly to the chassis."}, {"post_id": 65115, "ts": "2026-09-10T00:53:17Z", "hours": 1.5, "text": "Today I was working on the body for the Rc Car."}, {"post_id": 64033, "ts": "2026-09-08T04:48:21Z", "hours": 3.3, "text": "Hello, I started remodeling the body for the car."}, {"post_id": 56373, "ts": "2026-08-28T03:43:29Z", "hours": 3.0167, "text": "Today I kept working on the body of the Rc Car."}, {"post_id": 56264, "ts": "2026-08-27T23:22:14Z", "hours": 2.8169, "text": "I started working on the body of the car"}, {"post_id": 55355, "ts": "2026-08-27T04:18:20Z", "hours": 0.2833, "text": "I added a place for FPV camera. Now the car is fully functional and can be controlled using computer or phone with live view video. Next step is to make enclosure."}, {"post_id": 55308, "ts": "2026-08-27T01:42:26Z", "hours": 0.6833, "text": "I assembled the chassis and the car works perfect. The next step which I started is to design an FPV camera holder."}, {"post_id": 55247, "ts": "2026-08-26T22:10:32Z", "hours": 2.8503, "text": "I kept working on chassis and finding the best size of the wheels and axle."}, {"post_id": 47908, "ts": "2026-08-16T05:45:04Z", "hours": 4.6419, "text": "I spend most of the time assembling the chassis and also modeling the wheels."}, {"post_id": 46558, "ts": "2026-08-13T21:36:07Z", "hours": 2.7003, "text": "Today I finished making the electronic mounts. I designed them specifically so the electronics would sit still and require no glue."}, {"post_id": 45539, "ts": "2026-08-12T03:02:19Z", "hours": 2.3836, "text": "I finally finished working on the steering system and started connecting the whole chassis. Also trying to make a good battery holder."}, {"post_id": 44938, "ts": "2026-08-11T01:08:07Z", "hours": 1.8833, "text": "I kept improving the steering system to find the best option."}, {"post_id": 43038, "ts": "2026-08-08T02:51:25Z", "hours": 2.1922, "text": "Today I started rebuilding the steering system for better steering."}, {"post_id": 33356, "ts": "2026-07-23T06:24:28Z", "hours": 0.8472, "text": "Today I was soldering the electronics and putting everything together. Code is working well and the next step is to design wheels."}, {"post_id": 33238, "ts": "2026-07-22T23:37:37Z", "hours": 4.7169, "text": "I started assembling the RC car and also designed a cover for electronics."}, {"post_id": 31634, "ts": "2026-07-20T06:06:52Z", "hours": 0.765, "text": "I just finished modeling placeholders for electronics."}, {"post_id": 31605, "ts": "2026-07-20T04:25:11Z", "hours": 1.1833, "text": "I didn’t save my files last time, so today I had to remake everything I did last time."}, {"post_id": 28722, "ts": "2026-07-15T04:57:07Z", "hours": 1.1833, "text": "I almost finished working on the chassis for my RC car. The next step is to make mounts for the rest of the electronics."}, {"post_id": 26361, "ts": "2026-07-11T03:24:06Z", "hours": 1.5336, "text": "Hello! Today I finished designing and printing the gears for both the motor and the axle. I also tested different gear ratios and found the best balance between speed and torque."}, {"post_id": 25710, "ts": "2026-07-10T04:27:04Z", "hours": 0.9, "text": "I made the RC car wider to fit the electronics, so I widened the front chassis and improved servo mount."}, {"post_id": 25152, "ts": "2026-07-09T05:41:50Z", "hours": 1.2172, "text": "I almost finished the steering system for the RC car. The only thing left to make is the placing for servo motor."}, {"post_id": 24508, "ts": "2026-07-08T03:08:51Z", "hours": 0.9333, "text": "Today I was still working on the steering system of my car, and I hope I will finish next time."}, {"post_id": 23946, "ts": "2026-07-07T04:57:28Z", "hours": 0.9167, "text": "Today I started working on steering system of my car. I had to design the spindles for the steering system."}, {"post_id": 23247, "ts": "2026-07-06T02:31:35Z", "hours": 1.4003, "text": "Started the RC car rear chassis today! It doesn’t look like much yet, but I made space for the motor and shaft. Next time, I will add gears and finish the back hopefully."}]...
|
Title: Fpv Mini Rc Car by @Kiril | Stardance
Devl Title: Fpv Mini Rc Car by @Kiril | Stardance
Devlogs:
Started the RC car rear chassis today! It doesn’t look like much yet, but I made space for the motor and shaft. Next time, I will add gears and finish the back hopefully.
Today I started working on steering system of my car. I had to design the spindles for the steering system.
Today I was still working on the steering system of my car, and I hope I will finish next time.
I almost finished the steering system for the RC car. The only thing left to make is the placing for servo motor.
I made the RC car wider to fit the electronics, so I widened the front chassis and improved servo mount.
Hello! Today I finished designing and printing the gears for both the motor and the axle. I also tested different gear ratios and found the best balance between speed and torque.
I almost finished working on the chassis for my RC car. The next step is to make mounts for the rest of the electronics.
I didn’t save my files last time, so today I had to remake everything I did last time.
I just finished modeling placeholders for electronics.
I started assembling the RC car and also designed a cover for electronics.
Today I was soldering the electronics and putting everything together. Code is working well and the next step is to design wheels.
Today I started rebuilding the steering system for better steering.
I kept improving the steering system to find the best option.
I finally finished working on the steering system and started connecting the whole chassis. Also trying to make a good battery holder.
Today I finished making the electronic mounts. I designed them specifically so the electronics would sit still and require no glue.
I spend most of the time assembling the chassis and also modeling the wheels.
I kept working on chassis and finding the best size of the wheels and axle.
I assembled the chassis and the car works perfect. The next step which I started is to design an FPV camera holder.
I added a place for FPV camera. Now the car is fully functional and can be controlled using computer or phone with live view video. Next step is to make enclosure.
I started working on the body of the car
Today I kept working on the body of the Rc Car.
Hello, I started remodeling the body for the car.
Today I was working on the body for the Rc Car.
I improved the body’s mounting points so it could be attached firmly to the chassis.
After adding support braces, I finally finished the body of the car. After 3d printing I will paint and submit the project.
Ships:
I spent almost the whole summer building this mini FPV RC car. It took a massive amount of time with 3d modeling, testing, and finding the right electronic modules. This is really one of my hardest projects I have ever made, but I am happy that I realized my childhood dream of creating it....
|
1793152621.33404
|
1793239021.33404
|
|
27407
|
My Portfolio by @Ravduct | Stardance
|
Ravduct
|
1
|
12.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-10T04:55:15Z", "hours": 12.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I have completed my portfolio using the Astro framework and deploy through GitHub.", "repo": "https://github.com/Ravduct/ravduct.github.io", "demo": "https://ravduct.github.io/"}]...
|
[{"post_id": 65190, "ts": "202 [{"post_id": 65190, "ts": "2026-09-10T04:48:56Z", "hours": 2.8442, "text": "Finished My Portfolio"}, {"post_id": 44418, "ts": "2026-08-10T04:53:23Z", "hours": 5.35, "text": "Sidebar and “About Me” Page I finished the sidebar and the “About Me” page with my overall information in it."}, {"post_id": 22613, "ts": "2026-07-05T05:09:02Z", "hours": 1.1825, "text": "Finish My Sidebar I finished my sidebar, and it will stick there forever, even when I go to pages on my website"}, {"post_id": 21952, "ts": "2026-07-04T04:51:48Z", "hours": 1.2675, "text": "Astro Framework Today, I switched to the Astro Framework because it is beginner-friendly."}, {"post_id": 20149, "ts": "2026-07-01T18:09:07Z", "hours": 0.5939, "text": "Trying to Learn CSS I broke my header, and I found out that I need to learn more CSS skills."}, {"post_id": 19806, "ts": "2026-07-01T06:10:27Z", "hours": 0.3436, "text": "Listing Categories I made the sidebar list categories vertically. My front-end skills are still new, so I will work on this project slowly."}, {"post_id": 18970, "ts": "2026-06-30T04:34:38Z", "hours": 0.3231, "text": "Header Moved Header I moved my website header, and I am going to try to make it list those links vertically soon."}, {"post_id": 17406, "ts": "2026-06-28T05:27:54Z", "hours": 0.4778, "text": "Header For My Website Today, I only finished the header for my website that links to the other pages"}]...
|
Title: My Portfolio by @Ravduct | Stardance
Devlo Title: My Portfolio by @Ravduct | Stardance
Devlogs:
Header For My Website Today, I only finished the header for my website that links to the other pages
Header Moved Header I moved my website header, and I am going to try to make it list those links vertically soon.
Listing Categories I made the sidebar list categories vertically. My front-end skills are still new, so I will work on this project slowly.
Trying to Learn CSS I broke my header, and I found out that I need to learn more CSS skills.
Astro Framework Today, I switched to the Astro Framework because it is beginner-friendly.
Finish My Sidebar I finished my sidebar, and it will stick there forever, even when I go to pages on my website
Sidebar and “About Me” Page I finished the sidebar and the “About Me” page with my overall information in it.
Finished My Portfolio
Ships:
I have completed my portfolio using the Astro framework and deploy through GitHub....
|
1793148976.5890436
|
1793235376.5890436
|
|
27409
|
Astronasamp Multi API Slack Bot by @manayp | Stard Astronasamp Multi API Slack Bot by @manayp | Stardance...
|
manayp
|
1
|
3.17
|
4
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-28T21:15:05Z", "hours": 2.0, "multiplier": 2.16, "payout": 4, "blessing": "neutral", "text": "What did you make? I made a multi-API Slack bot called Astronasamp which delivers useful utilities right into Slack. It has a number of functionality such as checking the weather, converting money with current exchange rates, viewing cryptocurrency prices, looking up dictionary definition, conducting polls, and many others. I also used AI in figuring out how to find and navigate through various instructions and code structures. I use Claude and Github Copilot and it aided me significantly in debugging and figuring out where to find things etc. What was challenging? Probably the most difficult thing to do was to figure out how Slack works since this is my first Slack application ever. Configuration, setting permissions for the app, registering slash commands, Socket Mode were quite time consuming for me. I had to make sure that all the APIs will be handled in the proper way and work well. What are you most proud of? I am proud of creating an entire Slack app which has a lot of functionality and integrates with actual APIs. Moreover, I implemented automated smoke testing and stress testing, provided detailed documentation, and arranged everything for further adding commands to the project. What information do people need in order to evaluate your project? The most convenient way for users to view your project is via the demo video, where the bot is shown working within Slack. You may find all source code and documentation within the GitHub repo. The bot supports commands such as /astronasamp help , /astronasamp weather <city> , /astronasamp convert <amount> <FROM> <TO> , /astronasamp crypto <coin> , /astronasamp define <word> , and /astronasamp poll . THE THING THAT MAKES IT 24-7 USABLE This link is the live deployment of Astronasamp, a Slack bot that runs 24/7 on Railway. It acts as the backend server that powers all bot commands inside Slack. When a user sends a command like weather, crypto, or currency conversion, this server receives the request, processes it using external APIs, and sends the response back to Slack in real time. The link itself is not a website interface, but a live service that keeps the bot running continuously even when my laptop is closed. Link: https://astronasamp-production.up.railway.app/", "repo": "https://github.com/manayparikh1/astronasamp", "demo": "https://app.slack.com/client/E09V59WQY1E/C0BGX5AK54Z"}]...
|
[{"post_id": 25715, "ts": "202 [{"post_id": 25715, "ts": "2026-07-10T04:33:35Z", "hours": 0.3689, "text": "Made responses more human."}, {"post_id": 18667, "ts": "2026-06-29T21:09:17Z", "hours": 0.8017, "text": "I fixed the polls because they were not functioning."}, {"post_id": 17854, "ts": "2026-06-28T19:56:09Z", "hours": 1.6825, "text": "Today I finished the final improvements to Astronasamp. I cleaned up the README to make the setup instructions easier to follow, added screenshots showing the bot in use, and improved the testing scripts. I also updated the stress test and smoke test so they provide clearer output and make it easier to verify that every command is working correctly. After that, I committed the final changes to GitHub, checked that everything was pushed correctly, and reviewed the project one last time to make sure the documentation, code, and repository were ready for submission. At this point, the project is complete and ready to submit."}]...
|
Title: Astronasamp Multi API Slack Bot by @manayp Title: Astronasamp Multi API Slack Bot by @manayp | Stardance
Devlogs:
Today I finished the final improvements to Astronasamp. I cleaned up the README to make the setup instructions easier to follow, added screenshots showing the bot in use, and improved the testing scripts. I also updated the stress test and smoke test so they provide clearer output and make it easier to verify that every command is working correctly. After that, I committed the final changes to GitHub, checked that everything was pushed correctly, and reviewed the project one last time to make sure the documentation, code, and repository were ready for submission. At this point, the project is complete and ready to submit.
I fixed the polls because they were not functioning.
Made responses more human.
Ships:
What did you make? I made a multi-API Slack bot called Astronasamp which delivers useful utilities right into Slack. It has a number of functionality such as checking the weather, converting money with current exchange rates, viewing cryptocurrency prices, looking up dictionary definition, conducting polls, and many others. I also used AI in figuring out how to find and navigate through various instructions and code structures. I use Claude and Github Copilot and it aided me significantly in debugging and figuring out where to find things etc. What was challenging? Probably the most difficult thing to do was to figure out how Slack works since this is my first Slack application ever. Configuration, setting permissions for the app, registering slash commands, Socket Mode were quite time consuming for me. I had to make sure that all the APIs will be handled in the proper way and work well. What are you most proud of? I am proud of creating an entire Slack app which has a lot of functionality and integrates with actual APIs. Moreover, I implemented automated smoke testing and stress testing, provided detailed documentation, and arranged everything for further adding commands to the project. What information do people need in order to evaluate your project? The most convenient way for users to view your project is via the demo video, where the bot is shown working within Slack. You may find all source code and documentation within the GitHub repo. The bot supports commands such as /astronasamp help , /astronasamp weather <city> , /astronasamp convert <amount> <FROM> <TO> , /astronasamp crypto <coin> , /astronasamp define <word> , and /astronasamp poll . THE THING THAT MAKES IT 24-7 USABLE This link is the live deployment of Astronasamp, a Slack bot that runs 24/7 on Railway. It acts as the backend server that powers all bot commands inside Slack. When a user sends a command like weather, crypto, or currency conversion, this server receives the request, processes it using external APIs, and sends the response back to Slack in real time. The link itself is not a website interface, but a live service that keeps the bot running continuously even when my laptop is closed. Link: https://astronasamp-production.up.railway.app/...
|
1793328668.2388618
|
1793415068.2388618
|
|
27411
|
Natural Gas pricing Model by @knightfallShashy | S Natural Gas pricing Model by @knightfallShashy | Stardance...
|
knightfallShashy
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-01T05:43:35Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Built a natural gas contract pricing model in Python for the JPMorgan Chase Quantitative Research Virtual Experience (Task 2). The model calculates the fair value of a storage contract where a client buys gas cheaply in summer, stores it, and sells it at a premium in winter. It accounts for every cash flow — purchase cost, sale revenue, monthly storage fees, and per-MMBtu injection/withdrawal costs. The most challenging part was figuring out how to calculate storage duration in months from two datetime objects, and making sure the for loops were subtracting vs adding the right cash flows at the right time. Proud that I built this line by line with a real understanding of what each piece does rather than just copying code. To test it: download the executable from the release, make sure Nat_Gas.csv is in the same folder, and run it. You’ll see two contract valuations printed — one summer-to-winter trade worth $2,073,333 and one fall-to-winter trade worth $3,481,600.", "repo": "https://github.com/Shashyster/JP-Morgan-Quant-task-2", "demo": "https://github.com/Shashyster/JP-Morgan-Quant-task-2/releases/tag/v1.0"}]...
|
[{"post_id": 17387, "ts": "202 [{"post_id": 17387, "ts": "2026-06-28T04:36:26Z", "hours": 1.5008, "text": "I built a natural gas contract pricing model in Python as part of the JPMorgan Chase Quantitative Research Virtual Experience (Task 2). The model calculates the fair value of a storage contract where a client buys gas in summer, stores it, and sells in winter. It accounts for all cash flows: purchase cost, sale revenue, monthly storage fees, and injection/withdrawal costs."}]...
|
Title: Natural Gas pricing Model by @knightfallSha Title: Natural Gas pricing Model by @knightfallShashy | Stardance
Devlogs:
I built a natural gas contract pricing model in Python as part of the JPMorgan Chase Quantitative Research Virtual Experience (Task 2). The model calculates the fair value of a storage contract where a client buys gas in summer, stores it, and sells in winter. It accounts for all cash flows: purchase cost, sale revenue, monthly storage fees, and injection/withdrawal costs.
Ships:
Built a natural gas contract pricing model in Python for the JPMorgan Chase Quantitative Research Virtual Experience (Task 2). The model calculates the fair value of a storage contract where a client buys gas cheaply in summer, stores it, and sells it at a premium in winter. It accounts for every cash flow — purchase cost, sale revenue, monthly storage fees, and per-MMBtu injection/withdrawal costs. The most challenging part was figuring out how to calculate storage duration in months from two datetime objects, and making sure the for loops were subtracting vs adding the right cash flows at the right time. Proud that I built this line by line with a real understanding of what each piece does rather than just copying code. To test it: download the executable from the release, make sure Nat_Gas.csv is in the same folder, and run it. You’ll see two contract valuations printed — one summer-to-winter trade worth $2,073,333 and one fall-to-winter trade worth $3,481,600....
|
1793293026.571425
|
1793379426.571425
|
|
27423
|
Adobe Lightroom Clone by @catlover125r | Stardance
|
catlover125r
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-28T06:55:21Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Open-source, catalog-based, non-destructive RAW photo editor (Lightroom-class), GPLv3, 100% local AI. Engine in Rust, one wgpu shader codebase, ONNX Runtime for all ML. This repo contains the Phase-0 spike + a working Phase-1 (MVP) with a real desktop GUI — proven end-to-end on Apple Silicon (Metal + CoreML): crates/raw-decode — LibRaw → linear 16-bit RGB + metadata probe, via a stable C-ABI shim. crates/recipe — serde parametric edit-recipe (sparse, identity-default). crates/catalog — SQLite catalog: import folders of RAWs (with EXIF), read/write recipes, idempotent. crates/gpu — wgpu develop pipeline (WB, exposure, contrast, highlights/shadows/whites/blacks, vibrance/saturation, dehaze, 8-band HSL, post-crop vignette, grain), shared by the live preview and headless export. Preview == export. cargo run -p gpu –example modtest checks the modules. crates/app — egui desktop app: a Library grid (background-decoded thumbnails) and a Develop view with live sliders driving the GPU pipeline, plus the import / –recipe / –export / –selftest headless CLI. crates/ai-smoke — ONNX Runtime + CoreML EP smoke test for SAM2. catalog/schema.sql — full SQLite catalog schema (Task 3). docs/ — stack decisions, recipe format, develop pipeline, model packaging.", "repo": "https://github.com/catlover125r/AdobeMaybeLight", "demo": "https://github.com/catlover125r/AdobeMaybeLight/releases/tag/v0.1.0"}]...
|
[{"post_id": 17440, "ts": "202 [{"post_id": 17440, "ts": "2026-06-28T06:52:08Z", "hours": 3.8881, "text": "It’s looking good. I used Rust for the first time to make this project. As you can see below, the sliders work well!"}]...
|
Title: Adobe Lightroom Clone by @catlover125r | St Title: Adobe Lightroom Clone by @catlover125r | Stardance
Devlogs:
It’s looking good. I used Rust for the first time to make this project. As you can see below, the sliders work well!
Ships:
Open-source, catalog-based, non-destructive RAW photo editor (Lightroom-class), GPLv3, 100% local AI. Engine in Rust, one wgpu shader codebase, ONNX Runtime for all ML. This repo contains the Phase-0 spike + a working Phase-1 (MVP) with a real desktop GUI — proven end-to-end on Apple Silicon (Metal + CoreML): crates/raw-decode — LibRaw → linear 16-bit RGB + metadata probe, via a stable C-ABI shim. crates/recipe — serde parametric edit-recipe (sparse, identity-default). crates/catalog — SQLite catalog: import folders of RAWs (with EXIF), read/write recipes, idempotent. crates/gpu — wgpu develop pipeline (WB, exposure, contrast, highlights/shadows/whites/blacks, vibrance/saturation, dehaze, 8-band HSL, post-crop vignette, grain), shared by the live preview and headless export. Preview == export. cargo run -p gpu –example modtest checks the modules. crates/app — egui desktop app: a Library grid (background-decoded thumbnails) and a Develop view with live sliders driving the GPU pipeline, plus the import / –recipe / –export / –selftest headless CLI. crates/ai-smoke — ONNX Runtime + CoreML EP smoke test for SAM2. catalog/schema.sql — full SQLite catalog schema (Task 3). docs/ — stack decisions, recipe format, develop pipeline, model packaging....
|
1793317962.606539
|
1793404362.606539
|
|
27433
|
Security alarm by @dim | Stardance
|
dim
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-21T08:57:09Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A security alarm. It was difficult to find the correct libraries for my components and that pushed me back a bit on time. I am proud because this is my first project ever.", "repo": "https://github.com/the-dimpol-13/DimPad", "demo": ""}]...
|
[{"post_id": 51512, "ts": "202 [{"post_id": 51512, "ts": "2026-08-21T08:39:54Z", "hours": 0.5522, "text": "Made this security alarm that can be armed disarmed with an nfc card. Made in about 4 hours for the final version. Its my first arduini project since i began my enginnering journey."}]...
|
Title: Security alarm by @dim | Stardance
Devlogs Title: Security alarm by @dim | Stardance
Devlogs:
Made this security alarm that can be armed disarmed with an nfc card. Made in about 4 hours for the final version. Its my first arduini project since i began my enginnering journey.
Ships:
A security alarm. It was difficult to find the correct libraries for my components and that pushed me back a bit on time. I am proud because this is my first project ever....
|
1793263728.8778334
|
1793350128.8778334
|
|
27445
|
My first slack bot! by @harishh | Stardance
|
harishh
|
1
|
2.96
|
1
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-04T06:33:51Z", "hours": 0.0, "multiplier": 1.11, "payout": 1, "blessing": "neutral", "text": "i made a slack bot, it was pretty challenging to understand how this challenge works, because im a complete beginner to this stardance and to coding, so i did use ai to learn stuff, it was a fun project and i will give updates to make this one better, i will make a new game and release it!!!", "repo": "https://github.com/starharish0210-afk/lucid-bot", "demo": "https://hackclub.slack.com/archives/C0P5NE354"}]...
|
[{"post_id": 73829, "ts": "202 [{"post_id": 73829, "ts": "2026-09-26T03:39:00Z", "hours": 2.9558, "text": "I have updated my Slack bot!! - I am sure that my new food command will make your mouths water"}, {"post_id": 21950, "ts": "2026-07-04T04:41:59Z", "hours": 0.4528, "text": "I built Lucid, a Slack bot that runs 24/7 on Hack Club’s Nest server! It started as just a basic ping bot but I kept adding more commands — weather, cat facts, jokes, a cat of the day with a full image card, and even a NASA astronomy picture of the day with space facts. Built it with Node.js and Slack Bolt, deployed it as a systemd service so it never goes down even when my laptop is off. Pretty proud of how it turned out! lets goooooooooooo"}]...
|
Title: My first slack bot! by @harishh | Stardance Title: My first slack bot! by @harishh | Stardance
Devlogs:
I built Lucid, a Slack bot that runs 24/7 on Hack Club’s Nest server! It started as just a basic ping bot but I kept adding more commands — weather, cat facts, jokes, a cat of the day with a full image card, and even a NASA astronomy picture of the day with space facts. Built it with Node.js and Slack Bolt, deployed it as a systemd service so it never goes down even when my laptop is off. Pretty proud of how it turned out! lets goooooooooooo
I have updated my Slack bot!! - I am sure that my new food command will make your mouths water
Ships:
i made a slack bot, it was pretty challenging to understand how this challenge works, because im a complete beginner to this stardance and to coding, so i did use ai to learn stuff, it was a fun project and i will give updates to make this one better, i will make a new game and release it!!!...
|
1793317999.8258862
|
1793404399.8258862
|
|
27450
|
JBootloader by @jphwb | Stardance
|
jphwb
|
1
|
15.0
|
204
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-20T06:38:10Z", "hours": 15.0, "multiplier": 13.86, "payout": 204, "blessing": "neutral", "text": "JBootloader is a custom bootloader and kernel with a shell that has basic functionality made in c and assembly x86_64. The kernel currently can load a fat-16 filesystem image in read only mode and commands such as cat and ls can be used. Everything that is required to boot is all compiled into os.bin (Releases) including the kernel, stage1/stage2.asm and the fat16 filesystem which is designed to work on QEMU. This project isnt made to be actually used (obviously) but its more of a learning journey helping me learn how a bootloader and kernel work. Initially I wanted to just make a bootloader like GRUB that could boot any operating system but at the time I was overestimating my skills in asm so I decided to steer off and make a simple kernel instead. The challenging part was the agonizing “why won’t the fat-16 partition show up” because it just would show up no matter what I did so I pulled up gemini and put in my fat_16.c code and asked it to edit my code to push out any debugging info to the vm so that I’d be able to see what went wrong, using this I overcame my problems. Also at the start I spent almost an hour trying to find an issue since my C/C++ extension in VS wasn’t working and my build command just refused to tell me what was wrong but turns out I did #include print.c :sob To test the project I have all the instructions on the release page linked on the demo button and the download to os.bin which includes all the parts with the assembly bootloader, the kernel and the filesystem’s .img file. You also require qemu to be installed and if your on windows PLEASE just use wsl it’s a pain to use qemu on windows natively.", "repo": "https://github.com/jphwba/jbootloader", "demo": "https://github.com/jphwba/jbootloader/releases/tag/v1.1"}]...
|
[{"post_id": 48842, "ts": "202 [{"post_id": 48842, "ts": "2026-08-17T12:01:13Z", "hours": 7.0572, "text": "So what I implemented was a keyboard event queue, a shell, IDE driver for a FAT-16 readonly filesystem and a preemptive scheduler. I didn’t add a true ring3 userspace in this because I need GDT ring transitions and a syscall ABI that is annoying and I don’t have the legal brain capacity in my skillset to do it. This is now capable of switching into 32-bit protected mode and directly loads the C kernel into memory. I also made cleanups to kernel.c/h and fixed some minor build errors."}, {"post_id": 21713, "ts": "2026-07-03T20:08:33Z", "hours": 4.1536, "text": "Kernel Refactor One of the biggest changes in this update was reorganising the kernel into individual components rather than keeping everything inside a single source file.The project now contains dedicated modules for: VGA text output Interrupt Descriptor Table (IDT) Interrupt Service Routines (ISR) Hardware Interrupt Requests (IRQ) Programmable Interrupt Controller (PIC) Programmable Interval Timer (PIT) Keyboard driver Low-level I/O helpers Interrupt Descriptor Table The kernel now builds and installs a complete Interrupt Descriptor Table (IDT) containing all 256 entries. CPU exceptions (ISR 0-31) are fully registered, while IRQs from the Programmable Interrupt Controller occupy vectors 32-47 after remapping. Once the IDT has been loaded using lidt, the kernel is capable of safely responding to both processor exceptions and hardware interrupts. CPU Exception Handling Proper exception handling has now been implemented. Instead of the CPU immediately crashing with no feedback, exceptions are caught and displayed on screen with useful debugging information including: Exception name Interrupt number Error codeInstruction pointer (EIP) Code segment CPU flags After reporting the error the kernel safely halts, making debugging much easier during development. Programmable Interrupt Controller (PIC) The legacy PIC is now fully initialised and remapped away from the CPU exception vectors .Support has also been added for: Sending End Of Interrupt (EOI) commands Masking individual IRQ lines Unmasking IRQs when drivers are ready Programmable Interval Timer (PIT) The PIT has now been configured as the kernel’s first hardware timer. It generates periodic interrupts at a configurable frequency and maintains a continuously increasing tick counter. While simple for now, this timer will eventually become the basis for delays Keyboard Driver Perhaps the most noticeable improvement in this update is the addition of the first real hardware driver. The keyboard driver: Receives hardware interrupts on IRQ1 Reads raw PS/2 scancodes Translates scancodes into ASCII characters Buffers incoming keystrokes Allows the kernel to read characters without directly accessing hardware every time Improved VGA Terminal The VGA text driver has also been rewritten into its own module. I added Cursor updates, Automatic scrolling, Backspace support, Colour control, Decimal output and Hexadecimal output"}, {"post_id": 19946, "ts": "2026-07-01T12:11:26Z", "hours": 1.2294, "text": "I rewrote the bootloader into two stages. Each item in stage 2 is Disk loader: disk_read_lba in stage2 is fully reusable (LBA, count, drive, destination segment:offset via a Disk Address Packet), checks for INT 13h extensions first, and retries 3 times with a disk reset between attempts, same pattern in stage1’s simpler loader. Print routine: print_string prints status lines at each stage (“loading kernel…”, “enabling A20…”, etc) plus explicit disk error and unsupported extensions messages. A20: now enabled in real mode before the protected mode switch, using the BIOS function and the fast A20 gate together. Boot drive: saved from DL at both stage1 and stage2 entry rather than hardcoded. Magic numbers: sector counts, load addresses, and buffer addresses all moved into src/config.inc, shared by both stages. E820 memory map: collected in real mode into a fixed buffer before switching to protected mode. Boot info struct: built in 32-bit mode and handed to the kernel via EBX. Matching BootInfo struct is in kernel.h. Load/execute address mismatch: The kernel now loads to physical 0x10000 in real mode, then once in flat 32-bit protected mode, stage2 copies it to 0x100000 with rep movsd before jumping there, so the linker script’s link address and the actual jump target now agree."}, {"post_id": 19889, "ts": "2026-07-01T09:57:18Z", "hours": 1.8975, "text": "Got the bootloader to load kernel.c which is empty but you can see in the gdb log in the terminal that it does load void kernel_main. Next I am going to rewrite the bootloader into a two stage bootloader so it can have a print routine, retrying disk reads, A20 handling and an E820 memory map. Since all of this isnt possible in just 510 bytes (last two bytes reserved for the boot sector signature being 0x55 and 0xAA) I will split it into two stages."}, {"post_id": 17432, "ts": "2026-06-28T06:35:23Z", "hours": 0.3608, "text": "Created a basic assembly project that prints hello world to the terminal and tested it by booting the built .bin file in qemu."}]...
|
Title: JBootloader by @jphwb | Stardance
Devlogs: Title: JBootloader by @jphwb | Stardance
Devlogs:
Created a basic assembly project that prints hello world to the terminal and tested it by booting the built .bin file in qemu.
Got the bootloader to load kernel.c which is empty but you can see in the gdb log in the terminal that it does load void kernel_main. Next I am going to rewrite the bootloader into a two stage bootloader so it can have a print routine, retrying disk reads, A20 handling and an E820 memory map. Since all of this isnt possible in just 510 bytes (last two bytes reserved for the boot sector signature being 0x55 and 0xAA) I will split it into two stages.
I rewrote the bootloader into two stages. Each item in stage 2 is Disk loader: disk_read_lba in stage2 is fully reusable (LBA, count, drive, destination segment:offset via a Disk Address Packet), checks for INT 13h extensions first, and retries 3 times with a disk reset between attempts, same pattern in stage1’s simpler loader. Print routine: print_string prints status lines at each stage (“loading kernel…”, “enabling A20…”, etc) plus explicit disk error and unsupported extensions messages. A20: now enabled in real mode before the protected mode switch, using the BIOS function and the fast A20 gate together. Boot drive: saved from DL at both stage1 and stage2 entry rather than hardcoded. Magic numbers: sector counts, load addresses, and buffer addresses all moved into src/config.inc, shared by both stages. E820 memory map: collected in real mode into a fixed buffer before switching to protected mode. Boot info struct: built in 32-bit mode and handed to the kernel via EBX. Matching BootInfo struct is in kernel.h. Load/execute address mismatch: The kernel now loads to physical 0x10000 in real mode, then once in flat 32-bit protected mode, stage2 copies it to 0x100000 with rep movsd before jumping there, so the linker script’s link address and the actual jump target now agree.
Kernel Refactor One of the biggest changes in this update was reorganising the kernel into individual components rather than keeping everything inside a single source file.The project now contains dedicated modules for: VGA text output Interrupt Descriptor Table (IDT) Interrupt Service Routines (ISR) Hardware Interrupt Requests (IRQ) Programmable Interrupt Controller (PIC) Programmable Interval Timer (PIT) Keyboard driver Low-level I/O helpers Interrupt Descriptor Table The kernel now builds and installs a complete Interrupt Descriptor Table (IDT) containing all 256 entries. CPU exceptions (ISR 0-31) are fully registered, while IRQs from the Programmable Interrupt Controller occupy vectors 32-47 after remapping. Once the IDT has been loaded using lidt, the kernel is capable of safely responding to both processor exceptions and hardware interrupts. CPU Exception Handling Proper exception handling has now been implemented. Instead of the CPU immediately crashing with no feedback, exceptions are caught and displayed on screen with useful debugging information including: Exception name Interrupt number Error codeInstruction pointer (EIP) Code segment CPU flags After reporting the error the kernel safely halts, making debugging much easier during development. Programmable Interrupt Controller (PIC) The legacy PIC is now fully initialised and remapped away from the CPU exception vectors .Support has also been added for: Sending End Of Interrupt (EOI) commands Masking individual IRQ lines Unmasking IRQs when drivers are ready Programmable Interval Timer (PIT) The PIT has now been configured as the kernel’s first hardware timer. It generates periodic interrupts at a configurable frequency and maintains a continuously increasing tick counter. While simple for now, this timer will eventually become the basis for delays Keyboard Driver Perhaps the most noticeable improvement in this update is the addition of the first real hardware driver. The keyboard driver: Receives hardware interrupts on IRQ1 Reads raw PS/2 scancodes Translates scancodes into ASCII characters Buffers incoming keystrokes Allows the kernel to read characters without directly accessing hardware every time Improved VGA Terminal The VGA text driver has also been rewritten into its own module. I added Cursor updates, Automatic scrolling, Backspace support, Colour control, Decimal output and Hexadecimal output
So what I implemented was a keyboard event queue, a shell, IDE driver for a FAT-16 readonly filesystem and a preemptive scheduler. I didn’t add a true ring3 userspace in this because I need GDT ring transitions and a syscall ABI that is annoying and I don’t have the legal brain capacity in my skillset to do it. This is now capable of switching into 32-bit protected mode and directly loads the C kernel into memory. I also made cleanups to kernel.c/h and fixed some minor build errors.
Ships:
JBootloader is a custom bootloader and kernel with a shell that has basic functionality made in c and assembly x86_64. The kernel currently can load a fat-16 filesystem image in read only mode and commands such as cat and ls can be used. Everything that is required to boot is all compiled into os.bin (Releases) including the kernel, stage1/stage2.asm and the fat16 filesystem which is designed to work on QEMU. This project isnt made to be actually used (obviously) but its more of a learning journey helping me learn how a bootloader and kernel work. Initially I wanted to just make a bootloader like GRUB that could boot any operating system but at the time I was overestimating my skills in asm so I decided to steer off and make a simple kernel instead. The challenging part was the agonizing “why won’t the fat-16 partition show up” because it just would show up no matter what I did so I pulled up gemini and put in my fat_16.c code and asked it to edit my code to push out any debugging info to the vm so that I’d be able to see what went wrong, using this I overcame my problems. Also at the start I spent almost an hour trying to find an issue since my C/C++ extension in VS wasn’t working and my build command just refused to tell me what was wrong but turns out I did #include print.c :sob To test the project I have all the instructions on the release page linked on the demo button and the download to os.bin which includes all the parts with the assembly bootloader, the kernel and the filesystem’s .img file. You also require qemu to be installed and if your on windows PLEASE just use wsl it’s a pain to use qemu on windows natively....
|
1793307088.0527117
|
1793393488.0527117
|
|
27472
|
fifa lineup generator by @goodaysarecomingsoon | S fifa lineup generator by @goodaysarecomingsoon | Stardance...
|
goodaysarecomingsoon
|
1
|
19.0
|
25
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-28T10:45:54Z", "hours": 19.0, "multiplier": 2.47, "payout": 25, "blessing": "neutral", "text": "I’ve been involved with the school football team , but creating our lineup has been a nightmare. When I tried using ai tools like chatgpt but it cant create my lineup as i wish or i will run out of token :( so i create this project. My project is simple. It includes a front‑end UI page, squad creation, and a current World Cup squad example hosted on my website The World Cup squad is not official it’s based on my personal opinion:) The hardest part was designing the formation background graphics, I used an AI‑generated image for that. The most irritating part for is was styling, positioning, debugging, and arranging positions:).", "repo": "https://github.com/Optimus-Prime04/Fifa-lineup-generator", "demo": "https://fifa-lineup-generator.vercel.app/"}]...
|
[{"post_id": 17519, "ts": "202 [{"post_id": 17519, "ts": "2026-06-28T10:25:38Z", "hours": 18.7042, "text": "finally done"}]...
|
Title: fifa lineup generator by @goodaysarecomings Title: fifa lineup generator by @goodaysarecomingsoon | Stardance
Devlogs:
finally done
Ships:
I’ve been involved with the school football team , but creating our lineup has been a nightmare. When I tried using ai tools like chatgpt but it cant create my lineup as i wish or i will run out of token :( so i create this project. My project is simple. It includes a front‑end UI page, squad creation, and a current World Cup squad example hosted on my website The World Cup squad is not official it’s based on my personal opinion:) The hardest part was designing the formation background graphics, I used an AI‑generated image for that. The most irritating part for is was styling, positioning, debugging, and arranging positions:)....
|
1793246126.383441
|
1793332526.383441
|
|
27506
|
Python Opportunity List by @Mukund | Stardance
|
Mukund
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-28T10:17:33Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "It is python terminal program in which STEM students can view add and see upcoming and ongoing projects. It let us to add registration date, starting date and ending date of the event. it has category of event to choose and those are- Hackathon Stemathon Olympiad Internship Other. you can also fill your own category if you have chosed other cateory. It is missing some crucial features which i will add once I have done my one sudden projects. once you have added a event you can view it anytime you want by running the code and selecting option 2(VIEW EVENTS) note- You might not be able to edit or delete any program in this version but in upcoming version this feature will be available. Please compromise for a while You checkout the program by clicking the link below (IF LINK DOES NOT WORK THEN COPY PASTE IT IN YOUR BROWSER) https://pypi.org/project/opportunity-list/ In future updates this will become website and make not only your list overall a website where anyone can add a event and you can see everyone events(only events will be shown not persons info [also these updates will take some time.]) Thank you for your patience . The most challenging part was managing files and uploading this to your website. (I have spent more time in shipping this project to you because of confusing GUI and less available feature , rather than on project) The most thing I am proud of is that it has potential(you will regret not clearing my project)", "repo": "", "demo": ""}]...
|
[{"post_id": 17508, "ts": "202 [{"post_id": 17508, "ts": "2026-06-28T10:00:09Z", "hours": 0.2833, "text": "I have been working on a python terminal project (which will become a website later ) HERE is my firsst devlog"}]...
|
Title: Python Opportunity List by @Mukund | Starda Title: Python Opportunity List by @Mukund | Stardance
Devlogs:
I have been working on a python terminal project (which will become a website later ) HERE is my firsst devlog
Ships:
It is python terminal program in which STEM students can view add and see upcoming and ongoing projects. It let us to add registration date, starting date and ending date of the event. it has category of event to choose and those are- Hackathon Stemathon Olympiad Internship Other. you can also fill your own category if you have chosed other cateory. It is missing some crucial features which i will add once I have done my one sudden projects. once you have added a event you can view it anytime you want by running the code and selecting option 2(VIEW EVENTS) note- You might not be able to edit or delete any program in this version but in upcoming version this feature will be available. Please compromise for a while You checkout the program by clicking the link below (IF LINK DOES NOT WORK THEN COPY PASTE IT IN YOUR BROWSER) https://pypi.org/project/opportunity-list/ In future updates this will become website and make not only your list overall a website where anyone can add a event and you can see everyone events(only events will be shown not persons info [also these updates will take some time.]) Thank you for your patience . The most challenging part was managing files and uploading this to your website. (I have spent more time in shipping this project to you because of confusing GUI and less available feature , rather than on project) The most thing I am proud of is that it has potential(you will regret not clearing my project)...
|
1793332579.4418304
|
1793418979.4418304
|
|
27512
|
Digital E-ink Clock by @janosch | Stardance
|
janosch
|
1
|
14.0
|
71
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-13T10:24:08Z", "hours": 14.0, "multiplier": 5.0, "payout": 71, "blessing": "neutral", "text": "A retro-inspired desk clock. It’s strange, before, I never really considered that building something like this was an option, if you know what I mean. Like just buying parts and fitting them together and it all working is really magical. It may sound quite annoying, but I am surprisingly glad of how often I failed (mind you, not at the time). I redesigned the outer body of the clock 3 times (plus printing it three times, don’t even want to know how much filament I used up), moved up from an Arduino Uno to an ESP32 as the Uno just didn’t have enough RAM, and redesigned how the buttons would work 4 times. At the time, this was very disheartening, but when I now look at my first draft and imagine this would be the final result, I’m so glad it isn’t. Features E-paper display Current time Date 4-day weather forecast, fetched from Open-Meteo API. Shows day, max temperature, and condition Ambient LED strip, dark purple WS2812B LED strip for mood lighting - Light toggle button, turns the LED strip on or off Alarm system, set alarm hour via a potentiometer dial, small indicator LED shows when alarm is active Snooze/dismiss button, dismisses the alarm when ringing, or toggles AM/PM when setting the alarm WiFi time sync, time is fetched from an NTP server automatically", "repo": "https://github.com/TaminoDesign/clock01", "demo": ""}]...
|
[{"post_id": 27568, "ts": "202 [{"post_id": 27568, "ts": "2026-07-13T08:37:41Z", "hours": 3.2, "text": "I think this is it!! I have spent the last few hours connecting everything and organising it inside the housing. Additionally, finished up the code to set an alarm and replaced the quote with the weather forecast. A little less inspiring (especially with the next few days just raining) but more useful 🙃. It really has been an incredible project. It’s strange, before, I never really considered that building something like this was an option, if you know what I mean. Like just buying parts and fitting them together and it all working is really magical. For this final dev vlog, here is the final part list all together: ESP32 dev board RGB addressable light strip 3mm LED light in orange 3.7-inch e-ink display two buttons -one Potentiometer One passive buzzer -a lot of 3d printing filament (PLA and PETG transparent) usb cable It may sound quite annoying, but I am surprisingly glad of how often I failed (mind you, not at the time). I redesigned the outer body of the clock 3 times (plus printing it three times, don’t even want to know how much filament I used up), moved up from an Arduino Uno to an ESP32 as the Uno just didn’t have enough RAM, and redesigned how the buttons would work 4 times. At the time, this was very disheartening, but when I now look at my first draft and imagine this would be the final result, I’m so glad it isn’t."}, {"post_id": 25842, "ts": "2026-07-10T10:03:19Z", "hours": 2.9803, "text": "Finally have everything wired up and working. Well that is except the buttons, they just refuse to work as I want them to. But at least the alarm should be working and it is an alarm clock after all (just no way of stopping it right now). Will experiment more and see what I can do"}, {"post_id": 25707, "ts": "2026-07-10T04:18:52Z", "hours": 1.5833, "text": "It’s coming together, I have just added the button to control the light bar and printed the last elements to hold up the button from the inside. This was a little bit of a challenge working out how the button can be pressed down and click but not fall out or move except down. Well it worked out, now the next step is the alarm function."}, {"post_id": 23328, "ts": "2026-07-06T06:42:49Z", "hours": 1.3833, "text": "The rest of the components arrived (yay), so I got to work connecting the screen to the esp32 board and the LED light strip. It’s working surprisingly well, with the correct time displaying and the LED light turning on. I used Claude to write the code for the screen as I really only know the web languages (e.g. html, css and JS). With actually having the screen I was able to measure it and make some changes to my 3d model that I have just sent to my printer. Really excited to see how it comes out."}, {"post_id": 22552, "ts": "2026-07-05T02:22:09Z", "hours": 0.4833, "text": "Making changes to the box, I really wanted to add an image of the clock itself so I made this mockup. Let me know what you think."}, {"post_id": 21358, "ts": "2026-07-03T07:49:46Z", "hours": 1.415, "text": "The packaging is going well. I wanted to show that the clock has an RGB light. So I decided to add a rainbow of colour to the top left. I also added more details and icons to fill the space. It still needs a lot of work, but is coming together."}, {"post_id": 20646, "ts": "2026-07-02T09:17:17Z", "hours": 0.6, "text": "I’m still waiting on the parts for the clock, but in the meantime, I thought it would be a good idea to think about some packaging. I just love the idea of a retro box designed to fit the whole retro aesthetic of the clock itself. I made a start on the actual box and created a mood board. This is still a very early draft, but I think the key is in adding a lot of very small and fine details."}, {"post_id": 19893, "ts": "2026-07-01T10:04:27Z", "hours": 0.4167, "text": "Just a small update. I have modeled the backplate for the clock and finished preparing it for printing. Unfortunately, I now have to wait until the parts I need arrive so I can start the assembly (esp32 dev board and a e-ink screen). They should be here this week so fingers crossed I can actually see if this works."}, {"post_id": 19075, "ts": "2026-06-30T08:28:43Z", "hours": 1.0333, "text": "I’m making progress, and creating the extras for the clock. For example the panels below the buttons that will hold them up. I have a light bar at the front of the model and have been experimenting with different ways to attach it to the actual body, first I just thought glue. But I wanted to make it a little more secure so I added some overhangs that should help lock it in place. As you can see the icons for the buttons are also finished; a circle for the snooze button to represent a clock and three lines on the light button to represent rays of light."}, {"post_id": 18271, "ts": "2026-06-29T11:17:07Z", "hours": 0.5667, "text": "Started working on the clock buttons and refining the clock body."}, {"post_id": 17535, "ts": "2026-06-28T11:14:20Z", "hours": 0.5833, "text": "I really want to build a digital alarm clock with an e-ink display (like you would find in a Kindle). It is very much retro style as I think that would look really good. I have started to build a design in TinkerCad to 3d print. Here is just the first draft."}]...
|
Title: Digital E-ink Clock by @janosch | Stardance Title: Digital E-ink Clock by @janosch | Stardance
Devlogs:
I really want to build a digital alarm clock with an e-ink display (like you would find in a Kindle). It is very much retro style as I think that would look really good. I have started to build a design in TinkerCad to 3d print. Here is just the first draft.
Started working on the clock buttons and refining the clock body.
I’m making progress, and creating the extras for the clock. For example the panels below the buttons that will hold them up. I have a light bar at the front of the model and have been experimenting with different ways to attach it to the actual body, first I just thought glue. But I wanted to make it a little more secure so I added some overhangs that should help lock it in place. As you can see the icons for the buttons are also finished; a circle for the snooze button to represent a clock and three lines on the light button to represent rays of light.
Just a small update. I have modeled the backplate for the clock and finished preparing it for printing. Unfortunately, I now have to wait until the parts I need arrive so I can start the assembly (esp32 dev board and a e-ink screen). They should be here this week so fingers crossed I can actually see if this works.
I’m still waiting on the parts for the clock, but in the meantime, I thought it would be a good idea to think about some packaging. I just love the idea of a retro box designed to fit the whole retro aesthetic of the clock itself. I made a start on the actual box and created a mood board. This is still a very early draft, but I think the key is in adding a lot of very small and fine details.
The packaging is going well. I wanted to show that the clock has an RGB light. So I decided to add a rainbow of colour to the top left. I also added more details and icons to fill the space. It still needs a lot of work, but is coming together.
Making changes to the box, I really wanted to add an image of the clock itself so I made this mockup. Let me know what you think.
The rest of the components arrived (yay), so I got to work connecting the screen to the esp32 board and the LED light strip. It’s working surprisingly well, with the correct time displaying and the LED light turning on. I used Claude to write the code for the screen as I really only know the web languages (e.g. html, css and JS). With actually having the screen I was able to measure it and make some changes to my 3d model that I have just sent to my printer. Really excited to see how it comes out.
It’s coming together, I have just added the button to control the light bar and printed the last elements to hold up the button from the inside. This was a little bit of a challenge working out how the button can be pressed down and click but not fall out or move except down. Well it worked out, now the next step is the alarm function.
Finally have everything wired up and working. Well that is except the buttons, they just refuse to work as I want them to. But at least the alarm should be working and it is an alarm clock after all (just no way of stopping it right now). Will experiment more and see what I can do
I think this is it!! I have spent the last few hours connecting everything and organising it inside the housing. Additionally, finished up the code to set an alarm and replaced the quote with the weather forecast. A little less inspiring (especially with the next few days just raining) but more useful 🙃. It really has been an incredible project. It’s strange, before, I never really considered that building something like this was an option, if you know what I mean. Like just buying parts and fitting them together and it all working is really magical. For this final dev vlog, here is the final part list all together: ESP32 dev board RGB addressable light strip 3mm LED light in orange 3.7-inch e-ink display two buttons -one Potentiometer One passive buzzer -a lot of 3d printing filament (PLA and PETG transparent) usb cable It may sound quite annoying, but I am surprisingly glad of how often I failed (mind you, not at the time). I redesigned the outer body of the clock 3 times (plus printing it three times, don’t even want to know how much filament I used up), moved up from an Arduino Uno to an ESP32 as the Uno just didn’t have enough RAM, and redesigned how the buttons would work 4 times. At the time, this was very disheartening, but when I now look at my first draft and imagine this would be the final result, I’m so glad it isn’t.
Ships:
A retro-inspired desk clock. It’s strange, before, I never really considered that building something like this was an option, if you know what I mean. Like just buying parts and fitting them together and it all working is really magical. It may sound quite annoying, but I am surprisingly glad of how often I failed (mind you, not at the time). I redesigned the outer body of the clock 3 times (plus printing it three times, don’t even want to know how much filament I used up), moved up from an Arduino Uno to an ESP32 as the Uno just didn’t have enough RAM, and redesigned how the buttons would work 4 times. At the time, this was very disheartening, but when I now look at my first draft and imagine this would be the final result, I’m so glad it isn’t. Features E-paper display Current time Date 4-day weather forecast, fetched from Open-Meteo API. Shows day, max temperature, and condition Ambient LED strip, dark purple WS2812B LED strip for mood lighting - Light toggle button, turns the LED strip on or off Alarm system, set alarm hour via a potentiometer dial, small indicator LED shows when alarm is active Snooze/dismiss button, dismisses the alarm when ringing, or toggles AM/PM when setting the alarm WiFi time sync, time is fetched from an NTP server automatically...
|
1793271305.1062493
|
1793357705.1062493
|
|
27517
|
My very own WebOS by @Uxyamo | Stardance
|
Uxyamo
|
1
|
0.28
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-29T08:19:59Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made my Personal OS about Lamine Yamal, It’s my first time coding HTML, CSS, and Javascript and it was fun", "repo": "https://github.com/mbbs-iam/PersonalOS", "demo": "https://personalos-worldvup.netlify.app/"}]...
|
[{"post_id": 28844, "ts": "202 [{"post_id": 28844, "ts": "2026-07-15T11:33:05Z", "hours": 0.2783, "text": "I added an app that I use alldays in my phone, a tasks apps that help me to be productive. I love how it works, and I thought that it will be more difficult."}, {"post_id": 18195, "ts": "2026-06-29T08:15:28Z", "hours": 0.2544, "text": "I made my first Personal OS, there is some bugs but I’m happy about what I did"}]...
|
Title: My very own WebOS by @Uxyamo | Stardance
D Title: My very own WebOS by @Uxyamo | Stardance
Devlogs:
I made my first Personal OS, there is some bugs but I’m happy about what I did
I added an app that I use alldays in my phone, a tasks apps that help me to be productive. I love how it works, and I thought that it will be more difficult.
Ships:
I made my Personal OS about Lamine Yamal, It’s my first time coding HTML, CSS, and Javascript and it was fun...
|
1793318090.946882
|
1793404490.946882
|
|
27538
|
Welcome to The Pathways: The Game by @E_k | Starda Welcome to The Pathways: The Game by @E_k | Stardance...
|
E_k
|
1
|
59.85
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T21:17:02Z", "hours": 46.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What is this? I made an adventure game based on my story world of the pathways, a criminal civilization based in the outer edges of earths atmosphere where the rings of planets are joined together to form a system of paths. The premise In this game you can control Comet, the main character through these paths to uncover her story of how she ended up there even if she herself is not a criminal (This game is very heavily in development and is in no part finished, even the art is not final as path and assets are placeholders for now) Info I created this project in VSCode using the pygame library. I made the art of Comet in Ibis Paint X on Ipad as I will the other finished assets once the game is complete. This date will likely be after Stardance as I am planning this game to be a medium sized game with 3 different storylines to progress through. So far the basic structure of scene 1 is complete as well as very start of scene 2, it is a heavy work in progress however, as this ship is a precautionary ship so I have it shipped before Stardance ends. You can install the game using the .exe file from the itch.io link in the try project button and read the ReadMe file on my github repo in the source code folder", "repo": "https://github.com/Misted-River/Python", "demo": "https://ek-7.itch.io/welcome-to-the-pathways-the-game"}]...
|
[{"post_id": 83466, "ts": "202 [{"post_id": 83466, "ts": "2026-10-28T00:36:36Z", "hours": 1.7378, "text": "Devlog time, because I just realised there was something wrong with collision mech when two keys were pressed at same time! oopsies eheh- thats fixed now but yea I had to hardcore playtest it to make sure… Had to add in more conditional statements that still utilised my previous ones so thats all good yippee rejoice now hopefully my ship hadn’t been seen yet before this devlog if so please excuse that error! I updated the itch page too as I wrote this specific devlog so hopefully all is well ^^’ Video shows my fix in action, as even if i press two keys and the player collides with the path, the player doesnt get stuck yay"}, {"post_id": 82119, "ts": "2026-10-24T00:02:57Z", "hours": 1.9764, "text": "Fixed collision issues finally!! I realised that I had the players image and the different costumes of the animation not set to the same ratio so that was why… Had to fix other issues as well, such that the movement had been broken when the project was tried out by a shipwright so I set to work on that and found some issues from the last time I had attempted a fix, so I patched up those bugs, hopefully good to go to get some feedback from others playtesting if my ship goes according to plan! Thanks for reading yay :D Here’s a lil screenshot and video before I ship this project again"}, {"post_id": 79276, "ts": "2026-10-13T09:15:45Z", "hours": 10.1331, "text": "Update since the ship! I was given feedback that the movement mechanism was not working properly and had set off to fix that issue, which after a few weeks of procrastination I finally sat down to actually figure out what had been the issue. So instead of the path stopping at certain co-ordinates when the player travelled along it, I focused on using collisions to not restrict the players movement even if playing on a different screen size. I also removed shift from gameplay for now, may return to it eventually but decided that it was unnecessary for my game so far, this helped fix the collision bug at the start that the player would travel outside the path if wasd keys and shift were pressed. As I changed my approach multiple times, I finally settled on changing the path itself too, to implement the collision stopping the player from moving out of the path they were meant to travel on Thanks so much for letting me know of this issue shipwrights! Probably wont ship again just yet, as I want to do even a little bit more of the next part and finalise the first in terms of making it have a small indicator when objects are observed which is relatively easy to implement so I’ll leave that for later. Thanks for reading!"}, {"post_id": 66817, "ts": "2026-09-12T18:35:13Z", "hours": 8.2342, "text": "Work on scene 2 and Readme written in github! I had issues when I split the code into scene 1 and scene 2 as I still needed the same movement mech for scene 2 as well, but I managed to manage this split into working as I needed it to. I also am preparing for my first ship! This is because I am aware that Stardance is ending soon and so want to share what I have so far instead of waiting for a better time, this is the best I can get for now as this project will be long and will definitely be continued after Stardance is over as I begin college and have more time to myself to make this hopefully become a reality! Another feature is that the player must find all objects along the path in scene 1 in order to proceed to scene 2. Thanks so much for reading, this might be the last devlog before shipping but who knows, I could make changes anytime before the end of the challenge if I want to! This is just a precautionary ship just in case In the future I hope to include more gameplay (this right now is legit the intro to the game, along with some cutscenes ill draw for the very start) I have written notes in GitHub in Python-> Game Resources -> Notes -> Gameplay.txt if interested! Thanks so much for anyone following along with this project <3"}, {"post_id": 50921, "ts": "2026-08-20T12:03:05Z", "hours": 0.2761, "text": "Repost -> Video is missing from last devlog so Im uploading here again oof -> Figured I should post a devlog before I work on the code on my new device so here we go… So, I a couple of changes have happened to the game and I did attempt to try migrate to Godot however I have made too much progress on pygame so far and decided not to go ahead with it. Also player graphics are added now! The back legs in the animation ive been told, look a little stiff so I do aim to fix that later on once I make more progress on the actual gameplay of the game, but for now it should be ok hopefully lol. I also have been planning the actual gameplay style now by making little notes and have multiple routes planned for the player to take so that they will have a sense of agency in the game, that their choices matter so hopefully I can pull that off as I keep on working on the game yay. Not sure if I said anything in the last devlog but I added music too! Its a custom beepbox tune which I made before stardance so I will change bits to fit the vibe better later on as it isnt perfect right now yea, music not audible in video (tried fixing when I was recording the video but file type was not supported). Once I finish the start (scene1) I will probably ship, but I doubt I’ll finish this project before september, anyways thanks for reading :D"}, {"post_id": 50892, "ts": "2026-08-20T11:04:50Z", "hours": 3.5822, "text": "Figured I should post a devlog before I work on the code on my new device so here we go… So, I a couple of changes have happened to the game and I did attempt to try migrate to Godot however I have made too much progress on pygame so far and decided not to go ahead with it. Also player graphics are added now! The back legs in the animation ive been told, look a little stiff so I do aim to fix that later on once I make more progress on the actual gameplay of the game, but for now it should be ok hopefully lol. I also have been planning the actual gameplay style now by making little notes and have multiple routes planned for the player to take so that they will have a sense of agency in the game, that their choices matter so hopefully I can pull that off as I keep on working on the game yay. Not sure if I said anything in the last devlog but I added music too! Its a custom beepbox tune which I made before stardance so I will change bits to fit the vibe better later on as it isnt perfect right now yea. Once I finish the start (scene1) I will probably ship, but I doubt I’ll finish this project before September, anyways thanks for reading :D"}, {"post_id": 43891, "ts": "2026-08-09T10:36:34Z", "hours": 9.6606, "text": "Ok so quite a lot of changes made to the game so yay lets go :D Firstly… Added when shift pressed that the player moves faster and modified player speed for a better experience when playing. I achieved another goal of mine by making some items clickable in the game which then lead to a popup label coming onto the screen at the moise pointer position! This indeed took a while yea but I figured out the logic at some point by myself and with the help of some videos on collisions with masks (again lol because I had to make a workaround for the mouse pointer to be able to interact with these objects so yea image masks made an appearance yet again lmao) and I did initially have some trouble with how I could have the label appear whenever left click of a moiuse is pressed so that when player is pressing and holding that the label will be shown. Also im nearly completed scene 1! Im done with its code but I have yet to draw the art for it <3 and I did come across a small bug in the movement along the path so that the player can go back and forth with ease so I will have to fix that but for now I have other more important issues on my mind One of these is that I still need to fiigure out how scene 2 will go wheter there will be a cutscene or not and all that, but so far scene change works in the code so I am really happy about that and the progress :DD"}, {"post_id": 35774, "ts": "2026-07-27T12:38:55Z", "hours": 8.4728, "text": "Pixel perfect collision accomplished! For this I had to utilise image masks to ensure that only when the actual pixels of the player and the path border are touching, a reaction is triggered. When player is controlled by w,a,s,d keys the path border doesn’t allow the player to move off the path and acts as an obstacle which is exactly what I was hoping to achieve :D Now I need to refine this collision effect to include all combinations of w,a,s,d keys as right now, the collision effect is limited to either w or s and either a or d keys being pressed. (Video has a watermark oop, just realised that, anyways ignore that)"}, {"post_id": 26493, "ts": "2026-07-11T09:50:54Z", "hours": 8.5944, "text": "Working with masks to achieve pixel perfect collision between the path and the player so that player does not go over the edge oop- Since the last devlog I also found a way to reduce lag in the player movemnt so now the movement is completely smooth. this is completely new to me and I am still trying to figure this out so hopefully this issue will be fixed by the next devlog."}, {"post_id": 19964, "ts": "2026-07-01T12:58:49Z", "hours": 1.3281, "text": "Added some restrictions to avoid showing the edge of the main path in the first scene while the player is moving using wasd keys. Video attached shows player movement however it is shown to be slower than what it is when the program is run without the screen recorder."}, {"post_id": 19870, "ts": "2026-07-01T08:57:37Z", "hours": 4.9956, "text": "Placeholder images are still being used for the time being, until I draw them later on with more detail etc. but main player smooth movement is established. This marks the basis for the first main part of the game :D"}, {"post_id": 18364, "ts": "2026-06-29T14:24:17Z", "hours": 0.9494, "text": "Base code while learning the python library pygame. Layout is rough and placeholder images are used just to get an idea of how it works yay"}]...
|
Title: Welcome to The Pathways: The Game by @E_k | Title: Welcome to The Pathways: The Game by @E_k | Stardance
Devlogs:
Base code while learning the python library pygame. Layout is rough and placeholder images are used just to get an idea of how it works yay
Placeholder images are still being used for the time being, until I draw them later on with more detail etc. but main player smooth movement is established. This marks the basis for the first main part of the game :D
Added some restrictions to avoid showing the edge of the main path in the first scene while the player is moving using wasd keys. Video attached shows player movement however it is shown to be slower than what it is when the program is run without the screen recorder.
Working with masks to achieve pixel perfect collision between the path and the player so that player does not go over the edge oop- Since the last devlog I also found a way to reduce lag in the player movemnt so now the movement is completely smooth. this is completely new to me and I am still trying to figure this out so hopefully this issue will be fixed by the next devlog.
Pixel perfect collision accomplished! For this I had to utilise image masks to ensure that only when the actual pixels of the player and the path border are touching, a reaction is triggered. When player is controlled by w,a,s,d keys the path border doesn’t allow the player to move off the path and acts as an obstacle which is exactly what I was hoping to achieve :D Now I need to refine this collision effect to include all combinations of w,a,s,d keys as right now, the collision effect is limited to either w or s and either a or d keys being pressed. (Video has a watermark oop, just realised that, anyways ignore that)
Ok so quite a lot of changes made to the game so yay lets go :D Firstly… Added when shift pressed that the player moves faster and modified player speed for a better experience when playing. I achieved another goal of mine by making some items clickable in the game which then lead to a popup label coming onto the screen at the moise pointer position! This indeed took a while yea but I figured out the logic at some point by myself and with the help of some videos on collisions with masks (again lol because I had to make a workaround for the mouse pointer to be able to interact with these objects so yea image masks made an appearance yet again lmao) and I did initially have some trouble with how I could have the label appear whenever left click of a moiuse is pressed so that when player is pressing and holding that the label will be shown. Also im nearly completed scene 1! Im done with its code but I have yet to draw the art for it <3 and I did come across a small bug in the movement along the path so that the player can go back and forth with ease so I will have to fix that but for now I have other more important issues on my mind One of these is that I still need to fiigure out how scene 2 will go wheter there will be a cutscene or not and all that, but so far scene change works in the code so I am really happy about that and the progress :DD
Figured I should post a devlog before I work on the code on my new device so here we go… So, I a couple of changes have happened to the game and I did attempt to try migrate to Godot however I have made too much progress on pygame so far and decided not to go ahead with it. Also player graphics are added now! The back legs in the animation ive been told, look a little stiff so I do aim to fix that later on once I make more progress on the actual gameplay of the game, but for now it should be ok hopefully lol. I also have been planning the actual gameplay style now by making little notes and have multiple routes planned for the player to take so that they will have a sense of agency in the game, that their choices matter so hopefully I can pull that off as I keep on working on the game yay. Not sure if I said anything in the last devlog but I added music too! Its a custom beepbox tune which I made before stardance so I will change bits to fit the vibe better later on as it isnt perfect right now yea. Once I finish the start (scene1) I will probably ship, but I doubt I’ll finish this project before September, anyways thanks for reading :D
Repost -> Video is missing from last devlog so Im uploading here again oof -> Figured I should post a devlog before I work on the code on my new device so here we go… So, I a couple of changes have happened to the game and I did attempt to try migrate to Godot however I have made too much progress on pygame so far and decided not to go ahead with it. Also player graphics are added now! The back legs in the animation ive been told, look a little stiff so I do aim to fix that later on once I make more progress on the actual gameplay of the game, but for now it should be ok hopefully lol. I also have been planning the actual gameplay style now by making little notes and have multiple routes planned for the player to take so that they will have a sense of agency in the game, that their choices matter so hopefully I can pull that off as I keep on working on the game yay. Not sure if I said anything in the last devlog but I added music too! Its a custom beepbox tune which I made before stardance so I will change bits to fit the vibe better later on as it isnt perfect right now yea, music not audible in video (tried fixing when I was recording the video but file type was not supported). Once I finish the start (scene1) I will probably ship, but I doubt I’ll finish this project before september, anyways thanks for reading :D
Work on scene 2 and Readme written in github! I had issues when I split the code into scene 1 and scene 2 as I still needed the same movement mech for scene 2 as well, but I managed to manage this split into working as I needed it to. I also am preparing for my first ship! This is because I am aware that Stardance is ending soon and so want to share what I have so far instead of waiting for a better time, this is the best I can get for now as this project will be long and will definitely be continued after Stardance is over as I begin college and have more time to myself to make this hopefully become a reality! Another feature is that the player must find all objects along the path in scene 1 in order to proceed to scene 2. Thanks so much for reading, this might be the last devlog before shipping but who knows, I could make changes anytime before the end of the challenge if I want to! This is just a precautionary ship just in case In the future I hope to include more gameplay (this right now is legit the intro to the game, along with some cutscenes ill draw for the very start) I have written notes in GitHub in Python-> Game Resources -> Notes -> Gameplay.txt if interested! Thanks so much for anyone following along with this project <3
Update since the ship! I was given feedback that the movement mechanism was not working properly and had set off to fix that issue, which after a few weeks of procrastination I finally sat down to actually figure out what had been the issue. So instead of the path stopping at certain co-ordinates when the player travelled along it, I focused on using collisions to not restrict the players movement even if playing on a different screen size. I also removed shift from gameplay for now, may return to it eventually but decided that it was unnecessary for my game so far, this helped fix the collision bug at the start that the player would travel outside the path if wasd keys and shift were pressed. As I changed my approach multiple times, I finally settled on changing the path itself too, to implement the collision stopping the player from moving out of the path they were meant to travel on Thanks so much for letting me know of this issue shipwrights! Probably wont ship again just yet, as I want to do even a little bit more of the next part and finalise the first in terms of making it have a small indicator when objects are observed which is relatively easy to implement so I’ll leave that for later. Thanks for reading!
Fixed collision issues finally!! I realised that I had the players image and the different costumes of the animation not set to the same ratio so that was why… Had to fix other issues as well, such that the movement had been broken when the project was tried out by a shipwright so I set to work on that and found some issues from the last time I had attempted a fix, so I patched up those bugs, hopefully good to go to get some feedback from others playtesting if my ship goes according to plan! Thanks for reading yay :D Here’s a lil screenshot and video before I ship this project again
Devlog time, because I just realised there was something wrong with collision mech when two keys were pressed at same time! oopsies eheh- thats fixed now but yea I had to hardcore playtest it to make sure… Had to add in more conditional statements that still utilised my previous ones so thats all good yippee rejoice now hopefully my ship hadn’t been seen yet before this devlog if so please excuse that error! I updated the itch page too as I wrote this specific devlog so hopefully all is well ^^’ Video shows my fix in action, as even if i press two keys and the player collides with the path, the player doesnt get stuck yay
Ships:
What is this? I made an adventure game based on my story world of the pathways, a criminal civilization based in the outer edges of earths atmosphere where the rings of planets are joined together to form a system of paths. The premise In this game you can control Comet, the main character through these paths to uncover her story of how she ended up there even if she herself is not a criminal (This game is very heavily in development and is in no part finished, even the art is not final as path and assets are placeholders for now) Info I created this project in VSCode using the pygame library. I made the art of Comet in Ibis Paint X on Ipad as I will the other finished assets once the game is complete. This date will likely be after Stardance as I am planning this game to be a medium sized game with 3 different storylines to progress through. So far the basic structure of scene 1 is complete as well as very start of scene 2, it is a heavy work in progress however, as this ship is a precautionary ship so I have it shipped before Stardance ends. You can install the game using the .exe file from the itch.io link in the try project button and read the ReadMe file on my github repo in the source code folder...
|
1793155656.3958895
|
1793242056.3958895
|
|
27543
|
My first slack bot! by @Federico_Tarallo | Stardan My first slack bot! by @Federico_Tarallo | Stardance...
|
Federico_Tarallo
|
1
|
1.0
|
6
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-30T17:14:31Z", "hours": 1.0, "multiplier": 4.1, "payout": 6, "blessing": "neutral", "text": "My first Slack bot that actually stays alive 24/7! I built a Slack bot with Node.js and the Bolt framework that runs continuously on a Linux server, managed by systemd. It has four slash commands: /miobot-ping (checks the bot’s response time), /miobot-help (lists available commands), and a joke command that fetches a random joke from an external API and a cat fact command wich does pretty the same as the joke command but about cat facts. What was challenging: Getting the bot to survive on a real server was way harder than running it on my laptop. I dealt with a systemd config that pointed to the wrong folder, an expired Slack token causing invalid_auth errors, and a slash command that silently failed because the name registered on Slack’s dashboard didn’t match the one in my code. Lots of late-night log reading with journalctl! What I’m proud of: The bot now restarts itself automatically if it ever crashes, and stays online even when my laptop is off. It genuinely feels like running real infrastructure, not just a script. To test it: Type /miobot-help in Slack to see all commands, then try /miobot-ping to see it respond instantly with the bot’s latency! The screenshot shows how it funcions on mobile while computer is turned off.", "repo": "https://github.com/Federico19-1/miobot_project", "demo": "https://hackclub.enterprise.slack.com/archives/C0BF8EB5JBA"}]...
|
[{"post_id": 19348, "ts": "202 [{"post_id": 19348, "ts": "2026-06-30T16:59:44Z", "hours": 0.2967, "text": "Spent way too long debugging why /miobot-latency wasn’t responding… only to realize the Slash Command registered on Slack’s dashboard had a completely different name than the one in my code. Two typos, zero communication, one very confused bot. 🤦 Classic case of “it’s not a bug, it’s a naming mismatch.” Fixed it, restarted the service, and now the bot replies instantly with the latency. Lesson learned: always double-check that your Slack command name matches exactly — Slack doesn’t do fuzzy matching! But in my defense regarding my mistake, I wanted to quote Shakespeare"}, {"post_id": 19191, "ts": "2026-06-30T13:37:47Z", "hours": 1.135, "text": "Today I finally got my Slack bot running 24/7 on a real Linux server — and it was NOT easy.The goal was simple: deploy my Node.js Slack bot on Hack Club’s Nest server using systemd so it stays alive forever, even when my laptop is off. What followed was a 2-hour debugging marathon.Everything that went wrong (and why):Pasted the systemd config file in nano and accidentally cut the first line [Unit] — Linux silently rejected the whole fileGot stuck in the systemd pager (those mysterious : symbols) and didn’t know to press q to exit — my next command turned into qsudo 😅VS Code focus switched back to my local Windows terminal without me noticing — suddenly sudo and nano didn’t exist because I was on PowerShellThe project folder was at /root/miobot_project but the service file pointed to /home/federico/miobot_project — which doesn’t existThe .env file had the tokens but the SLACK_APP_TOKEN was expired and giving invalid_authWhat I learned: Linux doesn’t hold your hand. Every error message means something specific. journalctl -u slackbot.service -n 30 became my best friend for reading crash logs.Final result: Active: active (running) 🟢 The bot is live, systemd restarts it automatically if it ever crashes, and it will survive server reboots. First project shipped on real infrastructure!"}]...
|
Title: My first slack bot! by @Federico_Tarallo | Title: My first slack bot! by @Federico_Tarallo | Stardance
Devlogs:
Today I finally got my Slack bot running 24/7 on a real Linux server — and it was NOT easy.The goal was simple: deploy my Node.js Slack bot on Hack Club’s Nest server using systemd so it stays alive forever, even when my laptop is off. What followed was a 2-hour debugging marathon.Everything that went wrong (and why):Pasted the systemd config file in nano and accidentally cut the first line [Unit] — Linux silently rejected the whole fileGot stuck in the systemd pager (those mysterious : symbols) and didn’t know to press q to exit — my next command turned into qsudo 😅VS Code focus switched back to my local Windows terminal without me noticing — suddenly sudo and nano didn’t exist because I was on PowerShellThe project folder was at /root/miobot_project but the service file pointed to /home/federico/miobot_project — which doesn’t existThe .env file had the tokens but the SLACK_APP_TOKEN was expired and giving invalid_authWhat I learned: Linux doesn’t hold your hand. Every error message means something specific. journalctl -u slackbot.service -n 30 became my best friend for reading crash logs.Final result: Active: active (running) 🟢 The bot is live, systemd restarts it automatically if it ever crashes, and it will survive server reboots. First project shipped on real infrastructure!
Spent way too long debugging why /miobot-latency wasn’t responding… only to realize the Slash Command registered on Slack’s dashboard had a completely different name than the one in my code. Two typos, zero communication, one very confused bot. 🤦 Classic case of “it’s not a bug, it’s a naming mismatch.” Fixed it, restarted the service, and now the bot replies instantly with the latency. Lesson learned: always double-check that your Slack command name matches exactly — Slack doesn’t do fuzzy matching! But in my defense regarding my mistake, I wanted to quote Shakespeare
Ships:
My first Slack bot that actually stays alive 24/7! I built a Slack bot with Node.js and the Bolt framework that runs continuously on a Linux server, managed by systemd. It has four slash commands: /miobot-ping (checks the bot’s response time), /miobot-help (lists available commands), and a joke command that fetches a random joke from an external API and a cat fact command wich does pretty the same as the joke command but about cat facts. What was challenging: Getting the bot to survive on a real server was way harder than running it on my laptop. I dealt with a systemd config that pointed to the wrong folder, an expired Slack token causing invalid_auth errors, and a slash command that silently failed because the name registered on Slack’s dashboard didn’t match the one in my code. Lots of late-night log reading with journalctl! What I’m proud of: The bot now restarts itself automatically if it ever crashes, and stays online even when my laptop is off. It genuinely feels like running real infrastructure, not just a script. To test it: Type /miobot-help in Slack to see all commands, then try /miobot-ping to see it respond instantly with the bot’s latency! The screenshot shows how it funcions on mobile while computer is turned off....
|
1793321766.0389411
|
1793408166.0389411
|
|
27556
|
Skysync by @bartoszkasyna | Stardance
|
bartoszkasyna
|
1
|
96.0
|
880
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-11T20:21:44Z", "hours": 96.0, "multiplier": 18.26, "payout": 880, "blessing": "neutral", "text": "Privacy-first encrypted cloud storage for securely uploading, organizing, previewing, and sharing files. Built with React, TypeScript, and Rust. Desktop view recommended :)", "repo": "https://github.com/B4rtekk1/SkysyncR", "demo": "https://skysync.dev"}]...
|
[{"post_id": 40286, "ts": "202 [{"post_id": 40286, "ts": "2026-08-03T18:30:52Z", "hours": 2.0733, "text": "Updated mobile UI. cant update demo link so here: https://skysync.dev"}, {"post_id": 39470, "ts": "2026-08-02T13:15:45Z", "hours": 5.5069, "text": "Made skysync work with custom domain and SSL certificate. Updated security and UI a little. Updated docker files. Now ready to ship!"}, {"post_id": 38963, "ts": "2026-08-01T16:13:13Z", "hours": 3.6919, "text": "Added Recent and important page. Added folder soft deletion. Added ransomware detector(I hope). Added word files preview. Added sounds files preview."}, {"post_id": 38423, "ts": "2026-07-31T19:44:14Z", "hours": 5.8661, "text": "I didnt focus on UI as I said in previous devlog, I decided to add all functionalities first and then adjust UI. So I improved security page. I also updated backend to be more secure. Two or three devlogs more and I finish functionalities, then i am going on one week holiday. I’m targeting at 15-18 August to deploy"}, {"post_id": 37863, "ts": "2026-07-30T20:46:10Z", "hours": 6.7542, "text": "Improved main page UI. Added security page. Added limits while creating ZIP. Updated settings page. Fixed UI bugs.Now I will focus on mobile view"}, {"post_id": 37213, "ts": "2026-07-29T19:17:10Z", "hours": 5.9672, "text": "Updated dashboard UI a little. Updated settings page. Added download checksum, session managment resumable file upload. Added Typescript syntax. Added c/c++/cuda hihjlighter and syntax."}, {"post_id": 35937, "ts": "2026-07-27T18:20:32Z", "hours": 4.0675, "text": "Successfully dockerized whole aplication"}, {"post_id": 33039, "ts": "2026-07-22T16:26:58Z", "hours": 5.0569, "text": "Updated typescript highlighter. Added better files mobility - folder tree view. Drag & drop files into folders. Pausable/Resumable file upload."}, {"post_id": 32418, "ts": "2026-07-21T16:22:56Z", "hours": 4.7278, "text": "Added typescript highlight support. Now insted of loading placeholder images are blured. Improved UI/UX. Updated mobile support. Fixed bug and vulnelabirity"}, {"post_id": 30875, "ts": "2026-07-18T20:36:51Z", "hours": 4.3769, "text": "Added python highlighter with keyword and variables syntax suggestion. Added more tests."}, {"post_id": 30346, "ts": "2026-07-17T20:23:02Z", "hours": 5.5833, "text": "Added custom nof found page. Updated security settings. Added tests. Added OpenAPI specs."}, {"post_id": 29144, "ts": "2026-07-15T20:33:40Z", "hours": 2.5011, "text": "Added create file modal with extension based editor. Added backend support for some features. Added calendar."}, {"post_id": 28969, "ts": "2026-07-15T16:19:07Z", "hours": 2.3747, "text": "Added link expiration date, added file download limit. Added folder description. Improved user privacy"}, {"post_id": 28784, "ts": "2026-07-15T09:02:28Z", "hours": 2.2144, "text": "Added file deletion with retention. Updated security and privacy"}, {"post_id": 28375, "ts": "2026-07-14T16:27:05Z", "hours": 3.1672, "text": "Added custom PDF preview with basic function - in file search. Next pdf features in next update"}, {"post_id": 27858, "ts": "2026-07-13T19:12:01Z", "hours": 0.4897, "text": "Added notes attached to files"}, {"post_id": 27819, "ts": "2026-07-13T18:20:22Z", "hours": 2.3033, "text": "Added custom video preview with prebked volume chart. Added info card in file tile."}, {"post_id": 27556, "ts": "2026-07-13T07:42:50Z", "hours": 1.9786, "text": "Added Sort and filter options. IMproved text files preview. Added missing animations."}, {"post_id": 27236, "ts": "2026-07-12T16:56:22Z", "hours": 1.3906, "text": "Added sharing file feature with custom qr code."}, {"post_id": 27191, "ts": "2026-07-12T15:04:17Z", "hours": 2.4408, "text": "Added markdown editing with live preview, added text files edit. Added photos preview, Updated CORS."}, {"post_id": 26818, "ts": "2026-07-11T20:35:00Z", "hours": 2.075, "text": "Added settings page. added photos preview. Fixed depracted features from react. Deleted duplicated lines of code"}, {"post_id": 26691, "ts": "2026-07-11T17:01:30Z", "hours": 4.1953, "text": "Enhanced visuals. Added more animations. Added Groups pagenot yet finished). Added file type icons, memory usgae by file types. Added files upload."}, {"post_id": 25198, "ts": "2026-07-09T08:46:30Z", "hours": 1.0972, "text": "Added favourites tile in nav. Tiles are now draggable."}, {"post_id": 22905, "ts": "2026-07-05T15:26:37Z", "hours": 4.0747, "text": "Added main page placeholder. Security update - resistant to most attacks"}, {"post_id": 20170, "ts": "2026-07-01T18:33:23Z", "hours": 5.2494, "text": "Enhanced signing up and loging in flow. Added verification link sent via email. Added utils files. Added config files. Better files organization."}, {"post_id": 17525, "ts": "2026-06-28T10:44:57Z", "hours": 7.0594, "text": "I added simple welcome page and some rust backend"}]...
|
Title: Skysync by @bartoszkasyna | Stardance
Devl Title: Skysync by @bartoszkasyna | Stardance
Devlogs:
I added simple welcome page and some rust backend
Enhanced signing up and loging in flow. Added verification link sent via email. Added utils files. Added config files. Better files organization.
Added main page placeholder. Security update - resistant to most attacks
Added favourites tile in nav. Tiles are now draggable.
Enhanced visuals. Added more animations. Added Groups pagenot yet finished). Added file type icons, memory usgae by file types. Added files upload.
Added settings page. added photos preview. Fixed depracted features from react. Deleted duplicated lines of code
Added markdown editing with live preview, added text files edit. Added photos preview, Updated CORS.
Added sharing file feature with custom qr code.
Added Sort and filter options. IMproved text files preview. Added missing animations.
Added custom video preview with prebked volume chart. Added info card in file tile.
Added notes attached to files
Added custom PDF preview with basic function - in file search. Next pdf features in next update
Added file deletion with retention. Updated security and privacy
Added link expiration date, added file download limit. Added folder description. Improved user privacy
Added create file modal with extension based editor. Added backend support for some features. Added calendar.
Added custom nof found page. Updated security settings. Added tests. Added OpenAPI specs.
Added python highlighter with keyword and variables syntax suggestion. Added more tests.
Added typescript highlight support. Now insted of loading placeholder images are blured. Improved UI/UX. Updated mobile support. Fixed bug and vulnelabirity
Updated typescript highlighter. Added better files mobility - folder tree view. Drag & drop files into folders. Pausable/Resumable file upload.
Successfully dockerized whole aplication
Updated dashboard UI a little. Updated settings page. Added download checksum, session managment resumable file upload. Added Typescript syntax. Added c/c++/cuda hihjlighter and syntax.
Improved main page UI. Added security page. Added limits while creating ZIP. Updated settings page. Fixed UI bugs.Now I will focus on mobile view
I didnt focus on UI as I said in previous devlog, I decided to add all functionalities first and then adjust UI. So I improved security page. I also updated backend to be more secure. Two or three devlogs more and I finish functionalities, then i am going on one week holiday. I’m targeting at 15-18 August to deploy
Added Recent and important page. Added folder soft deletion. Added ransomware detector(I hope). Added word files preview. Added sounds files preview.
Made skysync work with custom domain and SSL certificate. Updated security and UI a little. Updated docker files. Now ready to ship!
Updated mobile UI. cant update demo link so here: https://skysync.dev
Ships:
Privacy-first encrypted cloud storage for securely uploading, organizing, previewing, and sharing files. Built with React, TypeScript, and Rust. Desktop view recommended :)...
|
1793224396.3082833
|
1793310796.3082833
|