|
45532
|
Colloseum of the Damned by @anton_chernobaiev | St Colloseum of the Damned by @anton_chernobaiev | Stardance...
|
anton_chernobaiev
|
1
|
25.45
|
140
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-14T17:27:13Z", "hours": 21.0, "multiplier": 6.99, "payout": 140, "blessing": "neutral", "text": "I created a top-down arena style game where you will have to fight infinite number of waves of enemies", "repo": "https://github.com/antonchernobaiev/ColloseumOfTheDamned", "demo": "https://colloseumofthedamned.netlify.app/"}]...
|
[{"post_id": 52280, "ts": "202 [{"post_id": 52280, "ts": "2026-08-22T12:00:56Z", "hours": 4.4539, "text": "Devlog #4 -I deceided to add few new animation(animation of getting hit and death animation -I also made knockback more predictable"}, {"post_id": 46588, "ts": "2026-08-13T22:33:02Z", "hours": 10.6144, "text": "#devlog 2 I decided to make my game into a colloseum style game where every wave more skeletons spawn and you have to kill them. I finished my first version!!!!! From last devlog I added: -An arena -An Hp Bar -Ability to restore your hp -A main menu And a lot more"}, {"post_id": 44814, "ts": "2026-08-10T20:47:14Z", "hours": 10.5761, "text": "#1 devlog Working on a top-down rpg game. Gameplay is to kill skeletons, from them receive xp upgrade your character and progress through areas. Until this point: -I added the main character, he can run, attack, and has animation’s for idle, run and attack -Also added the basic enemy(A skeleton) if i enter his range he will start to track me and when he is close enough i can kill him. -When my player hits the enemy. enemy is pushed back and receives damage. when his hp equals zero he dies. -player is invincible for now planning to adding it next"}]...
|
Title: Colloseum of the Damned by @anton_chernobai Title: Colloseum of the Damned by @anton_chernobaiev | Stardance
Devlogs:
#1 devlog Working on a top-down rpg game. Gameplay is to kill skeletons, from them receive xp upgrade your character and progress through areas. Until this point: -I added the main character, he can run, attack, and has animation’s for idle, run and attack -Also added the basic enemy(A skeleton) if i enter his range he will start to track me and when he is close enough i can kill him. -When my player hits the enemy. enemy is pushed back and receives damage. when his hp equals zero he dies. -player is invincible for now planning to adding it next
#devlog 2 I decided to make my game into a colloseum style game where every wave more skeletons spawn and you have to kill them. I finished my first version!!!!! From last devlog I added: -An arena -An Hp Bar -Ability to restore your hp -A main menu And a lot more
Devlog #4 -I deceided to add few new animation(animation of getting hit and death animation -I also made knockback more predictable
Ships:
I created a top-down arena style game where you will have to fight infinite number of waves of enemies...
|
1792997625.1202059
|
1793084025.1202059
|
|
61163
|
book helper by @marygoat | Stardance
|
marygoat
|
2
|
11.0
|
140
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-09T01:33:01Z", "hours": 5.0, "multiplier": 10.95, "payout": 71, "blessing": "neutral", "text": "Book Helper A pixel-styled site to help you focus on your reading! Description Book Helper is a site made to help you have a consistent reading schedule. By putting on a timer, you are more likely to push through and read at least a little for the day, growing your mind. I personally struggle a lot with reading, so I thought making a site for it would help me and others have a proper reading schedule! Features: Adjustable timer Ambient noise Rain White noise Leveling up system Site theme customization Trophies Stats Booklist Quotes Spotify playlist Technicalities This site saves your storage through localStorage, so that you can maintain a streak and maintain your progress as you read. Mask-image was used in order to change the mascot’s color with the theme, which was a bit tricky to understand at first. The trophy system checks after a session if you have earned an achievement or not, looking at streak length, total hours read, and total sessions completed. The theme system is updated through javascript by changing the value of the color variables when the user changes themes. Challenges It was a struggle to get the modals / window pop ups working how I wanted them to work, since connecting it to a button and making some sort of overlay was difficult to me. I only ever did some sort of window pop-up once, and that took me a really long time to understand. Eventually, I understood that toggling a class on and off with a click detector is how it could be made. AI Usage I used Claude in order to help me debug minor bugs in my code, as well as figure out how to make the themes and mascot change colors depending on the theme.", "repo": "https://github.com/awesomesauce4646/book-helper", "demo": "https://awesomesauce4646.github.io/book-helper/"}, {"ship_num": 2, "ts": "2026-09-17T01:35:37Z", "hours": 6.0, "multiplier": 12.36, "payout": 69, "blessing": "neutral", "text": "Book Helper A pixel-styled site to help you focus on your reading! 3 QoL improvements: Timer: Helps create a habit of reading. Ambient Noise: Prevents distractions to help with focused reading. Trophy system: Motivates readers to keep reading in order to collect achievements. Description Book Helper is a site made to help you have a consistent reading schedule. By putting on a timer, you are more likely to push through and read at least a little for the day, growing your mind. I personally struggle a lot with reading, so I thought making a site for it would help me and others have a proper reading schedule! Features Adjustable timer Ambient noise Rain White noise Leveling up system Site theme customization Trophies Stats Technicalities This site saves your storage through localStorage, so that you can maintain a streak and maintain your progress as you read. Mask-image was used in order to change the mascot’s color with the theme, which was a bit tricky to understand at first. The trophy system checks after a session if you have earned an achievement or not, looking at streak length, total hours read, and total sessions completed. The white noise is procedurally computer generated, with the Web Audio API. The theme system is updated through javascript by changing the value of the color variables when the user changes themes. Challenges It was a struggle to get the modals / window pop ups working how I wanted them to work, since connecting it to a button and making some sort of overlay was difficult to me. I only ever did some sort of window pop-up once, and that took me a really long time to understand. Eventually, I understood that toggling a class on and off with a click detector is how it could be made. Why was this made? This was made for the Stardance Hack Club program, for the Frictionless mission. AI Usage I used Claude in order to help me debug minor bugs in my code, as well as figure out how to make the themes and mascot change colors depending on the theme. The white noise was helped by Claude too, since I didn’t understand API’s all that well.", "repo": "https://github.com/awesomesauce4646/book-helper", "demo": "https://awesomesauce4646.github.io/book-helper/"}]...
|
[{"post_id": 77966, "ts": "202 [{"post_id": 77966, "ts": "2026-10-09T01:31:15Z", "hours": 0.4797, "text": "Book Helper DEVLOG: #8 booklist update . . ship?! alright, this was a quick devlog! i have made my book list better, rather than just being a text book. update includes: Checklist system, add book titles of your own Notes for personal use Counter of how many books are listed and how many are read i wanted to do some sort of like search for a book thing like an api? but that seemed too complicated for me so i just opted for a simple checklist system."}, {"post_id": 77681, "ts": "2026-10-07T20:50:00Z", "hours": 1.1928, "text": "Book Helper DEVLOG: #7 spotify + quotes! i have added TWO! features: Spotify: a reading playlist for more variety in sound so that its not just white noise and rain Quotes: a little tab to give a random motivational quote(BY ME!) when you log in. tuff right? then i changed a feature: Timer Change: some people didnt know that settings would allow you to change the timer time, so i have placed the input into the timer box itself and put a button next to it saying “Change Time” so that its more obvious and less tedious to open up settings for it. and since i made that change, i also REMOVED! one feature… Settings button: i DELETED it since the only thing in settings was the timer changer, which was relocated as stated earlier. i was struggling to figure out what i should add to improve this site, but looking back on feedback, people talked about added more ambience noises, so why not a full playlist? i also added quotes because i had learned how to do randomized quotes from the snowglobe program with the little motivational snowglove site, so i reused my code! i also added back the pixelated font, cause i think it makes more sense. i want to change the corners to look more pixelated too, but i want to do it in an unique way and not in a boring, “ai looking” way."}, {"post_id": 73461, "ts": "2026-09-25T04:19:12Z", "hours": 2.0794, "text": "Book Helper DEVLOG: #7 change up ui + booklist?! alright! so, i have changed up the ui to make it less ai looking? reverted to original font borders now round at 20px i have also added a new modal / window, a booklist! Booklist the booklist is a simple notepad where the user can write down anything, but the intention is to write down book titles or information about the books theyve read! i used my old maryOS code that had a notepad to help me figure out how to make it so that the text saves. it was a bit funky implementing that code into this new project due to having to rename ids and variables having to match, but i managed to figure it out! i also removed unnecessary code that ai gave me such as escape key to leave the modal, since theres already a close button on it."}, {"post_id": 69738, "ts": "2026-09-17T18:04:14Z", "hours": 1.5917, "text": "Book Helper DEVLOG: #6 rewriting code! alrighty, i have rewritten parts of my code since i got feedback of it being over the 30% ai threshold. one of the things i rewrote was the white noise generator, since that used web api and i didn’t really understand it. i decided to just add a mp3 of white noise and use the same function for the rain noise that also used mp3. i also took away some fallback stuff and extreme security stuff since a simple book project like this does NOT need stuff like that, but it was nice to learn ways of fallback if i ever needed it! i have also changed the badge icons with… very rough drawings of mine, but atleast it aint emojis!"}, {"post_id": 69432, "ts": "2026-09-17T01:29:46Z", "hours": 0.6611, "text": "Book Helper DEVLOG: #5 worm mascot… ship?! i have added a little worm mascot guy! with some research and ai debugging, i managed to create a mascot that changes colors based off the theme. it was a bit weird learning it, but i understood it eventually, since it basically only puts an overlay on the image. i think it adds a nice little touch! i have also made my readme, talking about all the features such as the timer, stats, and why the site was made. im ready to ship!"}, {"post_id": 69389, "ts": "2026-09-16T23:20:45Z", "hours": 1.5239, "text": "Book Helper DEVLOG: #4 tested site, pixelated it! i have tested the website, and it WORKS?! i had to tweak some things like making each theme look a bit nicer and configure colors, but it works! Levels actually unlock new themes Trophies are awarded when the right requirements are met In settings, you can properly change the timer time im pretty happy with how this is turning out, but now im not sure what to do. i had mentioned of adding some sort of shop and book list, but i dont plan on implementing them right now. i think i will make my own assets for the trophies instead of just using emojis, either that or find a free use image online. maybe ill even add a lil mascot guy to this???"}, {"post_id": 68456, "ts": "2026-09-15T04:35:10Z", "hours": 1.3239, "text": "Book Helper DEVLOG: #3 new tabs + stylization alrighty, i have made the site a bit more colorful and changed the formatting so that its more centered on the page. i have added features like: Trophies Customization Settings i asked ai to help me connect the buttons to actually opening up a window thingy, since i was struggling with it for a long time. the javascript was also a bit hard with all of the localstorage and badge system, but with searching and debugging i think it works?? i haven’t tested it yet so who knows… i do know that streaks work though! at least some what"}, {"post_id": 66944, "ts": "2026-09-12T22:23:52Z", "hours": 1.2039, "text": "Book Helper DEVLOG: #2 more apps! coolio, i have added TWO!! window thingies stats ambient noises i had a REALLY long rain file… like . . . 120 mb. not good. i am currently trimming it down cause it was an hour long and it’ll be compressed too. i tried doing some javascript for the stats, with some help of ai, but i havent gotten to testing it yet. hopefully it works ! it was a struggle formatting it, and also programming the buttons so that theyd play the right audio and would change text and all that fun stuff. regardless of all that, i think its coming along nicely :)"}, {"post_id": 66791, "ts": "2026-09-12T17:52:41Z", "hours": 0.8922, "text": "Book Helper DEVLOG: #1 starting the site! i have created a website to help people stay engaged on reading, since I struggle a lot with reading myself! I want to make this into some sort of like gamefied website, but so far I just put a 15-minute timer. im planning on adding features like: Shop for customization Booklist Streaks i hope this will turn out well, since thatd be pretty cool! it was a bit difficult knowing how i wanted the website to look like, but for now i made it a simple blue scheme. might make it a pixelated sort of style? dunno yet!"}]...
|
Title: book helper by @marygoat | Stardance
Devlo Title: book helper by @marygoat | Stardance
Devlogs:
Book Helper DEVLOG: #1 starting the site! i have created a website to help people stay engaged on reading, since I struggle a lot with reading myself! I want to make this into some sort of like gamefied website, but so far I just put a 15-minute timer. im planning on adding features like: Shop for customization Booklist Streaks i hope this will turn out well, since thatd be pretty cool! it was a bit difficult knowing how i wanted the website to look like, but for now i made it a simple blue scheme. might make it a pixelated sort of style? dunno yet!
Book Helper DEVLOG: #2 more apps! coolio, i have added TWO!! window thingies stats ambient noises i had a REALLY long rain file… like . . . 120 mb. not good. i am currently trimming it down cause it was an hour long and it’ll be compressed too. i tried doing some javascript for the stats, with some help of ai, but i havent gotten to testing it yet. hopefully it works ! it was a struggle formatting it, and also programming the buttons so that theyd play the right audio and would change text and all that fun stuff. regardless of all that, i think its coming along nicely :)
Book Helper DEVLOG: #3 new tabs + stylization alrighty, i have made the site a bit more colorful and changed the formatting so that its more centered on the page. i have added features like: Trophies Customization Settings i asked ai to help me connect the buttons to actually opening up a window thingy, since i was struggling with it for a long time. the javascript was also a bit hard with all of the localstorage and badge system, but with searching and debugging i think it works?? i haven’t tested it yet so who knows… i do know that streaks work though! at least some what
Book Helper DEVLOG: #4 tested site, pixelated it! i have tested the website, and it WORKS?! i had to tweak some things like making each theme look a bit nicer and configure colors, but it works! Levels actually unlock new themes Trophies are awarded when the right requirements are met In settings, you can properly change the timer time im pretty happy with how this is turning out, but now im not sure what to do. i had mentioned of adding some sort of shop and book list, but i dont plan on implementing them right now. i think i will make my own assets for the trophies instead of just using emojis, either that or find a free use image online. maybe ill even add a lil mascot guy to this???
Book Helper DEVLOG: #5 worm mascot… ship?! i have added a little worm mascot guy! with some research and ai debugging, i managed to create a mascot that changes colors based off the theme. it was a bit weird learning it, but i understood it eventually, since it basically only puts an overlay on the image. i think it adds a nice little touch! i have also made my readme, talking about all the features such as the timer, stats, and why the site was made. im ready to ship!
Book Helper DEVLOG: #6 rewriting code! alrighty, i have rewritten parts of my code since i got feedback of it being over the 30% ai threshold. one of the things i rewrote was the white noise generator, since that used web api and i didn’t really understand it. i decided to just add a mp3 of white noise and use the same function for the rain noise that also used mp3. i also took away some fallback stuff and extreme security stuff since a simple book project like this does NOT need stuff like that, but it was nice to learn ways of fallback if i ever needed it! i have also changed the badge icons with… very rough drawings of mine, but atleast it aint emojis!
Book Helper DEVLOG: #7 change up ui + booklist?! alright! so, i have changed up the ui to make it less ai looking? reverted to original font borders now round at 20px i have also added a new modal / window, a booklist! Booklist the booklist is a simple notepad where the user can write down anything, but the intention is to write down book titles or information about the books theyve read! i used my old maryOS code that had a notepad to help me figure out how to make it so that the text saves. it was a bit funky implementing that code into this new project due to having to rename ids and variables having to match, but i managed to figure it out! i also removed unnecessary code that ai gave me such as escape key to leave the modal, since theres already a close button on it.
Book Helper DEVLOG: #7 spotify + quotes! i have added TWO! features: Spotify: a reading playlist for more variety in sound so that its not just white noise and rain Quotes: a little tab to give a random motivational quote(BY ME!) when you log in. tuff right? then i changed a feature: Timer Change: some people didnt know that settings would allow you to change the timer time, so i have placed the input into the timer box itself and put a button next to it saying “Change Time” so that its more obvious and less tedious to open up settings for it. and since i made that change, i also REMOVED! one feature… Settings button: i DELETED it since the only thing in settings was the timer changer, which was relocated as stated earlier. i was struggling to figure out what i should add to improve this site, but looking back on feedback, people talked about added more ambience noises, so why not a full playlist? i also added quotes because i had learned how to do randomized quotes from the snowglobe program with the little motivational snowglove site, so i reused my code! i also added back the pixelated font, cause i think it makes more sense. i want to change the corners to look more pixelated too, but i want to do it in an unique way and not in a boring, “ai looking” way.
Book Helper DEVLOG: #8 booklist update . . ship?! alright, this was a quick devlog! i have made my book list better, rather than just being a text book. update includes: Checklist system, add book titles of your own Notes for personal use Counter of how many books are listed and how many are read i wanted to do some sort of like search for a book thing like an api? but that seemed too complicated for me so i just opted for a simple checklist system.
Ships:
Book Helper A pixel-styled site to help you focus on your reading! 3 QoL improvements: Timer: Helps create a habit of reading. Ambient Noise: Prevents distractions to help with focused reading. Trophy system: Motivates readers to keep reading in order to collect achievements. Description Book Helper is a site made to help you have a consistent reading schedule. By putting on a timer, you are more likely to push through and read at least a little for the day, growing your mind. I personally struggle a lot with reading, so I thought making a site for it would help me and others have a proper reading schedule! Features Adjustable timer Ambient noise Rain White noise Leveling up system Site theme customization Trophies Stats Technicalities This site saves your storage through localStorage, so that you can maintain a streak and maintain your progress as you read. Mask-image was used in order to change the mascot’s color with the theme, which was a bit tricky to understand at first. The trophy system checks after a session if you have earned an achievement or not, looking at streak length, total hours read, and total sessions completed. The white noise is procedurally computer generated, with the Web Audio API. The theme system is updated through javascript by changing the value of the color variables when the user changes themes. Challenges It was a struggle to get the modals / window pop ups working how I wanted them to work, since connecting it to a button and making some sort of overlay was difficult to me. I only ever did some sort of window pop-up once, and that took me a really long time to understand. Eventually, I understood that toggling a class on and off with a click detector is how it could be made. Why was this made? This was made for the Stardance Hack Club program, for the Frictionless mission. AI Usage I used Claude in order to help me debug minor bugs in my code, as well as figure out how to make the themes and mascot change colors depending on the theme. The white noise was helped by Claude too, since I didn’t understand API’s all that well.
Book Helper A pixel-styled site to help you focus on your reading! Description Book Helper is a site made to help you have a consistent reading schedule. By putting on a timer, you are more likely to push through and read at least a little for the day, growing your mind. I personally struggle a lot with reading, so I thought making a site for it would help me and others have a proper reading schedule! Features: Adjustable timer Ambient noise Rain White noise Leveling up system Site theme customization Trophies Stats Booklist Quotes Spotify playlist Technicalities This site saves your storage through localStorage, so that you can maintain a streak and maintain your progress as you read. Mask-image was used in order to change the mascot’s color with the theme, which was a bit tricky to understand at first. The trophy system checks after a session if you have earned an achievement or not, looking at streak length, total hours read, and total sessions completed. The theme system is updated through javascript by changing the value of the color variables when the user changes themes. Challenges It was a struggle to get the modals / window pop ups working how I wanted them to work, since connecting it to a button and making some sort of overlay was difficult to me. I only ever did some sort of window pop-up once, and that took me a really long time to understand. Eventually, I understood that toggling a class on and off with a click detector is how it could be made. AI Usage I used Claude in order to help me debug minor bugs in my code, as well as figure out how to make the themes and mascot change colors depending on the theme....
|
1793055304.5654655
|
1793141704.5654655
|
|
26067
|
Snap by @firancly | Stardance
|
firancly
|
1
|
16.67
|
138
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-30T04:59:05Z", "hours": 13.0, "multiplier": 10.53, "payout": 138, "blessing": "neutral", "text": "Snap is live Select text anywhere on Windows, hit a hotkey, and get an AI result in a glass popup right next to your cursor. No copy pasting into a browser tab, no breaking your flow. This is the first real release. You can download it, run it, and it just works. What it does Summarize — highlight a wall of text, press F9, get back a few skimmable bullet points instead of the whole thing. Enhance — highlight a rough draft, press F10, and it cleans up the tone and grammar while keeping your meaning. Great for firing off an email you didnt want to overthink. Ask anything — dont want a preset? Select text, open the popup and just type your own instruction at it. Translate this, explain this, make it shorter, whatever you want. The two hotkeys are the fast path, this is the everything else. The nice touches Real glass popup — it appears right at your cursor with proper native acrylic blur, not a fake CSS imitation. It animates as the response streams in. Lives in the tray — close the window and it just keeps running in the background listening for your hotkeys. Launches on startup so its always there. Esc to dismiss, one click to copy — get the result back to your clipboard instantly, or hit esc and its gone. Auto updates — it pulls new versions itself so you never have to come back and re download anything. Under the hood Your Groq API key lives entirely on the Rust side so it never touches the frontend bundle. The whole thing is a native desktop app, not a browser extension, so theres no chromium bloat and it works system wide across every app. The honest part This was my first time ever writing Rust. Most of this build was me learning Tauri and Rust from absolute zero, which the devlogs cover in detail. The day I lost to an invisible black box rendering over my entire window is a personal favorite. Worth a read if you like watching someone figure things out the hard way. Get it Download the installer from the releases page, run it, done. It bundles the WebView2 check so it works even on a fresh machine. Feedback very welcome, especially on how the popup feels to actually use.", "repo": "https://github.com/firancly/tldr-app", "demo": "https://github.com/firancly/tldr-app/releases/latest"}]...
|
[{"post_id": 20762, "ts": "202 [{"post_id": 20762, "ts": "2026-07-02T13:40:56Z", "hours": 2.1383, "text": "Spent about 4.5 hours this session building out the main window into a proper settings page so you can set Snap up however you want without ever touching the code. Heres everything that landed. Custom hotkeys — you can now reassign the shortcuts to whatever keys you want instead of being stuck with F9/F10/F11.The tricky part wasnt setting them, it was getting them to stay after closing the app. They kept resetting every restart. Found tauri plugin store which turned out to be exactly what I needed now the hotkeys save properly between sessions. Custom API key field — drop in your own Groq key right in the settings instead of it living in a file, so you’re not tied to the shared tester key. Customizable summary length — pick how short or detailed you want your summaries to be. Window controls — added proper minimize, expand and close buttons to the window and got them all wired up. Also added drag to settings window. Auto start on launch — Snap now starts itself when you boot up so its just always ready in the background. Scroll fixes — sorted out the scrolling on the settings page. This one annoyed me, I was trying to style the webkit scrollbar to match the rest of the UI and it just would not budge no matter what I threw at it. Eventually I gave up fighting it and settled for the default scrollbar, sometimes its not worth burning more time on something that small. That was the session, about 4.5 hours all up. Snap went from set in stone shortcuts to something you can actually configure and make your own, which makes it a real step toward it being a finished product. Next up : make auto updates seamless so you never re download. Discrepancy in the hours because Wakatime wasn’t connected (offline)"}, {"post_id": 19927, "ts": "2026-07-01T11:26:21Z", "hours": 0.3819, "text": "Wednesday? Added draggable windows Improve ai prompts More to come. Currently busy with life. Touching graass 🌳🌳🌳"}, {"post_id": 19134, "ts": "2026-06-30T11:43:39Z", "hours": 1.1461, "text": "Snap is live, and the first batch of testers gets in free ⚡ Select any text on your screen, hit a hotkey, and AI handles it — summarize, rewrite, or ask anything — in a popup right at your cursor. No browser tab, no copy-paste, no setup. I’m opening a limited number of free tester spots : download it, no API key needed, just run it and go. First come first served while the spots last. Built solo in a weekend. First time ever writing Rust — the devlogs cover the whole messy journey, including the day I lost to an invisible black box rendering over my entire window. 👀👀Watch the demo down below 👉 Grab it: [download link]"}, {"post_id": 18991, "ts": "2026-06-30T04:56:57Z", "hours": 2.6653, "text": "Devlog #6 Snap grew up this session Big one. A bunch of stuff landed that took this from “cool demo” to “actually a product.” Heres what will ship. The headline: ask anything Until now Snap had two fixed actions, summarize and enhance. Now you can select text, open the popup and just type your own instruction at it. Translate this, explain this, make it shorter, rewrite it angrier, whatever. The two hotkeys stay as the fast path, this is for everything else. This was the idea I was most hyped about and its finally real. It updates itself now Before this, a new version meant everyone had to go re download the installer, which means nobody would. Now the app checks for updates and pulls them in on its own. Getting this working felt like the moment it stopped being a hobby project. Quality of life Launch on startup so its just always there listening, no opening it every morning. Esc to close the popup instead of clicking away. Custom icons finally rendering properly everywhere after fighting them for a bit. Seamless popup cleanup so it actually feels polished now. Tester API key baked in so people can try it without making a Groq account first. Improved the prompts so it doesn’t sound ai generated and can pass as human text Still cooking Custom hotkeys and screen edge aware positioning so the popup never opens half off your monitor. Potential language spin off to aid language learners (custom in app language, ai response langauge). Those are next, then this thing is ready to really show off. Honestly this was the most satisfying session so far. Not because anything was hard, but because every single thing I added made it feel more like a real app and less like something held together with tape."}, {"post_id": 18479, "ts": "2026-06-29T17:19:35Z", "hours": 0.9628, "text": "Devlog 5 — Polish, prompts, and the first real release Bit of a cleanup session before shipping. First thing, I reworked the summarize prompt. It used to spit out a 1-3 sentence paragraph and I found myself still having to read the whole thing to find what mattered, so now it breaks the text into a few short skimmable bullet points instead. Way nicer to actually use. Then I wrote up a proper README. Demo GIFs, feature list, setup steps, the whole thing, so anyone landing on the repo gets what Snap is and how to run it. And the big one, I built the first actual release. Set up the icon, ran the Tauri build, and it spat out a real installer that bundles the WebView2 check so it works on a fresh machine. So Snap is now something you can just download and run, not just clone and build yourself. Linked it at the top of the README. About an hour all up. Next up is probably finishing translate so theres a proper third action."}, {"post_id": 18181, "ts": "2026-06-29T07:06:03Z", "hours": 1.5517, "text": "Devlog #4 Groq is wired in and the popup actually feels like a product now Groq is hooked up and the app does its actual job now The summarize and enhance shortcuts now actually call Groq and return real text instead of just echoing back what I copied. The API call lives on the Rust side so the key never touches the frontend, and the popup shows a little loading state while it thinks. Seeing it summarize an actual paragraph for the first time was a moment this is finally the thing I set out to build. The invisible icon bug Then I hit a quick bug that made no sense at first. I added a copy button to the popup with a little icon and the icon just refused to show up. Blank space where it should be. The element was there right size, right color the DOM looked totally fine it just wasnt painting. Turns out its a WebView2 thing where svg icons go invisible specifically on a transparent acrylic window. Took me a minute to even believe that was the actual cause. For the fix I settled on emojis for now. A decent workaround but it works, and theres a little checkmark when you click now so you know the copy landed. Polish pass The rest was polish and it went fast. The window resize is animated now instead of snapping to size which makes it feel a lot smoother, I hid the scrollbars everywhere, and I fixed a button that kept coming out rectangular instead of square because of some default browser padding I didnt know about. Also settled on the proper acrylic glass blur after the mess from last session and gave it a tint. Next up is making the popup smart about screen edges so it cant open half off screen, esc to close it, and a little settings screen so I can change the hotkeys without editing code."}, {"post_id": 17677, "ts": "2026-06-28T15:58:18Z", "hours": 3.6175, "text": "Devlog 3 — The floating glass popup and a full day chasing a black box The popup window itself was the easy part. It spawns at my cursor, reuses itself on repeat triggers instead of opening a new one every time, and the captured text streams into it with a little typewriter effect. That whole thing took maybe 20 minutes. Then I tried to make it look like frosted glass and that ate the entire rest of the day. Every time I turned on Tauri’s built in blur effect the window just rendered as a solid black box instead. I went around in circles on this for hours. I killed the native window shadow which fixed one version of the black box but it came right back the moment I re added the blur. I tried a community plugin that promised glass on Windows turned out to be Mac only. Then I found a github repo with a slick demo video claiming real glass, read the actual source and it was just CSS faking it. At that point I genuinely thought maybe its just not possible on Windows. Then I found the thing that explained so much of my pain. My CSS file had never been imported anywhere in the app. Not once. Every single style change I made all session had just been silently ignored, no error no warning nothing. I just sat there for a second. All that why isnt this working was me editing a file the app wasnt even reading. Even after fixing that Tauri’s built in blur still refused to work so I stopped using its wrapper entirely and called the underlying Windows blur library directly from a small Rust command. It worked immediately. Real native glass, no black box, first try. After a whole day of that seeing it finally render was such a relief. One more dumb one ill note so I dont forget it. My rounded corners werent showing up and it turned out the browser paints the page background across the whole window and ignores the corner radius if you put it on the root element. Moved it onto a normal div and it was fine. Next up is hooking the actual Groq API call in so the popup shows a real summary instead of just the copied text."}, {"post_id": 16934, "ts": "2026-06-27T14:27:05Z", "hours": 3.7847, "text": "Dev log #2 Getting the hotkeys to actually work The shortcuts finally fire and copy text. Getting there took most of the session though. I first set up the Alt+S and Alt+E shortcuts in TypeScript since that’s the language I’m comfortable in. Bad idea. They broke every time I reloaded the page, threw errors I didn’t understand, and sometimes fired twice. After a lot of digging I figured out the problem. The shortcut is an OS-level thing, but I’d tied it to the React frontend, which reloads constantly while I’m developing, so it kept losing track of itself. The fix was to move the shortcut registration over to the Rust side and let React just listen for when a shortcut gets pressed. That killed the whole pile of bugs at once. This was day one of me actually writing Rust so it took a while to get there. Most of today was honestly just me with the Tauri docs and the Rust book open side by side. I was looking up basically everything. How Rust handles ownership and errors, how Tauri wants the backend and frontend to talk to each other, what half the functions even did. It was grueling. There were a few moments where I just stared at the screen wondering what I’d gotten myself into. But the docs are solid and stuff slowly started clicking, and by the end it felt good to actually understand what I was writing. A couple smaller things I ran into. The copy only worked once I triggered on key release instead of key press, otherwise Alt was still held down and jammed the copy. And Firefox steals the Alt key for its own menu, so I’ll switch to Alt+Shift later or add custom shortcuts. So the core loop works now. Highlight text anywhere, press the shortcut, and the app grabs it. Seeing it actually work after all that was a great feeling. I also added a little system tray icon, with menus, so it runs in the background. Next up : make the floating window pop up near my cursor and show the result. Wire a shortcut to an LLM call."}, {"post_id": 16720, "ts": "2026-06-27T05:05:29Z", "hours": 0.6028, "text": "Dev log #1 What I’m building: Snap - a desktop tool that lets you run AI actions on selected text anywhere on your system. Highlight text in any app, press a shortcut, and get an instant result in a floating window. No copy and paste, no switching to a browser tab. The idea came from the tldr repo on GitHub. I wanted to generalize that concept system-wide into two workflows: Summarize ( Alt + S ) — highlight a dense article or long thread, and a floating window appears with a summary. Rewrite ( Alt + E ) — highlight a prompt like “write an email to my boss” , and the AI returns finished email ready to send. Framework choice: I looked at Electron and Tauri. Electron ships a full Chromium runtime, heavy and slow, so I went with Tauri. The catch: Tauri’s backend is Rust, which I don’t know. Starting to learn it today. The upside is the frontend is TypeScript + React, which I’m already strong in, so the learning curve is contained to the system level layer. Today’s goal: setup the Tauri app, register the Alt + S / Alt + E global shortcuts, and get the silent copy -> clipboard read working so a selection in any app lands in the Rust backend. If that’s solid, wire one shortcut end-to-end to an LLM call and render the result in the floating window."}]...
|
Title: Snap by @firancly | Stardance
Devlogs:
Dev Title: Snap by @firancly | Stardance
Devlogs:
Dev log #1 What I’m building: Snap - a desktop tool that lets you run AI actions on selected text anywhere on your system. Highlight text in any app, press a shortcut, and get an instant result in a floating window. No copy and paste, no switching to a browser tab. The idea came from the tldr repo on GitHub. I wanted to generalize that concept system-wide into two workflows: Summarize ( Alt + S ) — highlight a dense article or long thread, and a floating window appears with a summary. Rewrite ( Alt + E ) — highlight a prompt like “write an email to my boss” , and the AI returns finished email ready to send. Framework choice: I looked at Electron and Tauri. Electron ships a full Chromium runtime, heavy and slow, so I went with Tauri. The catch: Tauri’s backend is Rust, which I don’t know. Starting to learn it today. The upside is the frontend is TypeScript + React, which I’m already strong in, so the learning curve is contained to the system level layer. Today’s goal: setup the Tauri app, register the Alt + S / Alt + E global shortcuts, and get the silent copy -> clipboard read working so a selection in any app lands in the Rust backend. If that’s solid, wire one shortcut end-to-end to an LLM call and render the result in the floating window.
Dev log #2 Getting the hotkeys to actually work The shortcuts finally fire and copy text. Getting there took most of the session though. I first set up the Alt+S and Alt+E shortcuts in TypeScript since that’s the language I’m comfortable in. Bad idea. They broke every time I reloaded the page, threw errors I didn’t understand, and sometimes fired twice. After a lot of digging I figured out the problem. The shortcut is an OS-level thing, but I’d tied it to the React frontend, which reloads constantly while I’m developing, so it kept losing track of itself. The fix was to move the shortcut registration over to the Rust side and let React just listen for when a shortcut gets pressed. That killed the whole pile of bugs at once. This was day one of me actually writing Rust so it took a while to get there. Most of today was honestly just me with the Tauri docs and the Rust book open side by side. I was looking up basically everything. How Rust handles ownership and errors, how Tauri wants the backend and frontend to talk to each other, what half the functions even did. It was grueling. There were a few moments where I just stared at the screen wondering what I’d gotten myself into. But the docs are solid and stuff slowly started clicking, and by the end it felt good to actually understand what I was writing. A couple smaller things I ran into. The copy only worked once I triggered on key release instead of key press, otherwise Alt was still held down and jammed the copy. And Firefox steals the Alt key for its own menu, so I’ll switch to Alt+Shift later or add custom shortcuts. So the core loop works now. Highlight text anywhere, press the shortcut, and the app grabs it. Seeing it actually work after all that was a great feeling. I also added a little system tray icon, with menus, so it runs in the background. Next up : make the floating window pop up near my cursor and show the result. Wire a shortcut to an LLM call.
Devlog 3 — The floating glass popup and a full day chasing a black box The popup window itself was the easy part. It spawns at my cursor, reuses itself on repeat triggers instead of opening a new one every time, and the captured text streams into it with a little typewriter effect. That whole thing took maybe 20 minutes. Then I tried to make it look like frosted glass and that ate the entire rest of the day. Every time I turned on Tauri’s built in blur effect the window just rendered as a solid black box instead. I went around in circles on this for hours. I killed the native window shadow which fixed one version of the black box but it came right back the moment I re added the blur. I tried a community plugin that promised glass on Windows turned out to be Mac only. Then I found a github repo with a slick demo video claiming real glass, read the actual source and it was just CSS faking it. At that point I genuinely thought maybe its just not possible on Windows. Then I found the thing that explained so much of my pain. My CSS file had never been imported anywhere in the app. Not once. Every single style change I made all session had just been silently ignored, no error no warning nothing. I just sat there for a second. All that why isnt this working was me editing a file the app wasnt even reading. Even after fixing that Tauri’s built in blur still refused to work so I stopped using its wrapper entirely and called the underlying Windows blur library directly from a small Rust command. It worked immediately. Real native glass, no black box, first try. After a whole day of that seeing it finally render was such a relief. One more dumb one ill note so I dont forget it. My rounded corners werent showing up and it turned out the browser paints the page background across the whole window and ignores the corner radius if you put it on the root element. Moved it onto a normal div and it was fine. Next up is hooking the actual Groq API call in so the popup shows a real summary instead of just the copied text.
Devlog #4 Groq is wired in and the popup actually feels like a product now Groq is hooked up and the app does its actual job now The summarize and enhance shortcuts now actually call Groq and return real text instead of just echoing back what I copied. The API call lives on the Rust side so the key never touches the frontend, and the popup shows a little loading state while it thinks. Seeing it summarize an actual paragraph for the first time was a moment this is finally the thing I set out to build. The invisible icon bug Then I hit a quick bug that made no sense at first. I added a copy button to the popup with a little icon and the icon just refused to show up. Blank space where it should be. The element was there right size, right color the DOM looked totally fine it just wasnt painting. Turns out its a WebView2 thing where svg icons go invisible specifically on a transparent acrylic window. Took me a minute to even believe that was the actual cause. For the fix I settled on emojis for now. A decent workaround but it works, and theres a little checkmark when you click now so you know the copy landed. Polish pass The rest was polish and it went fast. The window resize is animated now instead of snapping to size which makes it feel a lot smoother, I hid the scrollbars everywhere, and I fixed a button that kept coming out rectangular instead of square because of some default browser padding I didnt know about. Also settled on the proper acrylic glass blur after the mess from last session and gave it a tint. Next up is making the popup smart about screen edges so it cant open half off screen, esc to close it, and a little settings screen so I can change the hotkeys without editing code.
Devlog 5 — Polish, prompts, and the first real release Bit of a cleanup session before shipping. First thing, I reworked the summarize prompt. It used to spit out a 1-3 sentence paragraph and I found myself still having to read the whole thing to find what mattered, so now it breaks the text into a few short skimmable bullet points instead. Way nicer to actually use. Then I wrote up a proper README. Demo GIFs, feature list, setup steps, the whole thing, so anyone landing on the repo gets what Snap is and how to run it. And the big one, I built the first actual release. Set up the icon, ran the Tauri build, and it spat out a real installer that bundles the WebView2 check so it works on a fresh machine. So Snap is now something you can just download and run, not just clone and build yourself. Linked it at the top of the README. About an hour all up. Next up is probably finishing translate so theres a proper third action.
Devlog #6 Snap grew up this session Big one. A bunch of stuff landed that took this from “cool demo” to “actually a product.” Heres what will ship. The headline: ask anything Until now Snap had two fixed actions, summarize and enhance. Now you can select text, open the popup and just type your own instruction at it. Translate this, explain this, make it shorter, rewrite it angrier, whatever. The two hotkeys stay as the fast path, this is for everything else. This was the idea I was most hyped about and its finally real. It updates itself now Before this, a new version meant everyone had to go re download the installer, which means nobody would. Now the app checks for updates and pulls them in on its own. Getting this working felt like the moment it stopped being a hobby project. Quality of life Launch on startup so its just always there listening, no opening it every morning. Esc to close the popup instead of clicking away. Custom icons finally rendering properly everywhere after fighting them for a bit. Seamless popup cleanup so it actually feels polished now. Tester API key baked in so people can try it without making a Groq account first. Improved the prompts so it doesn’t sound ai generated and can pass as human text Still cooking Custom hotkeys and screen edge aware positioning so the popup never opens half off your monitor. Potential language spin off to aid language learners (custom in app language, ai response langauge). Those are next, then this thing is ready to really show off. Honestly this was the most satisfying session so far. Not because anything was hard, but because every single thing I added made it feel more like a real app and less like something held together with tape.
Snap is live, and the first batch of testers gets in free ⚡ Select any text on your screen, hit a hotkey, and AI handles it — summarize, rewrite, or ask anything — in a popup right at your cursor. No browser tab, no copy-paste, no setup. I’m opening a limited number of free tester spots : download it, no API key needed, just run it and go. First come first served while the spots last. Built solo in a weekend. First time ever writing Rust — the devlogs cover the whole messy journey, including the day I lost to an invisible black box rendering over my entire window. 👀👀Watch the demo down below 👉 Grab it: [download link]
Wednesday? Added draggable windows Improve ai prompts More to come. Currently busy with life. Touching graass 🌳🌳🌳
Spent about 4.5 hours this session building out the main window into a proper settings page so you can set Snap up however you want without ever touching the code. Heres everything that landed. Custom hotkeys — you can now reassign the shortcuts to whatever keys you want instead of being stuck with F9/F10/F11.The tricky part wasnt setting them, it was getting them to stay after closing the app. They kept resetting every restart. Found tauri plugin store which turned out to be exactly what I needed now the hotkeys save properly between sessions. Custom API key field — drop in your own Groq key right in the settings instead of it living in a file, so you’re not tied to the shared tester key. Customizable summary length — pick how short or detailed you want your summaries to be. Window controls — added proper minimize, expand and close buttons to the window and got them all wired up. Also added drag to settings window. Auto start on launch — Snap now starts itself when you boot up so its just always ready in the background. Scroll fixes — sorted out the scrolling on the settings page. This one annoyed me, I was trying to style the webkit scrollbar to match the rest of the UI and it just would not budge no matter what I threw at it. Eventually I gave up fighting it and settled for the default scrollbar, sometimes its not worth burning more time on something that small. That was the session, about 4.5 hours all up. Snap went from set in stone shortcuts to something you can actually configure and make your own, which makes it a real step toward it being a finished product. Next up : make auto updates seamless so you never re download. Discrepancy in the hours because Wakatime wasn’t connected (offline)
Ships:
Snap is live Select text anywhere on Windows, hit a hotkey, and get an AI result in a glass popup right next to your cursor. No copy pasting into a browser tab, no breaking your flow. This is the first real release. You can download it, run it, and it just works. What it does Summarize — highlight a wall of text, press F9, get back a few skimmable bullet points instead of the whole thing. Enhance — highlight a rough draft, press F10, and it cleans up the tone and grammar while keeping your meaning. Great for firing off an email you didnt want to overthink. Ask anything — dont want a preset? Select text, open the popup and just type your own instruction at it. Translate this, explain this, make it shorter, whatever you want. The two hotkeys are the fast path, this is the everything else. The nice touches Real glass popup — it appears right at your cursor with proper native acrylic blur, not a fake CSS imitation. It animates as the response streams in. Lives in the tray — close the window and it just keeps running in the background listening for your hotkeys. Launches on startup so its always there. Esc to dismiss, one click to copy — get the result back to your clipboard instantly, or hit esc and its gone. Auto updates — it pulls new versions itself so you never have to come back and re download anything. Under the hood Your Groq API key lives entirely on the Rust side so it never touches the frontend bundle. The whole thing is a native desktop app, not a browser extension, so theres no chromium bloat and it works system wide across every app. The honest part This was my first time ever writing Rust. Most of this build was me learning Tauri and Rust from absolute zero, which the devlogs cover in detail. The day I lost to an invisible black box rendering over my entire window is a personal favorite. Worth a read if you like watching someone figure things out the hard way. Get it Download the installer from the releases page, run it, done. It bundles the WebView2 check so it works even on a fresh machine. Feedback very welcome, especially on how the popup feels to actually use....
|
1793116129.6650825
|
1793202529.6650825
|
|
30548
|
Protect the portal by @anujkishan918 | Stardance
|
anujkishan918
|
1
|
20.0
|
138
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-05T15:02:52Z", "hours": 20.0, "multiplier": 7.87, "payout": 138, "blessing": "neutral", "text": "In this project, I created a browser game using HTML, CSS, and JavaScript. The whole idea of the project lies in making an entertaining game, where all the elements are responsive to user actions, game rules, score, etc. And everything works directly inside the browser, no installations required. The hardest task for me was to make sure that the game mechanics work correctly and the application remains responsive. I have worked on fixing bugs and optimizing performance as well. What I am most pleased about is that the whole game is completely functional and open-source. It turned out to be a good exercise in writing JavaScript code and debugging games. To test the project, simply open the live game in your browser and start playing. No account or setup is required. If you’re reviewing it, try playing until at least 120 points when the boss fight starts the boss fight and the boss parry mechanics are what I am really proud of. And a special note to everyone please go through the on boarding tour that explains everything, please dont skip through it. Hope you have fun:)", "repo": "https://github.com/Anuj981-blip/Game", "demo": "https://comforting-malabi-eeae3a.netlify.app"}]...
|
[{"post_id": 22865, "ts": "202 [{"post_id": 22865, "ts": "2026-07-05T14:18:59Z", "hours": 7.52, "text": "This update was all about making the game feel complete instead of simply adding more content. I spent most of my time refining mechanics, balancing gameplay, and improving the overall player experience. The feature I’m most proud of is the new parry system for boss fights. Players now have to react within a small timing window by holding Shift to reflect incoming attacks back at the boss. Getting the timing right took a surprising amount of testing because I wanted it to reward good reactions without letting players spam it, so I added a cooldown and carefully balanced the mechanic until it felt fair. I also introduced three different game modes, each changing how the game is played instead of just increasing difficulty. To help new players understand everything, I built an in-game tutorial that walks through the mechanics before gameplay begins, while still allowing players to revisit it later if needed. Beyond that, I polished the experience with independent music and sound effect controls, hid a few easter eggs around the game, balanced enemy behavior, and improved the overall feel of combat with better audio and gameplay feedback. Most of the artwork comes from the Pocket Mortys sprite sheets, so my focus throughout this update was on programming the gameplay systems and making them work together smoothly. Looking back at the first version, I’m happiest with how much more polished the game feels now, and I hope players enjoy mastering the boss fights and discovering all the little secrets hidden throughout the game."}, {"post_id": 22000, "ts": "2026-07-04T07:11:18Z", "hours": 12.0614, "text": "In the process of developing gameplay, the first thing that had to be done was getting the visual assets. Mostly, the Morty sprites were taken from the website called The Spriters Resource using the sheet of Pocket Mortys sprites, which contained various unique characters that would be suitable as falling enemies. The large sprite sheet was manually sliced into separate transparent PNGs, but only the most identifiable Morty variants, including Wizard Morty, Pizza Morty, Ghost Morty, Dracula Morty, and Evil Morty, were selected in order to allow the player to distinguish enemies easily. The visual assets are referenced as placeholders for a hobby project. Rick, the pickle projectile, and some UI elements are from the open-source project itself.Now that the assets were prepared, the development process revolved around creating a minimal and viable playable prototype. The first prototype featured a game screen where there was a Rick that was fixed to the screen and could move using a keyboard. Also included were the enemy Morty who would fall from above, the upward-firing pickles, bounding box collision detection, and the game over when all the lives were lost. This prototype was purposely kept very basic since the goal was to determine whether it was fun to dodge and shoot the falling Mortys before adding any more features. At this stage, a bug relating to collision detection which was as a result of an incomplete overlap was noticed, but was not realized until later."}]...
|
Title: Protect the portal by @anujkishan918 | Star Title: Protect the portal by @anujkishan918 | Stardance
Devlogs:
In the process of developing gameplay, the first thing that had to be done was getting the visual assets. Mostly, the Morty sprites were taken from the website called The Spriters Resource using the sheet of Pocket Mortys sprites, which contained various unique characters that would be suitable as falling enemies. The large sprite sheet was manually sliced into separate transparent PNGs, but only the most identifiable Morty variants, including Wizard Morty, Pizza Morty, Ghost Morty, Dracula Morty, and Evil Morty, were selected in order to allow the player to distinguish enemies easily. The visual assets are referenced as placeholders for a hobby project. Rick, the pickle projectile, and some UI elements are from the open-source project itself.Now that the assets were prepared, the development process revolved around creating a minimal and viable playable prototype. The first prototype featured a game screen where there was a Rick that was fixed to the screen and could move using a keyboard. Also included were the enemy Morty who would fall from above, the upward-firing pickles, bounding box collision detection, and the game over when all the lives were lost. This prototype was purposely kept very basic since the goal was to determine whether it was fun to dodge and shoot the falling Mortys before adding any more features. At this stage, a bug relating to collision detection which was as a result of an incomplete overlap was noticed, but was not realized until later.
This update was all about making the game feel complete instead of simply adding more content. I spent most of my time refining mechanics, balancing gameplay, and improving the overall player experience. The feature I’m most proud of is the new parry system for boss fights. Players now have to react within a small timing window by holding Shift to reflect incoming attacks back at the boss. Getting the timing right took a surprising amount of testing because I wanted it to reward good reactions without letting players spam it, so I added a cooldown and carefully balanced the mechanic until it felt fair. I also introduced three different game modes, each changing how the game is played instead of just increasing difficulty. To help new players understand everything, I built an in-game tutorial that walks through the mechanics before gameplay begins, while still allowing players to revisit it later if needed. Beyond that, I polished the experience with independent music and sound effect controls, hid a few easter eggs around the game, balanced enemy behavior, and improved the overall feel of combat with better audio and gameplay feedback. Most of the artwork comes from the Pocket Mortys sprite sheets, so my focus throughout this update was on programming the gameplay systems and making them work together smoothly. Looking back at the first version, I’m happiest with how much more polished the game feels now, and I hope players enjoy mastering the boss fights and discovering all the little secrets hidden throughout the game.
Ships:
In this project, I created a browser game using HTML, CSS, and JavaScript. The whole idea of the project lies in making an entertaining game, where all the elements are responsive to user actions, game rules, score, etc. And everything works directly inside the browser, no installations required. The hardest task for me was to make sure that the game mechanics work correctly and the application remains responsive. I have worked on fixing bugs and optimizing performance as well. What I am most pleased about is that the whole game is completely functional and open-source. It turned out to be a good exercise in writing JavaScript code and debugging games. To test the project, simply open the live game in your browser and start playing. No account or setup is required. If you’re reviewing it, try playing until at least 120 points when the boss fight starts the boss fight and the boss parry mechanics are what I am really proud of. And a special note to everyone please go through the on boarding tour that explains everything, please dont skip through it. Hope you have fun:)...
|
1792878767.3314762
|
1793742767.3314762
|
|
32022
|
TungstenScore by @triple-colons | Stardance
|
triple-colons
|
1
|
12.0
|
138
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-08T11:57:36Z", "hours": 12.0, "multiplier": 11.09, "payout": 138, "blessing": "neutral", "text": "TungstenScore (v0.5.1) TungstenScore is a lightweight, open-source security assessment tool for Windows. It checks important Windows security settings and gives your system a security score, making it easier to understand how well your PC is protected and what could be improved. One of the hardest parts of building TungstenScore was working with the Windows APIs and reading security-related information from the Windows Registry. Different security features expose their state in different ways, so figuring out how to reliably retrieve and interpret that information was one of the biggest challenges during development. What I’m most proud of, though, is the structure of the project. TungstenScore still has a relatively small set of features, but I focused on making its foundation small, solid, and extensible. New security checks and other features can be added without having to redesign the entire application. Building that solid foundation is probably the part of this project I’m most proud of. TungstenScore is still under development, and I plan to add more security checks and improve the scoring system over time. You can now try TungstenScore yourself! You can download a pre-built version from my website, or download the source code and build it yourself using Cargo. Language note: English is not my native language, and I’m not very confident writing in English yet. I originally wrote this devlog in Korean and used an AI tool to help translate it into English.", "repo": "https://github.com/dw1210/TungstenScore", "demo": "https://dw1210.github.io/TungstenScore-website/"}]...
|
[{"post_id": 64166, "ts": "202 [{"post_id": 64166, "ts": "2026-09-08T11:47:36Z", "hours": 0.3094, "text": "devlog #7 (v0.5.1) I fixed some bugs for my first release!"}, {"post_id": 46804, "ts": "2026-08-14T09:49:41Z", "hours": 3.4444, "text": "Devlog #6 (v0.5.0) [Project Summary] TungstenScore is a Windows security assessment tool built with Rust. It evaluates your Windows system’s security posture and generates an overall security score. [Project Plan] Add security checks a. Firewall (Done) b. UAC (Done) c. TPM 2.0 (Added Today!) d. System integrity e. Hidden accounts f. Disk encryption g. etc. Add an auto-fix feature Add a GUI And more… [What I Did] I decided to remove the Windows version check from the roadmap because I couldn’t find a reliable way to retrieve the latest update info locally. I also don’t want the app to connect to the internet, as users might prefer an offline tool and maintaining a dedicated version API server would add extra overhead. Today, I added the TPM 2.0 check. It took a while to implement because this check requires admin privileges. I had to investigate what was causing the permission errors and figure out how to handle them gracefully. As a solution, I added an option to relaunch the app as administrator: If you type “Y”, the program will restart with admin privileges. If you type “N”, the check will be marked as “Requires administrator privileges” and excluded from the scan score (as shown in the attached screenshot). [Next Version Plan] I’ll be adding a check for hidden accounts. [Repo Link] https://github.com/dw1210/TungstenScore [Website] https://dw1210.github.io/TungstenScore-website/"}, {"post_id": 34533, "ts": "2026-07-25T10:21:33Z", "hours": 2.4397, "text": "Devlog #5 (v0.4.0) [Project Summary] ‘TungstenScore’ is a Windows security assessment tool built with Rust. It evaluates your Windows system security and generates an overall security score. [Project Plan] (No changes today) 1.Add security checks a. Firewall (Done) b. UAC (Done) c. Windows version d. Hidden accounts e. Etc. 2.Add an auto-fix feature 3.Add a GUI 4.And more… [What I Did] I refactored the code structure! It was a bit challenging, but I’ve separated the codebase into multiple files, as shown in the attached screenshot. I decided not to release version 0.4.0 yet since there aren’t any major feature updates. Additionally, I fixed some typos. [Next Version Plan] I’ll add a check for hidden accounts. [Repo Link] https://github.com/dw1210/TungstenScore [Website] https://dw1210.github.io/TungstenScore-website/"}, {"post_id": 33911, "ts": "2026-07-24T06:32:03Z", "hours": 0.9403, "text": "Devlog #4 (v0.3.0) [Project Summary] ‘TungstenScore’ is a Windows security assessment tool built with Rust. It checks your Windows system security and generates an overall security score. [Project Plan] Add security checks a. Firewall (Added today) b. UAC (Done) c. Windows version d. Hidden accounts e. Etc. Add an auto-fix feature Add a GUI And more… [What I Did] I finally managed to build the Firewall checker! It reads directly from the Windows Registry. Since I worked on a different computer that didn’t have Hackatime installed, my development time was only partially logged. [Next Version Plan] In the next release, I’ll fix some typos (my English isn’t great yet! 😅) and refactor the code structure for better maintainability. [Repo Link] https://github.com/dw1210/TungstenScore [Website] https://dw1210.github.io/TungstenScore-website/"}, {"post_id": 28289, "ts": "2026-07-14T13:31:54Z", "hours": 0.8381, "text": "Devlog #3 I made the TungstenScore website! https://dw1210.github.io/TungstenScore-website/"}, {"post_id": 27017, "ts": "2026-07-12T04:57:02Z", "hours": 3.1203, "text": "Devlog #2 (v0.2.0) [Project summary] ‘TungstenScore’ is a Windows security assessment tool written in Rust. This app checks the security of your Windows computer and scores it. [Project plan] Add some checks a. Firewall b.»UAC« - I made this today. c.Windows version d.Etc 2.Add an auto-fix feature 3.Add GUI 4.And more… [What I did] Initially, I attempted to add a Windows version checker but ran into issues. I’m going to find a new way to make this later. So, I made UAC checker and score system today! [Next version plan] In the next version, I’m going to make a Windows version checker and a companion website for the project! [Repo link] https://github.com/dw1210/TungstenScore"}, {"post_id": 26531, "ts": "2026-07-11T12:12:39Z", "hours": 1.315, "text": "Devlog #1 (v0.1.0) Today, I started building TungstenScore, a Windows security assessment tool written in Rust. This app checks the security of your Windows computer and scores it. [Project plan] Add some checks a.Firewall b.UAC c.Windows version d.Etc. Add an auto-fix feature Add GUI And more… [What I did] I created a basic CLI structure, including the menu system and the ‘About’ screen. [What I’m going to do] In the next version, I will add some security checks, such as verifying the firewall status. [Repo link] https://github.com/dw1210/TungstenScore"}]...
|
Title: TungstenScore by @triple-colons | Stardance Title: TungstenScore by @triple-colons | Stardance
Devlogs:
Devlog #1 (v0.1.0) Today, I started building TungstenScore, a Windows security assessment tool written in Rust. This app checks the security of your Windows computer and scores it. [Project plan] Add some checks a.Firewall b.UAC c.Windows version d.Etc. Add an auto-fix feature Add GUI And more… [What I did] I created a basic CLI structure, including the menu system and the ‘About’ screen. [What I’m going to do] In the next version, I will add some security checks, such as verifying the firewall status. [Repo link] https://github.com/dw1210/TungstenScore
Devlog #2 (v0.2.0) [Project summary] ‘TungstenScore’ is a Windows security assessment tool written in Rust. This app checks the security of your Windows computer and scores it. [Project plan] Add some checks a. Firewall b.»UAC« - I made this today. c.Windows version d.Etc 2.Add an auto-fix feature 3.Add GUI 4.And more… [What I did] Initially, I attempted to add a Windows version checker but ran into issues. I’m going to find a new way to make this later. So, I made UAC checker and score system today! [Next version plan] In the next version, I’m going to make a Windows version checker and a companion website for the project! [Repo link] https://github.com/dw1210/TungstenScore
Devlog #3 I made the TungstenScore website! https://dw1210.github.io/TungstenScore-website/
Devlog #4 (v0.3.0) [Project Summary] ‘TungstenScore’ is a Windows security assessment tool built with Rust. It checks your Windows system security and generates an overall security score. [Project Plan] Add security checks a. Firewall (Added today) b. UAC (Done) c. Windows version d. Hidden accounts e. Etc. Add an auto-fix feature Add a GUI And more… [What I Did] I finally managed to build the Firewall checker! It reads directly from the Windows Registry. Since I worked on a different computer that didn’t have Hackatime installed, my development time was only partially logged. [Next Version Plan] In the next release, I’ll fix some typos (my English isn’t great yet! 😅) and refactor the code structure for better maintainability. [Repo Link] https://github.com/dw1210/TungstenScore [Website] https://dw1210.github.io/TungstenScore-website/
Devlog #5 (v0.4.0) [Project Summary] ‘TungstenScore’ is a Windows security assessment tool built with Rust. It evaluates your Windows system security and generates an overall security score. [Project Plan] (No changes today) 1.Add security checks a. Firewall (Done) b. UAC (Done) c. Windows version d. Hidden accounts e. Etc. 2.Add an auto-fix feature 3.Add a GUI 4.And more… [What I Did] I refactored the code structure! It was a bit challenging, but I’ve separated the codebase into multiple files, as shown in the attached screenshot. I decided not to release version 0.4.0 yet since there aren’t any major feature updates. Additionally, I fixed some typos. [Next Version Plan] I’ll add a check for hidden accounts. [Repo Link] https://github.com/dw1210/TungstenScore [Website] https://dw1210.github.io/TungstenScore-website/
Devlog #6 (v0.5.0) [Project Summary] TungstenScore is a Windows security assessment tool built with Rust. It evaluates your Windows system’s security posture and generates an overall security score. [Project Plan] Add security checks a. Firewall (Done) b. UAC (Done) c. TPM 2.0 (Added Today!) d. System integrity e. Hidden accounts f. Disk encryption g. etc. Add an auto-fix feature Add a GUI And more… [What I Did] I decided to remove the Windows version check from the roadmap because I couldn’t find a reliable way to retrieve the latest update info locally. I also don’t want the app to connect to the internet, as users might prefer an offline tool and maintaining a dedicated version API server would add extra overhead. Today, I added the TPM 2.0 check. It took a while to implement because this check requires admin privileges. I had to investigate what was causing the permission errors and figure out how to handle them gracefully. As a solution, I added an option to relaunch the app as administrator: If you type “Y”, the program will restart with admin privileges. If you type “N”, the check will be marked as “Requires administrator privileges” and excluded from the scan score (as shown in the attached screenshot). [Next Version Plan] I’ll be adding a check for hidden accounts. [Repo Link] https://github.com/dw1210/TungstenScore [Website] https://dw1210.github.io/TungstenScore-website/
devlog #7 (v0.5.1) I fixed some bugs for my first release!
Ships:
TungstenScore (v0.5.1) TungstenScore is a lightweight, open-source security assessment tool for Windows. It checks important Windows security settings and gives your system a security score, making it easier to understand how well your PC is protected and what could be improved. One of the hardest parts of building TungstenScore was working with the Windows APIs and reading security-related information from the Windows Registry. Different security features expose their state in different ways, so figuring out how to reliably retrieve and interpret that information was one of the biggest challenges during development. What I’m most proud of, though, is the structure of the project. TungstenScore still has a relatively small set of features, but I focused on making its foundation small, solid, and extensible. New security checks and other features can be added without having to redesign the entire application. Building that solid foundation is probably the part of this project I’m most proud of. TungstenScore is still under development, and I plan to add more security checks and improve the scoring system over time. You can now try TungstenScore yourself! You can download a pre-built version from my website, or download the source code and build it yourself using Cargo. Language note: English is not my native language, and I’m not very confident writing in English yet. I originally wrote this devlog in Korean and used an AI tool to help translate it into English....
|
1793004721.972546
|
1793091121.972546
|
|
34924
|
KeyGlow CLI Tool by @Aeriss | Stardance
|
Aeriss
|
1
|
11.0
|
138
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-18T11:31:13Z", "hours": 11.0, "multiplier": 12.65, "payout": 138, "blessing": "neutral", "text": "KeyGlow is finally shipped! (The text there will be the same as the one in latest DevLog) Hello everyone, I hope you are all doing great! After a lot of coding, debugging, testing and polishing, KeyGlow is finally ready to be released. This project started as a simple idea: create a fun keyboard statistics tool that allows people to understand their keyboard usage without becoming a keylogger. The final development phase ʕ•ᴥ•ʔ The last stage of development was focused mostly on polishing the project and preparing everything for release. At this point, instead of adding more features, I decided to focus on reliability and making sure the existing features worked properly. Some of the final improvements included: Fixing edge cases Improving database handling Adding corrupted JSON detection Adding invalid database format detection Adding save error handling Improving reset behavior Adding automatic folder creation Testing installation in clean environments A big part of software development is not only creating new features, but making sure other people can actually use what you built. Making KeyGlow feel complete ʕ•ᴥ•ʔ During the final hours of development, I focused on improving the overall experience. Some smaller additions made KeyGlow feel much more like a complete application: ASCII KeyGlow logo keyglow logo keyglow info keyglow joke Better CLI experience Improved documentation Installation demo Project screenshots From a local project to a real package ʕ•ᴥ•ʔ One of the biggest milestones was turning KeyGlow from a project running only on my machine into a real Python package. The project went from: “A tool that works only for me” to: pip install keyglow And I am glad I managed to release it, as I have never done such thing before. AI Usage ʕ•ᴥ•ʔ I need to admit, that I used AI for this project, however, biggest part of it was done fully by myself. I used AI to learn about Typer library commands, and tables from Richer library, I also used it a little bit to validate the process of monitoring the keys, all that to ensure the project is indeed safe to deploy. Final Thoughts ʕ•ᴥ•ʔ It is a small project built around a simple idea: showing people interesting statistics about something they use every single day - their keyboard. But building it was a great experience. The project went through the full process: Idea Development Testing Documentation Packaging Release That’s quite a long devlog, isn’t it ʕ•ᴥ•ʔ I really hope you will like it and review it positively 🤍", "repo": "https://github.com/aerissdev-dotcom/KeyGlow", "demo": "https://pypi.org/project/keyglow/0.1.3/"}]...
|
[{"post_id": 30637, "ts": "202 [{"post_id": 30637, "ts": "2026-07-18T11:27:35Z", "hours": 1.7125, "text": "KeyGlow is finally shipping 🤍 Hello everyone, I hope you are all doing great! After a lot of coding, debugging, testing and polishing, KeyGlow is finally ready to be released. This project started as a simple idea: create a fun keyboard statistics tool that allows people to understand their keyboard usage without becoming a keylogger. The final development phase ʕ•ᴥ•ʔ The last stage of development was focused mostly on polishing the project and preparing everything for release. At this point, instead of adding more features, I decided to focus on reliability and making sure the existing features worked properly. Some of the final improvements included: Fixing edge cases Improving database handling Adding corrupted JSON detection Adding invalid database format detection Adding save error handling Improving reset behavior Adding automatic folder creation Testing installation in clean environments A big part of software development is not only creating new features, but making sure other people can actually use what you built. Making KeyGlow feel complete ʕ•ᴥ•ʔ During the final hours of development, I focused on improving the overall experience. Some smaller additions made KeyGlow feel much more like a complete application: ASCII KeyGlow logo keyglow logo keyglow info keyglow joke Better CLI experience Improved documentation Installation demo Project screenshots From a local project to a real package ʕ•ᴥ•ʔ One of the biggest milestones was turning KeyGlow from a project running only on my machine into a real Python package. The project went from: “A tool that works only for me” to: pip install keyglow And I am glad I managed to release it, as I have never done such thing before. AI Usage ʕ•ᴥ•ʔ I need to admit, that I used AI for this project, however, biggest part of it was done fully by myself. I used AI to learn about Typer library commands, and tables from Richer library, I also used it a little bit to validate the process of monitoring the keys, all that to ensure the project is indeed safe to deploy. Final Thoughts ʕ•ᴥ•ʔ It is a small project built around a simple idea: showing people interesting statistics about something they use every single day - their keyboard. But building it was a great experience. The project went through the full process: Idea Development Testing Documentation Packaging Release That’s quite a long devlog, isn’t it ʕ•ᴥ•ʔ I really hope you will like it and review it positively 🤍"}, {"post_id": 30293, "ts": "2026-07-17T19:02:27Z", "hours": 2.7906, "text": "Hello everyone 🤍 I hope you’re all doing great! Just a little development update on KeyGlow. Over the past few days I’ve been working on polishing the project instead of constantly adding new features. My goal from the very beginning has been to make KeyGlow feel like a real, reliable CLI tool rather than just another weekend prototype. For anyone who hasn’t seen it before, KeyGlow is a privacy-first keyboard usage analyzer. It generates keyboard usage statistics and a simple heatmap while never storing what you type. No typed text, no passwords, no key sequences - only anonymous key frequency counters stored locally on your own machine. Since the last update, quite a lot has changed: • I added real-time keyboard monitoring. • I implemented automatic saving while monitoring. • Added keyboard and mouse inactivity detection with configurable timeout. • Added the ability to disable automatic shutdown when desired. • Improved local storage by moving everything into a dedicated ~/KeyGlow/ directory. • Added JSON, CSV and TXT export support. • Added an information command displaying database size, stored keys, total presses and other useful details. • Added confirmation before deleting collected data, along with a –force / -f option for power users. • Improved error handling for corrupted databases and invalid data. • Added automatic creation of missing storage/export directories. • Cleaned up dozens of small edge cases and improved the overall stability of the application. • Wrote a complete README and documentation. • Added a completely unnecessary but absolutely essential keyglow joke command because every CLI deserves at least a little personality. At this point, most of my work isn’t about adding new features anymore (though it is tempting not gonna lie)-it’s about making sure the tool behaves correctly in every situation. That means testing fresh installations, handling invalid input gracefully, making the CLI feel polished, and improving the overall user experience. The project is now very close to its first public release. Before I publish it, there are only a few things left to finish: Debug a few remaining pieces of code. Update the KeyGlow ASCII logo. Package everything properly. Publish the project on PyPI. Once that’s done, anyone will be able to install it with a simple: “pip install keyglow” I’m genuinely excited to finally share this project. It started as a small idea and slowly grew into something that feels like a proper open-source tool. There’s still plenty of room for future improvements, but I’m really happy with where it is today. Thank you to everyone following the development so far. I can’t wait to release KeyGlow and hear what people think! 🤍"}, {"post_id": 29089, "ts": "2026-07-15T19:05:12Z", "hours": 1.0956, "text": "Devlog #3 Hello there again, what’s up? I managed to add KeyGlow inactivity detector 🤍 It basically detects whether you move your mouse or write anything with a keyboard, and if you don’t it disables keys monitoring. I added custom timeout in minutes. How cool is that ʕ•ᴥ•ʔ"}, {"post_id": 29023, "ts": "2026-07-15T17:51:05Z", "hours": 2.4789, "text": "Devlog #2 What’s up, I hope you all are doing great 🤍 Still working on my KeyGlow ʕ•ᴥ•ʔ I want to perfect it as much as I can. Recently, I added a privacy model, and inactivity detector which I will talk about in the next devlog! Here are some difficulties that I encountered: Mouse inactivity tracking, that involved checking movement, scroll and clicks. Explaining clearly to everyone what is my “privacy model” I did those things with ease: Writing new commands overall, I already learned how to do it fast and efficiently. Stay tuned for more if you like CLI Tools like this one ʕ•ᴥ•ʔ"}, {"post_id": 28433, "ts": "2026-07-14T17:51:44Z", "hours": 2.8547, "text": "Subtle Foreshadowing 👀🤍 I just finished the basics of my CLI Tool. Proud to say I did it mostly by myself ʕ•ᴥ•ʔ This will probably be kind of epic after release, though I still need to work a lot. Things I menaged to do easily: Reading data from file, loading it into a “buffer” Coloring TUI Making tables and ASCII Art (just needed to search for docs) Things I struggled with so far: The core mechanic such as receiving data from keyboard Converting that data into something easy to work with and making it file-attachable, and also human readable. We all love CLI, riiiiight?"}]...
|
Title: KeyGlow CLI Tool by @Aeriss | Stardance
De Title: KeyGlow CLI Tool by @Aeriss | Stardance
Devlogs:
Subtle Foreshadowing 👀🤍 I just finished the basics of my CLI Tool. Proud to say I did it mostly by myself ʕ•ᴥ•ʔ This will probably be kind of epic after release, though I still need to work a lot. Things I menaged to do easily: Reading data from file, loading it into a “buffer” Coloring TUI Making tables and ASCII Art (just needed to search for docs) Things I struggled with so far: The core mechanic such as receiving data from keyboard Converting that data into something easy to work with and making it file-attachable, and also human readable. We all love CLI, riiiiight?
Devlog #2 What’s up, I hope you all are doing great 🤍 Still working on my KeyGlow ʕ•ᴥ•ʔ I want to perfect it as much as I can. Recently, I added a privacy model, and inactivity detector which I will talk about in the next devlog! Here are some difficulties that I encountered: Mouse inactivity tracking, that involved checking movement, scroll and clicks. Explaining clearly to everyone what is my “privacy model” I did those things with ease: Writing new commands overall, I already learned how to do it fast and efficiently. Stay tuned for more if you like CLI Tools like this one ʕ•ᴥ•ʔ
Devlog #3 Hello there again, what’s up? I managed to add KeyGlow inactivity detector 🤍 It basically detects whether you move your mouse or write anything with a keyboard, and if you don’t it disables keys monitoring. I added custom timeout in minutes. How cool is that ʕ•ᴥ•ʔ
Hello everyone 🤍 I hope you’re all doing great! Just a little development update on KeyGlow. Over the past few days I’ve been working on polishing the project instead of constantly adding new features. My goal from the very beginning has been to make KeyGlow feel like a real, reliable CLI tool rather than just another weekend prototype. For anyone who hasn’t seen it before, KeyGlow is a privacy-first keyboard usage analyzer. It generates keyboard usage statistics and a simple heatmap while never storing what you type. No typed text, no passwords, no key sequences - only anonymous key frequency counters stored locally on your own machine. Since the last update, quite a lot has changed: • I added real-time keyboard monitoring. • I implemented automatic saving while monitoring. • Added keyboard and mouse inactivity detection with configurable timeout. • Added the ability to disable automatic shutdown when desired. • Improved local storage by moving everything into a dedicated ~/KeyGlow/ directory. • Added JSON, CSV and TXT export support. • Added an information command displaying database size, stored keys, total presses and other useful details. • Added confirmation before deleting collected data, along with a –force / -f option for power users. • Improved error handling for corrupted databases and invalid data. • Added automatic creation of missing storage/export directories. • Cleaned up dozens of small edge cases and improved the overall stability of the application. • Wrote a complete README and documentation. • Added a completely unnecessary but absolutely essential keyglow joke command because every CLI deserves at least a little personality. At this point, most of my work isn’t about adding new features anymore (though it is tempting not gonna lie)-it’s about making sure the tool behaves correctly in every situation. That means testing fresh installations, handling invalid input gracefully, making the CLI feel polished, and improving the overall user experience. The project is now very close to its first public release. Before I publish it, there are only a few things left to finish: Debug a few remaining pieces of code. Update the KeyGlow ASCII logo. Package everything properly. Publish the project on PyPI. Once that’s done, anyone will be able to install it with a simple: “pip install keyglow” I’m genuinely excited to finally share this project. It started as a small idea and slowly grew into something that feels like a proper open-source tool. There’s still plenty of room for future improvements, but I’m really happy with where it is today. Thank you to everyone following the development so far. I can’t wait to release KeyGlow and hear what people think! 🤍
KeyGlow is finally shipping 🤍 Hello everyone, I hope you are all doing great! After a lot of coding, debugging, testing and polishing, KeyGlow is finally ready to be released. This project started as a simple idea: create a fun keyboard statistics tool that allows people to understand their keyboard usage without becoming a keylogger. The final development phase ʕ•ᴥ•ʔ The last stage of development was focused mostly on polishing the project and preparing everything for release. At this point, instead of adding more features, I decided to focus on reliability and making sure the existing features worked properly. Some of the final improvements included: Fixing edge cases Improving database handling Adding corrupted JSON detection Adding invalid database format detection Adding save error handling Improving reset behavior Adding automatic folder creation Testing installation in clean environments A big part of software development is not only creating new features, but making sure other people can actually use what you built. Making KeyGlow feel complete ʕ•ᴥ•ʔ During the final hours of development, I focused on improving the overall experience. Some smaller additions made KeyGlow feel much more like a complete application: ASCII KeyGlow logo keyglow logo keyglow info keyglow joke Better CLI experience Improved documentation Installation demo Project screenshots From a local project to a real package ʕ•ᴥ•ʔ One of the biggest milestones was turning KeyGlow from a project running only on my machine into a real Python package. The project went from: “A tool that works only for me” to: pip install keyglow And I am glad I managed to release it, as I have never done such thing before. AI Usage ʕ•ᴥ•ʔ I need to admit, that I used AI for this project, however, biggest part of it was done fully by myself. I used AI to learn about Typer library commands, and tables from Richer library, I also used it a little bit to validate the process of monitoring the keys, all that to ensure the project is indeed safe to deploy. Final Thoughts ʕ•ᴥ•ʔ It is a small project built around a simple idea: showing people interesting statistics about something they use every single day - their keyboard. But building it was a great experience. The project went through the full process: Idea Development Testing Documentation Packaging Release That’s quite a long devlog, isn’t it ʕ•ᴥ•ʔ I really hope you will like it and review it positively 🤍
Ships:
KeyGlow is finally shipped! (The text there will be the same as the one in latest DevLog) Hello everyone, I hope you are all doing great! After a lot of coding, debugging, testing and polishing, KeyGlow is finally ready to be released. This project started as a simple idea: create a fun keyboard statistics tool that allows people to understand their keyboard usage without becoming a keylogger. The final development phase ʕ•ᴥ•ʔ The last stage of development was focused mostly on polishing the project and preparing everything for release. At this point, instead of adding more features, I decided to focus on reliability and making sure the existing features worked properly. Some of the final improvements included: Fixing edge cases Improving database handling Adding corrupted JSON detection Adding invalid database format detection Adding save error handling Improving reset behavior Adding automatic folder creation Testing installation in clean environments A big part of software development is not only creating new features, but making sure other people can actually use what you built. Making KeyGlow feel complete ʕ•ᴥ•ʔ During the final hours of development, I focused on improving the overall experience. Some smaller additions made KeyGlow feel much more like a complete application: ASCII KeyGlow logo keyglow logo keyglow info keyglow joke Better CLI experience Improved documentation Installation demo Project screenshots From a local project to a real package ʕ•ᴥ•ʔ One of the biggest milestones was turning KeyGlow from a project running only on my machine into a real Python package. The project went from: “A tool that works only for me” to: pip install keyglow And I am glad I managed to release it, as I have never done such thing before. AI Usage ʕ•ᴥ•ʔ I need to admit, that I used AI for this project, however, biggest part of it was done fully by myself. I used AI to learn about Typer library commands, and tables from Richer library, I also used it a little bit to validate the process of monitoring the keys, all that to ensure the project is indeed safe to deploy. Final Thoughts ʕ•ᴥ•ʔ It is a small project built around a simple idea: showing people interesting statistics about something they use every single day - their keyboard. But building it was a great experience. The project went through the full process: Idea Development Testing Documentation Packaging Release That’s quite a long devlog, isn’t it ʕ•ᴥ•ʔ I really hope you will like it and review it positively 🤍...
|
1793065643.5092504
|
1793152043.5092504
|
|
63129
|
Bloggy by @pwohlfahrt | Stardance
|
pwohlfahrt
|
1
|
22.0
|
138
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-18T18:58:13Z", "hours": 22.0, "multiplier": 6.22, "payout": 138, "blessing": "neutral", "text": "Easy to host website for your own blog, because art of the blogging is slowly dying. Your own custom blog is just one command away.", "repo": "https://github.com/pwohlfahrt/Bloggy", "demo": "https://homelab.taila52305.ts.net"}]...
|
[{"post_id": 80770, "ts": "202 [{"post_id": 80770, "ts": "2026-10-18T18:52:00Z", "hours": 1.625, "text": "Devlog 5 - Readme, Docker & Ship!!! I`ve managed to bring back my homelab to life, so this time i decided to use docker to not screw everything up. After some trouble docker was ready. For some reason It worked on my machine, but on homelab it had some problems, but it sure works now. Then quickly adding readme, bc shipping requires to and it was ready to be funneled onto the internet. And thanks God for tailscale bc my beloved ISP wont let me port forward on my router. The app is finally ready so you can give it a try here: https://homelab.taila52305.ts.net/ It was really fun project and I think thanks to this my coding burn out is no more. Thank you all for this amazing journey. See you next time."}, {"post_id": 79998, "ts": "2026-10-15T20:37:14Z", "hours": 6.98, "text": "Devlog 4 - Comments & Polishing. It’s been a long time since the last post, but I’ve made great progress on the app and I think it’s finally ready to ship. I patched a few security flaws, squashed some bugs, and wrote a discussion page for blogs, so readers can share their thoughts after reading. There’s no sign-up page, and yes - you can type your name and be anyone, but I think that’s what makes the internet better."}, {"post_id": 72765, "ts": "2026-09-23T18:12:57Z", "hours": 7.0047, "text": "Devlog 3 - Admin panel. It took kinda long but i managed to make flask run two apps with access to each other. So admin panel is going to have separate port from the app. Also, now you can create plugins, and add them just by dropping a file into the folder. Finally, Ive added a bit of statistics so you can now see how well your blog is doing. Let me know in the comments what else youd like to see"}, {"post_id": 72254, "ts": "2026-09-22T15:17:07Z", "hours": 1.7642, "text": "Devlog 2 - Photos. I have made a gallery so you can share that nice picture of a tree with rest of the world. And the world can give you feed back by the comment section! Maybe its time to talk a little bit of my tech stack. So i choosed to go with easiest technology on the market: flask as fastest framework to build with. peewee as easiest to implement database. and as a frontend some html & css with a bit of help can do the job kinda well. Let me know what you think about this"}, {"post_id": 72169, "ts": "2026-09-22T11:08:34Z", "hours": 4.875, "text": "HI, Im starting a new project called bloggy. I was gonna do it anyways, but Im going to use stardance as a way to force myself into making it. Its going to be just a minimalistic website for blogs and showing to the world my other artistic work. Ive been planning to host it on my homelab via tailscale funnel, so weill see how it will work. For now only raw blog pages are created, so theres still some work. Gonna keep u updated"}]...
|
Title: Bloggy by @pwohlfahrt | Stardance
Devlogs: Title: Bloggy by @pwohlfahrt | Stardance
Devlogs:
HI, Im starting a new project called bloggy. I was gonna do it anyways, but Im going to use stardance as a way to force myself into making it. Its going to be just a minimalistic website for blogs and showing to the world my other artistic work. Ive been planning to host it on my homelab via tailscale funnel, so weill see how it will work. For now only raw blog pages are created, so theres still some work. Gonna keep u updated
Devlog 2 - Photos. I have made a gallery so you can share that nice picture of a tree with rest of the world. And the world can give you feed back by the comment section! Maybe its time to talk a little bit of my tech stack. So i choosed to go with easiest technology on the market: flask as fastest framework to build with. peewee as easiest to implement database. and as a frontend some html & css with a bit of help can do the job kinda well. Let me know what you think about this
Devlog 3 - Admin panel. It took kinda long but i managed to make flask run two apps with access to each other. So admin panel is going to have separate port from the app. Also, now you can create plugins, and add them just by dropping a file into the folder. Finally, Ive added a bit of statistics so you can now see how well your blog is doing. Let me know in the comments what else youd like to see
Devlog 4 - Comments & Polishing. It’s been a long time since the last post, but I’ve made great progress on the app and I think it’s finally ready to ship. I patched a few security flaws, squashed some bugs, and wrote a discussion page for blogs, so readers can share their thoughts after reading. There’s no sign-up page, and yes - you can type your name and be anyone, but I think that’s what makes the internet better.
Devlog 5 - Readme, Docker & Ship!!! I`ve managed to bring back my homelab to life, so this time i decided to use docker to not screw everything up. After some trouble docker was ready. For some reason It worked on my machine, but on homelab it had some problems, but it sure works now. Then quickly adding readme, bc shipping requires to and it was ready to be funneled onto the internet. And thanks God for tailscale bc my beloved ISP wont let me port forward on my router. The app is finally ready so you can give it a try here: https://homelab.taila52305.ts.net/ It was really fun project and I think thanks to this my coding burn out is no more. Thank you all for this amazing journey. See you next time.
Ships:
Easy to host website for your own blog, because art of the blogging is slowly dying. Your own custom blog is just one command away....
|
1793008251.3458753
|
1793094651.3458753
|
|
10500
|
Not Alone, But Together by @naqeeb | Stardance
|
naqeeb
|
1
|
13.0
|
137
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-18T13:20:06Z", "hours": 13.0, "multiplier": 10.72, "payout": 137, "blessing": "neutral", "text": "I made a 2d platformer with local co-op. The challenging part was gravity and online. And a short reflection would be that i should’ve worked with delta time, which i had completely forgotten about. Thinking back, it would’ve really helped me with fixing the movement in online. That’ll be good to remember for future projects.", "repo": "https://github.com/naqeeb-rahmani/Not-Alone", "demo": "https://naqeebb.itch.io/not-alone"}]...
|
[{"post_id": 11251, "ts": "202 [{"post_id": 11251, "ts": "2026-06-18T12:26:03Z", "hours": 0.8469, "text": "FINISHED! I removed some unnecessary files and some parts of the code which were no longer needed. Now i’m finally done with this project, now i know that this is not the best game especially with the online not being perfect and the game not responding when looking for connections, but the reason for that is that this was my first time working with networking, so i learned basic networking as i was making this game. I also learned a lot of things from this project such as animations and some basic pixelart (I only made the levers and modified the buttons to how i needed them). So, yeah. That was it :). The reason for the text being so cramped up is because for some reason I seem to be unable to use enter to change line."}, {"post_id": 11151, "ts": "2026-06-18T07:23:54Z", "hours": 0.8325, "text": "the game is finished or is it? I think I’m finished because I have got online to work and did some polishing BUT online can still be laggy because the networking code blocks the rest while waiting for a msg. Yesterday it came to my mind that i should’ve used delta time to fix the lags in online from the beginning but it might be a little too late now. Maybe i’ll give it a try and see if i manage to fix it with that, other than that im finished with the game."}, {"post_id": 9947, "ts": "2026-06-16T14:02:29Z", "hours": 1.3383, "text": "Online should now be working without any errors and in normal speed. To fix the speed issue i just increased the speed of the characters while in online. I adjusted the speed based on how slow it was for me, now i don’t know if that was due to my internet being very slow or something else, so it is possible that for some people online would seem too fast but i hope that does not happen. I’ll try to test online on a different network if i get a chance but for now I’ll be focusing on polishing."}, {"post_id": 9297, "ts": "2026-06-15T16:49:00Z", "hours": 2.1597, "text": "FINALLY! I finally got online to work BUT it feels like it’s running on 0.5x the speed of the offline version. I also found out that this only happens when running online on two different devices, so it doesn’t feel slow when you both host and join on the same device. To fix that i might try to double the fps in online but what if someone has really good internet, that might make the game really fast for them. So, I’m planning on doubling the fps limit from 120 to 240 for online and see if it still feels really laggy and if it feels like that. Then I will maybe test for a while and see if i need to add a button so the player can choose between 120 or 240fps based on how much they’re lagging. AND I also made a text box so the player can type the host’s ip, almost forgot about this lol below is a screenshot of the text box"}, {"post_id": 8788, "ts": "2026-06-14T16:27:16Z", "hours": 1.0869, "text": "I got it! After trying for a while, I think i finally fixed online. Before I was sending the raw coordinates and setting them but that was making my collision/camera system behave weirdly. After trying many things, I tried to code it in a way that it uses the inputs and the coordinates. So, now the game in online takes the inputs and calculates the new coordinates and collision. And to avoid desyncs because if i only use inputs, It WILL desync at some point, so i used the distance form: √((x1 − x2)2 + (y1 − y2)^2) (y2 != y *2 it means the 2nd and first x/y) By using the distance formula, I can now calculate the distance between the players accross the different devices. Which means that i can use the inputs when the characters are slightly desynced and when they are desynced a lot, I can just straight up use the coordinates. I also have to fix the gui because i had forgotten that the player also needs to put in the ip of the host. Because of that online doesn’t work accross different devices right now. To fix that I’ll have to use a module such as the pygame gui module or fix it myself with pygame. I’m leaning more towards doing myself because I don’t really want to learn the pygame gui module and imo it should take less time if i do it myself."}, {"post_id": 8671, "ts": "2026-06-14T12:31:06Z", "hours": 2.3536, "text": "I have fixed movement and interaction in online, but now there is something wrong with the camera system. It seems like they aren’t synced which changes the game mode for one of the players. I tried to fix it in different ways, I even asked AI for help but I didn’t really understand anything. So, I’m thining about rewriting the online code, it shouldn’t take that long because its just the offline one with networking and some small changes."}, {"post_id": 7569, "ts": "2026-06-12T17:29:19Z", "hours": 2.2953, "text": "After coding, testing and debugging for a while, I got online multiplayer to work on LAN. But it is still pretty buggy. Problems i have noticed so far: the animations aren’t smooth, but glitchy and laggy the person joining can’t jump Levers can’t be activated. But the reason to that is that i haven’t sent any data regarding the levers yet because I first want to fix the movement between the devices. Other tiny bugs Tbh the code rn is pretty messy and full of bugs because i just focused on fixing the connection and transfering data between the host and the one joining, that’s why pretty much everything is buggy in online rn. So, i’ll have to work with some debugging now."}, {"post_id": 6200, "ts": "2026-06-10T12:39:29Z", "hours": 1.7628, "text": "It’s me again! I’ve just been trying out sockets these last hours and i think i have the basics down now. So, i might start with implementing them to the game. About what i said in the last devlog - that i wanted to add a backstory and maybe even a level editor. I don’t think that I want to spend more time on this project, because I already have spent a lot on it. My new plan is to just add multiplayer on local network and call it a day."}, {"post_id": 4063, "ts": "2026-06-07T07:40:23Z", "hours": 0.2819, "text": "Before i start with what i am doing/going to do in the upcoming days I’d like to talk about what i have done so far. Before joining this thing i had worked on this game at school, since it was my final project for the python course. I have worked on it for around 20 hours or maybe more than that, but i worked on it a lot in my free time because i really liked the idea of this game. I wanted to combine the sideview of mario and it takes two, I’m not a graphics designer so it obviously doesn’t look the best. Most assets were taken from itch.io and i have modified most of them and made some small things like levers and pressure plates myself. For now: Summer break is here (well not really. Right now while writing this i have 4 more school days left). After not working on this project for around 2 weeks or so, I have started again. This time I’m planning on adding multiplayer on local network with the help of sockets in python and write a little about the story of the game, I might as well add a simple level editor, but that’s the last thing im thinking of doing. As of now, i have started working on the online part and currently am working with the menu, so you can select online and then select host or join. Below is a screenshot of the base game running"}]...
|
Title: Not Alone, But Together by @naqeeb | Starda Title: Not Alone, But Together by @naqeeb | Stardance
Devlogs:
Before i start with what i am doing/going to do in the upcoming days I’d like to talk about what i have done so far. Before joining this thing i had worked on this game at school, since it was my final project for the python course. I have worked on it for around 20 hours or maybe more than that, but i worked on it a lot in my free time because i really liked the idea of this game. I wanted to combine the sideview of mario and it takes two, I’m not a graphics designer so it obviously doesn’t look the best. Most assets were taken from itch.io and i have modified most of them and made some small things like levers and pressure plates myself. For now: Summer break is here (well not really. Right now while writing this i have 4 more school days left). After not working on this project for around 2 weeks or so, I have started again. This time I’m planning on adding multiplayer on local network with the help of sockets in python and write a little about the story of the game, I might as well add a simple level editor, but that’s the last thing im thinking of doing. As of now, i have started working on the online part and currently am working with the menu, so you can select online and then select host or join. Below is a screenshot of the base game running
It’s me again! I’ve just been trying out sockets these last hours and i think i have the basics down now. So, i might start with implementing them to the game. About what i said in the last devlog - that i wanted to add a backstory and maybe even a level editor. I don’t think that I want to spend more time on this project, because I already have spent a lot on it. My new plan is to just add multiplayer on local network and call it a day.
After coding, testing and debugging for a while, I got online multiplayer to work on LAN. But it is still pretty buggy. Problems i have noticed so far: the animations aren’t smooth, but glitchy and laggy the person joining can’t jump Levers can’t be activated. But the reason to that is that i haven’t sent any data regarding the levers yet because I first want to fix the movement between the devices. Other tiny bugs Tbh the code rn is pretty messy and full of bugs because i just focused on fixing the connection and transfering data between the host and the one joining, that’s why pretty much everything is buggy in online rn. So, i’ll have to work with some debugging now.
I have fixed movement and interaction in online, but now there is something wrong with the camera system. It seems like they aren’t synced which changes the game mode for one of the players. I tried to fix it in different ways, I even asked AI for help but I didn’t really understand anything. So, I’m thining about rewriting the online code, it shouldn’t take that long because its just the offline one with networking and some small changes.
I got it! After trying for a while, I think i finally fixed online. Before I was sending the raw coordinates and setting them but that was making my collision/camera system behave weirdly. After trying many things, I tried to code it in a way that it uses the inputs and the coordinates. So, now the game in online takes the inputs and calculates the new coordinates and collision. And to avoid desyncs because if i only use inputs, It WILL desync at some point, so i used the distance form: √((x1 − x2)2 + (y1 − y2)^2) (y2 != y *2 it means the 2nd and first x/y) By using the distance formula, I can now calculate the distance between the players accross the different devices. Which means that i can use the inputs when the characters are slightly desynced and when they are desynced a lot, I can just straight up use the coordinates. I also have to fix the gui because i had forgotten that the player also needs to put in the ip of the host. Because of that online doesn’t work accross different devices right now. To fix that I’ll have to use a module such as the pygame gui module or fix it myself with pygame. I’m leaning more towards doing myself because I don’t really want to learn the pygame gui module and imo it should take less time if i do it myself.
FINALLY! I finally got online to work BUT it feels like it’s running on 0.5x the speed of the offline version. I also found out that this only happens when running online on two different devices, so it doesn’t feel slow when you both host and join on the same device. To fix that i might try to double the fps in online but what if someone has really good internet, that might make the game really fast for them. So, I’m planning on doubling the fps limit from 120 to 240 for online and see if it still feels really laggy and if it feels like that. Then I will maybe test for a while and see if i need to add a button so the player can choose between 120 or 240fps based on how much they’re lagging. AND I also made a text box so the player can type the host’s ip, almost forgot about this lol below is a screenshot of the text box
Online should now be working without any errors and in normal speed. To fix the speed issue i just increased the speed of the characters while in online. I adjusted the speed based on how slow it was for me, now i don’t know if that was due to my internet being very slow or something else, so it is possible that for some people online would seem too fast but i hope that does not happen. I’ll try to test online on a different network if i get a chance but for now I’ll be focusing on polishing.
the game is finished or is it? I think I’m finished because I have got online to work and did some polishing BUT online can still be laggy because the networking code blocks the rest while waiting for a msg. Yesterday it came to my mind that i should’ve used delta time to fix the lags in online from the beginning but it might be a little too late now. Maybe i’ll give it a try and see if i manage to fix it with that, other than that im finished with the game.
FINISHED! I removed some unnecessary files and some parts of the code which were no longer needed. Now i’m finally done with this project, now i know that this is not the best game especially with the online not being perfect and the game not responding when looking for connections, but the reason for that is that this was my first time working with networking, so i learned basic networking as i was making this game. I also learned a lot of things from this project such as animations and some basic pixelart (I only made the levers and modified the buttons to how i needed them). So, yeah. That was it :). The reason for the text being so cramped up is because for some reason I seem to be unable to use enter to change line.
Ships:
I made a 2d platformer with local co-op. The challenging part was gravity and online. And a short reflection would be that i should’ve worked with delta time, which i had completely forgotten about. Thinking back, it would’ve really helped me with fixing the movement in online. That’ll be good to remember for future projects....
|
1793065829.3274145
|
1793152229.3274145
|
|
13664
|
The Void by @Alan | Stardance
|
Alan
|
1
|
11.0
|
137
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-24T00:47:03Z", "hours": 11.0, "multiplier": 16.35, "payout": 137, "blessing": "neutral", "text": "What did I make? The Void is an anonymous thought delivery system for Stardancers. You write something, once a day, and it gets delivered to a random Stardancer somewhere. They can dissolve it forever or release it back into the void for someone else to find. No names, no likes, no algorithm. Just thoughts drifting between strangers. It has a WebGL vortex shader background, HCA login so only real Stardancers can enter, AI content moderation through Groq, and a full delivery system backed by Supabase. What was challenging? Honestly, almost everything on the backend. OAuth flows are really painful, specially when there’s like 0 documentation for how to actually use them, or atleast on my. case. Getting HCA login to work across three different URLs (the main site, the callback page, and a Vercel serverless function) took longer than building the entire frontend. CORS errors, mismatched redirect URIs, req.body being undefined for no obvious reason, a Groq model getting decommissioned mid-development. Honestly, The hardest parts where the ones where I eventually gave up and recurred to the usage of AI. It’s not really a bad thing in my opinion. People think it’s wrong to use it, but how I see it is, if you can understand your code, but you need help fix it, but there is no one available to help you with it, just use AI to understand and fix it. It is a tool for your mind, not a replacement. What am I proud of? The moment it actually worked end to end for the first time. I sent a thought from one account, opened another window as a second account, clicked “[ void speaks ]”, and saw my own words appear on screen in the color I had chosen. That moment felt like something. The vortex shader is also something I’m genuinely proud of. I had never touched WebGL or GLSL before this project and learned it from scratch specifically for this, so I feel like it’s really neat how after all this time, it has been put together in a rough beta really nice. What should people know to test it? Go to https://the-void-dusky.vercel.app and log in with your Hack Club account. Give yourself a name and pick a color. Write something true and hit release. Then come back tomorrow. If other Stardancers are using it, something will drift your way eventually. The void speaks button appears in the bottom right corner when you have a pending thought. Check back. It might take a little while for the void to find you. Honestly, I just can’t believe how this project turned out. Well, the beta at least. There is still tons of work to do. Polishing is now the only thing between the beta, and the good first public release. I plan to run the project up until the end of the event, and then in the Slack maybe even make a post with the top leaderboard of the thoughts with the highest released count, who knows!", "repo": "https://github.com/Just-Alan/The-Void", "demo": "https://the-void-dusky.vercel.app"}]...
|
[{"post_id": 33793, "ts": "202 [{"post_id": 33793, "ts": "2026-07-24T00:16:13Z", "hours": 2.1767, "text": "devlog #6 of The Void: NO WAY IT WORKS Hello, Stardancers. I’m sure the three or four people following this project will be very glad to know that, as of today July 23rd, The Void is officially open to beta!!!!!!! It’s a rough draft of the eventual thing. Missing art, sound, music, and basically everything that would make it feel polished. But right now, with this build, it is everything I could have asked for and more. So now, what was so revolucionary that it finally is on a beta status? On a very short tl;dr, the thought and delivery system finally came to life. The gist of it is as follows. You open The Void. You type something, anything, what’s weighing on you, what you can’t say out loud, whatever. You hit release. It drifts into the database, tagged with the color you chose when you first arrived. Somewhere, another Stardancer opens The Void. A small button appears in the corner of their screen. “[ void speaks ]”. They click it. Your words materialize on their screen, glowing in your color. They have two choices: dissolve it forever, or release it back into the void for someone else to find. That’s it. That’s the whole thing. And it’s so awesomesauce omg. what is happening behind the scenes: The moderation system runs every thought through Groq’s AI before it reaches anyone. If it contains hate speech or harmful content, the void rejects it. It took an embarrassingly long time to get working, mostly because the model I was using got decommissioned mid-development and nobody told me. The delivery system picks a random Stardancer from the database every time a thought is released. If they release it again, it goes to someone new. A thought that keeps getting released glows a little brighter every time, though most people won’t notice that yet. So… what’s next? Well, really glad you asked random person idk anything about! What I’m planning for the roadwork ahead is to add sound design, some visual polish, and Supabase Realtime so you actually get notified when a thought arrives without having to refresh. I just can’t believe that this idea is finally coming to life. I’ve been wanting to make it for a while, but between some complications and going to places with no way of working in, I took a long 21 day break. But now, finally, I’m ready to make my actual first project and ship it!"}, {"post_id": 20082, "ts": "2026-07-01T16:30:57Z", "hours": 2.4047, "text": "devlog #5 of The Void She star on my dance till I say hello everyone new devlog woo. Ok, so the flow of how the void works has now been updated! To keep things short, I will assume that the other devlog has already been read, and I will just add on on the new stuff. But, for a really basic tl;dr: When you press enter, the void opens the HCA login website, where you… well login. This is to both keep track of the users in the users table of data, and to know if you are a certified Stardancer™ or not. Then, it’ll promptly take you to the callback site, where it uses a code that the HCA gives in order to identify you. If succesful, the page will say “the void recognizes you” as per the video, and you will log into the void. If not, it will say “something went wrong. the void rejects you.” Simple enough. Now onto the new stuff that was added: When the callback website successfully registers your HCA code, it will take you back to The Void, now new stuff appears. You are able to choose your name, 6 characters only, and your thought color, which will be the color that your… well thoughts are in. Really self explanatory. All that info is saved in the Supabase table of users, just for a more simpler way of being able to save all the data. Now, whenever you enter the main site, it’ll check if you are already logged in. If you are, you will automatically be thrown into the main page of the void (which is the one that just says phase 5 coming soon for now). So, to summarize the technical side of stuff about what everything is doing so far: The Void itself runs on HTML, CSS and JS. Supabase is used for the database. Vercel is used for its serverless functions for the auth backend. And finally, HCA (Hack Club Auth) api is used for the login. And that’s all folks. Honestly, all of this was more easily said than done. I spent like at least 40 minutes trying to fix the connection issues between the sites. But, in the end, it worked as intended, and that’s the best I can hope for. As of moving forward, the next phase will definitely be the hardest one, which is to make the entire thought and delivery system as well as finding a way of testing it with another person. So, yeah thats cool. If anyone is reading to the bottom of this, and is cool with testing, stay updated for the next devlog where I think I will finally be able to post and ship the beta of The Void! Sleep tight everyone, don’t let the bed bugs bite."}, {"post_id": 15969, "ts": "2026-06-25T22:43:30Z", "hours": 2.1331, "text": "The voices in my head say hi stardancers. So, this is kind of a big one. Basically, the hardest problem right now was understanding how to use the HCA (Hack Club Auth) to make it so that the website recognizes that you are indeed a Stardance member. To basically skip all the hassle, it works like this: The moment you press enter, the button opens the HCA website. In my case, I was already logged in, but in browsers without a yet known Hack Club acc it will prompt to log in and use the verification code and what not. Then, when you do all that, it goes to the window in the video, where it tells you if you are sure to give that info to the website. What the website does with said info is it sends you to a callback website with a temporary code in the URL. Then, it sends said code to HCA, where it gives back a verification code that this user is indeed a hackclub certified member, more specifically, a Stardance member. After that, it uses that token to ask who is said user, where HCA responds with their ID and verif. status. If the account exist, and it’s a Stardance member, they will be let in. Otherwise, the page says “the void doesn’t recognize you” (I don’t really have a “way” of testing this, so just trust me on this one that it exists). Finally, the website saves said info, and lets you in The Void. That was more easy said than done, but with good work and like 3-4 hours later, it got done. But, on a really bad turn of events, the stardance timer didn’t get all that time, and instead logged in 2 hours only. But, it ain’t about the time spent (It actually is but what can i do honestly), but about it working, and if it works, then that’s a job well done (I guess). Oh yeah I forgot but I switched from github Pages to Vercel in order to hide my Client Secret from being pushed into the repo, which I… almost did. Like 3 times. Don’t forget to like and subscribe for future devlongs."}, {"post_id": 14474, "ts": "2026-06-23T16:36:34Z", "hours": 0.9419, "text": "What’s cooking my stardancers. I was able to put the vortex shader on the main file, so now the background for The Void is basically complete! Pure frontend as of now, so now I think it’s time to finally start working on the actual website instead of js vibes."}, {"post_id": 13544, "ts": "2026-06-22T05:05:33Z", "hours": 0.4189, "text": "Hi hello hi stardancers. Just made a very simple text sequence in a div with a button that does nothing at the bottom, nothing too fancy really. I’m just trying to get ideas captured instead of writing since I don’t really remember most of the time I write stuff? This is theorically just the intro the user would see only the first time they enter The Void. And, it’s still missing the sort of space vortex shader on the background, which I am learning to make as we speak."}, {"post_id": 11535, "ts": "2026-06-18T20:40:56Z", "hours": 2.5614, "text": "So, I had a thought. Started really simple with a small idea of making a way for people to talk with each other, but as it has developed, it has become more and more interesting and intricate. There isn’t much yet, just wanted to get an early devlog, so enjoy this simple particle code as the project goes on."}]...
|
Title: The Void by @Alan | Stardance
Devlogs:
So, Title: The Void by @Alan | Stardance
Devlogs:
So, I had a thought. Started really simple with a small idea of making a way for people to talk with each other, but as it has developed, it has become more and more interesting and intricate. There isn’t much yet, just wanted to get an early devlog, so enjoy this simple particle code as the project goes on.
Hi hello hi stardancers. Just made a very simple text sequence in a div with a button that does nothing at the bottom, nothing too fancy really. I’m just trying to get ideas captured instead of writing since I don’t really remember most of the time I write stuff? This is theorically just the intro the user would see only the first time they enter The Void. And, it’s still missing the sort of space vortex shader on the background, which I am learning to make as we speak.
What’s cooking my stardancers. I was able to put the vortex shader on the main file, so now the background for The Void is basically complete! Pure frontend as of now, so now I think it’s time to finally start working on the actual website instead of js vibes.
The voices in my head say hi stardancers. So, this is kind of a big one. Basically, the hardest problem right now was understanding how to use the HCA (Hack Club Auth) to make it so that the website recognizes that you are indeed a Stardance member. To basically skip all the hassle, it works like this: The moment you press enter, the button opens the HCA website. In my case, I was already logged in, but in browsers without a yet known Hack Club acc it will prompt to log in and use the verification code and what not. Then, when you do all that, it goes to the window in the video, where it tells you if you are sure to give that info to the website. What the website does with said info is it sends you to a callback website with a temporary code in the URL. Then, it sends said code to HCA, where it gives back a verification code that this user is indeed a hackclub certified member, more specifically, a Stardance member. After that, it uses that token to ask who is said user, where HCA responds with their ID and verif. status. If the account exist, and it’s a Stardance member, they will be let in. Otherwise, the page says “the void doesn’t recognize you” (I don’t really have a “way” of testing this, so just trust me on this one that it exists). Finally, the website saves said info, and lets you in The Void. That was more easy said than done, but with good work and like 3-4 hours later, it got done. But, on a really bad turn of events, the stardance timer didn’t get all that time, and instead logged in 2 hours only. But, it ain’t about the time spent (It actually is but what can i do honestly), but about it working, and if it works, then that’s a job well done (I guess). Oh yeah I forgot but I switched from github Pages to Vercel in order to hide my Client Secret from being pushed into the repo, which I… almost did. Like 3 times. Don’t forget to like and subscribe for future devlongs.
devlog #5 of The Void She star on my dance till I say hello everyone new devlog woo. Ok, so the flow of how the void works has now been updated! To keep things short, I will assume that the other devlog has already been read, and I will just add on on the new stuff. But, for a really basic tl;dr: When you press enter, the void opens the HCA login website, where you… well login. This is to both keep track of the users in the users table of data, and to know if you are a certified Stardancer™ or not. Then, it’ll promptly take you to the callback site, where it uses a code that the HCA gives in order to identify you. If succesful, the page will say “the void recognizes you” as per the video, and you will log into the void. If not, it will say “something went wrong. the void rejects you.” Simple enough. Now onto the new stuff that was added: When the callback website successfully registers your HCA code, it will take you back to The Void, now new stuff appears. You are able to choose your name, 6 characters only, and your thought color, which will be the color that your… well thoughts are in. Really self explanatory. All that info is saved in the Supabase table of users, just for a more simpler way of being able to save all the data. Now, whenever you enter the main site, it’ll check if you are already logged in. If you are, you will automatically be thrown into the main page of the void (which is the one that just says phase 5 coming soon for now). So, to summarize the technical side of stuff about what everything is doing so far: The Void itself runs on HTML, CSS and JS. Supabase is used for the database. Vercel is used for its serverless functions for the auth backend. And finally, HCA (Hack Club Auth) api is used for the login. And that’s all folks. Honestly, all of this was more easily said than done. I spent like at least 40 minutes trying to fix the connection issues between the sites. But, in the end, it worked as intended, and that’s the best I can hope for. As of moving forward, the next phase will definitely be the hardest one, which is to make the entire thought and delivery system as well as finding a way of testing it with another person. So, yeah thats cool. If anyone is reading to the bottom of this, and is cool with testing, stay updated for the next devlog where I think I will finally be able to post and ship the beta of The Void! Sleep tight everyone, don’t let the bed bugs bite.
devlog #6 of The Void: NO WAY IT WORKS Hello, Stardancers. I’m sure the three or four people following this project will be very glad to know that, as of today July 23rd, The Void is officially open to beta!!!!!!! It’s a rough draft of the eventual thing. Missing art, sound, music, and basically everything that would make it feel polished. But right now, with this build, it is everything I could have asked for and more. So now, what was so revolucionary that it finally is on a beta status? On a very short tl;dr, the thought and delivery system finally came to life. The gist of it is as follows. You open The Void. You type something, anything, what’s weighing on you, what you can’t say out loud, whatever. You hit release. It drifts into the database, tagged with the color you chose when you first arrived. Somewhere, another Stardancer opens The Void. A small button appears in the corner of their screen. “[ void speaks ]”. They click it. Your words materialize on their screen, glowing in your color. They have two choices: dissolve it forever, or release it back into the void for someone else to find. That’s it. That’s the whole thing. And it’s so awesomesauce omg. what is happening behind the scenes: The moderation system runs every thought through Groq’s AI before it reaches anyone. If it contains hate speech or harmful content, the void rejects it. It took an embarrassingly long time to get working, mostly because the model I was using got decommissioned mid-development and nobody told me. The delivery system picks a random Stardancer from the database every time a thought is released. If they release it again, it goes to someone new. A thought that keeps getting released glows a little brighter every time, though most people won’t notice that yet. So… what’s next? Well, really glad you asked random person idk anything about! What I’m planning for the roadwork ahead is to add sound design, some visual polish, and Supabase Realtime so you actually get notified when a thought arrives without having to refresh. I just can’t believe that this idea is finally coming to life. I’ve been wanting to make it for a while, but between some complications and going to places with no way of working in, I took a long 21 day break. But now, finally, I’m ready to make my actual first project and ship it!
Ships:
What did I make? The Void is an anonymous thought delivery system for Stardancers. You write something, once a day, and it gets delivered to a random Stardancer somewhere. They can dissolve it forever or release it back into the void for someone else to find. No names, no likes, no algorithm. Just thoughts drifting between strangers. It has a WebGL vortex shader background, HCA login so only real Stardancers can enter, AI content moderation through Groq, and a full delivery system backed by Supabase. What was challenging? Honestly, almost everything on the backend. OAuth flows are really painful, specially when there’s like 0 documentation for how to actually use them, or atleast on my. case. Getting HCA login to work across three different URLs (the main site, the callback page, and a Vercel serverless function) took longer than building the entire frontend. CORS errors, mismatched redirect URIs, req.body being undefined for no obvious reason, a Groq model getting decommissioned mid-development. Honestly, The hardest parts where the ones where I eventually gave up and recurred to the usage of AI. It’s not really a bad thing in my opinion. People think it’s wrong to use it, but how I see it is, if you can understand your code, but you need help fix it, but there is no one available to help you with it, just use AI to understand and fix it. It is a tool for your mind, not a replacement. What am I proud of? The moment it actually worked end to end for the first time. I sent a thought from one account, opened another window as a second account, clicked “[ void speaks ]”, and saw my own words appear on screen in the color I had chosen. That moment felt like something. The vortex shader is also something I’m genuinely proud of. I had never touched WebGL or GLSL before this project and learned it from scratch specifically for this, so I feel like it’s really neat how after all this time, it has been put together in a rough beta really nice. What should people know to test it? Go to https://the-void-dusky.vercel.app and log in with your Hack Club account. Give yourself a name and pick a color. Write something true and hit release. Then come back tomorrow. If other Stardancers are using it, something will drift your way eventually. The void speaks button appears in the bottom right corner when you have a pending thought. Check back. It might take a little while for the void to find you. Honestly, I just can’t believe how this project turned out. Well, the beta at least. There is still tons of work to do. Polishing is now the only thing between the beta, and the good first public release. I plan to run the project up until the end of the event, and then in the Slack maybe even make a post with the top leaderboard of the thoughts with the highest released count, who knows!...
|
1793066137.3232205
|
1793152537.3232205
|
|
18071
|
WinSentry by @Sgattix | Stardance
|
Sgattix
|
1
|
10.0
|
137
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-15T18:08:39Z", "hours": 10.0, "multiplier": 14.33, "payout": 137, "blessing": "neutral", "text": "Shipped: WinSentry v1.0 (Rust) Windows loves to treat power users like guests on their own hardware. Despite running an i7-12700K and 32GB of DDR5, I was sick of locked UI threads, disappearing taskbar icons, and silent disk-space bloating. So, I spent the last few hours building WinSentry—a lightweight, native Windows daemon built in Rust to force the OS to be clean, stable, and responsive. What it does: The 300ms UI Panic Button: A low-level global keyboard hook (Ctrl + Alt + W) that forcefully kills explorer.exe, deletes the corrupted IconCache.db file while the thread is dead, and instantly spawns a fresh shell instance. Frozen taskbars fixed instantly. Automated System Debloater: A highly optimized background runner that wakes up every 30 minutes to sweep system-generated trash paths (%TEMP%, crash dumps) without locking active files. Safe Developer Staging Queue: An on-demand CLI engine (winsentry –scan) that recursively walks user-specified workspace paths to look for massive black holes like node_modules and pycache . It stages them in a local queue.json file so you can safely review and approve the purge via winsentry –purge. Centralized Config: Everything is fully customizable via %APPDATA%/WinSentry/config.toml. Performance Profiles (Zero Bloat): Because this was built in Rust to combat OS sluggishness, it has a completely invisible footprint: Idle: 0% CPU | 2.4MB RAM (Sits quietly listening for the hotkey message loop). Peak Scan/Discovery Phase: Max 10% CPU | 5MB RAM (Even while recursively scanning thousands of developer subdirectories). Built with embedded UAC manifest integration so it automatically handles the administrative privileges required to clean up system directories right out of the box. Time to stop waiting for the OS.", "repo": "https://github.com/Sgattix/winsentry", "demo": "https://github.com/Sgattix/WinSentry/releases"}]...
|
[{"post_id": 9348, "ts": "2026 [{"post_id": 9348, "ts": "2026-06-15T18:03:32Z", "hours": 3.7375, "text": "It is finally done. After 3 hours and 40 minutes, WinSentry is complete, fully optimized, and running flawlessly. The final block of development focused entirely on the user-controlled workspace clearing engine and rigorous resource profiling. The Final Piece: The Safe Developer Staging Queue The automated system janitor is great for temp folders, but developer bloat like node_modules or pycache requires absolute user safety. How it works: I implemented a high-speed, sequential directory traversal engine. When triggered on-demand via the CLI (winsentry –scan), the tool walks through user-specified workspace paths looking for target directory names defined in the config. The Guardrail: Instead of deleting anything, the tool calculates the total directory size and flushes the data to a local state file inside %APPDATA%/WinSentry/queue.json. The Interactive Review: The user is notified via the terminal that bloat has been discovered. Running winsentry –purge loads the JSON queue and gives the user an interactive, explicit review prompt to check boxes or type all to confirm deletion. Absolute control, zero risk of accidental data loss. Production Performance Benchmarks Since this tool was built to fight Windows sluggishness, it could not afford to be heavy. Running a fast compiled systems language like Rust paid off massively. Here are the real-world metrics monitored via Windows Task Manager: Idle Footprint: 0% CPU and 0.9MB of RAM. It sits completely dormant in the background, listening for the global hotkey message loop and waiting for the 30-minute system interval. Peak Scan & Discovery Footprint: Maximum 10% CPU usage and a peak of 5MB of RAM while actively traversing thousands of subdirectories and calculating file sizes during a deep disk scan. On an NVMe and DDR5 setup, the scan completes in seconds, meaning the system never hitches and the user never has to wait for the utility. READY TO SHIP!"}, {"post_id": 8751, "ts": "2026-06-14T15:37:52Z", "hours": 3.8133, "text": "Two more hours in, and WinSentry now has a fully functioning debloating engine and a robust multi-threaded architecture. What’s new I ripped out the real-time event watcher and replaced it with a task that executes once every 30 minutes. It sleeps completely in between cycles. Performance dropped immediately back to 0% CPU on idle, achieving the exact “invisible” footprint a performance tool needs. Reworked Threading: Thread safety is locked down. The core engine now cleanly separates the global UI hotkey listener thread from the background debloating loop, ensuring a heavy system cleanup never hitches or delays the 300ms “Panic Button” response. System Debloater: The 30-minute janitor thread now actively sweeps system-generated trash paths (configured via %APPDATA%/WinSentry/config.toml). It safely bypasses active, locked files while cleanly executing deep purges on dead telemetry and crash dumps. Robust Logging & Documentation: Implemented a lightweight, structured local logging system to track exactly how many megabytes of ghost space are reclaimed over time. I also laid down the full README.md. Next Up Implementing the User-Specified Safe Queue (queue.json). I’ll be writing the directory traversal logic to detect massive developer black holes (node_modules, pycache ) and scaffolding the manual CLI review step so users can safely approve massive space reclamation."}, {"post_id": 8168, "ts": "2026-06-13T16:42:58Z", "hours": 2.1289, "text": "Windows has a bad habit of treating the user like a guest on their own machine. Despite running an i7-12700K, 32GB of DDR5, and a fast NVMe, I still run into locked UI threads, disappearing taskbar icons, and a persistent “waiting for the OS” feeling. Instead of dealing with it, I’m building WinSentry—a lightweight, native Windows daemon written in Rust designed to force the OS to be responsive and clean. What I Built (The First 2 Hours) Instead of cutting corners, I spent the first block of development setting up a bulletproof core architecture: The 300ms Panic Button: Implemented a low-level global keyboard hook using the Win32 API (RegisterHotKey). Pressing Ctrl + Alt + W forcefully kills explorer.exe, wipes the easily-corrupted local %localappdata%\\IconCache.db file while the thread is dead, clears the icons registry at HKEY_CURRENT_USER \\ Software \\ Classes \\ .png and instantly spawns a clean shell instance. Configuration System: Designed a centralized configuration system that initializes inside a specified directory. Users can customize their hotkeys and define exact target paths. Aggressive Binary Optimization: The background daemon sits completely idle at 0% CPU and takes up less than 1MB of RAM, making it practically invisible to the system. Next Up Moving on to the storage engine: Implementing ReadDirectoryChangesW for zero-overhead, real-time event tracking on high-bloat system folders (%TEMP%, crash dumps). Building the staging queue pipeline (queue.json) to safely scaffold and manually review massive developer black holes like node_modules and pycache before purging them."}]...
|
Title: WinSentry by @Sgattix | Stardance
Devlogs: Title: WinSentry by @Sgattix | Stardance
Devlogs:
Windows has a bad habit of treating the user like a guest on their own machine. Despite running an i7-12700K, 32GB of DDR5, and a fast NVMe, I still run into locked UI threads, disappearing taskbar icons, and a persistent “waiting for the OS” feeling. Instead of dealing with it, I’m building WinSentry—a lightweight, native Windows daemon written in Rust designed to force the OS to be responsive and clean. What I Built (The First 2 Hours) Instead of cutting corners, I spent the first block of development setting up a bulletproof core architecture: The 300ms Panic Button: Implemented a low-level global keyboard hook using the Win32 API (RegisterHotKey). Pressing Ctrl + Alt + W forcefully kills explorer.exe, wipes the easily-corrupted local %localappdata%\IconCache.db file while the thread is dead, clears the icons registry at HKEY_CURRENT_USER \ Software \ Classes \ .png and instantly spawns a clean shell instance. Configuration System: Designed a centralized configuration system that initializes inside a specified directory. Users can customize their hotkeys and define exact target paths. Aggressive Binary Optimization: The background daemon sits completely idle at 0% CPU and takes up less than 1MB of RAM, making it practically invisible to the system. Next Up Moving on to the storage engine: Implementing ReadDirectoryChangesW for zero-overhead, real-time event tracking on high-bloat system folders (%TEMP%, crash dumps). Building the staging queue pipeline (queue.json) to safely scaffold and manually review massive developer black holes like node_modules and pycache before purging them.
Two more hours in, and WinSentry now has a fully functioning debloating engine and a robust multi-threaded architecture. What’s new I ripped out the real-time event watcher and replaced it with a task that executes once every 30 minutes. It sleeps completely in between cycles. Performance dropped immediately back to 0% CPU on idle, achieving the exact “invisible” footprint a performance tool needs. Reworked Threading: Thread safety is locked down. The core engine now cleanly separates the global UI hotkey listener thread from the background debloating loop, ensuring a heavy system cleanup never hitches or delays the 300ms “Panic Button” response. System Debloater: The 30-minute janitor thread now actively sweeps system-generated trash paths (configured via %APPDATA%/WinSentry/config.toml). It safely bypasses active, locked files while cleanly executing deep purges on dead telemetry and crash dumps. Robust Logging & Documentation: Implemented a lightweight, structured local logging system to track exactly how many megabytes of ghost space are reclaimed over time. I also laid down the full README.md. Next Up Implementing the User-Specified Safe Queue (queue.json). I’ll be writing the directory traversal logic to detect massive developer black holes (node_modules, pycache ) and scaffolding the manual CLI review step so users can safely approve massive space reclamation.
It is finally done. After 3 hours and 40 minutes, WinSentry is complete, fully optimized, and running flawlessly. The final block of development focused entirely on the user-controlled workspace clearing engine and rigorous resource profiling. The Final Piece: The Safe Developer Staging Queue The automated system janitor is great for temp folders, but developer bloat like node_modules or pycache requires absolute user safety. How it works: I implemented a high-speed, sequential directory traversal engine. When triggered on-demand via the CLI (winsentry –scan), the tool walks through user-specified workspace paths looking for target directory names defined in the config. The Guardrail: Instead of deleting anything, the tool calculates the total directory size and flushes the data to a local state file inside %APPDATA%/WinSentry/queue.json. The Interactive Review: The user is notified via the terminal that bloat has been discovered. Running winsentry –purge loads the JSON queue and gives the user an interactive, explicit review prompt to check boxes or type all to confirm deletion. Absolute control, zero risk of accidental data loss. Production Performance Benchmarks Since this tool was built to fight Windows sluggishness, it could not afford to be heavy. Running a fast compiled systems language like Rust paid off massively. Here are the real-world metrics monitored via Windows Task Manager: Idle Footprint: 0% CPU and 0.9MB of RAM. It sits completely dormant in the background, listening for the global hotkey message loop and waiting for the 30-minute system interval. Peak Scan & Discovery Footprint: Maximum 10% CPU usage and a peak of 5MB of RAM while actively traversing thousands of subdirectories and calculating file sizes during a deep disk scan. On an NVMe and DDR5 setup, the scan completes in seconds, meaning the system never hitches and the user never has to wait for the utility. READY TO SHIP!
Ships:
Shipped: WinSentry v1.0 (Rust) Windows loves to treat power users like guests on their own hardware. Despite running an i7-12700K and 32GB of DDR5, I was sick of locked UI threads, disappearing taskbar icons, and silent disk-space bloating. So, I spent the last few hours building WinSentry—a lightweight, native Windows daemon built in Rust to force the OS to be clean, stable, and responsive. What it does: The 300ms UI Panic Button: A low-level global keyboard hook (Ctrl + Alt + W) that forcefully kills explorer.exe, deletes the corrupted IconCache.db file while the thread is dead, and instantly spawns a fresh shell instance. Frozen taskbars fixed instantly. Automated System Debloater: A highly optimized background runner that wakes up every 30 minutes to sweep system-generated trash paths (%TEMP%, crash dumps) without locking active files. Safe Developer Staging Queue: An on-demand CLI engine (winsentry –scan) that recursively walks user-specified workspace paths to look for massive black holes like node_modules and pycache . It stages them in a local queue.json file so you can safely review and approve the purge via winsentry –purge. Centralized Config: Everything is fully customizable via %APPDATA%/WinSentry/config.toml. Performance Profiles (Zero Bloat): Because this was built in Rust to combat OS sluggishness, it has a completely invisible footprint: Idle: 0% CPU | 2.4MB RAM (Sits quietly listening for the hotkey message loop). Peak Scan/Discovery Phase: Max 10% CPU | 5MB RAM (Even while recursively scanning thousands of developer subdirectories). Built with embedded UAC manifest integration so it automatically handles the administrative privileges required to clean up system directories right out of the box. Time to stop waiting for the OS....
|
1792997653.7245374
|
1793084053.7245374
|
|
21341
|
Marriage Clock 79 by @Ash-ioL | Stardance
|
Ash-ioL
|
2
|
14.0
|
137
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-10T21:15:54Z", "hours": 6.0, "multiplier": 4.91, "payout": 35, "blessing": "neutral", "text": "This update focuses on the critiques and recommendations I got from my previous ship’s reviews. It completes every request and makes the project USABLE, and more readable. The biggest challenge was deciding how to prevent the time form swiping too quickly, in the end I was able to figure out that a pause button was the best solution. At first, I was able to use this to show my parents how long they’ve been married. Now YOU also have that opportunity. Feel free to also use this as a stopwatch, or just a general time tracker since any event in history. Please see the demo video here: https://youtu.be/d_lGbp6TXaE", "repo": "https://github.com/Ash-ioL/parents-marriage-clock", "demo": "https://marriage-clock-79.vercel.app/"}, {"ship_num": 2, "ts": "2026-06-22T21:56:18Z", "hours": 8.0, "multiplier": 13.37, "payout": 102, "blessing": "neutral", "text": "Showcase video: https://youtu.be/SUqgM_ie4QI?si=yR0SwjIOD9eaOhl2 I created a marriage clock tracking the exact time my parents have been married to each other. The public version uses a random fixed time rather than the actual time for privacy reasons. The most challenging part was wrestling with CSS layout systems like CSS grid and CSS flexbox since it’s been months since I last worked with them and they just have tricky behaviors. The second challenging part was working on this while avoiding my parents to keep it as a surprise. My first drafts of anything In this project looked absolutely hideous (as expected), so I had to make a lot of minor tweaks and adjustments to get it as responsive and aesthetic as I can. But after all that, the end result was 200% worth it. I showed it to my parents and they were happy and it was a pretty nice moment. How to test my project: click the link, mess around with the arrows, and observe the magic!", "repo": "https://github.com/Ash-ioL/parents-marriage-clock", "demo": "https://marriage-clock-79.vercel.app/"}]...
|
[{"post_id": 44828, "ts": "202 [{"post_id": 44828, "ts": "2026-08-10T21:04:30Z", "hours": 1.8275, "text": "Completed! Wow… I got carried away. I know in my previous devlog I said I would finish this project the day after it, but as you can see its been like over a month now. But I guess things just got in the way like robotics, summer classes, and can’t forget about watching tv. Anyways… lets start the devlog. Features added: Time Selection Option : So now instead of just picking the date which you want the time from, you can be extra precise and pick to the last minute. Pause Button : If you want to see the time in a specific metric, you no longer have ot wait for the animation to cycle back. You can just hit the pause button to freeze what metric it shows (like seconds, minutes, years, etc). And considering my 1 month gap in web dev, I’m incredibly surprised that I managed to get this done in under 2 hours. I guess it was mainly the simplicity of the pause button. And the whole thing went pretty smoothly but I guess that’s just luck. Message The whole point of this update, is to prove that I value your reviews. I thank you Stardance shipwrights for the nice detailed reviews which helped elevate my project to whole ’nother level. Signing off, Ash-ioL"}, {"post_id": 20564, "ts": "2026-07-02T05:35:27Z", "hours": 3.4025, "text": "THE CHANGES ARE ROLLING To be honest I did not expect it to take this long to add a little bar that can take an input. But I guess it is how it is. Feature #1: Date Configuration Bar! I spent the longest on this, and this is what most of the reviews I got wanted. Half the time was layout debugging and responsiveness It is fully functional with no known bugs, successfully updating the date with the JS code and displaying the time since that date at 12am. Feature #2: Readability Someone in my reviews requested to make the note in the second page to be more readable… Well AS YOU WISH! There is now a clean, blurred, dark background around it. Feature #- Oh wait… that was it… But wait–theres more coming! (planned for tomorrow) Hour, minute, and second configuration for the time Manual control over the unit of time A nice showcase video A ship! BUG FIXES This also took up a huge chunk of time I fixed a property in css that was causing the transitions to not work correctly Fixed a big that causes the page to break when reloaded Even without the features, v2 is already turning out to be smoother, cleaner, more functional, and more responsive. I thank you reviewers for the nice detailed reviews you have given, it really helps me see my project from a different perspective. And I really do value it, which is why I am fulfilling every single suggestion. Stay tuned for the final result tomorrow. Imma go enjoy a nice (sarcasm) 7 hours of sleep now (ugh gotta get up for practice tomorrow). Signing off, Ash-ioL"}, {"post_id": 19762, "ts": "2026-07-01T04:42:12Z", "hours": 0.7681, "text": "BRINGING IT BACK– and improving! Hey yall, So after my first ship, a lot of people didn’t see much usability in it other than it being a gift for my parents. So… I couldn’t resist taking like an hour or so to create a v2 for this. So here’s the plan: Feature #1: Usability The background will be a more generic one, and you will be able to input your own parents’ marriage date and time to see how long they’ve been married. Feature #2: Control You will be able to swipe through the minutes, hours, seconds, etc. Instead of an animation playing. Excited to bring these suggestions to life! So stay up to date! Signing off, Ash-ioL"}, {"post_id": 13210, "ts": "2026-06-21T17:15:17Z", "hours": 0.4778, "text": "COMPLETE FOR REAL And just letting you all know, the one I showed my parents is unblurred and uses the real unix time they were married. The public one contains no personal information and is not the real time they were married for. Sorry for lying last devlog saying it’ll be my last. But I gotta claim my 21 mins before I ship this. What I’ve completed: Fixed the descriptions of the times being clipped due to overflow: hidden; Added text blur to the letter in the second page so that it is readable. Fixed a bug where the heart particles break the page by going outside the boundaries. As I have said in my previous log, I enjoyed making this project in the last few days and I am proud of this. When I showed my parents they really liked it and it was a nice moment. Happy wedding anniversary to my parents. Please feel free to check it out in the deployed page: https://ash-iol.github.io/parents-marriage-clock/ Signing off, Ash-ioL"}, {"post_id": 12973, "ts": "2026-06-21T07:07:51Z", "hours": 3.5811, "text": "Devlog #2 IT’S COMPLETE! Hi everyone. If you read my last devlog you may know me as the idiot with the duck background. But I’m glad to announce that the ducks will soon be retiring as they have served their purpose. Let me introduce my project as a quick refresher: So this is a marriage clock, tracking the hours minutes seconds days years etc. that my parent’s have been married. And tomorrow’s their anniversary so I plan to surprise them and show it to them :). What I have done in this session: A sliding animation showing the time my parents were married in 6 different units of time: years, months, days, hours, minutes, and seconds. Tried my best to make it aesthetic with nice fonts and color. Added a heart particle effect background. Did a lot of digging through css documentation once again Spent like 45 minutes screaming at a layout problem I struggled to fix. Did the time logic and the scaling for the units in a way that leap years don’t mess it up. Wrote a nice letter in the 2nd page Made the arrows stationary so it doesn’t look weird. A couple super duper tiny specks to do tomorrow (around 5-10 mins hopefully): One last run through to check if everything’s good. Deploy it Ship it Most exciting part-showing my parents. Since I have such little work to do, this will be my last devlog for this project. And I may not have been able to add every feature I wanted to like I envisioned and listed in my previous devlog, I’m glad how it turned out for the time I spent on it and I like how it is simple and also purposeful. Overall, I’m proud of how it turned out. Check out the repo: https://github.com/Ash-ioL/parents-marriage-clock I am gonna miss this project… sob sob. But boy am I glad I won’t have to deal with any css grid till maybe my next web project. Signing off, Ash-ioL"}, {"post_id": 12345, "ts": "2026-06-20T04:20:45Z", "hours": 3.6278, "text": "Dev Log #1: No Clock Logic YET! A little background info… So what I have here is a little surprise I’m preparing for my parents’ wedding anniversary. The end result–how I envision it–has a clock on the first container counting the time they’ve been married, and on the second container, it’ll have a little note and/or some kind words. Super excited to present it to them–not excited that I have to finish it by the end of tomorrow. Kinda busy tomorrow so we’ll see if I can get it done 🤞🤞. Why are there ducks??????!?!???!!!!!!? I know what you’re thinking: “This guy is an absolute fool for putting a picture of ducks on an anniversary gift.” Well, shame on you (in a friendly way)! The ducks are actually a temporary background so I don’t get caught in the act of creating this by my parents when they walk by (and it indeed was a good decision because it has already saved me once). For curious souls who want to know how the interaction went: Dad: What’s that Me: Umm its a duck thing Dad: what does it do Me: So uhh… so like you press the button and then… it tell you like how they quack. So for example these ducks quack like “fdsafas” and when you press the button now they quack like… like… that. So yea! Pretty good interaction. Okay anyways back to devlog stuff-> What I’ve worked on: A lot of looking through CSS documentations Created the layout of everything Added custom font and background Made the page responsive for different screen sizes Added transitions to switch between the clock page and the notes page Created custom arrow navigation with hover effects Moving forward / What’s left to do: Code the logic for the clock (which displays the time my parents have been married) Add some logic where the clock freezes and catches up (for animations) Add animations for big milestones (like months or years) Add a sliding transition for the increases Write the nice words in the notes section Add heart effects in the background Deploy it and PRESENT IT! Feel free to check out the GitHub repository: https://github.com/Ash-ioL/parents-marriage-clock . And ill be back with another update toooomoooorrrooowwwww… Signing off, Ash-ioL"}]...
|
Title: Marriage Clock 79 by @Ash-ioL | Stardance
Title: Marriage Clock 79 by @Ash-ioL | Stardance
Devlogs:
Dev Log #1: No Clock Logic YET! A little background info… So what I have here is a little surprise I’m preparing for my parents’ wedding anniversary. The end result–how I envision it–has a clock on the first container counting the time they’ve been married, and on the second container, it’ll have a little note and/or some kind words. Super excited to present it to them–not excited that I have to finish it by the end of tomorrow. Kinda busy tomorrow so we’ll see if I can get it done 🤞🤞. Why are there ducks??????!?!???!!!!!!? I know what you’re thinking: “This guy is an absolute fool for putting a picture of ducks on an anniversary gift.” Well, shame on you (in a friendly way)! The ducks are actually a temporary background so I don’t get caught in the act of creating this by my parents when they walk by (and it indeed was a good decision because it has already saved me once). For curious souls who want to know how the interaction went: Dad: What’s that Me: Umm its a duck thing Dad: what does it do Me: So uhh… so like you press the button and then… it tell you like how they quack. So for example these ducks quack like “fdsafas” and when you press the button now they quack like… like… that. So yea! Pretty good interaction. Okay anyways back to devlog stuff-> What I’ve worked on: A lot of looking through CSS documentations Created the layout of everything Added custom font and background Made the page responsive for different screen sizes Added transitions to switch between the clock page and the notes page Created custom arrow navigation with hover effects Moving forward / What’s left to do: Code the logic for the clock (which displays the time my parents have been married) Add some logic where the clock freezes and catches up (for animations) Add animations for big milestones (like months or years) Add a sliding transition for the increases Write the nice words in the notes section Add heart effects in the background Deploy it and PRESENT IT! Feel free to check out the GitHub repository: https://github.com/Ash-ioL/parents-marriage-clock . And ill be back with another update toooomoooorrrooowwwww… Signing off, Ash-ioL
Devlog #2 IT’S COMPLETE! Hi everyone. If you read my last devlog you may know me as the idiot with the duck background. But I’m glad to announce that the ducks will soon be retiring as they have served their purpose. Let me introduce my project as a quick refresher: So this is a marriage clock, tracking the hours minutes seconds days years etc. that my parent’s have been married. And tomorrow’s their anniversary so I plan to surprise them and show it to them :). What I have done in this session: A sliding animation showing the time my parents were married in 6 different units of time: years, months, days, hours, minutes, and seconds. Tried my best to make it aesthetic with nice fonts and color. Added a heart particle effect background. Did a lot of digging through css documentation once again Spent like 45 minutes screaming at a layout problem I struggled to fix. Did the time logic and the scaling for the units in a way that leap years don’t mess it up. Wrote a nice letter in the 2nd page Made the arrows stationary so it doesn’t look weird. A couple super duper tiny specks to do tomorrow (around 5-10 mins hopefully): One last run through to check if everything’s good. Deploy it Ship it Most exciting part-showing my parents. Since I have such little work to do, this will be my last devlog for this project. And I may not have been able to add every feature I wanted to like I envisioned and listed in my previous devlog, I’m glad how it turned out for the time I spent on it and I like how it is simple and also purposeful. Overall, I’m proud of how it turned out. Check out the repo: https://github.com/Ash-ioL/parents-marriage-clock I am gonna miss this project… sob sob. But boy am I glad I won’t have to deal with any css grid till maybe my next web project. Signing off, Ash-ioL
COMPLETE FOR REAL And just letting you all know, the one I showed my parents is unblurred and uses the real unix time they were married. The public one contains no personal information and is not the real time they were married for. Sorry for lying last devlog saying it’ll be my last. But I gotta claim my 21 mins before I ship this. What I’ve completed: Fixed the descriptions of the times being clipped due to overflow: hidden; Added text blur to the letter in the second page so that it is readable. Fixed a bug where the heart particles break the page by going outside the boundaries. As I have said in my previous log, I enjoyed making this project in the last few days and I am proud of this. When I showed my parents they really liked it and it was a nice moment. Happy wedding anniversary to my parents. Please feel free to check it out in the deployed page: https://ash-iol.github.io/parents-marriage-clock/ Signing off, Ash-ioL
BRINGING IT BACK– and improving! Hey yall, So after my first ship, a lot of people didn’t see much usability in it other than it being a gift for my parents. So… I couldn’t resist taking like an hour or so to create a v2 for this. So here’s the plan: Feature #1: Usability The background will be a more generic one, and you will be able to input your own parents’ marriage date and time to see how long they’ve been married. Feature #2: Control You will be able to swipe through the minutes, hours, seconds, etc. Instead of an animation playing. Excited to bring these suggestions to life! So stay up to date! Signing off, Ash-ioL
THE CHANGES ARE ROLLING To be honest I did not expect it to take this long to add a little bar that can take an input. But I guess it is how it is. Feature #1: Date Configuration Bar! I spent the longest on this, and this is what most of the reviews I got wanted. Half the time was layout debugging and responsiveness It is fully functional with no known bugs, successfully updating the date with the JS code and displaying the time since that date at 12am. Feature #2: Readability Someone in my reviews requested to make the note in the second page to be more readable… Well AS YOU WISH! There is now a clean, blurred, dark background around it. Feature #- Oh wait… that was it… But wait–theres more coming! (planned for tomorrow) Hour, minute, and second configuration for the time Manual control over the unit of time A nice showcase video A ship! BUG FIXES This also took up a huge chunk of time I fixed a property in css that was causing the transitions to not work correctly Fixed a big that causes the page to break when reloaded Even without the features, v2 is already turning out to be smoother, cleaner, more functional, and more responsive. I thank you reviewers for the nice detailed reviews you have given, it really helps me see my project from a different perspective. And I really do value it, which is why I am fulfilling every single suggestion. Stay tuned for the final result tomorrow. Imma go enjoy a nice (sarcasm) 7 hours of sleep now (ugh gotta get up for practice tomorrow). Signing off, Ash-ioL
Completed! Wow… I got carried away. I know in my previous devlog I said I would finish this project the day after it, but as you can see its been like over a month now. But I guess things just got in the way like robotics, summer classes, and can’t forget about watching tv. Anyways… lets start the devlog. Features added: Time Selection Option : So now instead of just picking the date which you want the time from, you can be extra precise and pick to the last minute. Pause Button : If you want to see the time in a specific metric, you no longer have ot wait for the animation to cycle back. You can just hit the pause button to freeze what metric it shows (like seconds, minutes, years, etc). And considering my 1 month gap in web dev, I’m incredibly surprised that I managed to get this done in under 2 hours. I guess it was mainly the simplicity of the pause button. And the whole thing went pretty smoothly but I guess that’s just luck. Message The whole point of this update, is to prove that I value your reviews. I thank you Stardance shipwrights for the nice detailed reviews which helped elevate my project to whole ’nother level. Signing off, Ash-ioL
Ships:
Showcase video: https://youtu.be/SUqgM_ie4QI?si=yR0SwjIOD9eaOhl2 I created a marriage clock tracking the exact time my parents have been married to each other. The public version uses a random fixed time rather than the actual time for privacy reasons. The most challenging part was wrestling with CSS layout systems like CSS grid and CSS flexbox since it’s been months since I last worked with them and they just have tricky behaviors. The second challenging part was working on this while avoiding my parents to keep it as a surprise. My first drafts of anything In this project looked absolutely hideous (as expected), so I had to make a lot of minor tweaks and adjustments to get it as responsive and aesthetic as I can. But after all that, the end result was 200% worth it. I showed it to my parents and they were happy and it was a pretty nice moment. How to test my project: click the link, mess around with the arrows, and observe the magic!
This update focuses on the critiques and recommendations I got from my previous ship’s reviews. It completes every request and makes the project USABLE, and more readable. The biggest challenge was deciding how to prevent the time form swiping too quickly, in the end I was able to figure out that a pause button was the best solution. At first, I was able to use this to show my parents how long they’ve been married. Now YOU also have that opportunity. Feel free to also use this as a stopwatch, or just a general time tracker since any event in history. Please see the demo video here: https://youtu.be/d_lGbp6TXaE...
|
1792997430.5725532
|
1793083830.5725532
|
|
21420
|
BikiniBot(tom) by @SP14 | Stardance
|
SP14
|
1
|
29.0
|
136
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-19T15:14:59Z", "hours": 29.0, "multiplier": 5.98, "payout": 136, "blessing": "neutral", "text": "BikiniBot(tom) is a 24/7 Slack RPG bot built around SpongeBob characters, fishing, quests, inventory, and a simple economy. I started with a basic setup where commands existed but nothing connected, nothing saved, and everything reset on restart. Over time I turned it into a working game loop where progress actually sticks using JSON storage for XP, levels, items, Sand Dollars, and quests that update as you play. Fishing has rarity tiers now and items actually change outcomes, quests track what you do in normal gameplay, and everything feeds into the same system instead of being separate commands. I also made the characters feel more distinct with better responses and small behavior changes over time, plus added a couple API commands for extra randomness. The hardest part was getting everything to work together cleanly without breaking persistence or Slack command structure as things got more complex. What I’m happiest about is that it finally feels like one connected game instead of a bunch of separate features. :))", "repo": "https://github.com/SP14-cyber/bikinibottom", "demo": "https://hackclub.enterprise.slack.com/archives/C0BBE4LHKQF"}]...
|
[{"post_id": 11952, "ts": "202 [{"post_id": 11952, "ts": "2026-06-19T14:38:22Z", "hours": 15.9189, "text": "I am ready to ship!!I started with a basic bot where most systems were just placeholders. Fishing, inventory, and shop commands existed, but they weren’t connected in any way. Nothing persisted, the economy didn’t really function, and everything reset on restart, which made it feel more like a demo than an actual game. By the end of this coding session, BikiniBot has completely turned into a real persistent RPG system inside Slack!! Inventory and Sand Dollar balances now persist using JSON storage, so every user’s progress is saved. An XP and leveling system lets players grow over time, and a full quest system now tracks objectives and rewards directly in gameplay. Item effects also matter now, like boosting fishing luck, and leaderboard/cooldown systems were improved to balance progression. API commands were upgraded with fact and joke integrations, and character systems now include milestone-based behavior changes. Gary also exists now and he responds with “meow” :)) Before this update, nothing carried over between sessions. Now every user has a persistent game state that evolves over time, making the experience feel like a real RPG. For example, the inventory now reflects actual progression such as levels, XP (like 310/500), Sand Dollars, and items like Rusty Spatulas, Glowing Coral, and Krabby Patties. Quests update automatically as you play, like collecting specific items during fishing or work actions.The core persistence system uses JSON-based user storage with auto-save on every action and safe defaults to prevent crashes. Fishing was also overhauled with rarity tiers (common through legendary), where tools like the Fishing Net increase rare drop chances from ~3% to ~8%.Quests are now fully integrated into gameplay, XP ties everything together into a progression loop, and API-based character commands add personality with safe error handling. A hidden milestone system also changes character behavior at usage thresholds (10, 25, 50, 100), adding long-term variation. So happy with how this turned out and thank you so much for following along throughout my journey!! :))"}, {"post_id": 11372, "ts": "2026-06-18T16:42:12Z", "hours": 10.2147, "text": "Today I kept building out BikiniBot and it’s starting to feel WAY more like an actual game inside Slack :)) I expanded a bunch of slash commands (about 15-16 more commands) and cleaned up how the characters respond so they don’t feel repetitive anymore. SpongeBob, Patrick, Squidward, Mr. Krabs, Sandy, Plankton, and Bubble Bass all have way more personality now and way more different responses depending on what you say !!I also connected a lot of the “game” side commands like /bikinibot-jellyfish, /bikinibot-fish, /bikinibot-work, /bikinibot-shop, /bikinibot-inventory, /bikinibot-krabby, and /bikinibot-order so they feel like they’re part of one system instead of random separate features. It’s starting to feel like an actual Bikini Bottom loop where you earn stuff, get random outcomes, and mess around with it all :) Had to fix a lot of structure issues too (Slack commands not responding, formatting inconsistencies, and making sure everything follows the same pattern), but it’s way more stable now!! Next I’m planning to keep adding MORE variety to all commands, connect inventory properly to what you actually earn (fish/jellyfish/work rewards), and keep building the economy + loot system so everything actually links together instead of being isolated features! Excited for my final steps! I’m really close to shipping :)))"}, {"post_id": 11109, "ts": "2026-06-18T05:18:22Z", "hours": 2.6897, "text": "Today I started building a Slack bot called BikiniBot!! :)) If you add a -tom to the end, it becomes the name of where the show SpongeBob Squarepants takes place! As you might guess from that fact, BikiniBot(tom) is a SpongeBob-themed bot that runs 24/7 and responds to slash commands with different Bikini Bottom characters like SpongeBob, Patrick, Squidward, Mr. Krabs, Sandy, and Plankton!! The idea is that each character has its own personality and reacts differently depending on what you type, so it feels more like interacting with characters instead of just a normal bot. I set up the whole project using Node.js and got the bot properly running in Slack. I also set up my .env file with all the tokens and got the basic structure working. After that I created a bunch of slash commands like /bikinibot-spongebob, /bikinibot-patrick, /bikinibot-squidward, /bikinibot-mrkrabs, /bikinibot-sandy, and /bikinibot-plankton!! Then I started building out different response styles for each character so they actually feel unique instead of all sounding the same. Right now SpongeBob is super energetic and excited all the time, Patrick is silly and random, Squidward is more tired and sarcastic, Mr. Krabs is all about money and profit, Sandy is more logical and science-based, and Plankton is chaotic and always talking about plans and the secret formula!! I also added some helper functions like clean(), has(), and pick() so it’s easier to handle user input and make the bot react based on keywords like “help”, “money”, “sad”, or “hello” instead of just random replies. The hardest part today was getting everything to actually respond correctly in Slack. Some commands weren’t triggering at first even though the code looked fine, so I had to go back and double check the Slack command setup and naming. It was a bit confusing because some commands worked perfectly while others just didn’t respond at all, but eventually I figured out it was just small setup issues and mismatches.Now the bot is finally running properly and feels way more interactive!! :)) It actually responds differently depending on what you say instead of just being static replies, which makes it feel a lot more alive. Next I want to add more game-like features like jellyfish catching, sand dollar money system, inventory, and maybe even a shop so it turns into a full little Bikini Bottom game inside Slack!!"}]...
|
Title: BikiniBot(tom) by @SP14 | Stardance
Devlog Title: BikiniBot(tom) by @SP14 | Stardance
Devlogs:
Today I started building a Slack bot called BikiniBot!! :)) If you add a -tom to the end, it becomes the name of where the show SpongeBob Squarepants takes place! As you might guess from that fact, BikiniBot(tom) is a SpongeBob-themed bot that runs 24/7 and responds to slash commands with different Bikini Bottom characters like SpongeBob, Patrick, Squidward, Mr. Krabs, Sandy, and Plankton!! The idea is that each character has its own personality and reacts differently depending on what you type, so it feels more like interacting with characters instead of just a normal bot. I set up the whole project using Node.js and got the bot properly running in Slack. I also set up my .env file with all the tokens and got the basic structure working. After that I created a bunch of slash commands like /bikinibot-spongebob, /bikinibot-patrick, /bikinibot-squidward, /bikinibot-mrkrabs, /bikinibot-sandy, and /bikinibot-plankton!! Then I started building out different response styles for each character so they actually feel unique instead of all sounding the same. Right now SpongeBob is super energetic and excited all the time, Patrick is silly and random, Squidward is more tired and sarcastic, Mr. Krabs is all about money and profit, Sandy is more logical and science-based, and Plankton is chaotic and always talking about plans and the secret formula!! I also added some helper functions like clean(), has(), and pick() so it’s easier to handle user input and make the bot react based on keywords like “help”, “money”, “sad”, or “hello” instead of just random replies. The hardest part today was getting everything to actually respond correctly in Slack. Some commands weren’t triggering at first even though the code looked fine, so I had to go back and double check the Slack command setup and naming. It was a bit confusing because some commands worked perfectly while others just didn’t respond at all, but eventually I figured out it was just small setup issues and mismatches.Now the bot is finally running properly and feels way more interactive!! :)) It actually responds differently depending on what you say instead of just being static replies, which makes it feel a lot more alive. Next I want to add more game-like features like jellyfish catching, sand dollar money system, inventory, and maybe even a shop so it turns into a full little Bikini Bottom game inside Slack!!
Today I kept building out BikiniBot and it’s starting to feel WAY more like an actual game inside Slack :)) I expanded a bunch of slash commands (about 15-16 more commands) and cleaned up how the characters respond so they don’t feel repetitive anymore. SpongeBob, Patrick, Squidward, Mr. Krabs, Sandy, Plankton, and Bubble Bass all have way more personality now and way more different responses depending on what you say !!I also connected a lot of the “game” side commands like /bikinibot-jellyfish, /bikinibot-fish, /bikinibot-work, /bikinibot-shop, /bikinibot-inventory, /bikinibot-krabby, and /bikinibot-order so they feel like they’re part of one system instead of random separate features. It’s starting to feel like an actual Bikini Bottom loop where you earn stuff, get random outcomes, and mess around with it all :) Had to fix a lot of structure issues too (Slack commands not responding, formatting inconsistencies, and making sure everything follows the same pattern), but it’s way more stable now!! Next I’m planning to keep adding MORE variety to all commands, connect inventory properly to what you actually earn (fish/jellyfish/work rewards), and keep building the economy + loot system so everything actually links together instead of being isolated features! Excited for my final steps! I’m really close to shipping :)))
I am ready to ship!!I started with a basic bot where most systems were just placeholders. Fishing, inventory, and shop commands existed, but they weren’t connected in any way. Nothing persisted, the economy didn’t really function, and everything reset on restart, which made it feel more like a demo than an actual game. By the end of this coding session, BikiniBot has completely turned into a real persistent RPG system inside Slack!! Inventory and Sand Dollar balances now persist using JSON storage, so every user’s progress is saved. An XP and leveling system lets players grow over time, and a full quest system now tracks objectives and rewards directly in gameplay. Item effects also matter now, like boosting fishing luck, and leaderboard/cooldown systems were improved to balance progression. API commands were upgraded with fact and joke integrations, and character systems now include milestone-based behavior changes. Gary also exists now and he responds with “meow” :)) Before this update, nothing carried over between sessions. Now every user has a persistent game state that evolves over time, making the experience feel like a real RPG. For example, the inventory now reflects actual progression such as levels, XP (like 310/500), Sand Dollars, and items like Rusty Spatulas, Glowing Coral, and Krabby Patties. Quests update automatically as you play, like collecting specific items during fishing or work actions.The core persistence system uses JSON-based user storage with auto-save on every action and safe defaults to prevent crashes. Fishing was also overhauled with rarity tiers (common through legendary), where tools like the Fishing Net increase rare drop chances from ~3% to ~8%.Quests are now fully integrated into gameplay, XP ties everything together into a progression loop, and API-based character commands add personality with safe error handling. A hidden milestone system also changes character behavior at usage thresholds (10, 25, 50, 100), adding long-term variation. So happy with how this turned out and thank you so much for following along throughout my journey!! :))
Ships:
BikiniBot(tom) is a 24/7 Slack RPG bot built around SpongeBob characters, fishing, quests, inventory, and a simple economy. I started with a basic setup where commands existed but nothing connected, nothing saved, and everything reset on restart. Over time I turned it into a working game loop where progress actually sticks using JSON storage for XP, levels, items, Sand Dollars, and quests that update as you play. Fishing has rarity tiers now and items actually change outcomes, quests track what you do in normal gameplay, and everything feeds into the same system instead of being separate commands. I also made the characters feel more distinct with better responses and small behavior changes over time, plus added a couple API commands for extra randomness. The hardest part was getting everything to work together cleanly without breaking persistence or Slack command structure as things got more complex. What I’m happiest about is that it finally feels like one connected game instead of a bunch of separate features. :))...
|
1792878661.294996
|
1793742661.294996
|
|
47813
|
pizza-ordering-web by @AyushKushwaha | Stardance
|
AyushKushwaha
|
1
|
20.0
|
136
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-02T07:10:34Z", "hours": 20.0, "multiplier": 6.72, "payout": 136, "blessing": "neutral", "text": "I have created a pizza ordering web using html , css , js , vite and firebase for backend . I have used neoburtalism ui for clean and attractive build . it has features like , add to cart , increase quantity , total amount , unique order id , and admin dashboard with auth where you can see all orders with status and view order data and make changes of status . The main challenging part was dealing with backend pushing data to firebase and retrieveing data but with firebase documaintation i did with small help with ai . I really enjoy dealing with database it was the very fun part of my project . :D This is my first biggest project , and i was very proud of myself that i have create a fulling working website with backend also . you can use check my project live demo form the ship and also from the github . thanks hope you will like and enjoy this project.", "repo": "https://github.com/ayush-bug/Pixel-pizza", "demo": "https://ayush-bug.github.io/Pixel-pizza/"}]...
|
[{"post_id": 60041, "ts": "202 [{"post_id": 60041, "ts": "2026-09-02T04:38:48Z", "hours": 0.5828, "text": "devlog-15 added admin login box link in the index page and also add a big button for make a order , and finally the pixel pizza is ready to ship ."}, {"post_id": 59729, "ts": "2026-09-01T17:38:38Z", "hours": 0.7436, "text": "devlog-14 now , added admin login in the admin dashboard to secure the data , it was simple using firebase https://firebase.google.com/docs/auth/web/password-auth every thing is almost ready i am very happy will ship it soon"}, {"post_id": 59101, "ts": "2026-08-31T18:40:39Z", "hours": 2.6494, "text": "devlog - 13 completed the admin dashboard with all the features . now you can do this all see all order check a specific order details mark order for out of deliver cancel any order suggest more features in the comment ."}, {"post_id": 58351, "ts": "2026-08-30T18:53:54Z", "hours": 0.8631, "text": "devlog -12 ** guys very funny thing happened while i am retrieve todays data in mu admin dashboard , i was coding from 11 pm something and my code started working when its about to change the date ( 5 min before 00:00 ) and i completed all the work and then run the code and check the and its not working it started showing 0 , 0 , 0 in every field , because of 00:01 am , I was about what the hell going on , then suddenly i realised that and seen the time that time i was laughing for a while and put some more data for today then the it start working again lmao ** thats all thanks"}, {"post_id": 57867, "ts": "2026-08-30T05:51:09Z", "hours": 1.2989, "text": "devlog 11 gyus actully i meshed up my mistakely but any how i done every thing in organised manner . I was about to lose all my changes but i saved it this all happend because i want make some changes in ui , after clearing all thing it took me about 1.5 hours but anyway did it guys"}, {"post_id": 57177, "ts": "2026-08-29T09:00:56Z", "hours": 1.8781, "text": "#devlog - 9 working on dasboard , to make it more comfortable for user to use (best ux of all time)"}, {"post_id": 56473, "ts": "2026-08-28T07:55:24Z", "hours": 0.8233, "text": "devlog-9 getting started with admin dashboard . It will have all the features that a good dashboard must have ."}, {"post_id": 55420, "ts": "2026-08-27T07:23:48Z", "hours": 0.9186, "text": "devlog-8 done with the backend part and added sweet alert . It was really fun to do backend T_T . some time i got stuck in sweet alert but chat gpt help me to find out the problem . it was really fun thats all for now . next move , will create a admin dashboard to manage all orders ."}, {"post_id": 54912, "ts": "2026-08-26T04:06:28Z", "hours": 1.9975, "text": "devlog-7 added firebase in menu to store the orders in the database , really working with database is fun , actually i got stuck but chatgpt helped me to beat the bug and error . more updates coming soon"}, {"post_id": 53146, "ts": "2026-08-23T16:07:21Z", "hours": 2.8447, "text": "devlog-6 now you can add item to cart , increase/decrease quantity , remove the item , and grand total ,bill is their . completed the cart part of the pixel pizza , it was really challenging , it took a lot of time to debug the code , but finally did it. thats all for today , thanks : D"}, {"post_id": 51807, "ts": "2026-08-21T17:24:54Z", "hours": 0.6731, "text": "devlog-5 added the side bar cart and updated the menu section . Any suggestion drop in the comment will sure add your idea. thats all for today ,thanks."}, {"post_id": 51258, "ts": "2026-08-20T19:53:19Z", "hours": 1.2731, "text": "Devlog-4 completing the menu section , will try to improve more and will add more features , in side total price display and also the cart in side bar . Any suggestion , comment down it will really help me thats all for today thanks"}, {"post_id": 50159, "ts": "2026-08-19T08:28:54Z", "hours": 0.7439, "text": "DEVLOP-3 currently working on menu items . please suggest something that i can add in it ."}, {"post_id": 49056, "ts": "2026-08-17T17:22:52Z", "hours": 1.4689, "text": "devlog-2 created marquee of some items and add section on how to order with that done with the main index page . next will move to create the menu page . thats all for today thanks :D"}, {"post_id": 48439, "ts": "2026-08-16T19:45:04Z", "hours": 1.5008, "text": "devlog -1 complete some part of my pizza ordering web . I gave the name as Pixel Pizza. I am using : html ,css , js , vite and will use firebase for backend"}]...
|
Title: pizza-ordering-web by @AyushKushwaha | Star Title: pizza-ordering-web by @AyushKushwaha | Stardance
Devlogs:
devlog -1 complete some part of my pizza ordering web . I gave the name as Pixel Pizza. I am using : html ,css , js , vite and will use firebase for backend
devlog-2 created marquee of some items and add section on how to order with that done with the main index page . next will move to create the menu page . thats all for today thanks :D
DEVLOP-3 currently working on menu items . please suggest something that i can add in it .
Devlog-4 completing the menu section , will try to improve more and will add more features , in side total price display and also the cart in side bar . Any suggestion , comment down it will really help me thats all for today thanks
devlog-5 added the side bar cart and updated the menu section . Any suggestion drop in the comment will sure add your idea. thats all for today ,thanks.
devlog-6 now you can add item to cart , increase/decrease quantity , remove the item , and grand total ,bill is their . completed the cart part of the pixel pizza , it was really challenging , it took a lot of time to debug the code , but finally did it. thats all for today , thanks : D
devlog-7 added firebase in menu to store the orders in the database , really working with database is fun , actually i got stuck but chatgpt helped me to beat the bug and error . more updates coming soon
devlog-8 done with the backend part and added sweet alert . It was really fun to do backend T_T . some time i got stuck in sweet alert but chat gpt help me to find out the problem . it was really fun thats all for now . next move , will create a admin dashboard to manage all orders .
devlog-9 getting started with admin dashboard . It will have all the features that a good dashboard must have .
#devlog - 9 working on dasboard , to make it more comfortable for user to use (best ux of all time)
devlog 11 gyus actully i meshed up my mistakely but any how i done every thing in organised manner . I was about to lose all my changes but i saved it this all happend because i want make some changes in ui , after clearing all thing it took me about 1.5 hours but anyway did it guys
devlog -12 ** guys very funny thing happened while i am retrieve todays data in mu admin dashboard , i was coding from 11 pm something and my code started working when its about to change the date ( 5 min before 00:00 ) and i completed all the work and then run the code and check the and its not working it started showing 0 , 0 , 0 in every field , because of 00:01 am , I was about what the hell going on , then suddenly i realised that and seen the time that time i was laughing for a while and put some more data for today then the it start working again lmao ** thats all thanks
devlog - 13 completed the admin dashboard with all the features . now you can do this all see all order check a specific order details mark order for out of deliver cancel any order suggest more features in the comment .
devlog-14 now , added admin login in the admin dashboard to secure the data , it was simple using firebase https://firebase.google.com/docs/auth/web/password-auth every thing is almost ready i am very happy will ship it soon
devlog-15 added admin login box link in the index page and also add a big button for make a order , and finally the pixel pizza is ready to ship .
Ships:
I have created a pizza ordering web using html , css , js , vite and firebase for backend . I have used neoburtalism ui for clean and attractive build . it has features like , add to cart , increase quantity , total amount , unique order id , and admin dashboard with auth where you can see all orders with status and view order data and make changes of status . The main challenging part was dealing with backend pushing data to firebase and retrieveing data but with firebase documaintation i did with small help with ai . I really enjoy dealing with database it was the very fun part of my project . :D This is my first biggest project , and i was very proud of myself that i have create a fulling working website with backend also . you can use check my project live demo form the ship and also from the github . thanks hope you will like and enjoy this project....
|
1793098253.4289088
|
1793184653.4289088
|
|
51217
|
8-Bit Jam by @tonymac129 | Stardance
|
tonymac129
|
1
|
17.0
|
136
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-26T02:46:47Z", "hours": 17.0, "multiplier": 7.94, "payout": 136, "blessing": "neutral", "text": "I finally finished building the 8-Bit Jam website for the game development hackathon that I hosted with my friends on 8/22 in Virginia!!! The event was a ton of fun and I learned a lot of stuff from this entire experience. This website is basically the central platform for the entire event, including pages with general information about the hackathon like the homepage, rules, about, schedule, sponsors, and winners pages, the auth/account system for the registrants and judges, the project management and submission site, and the judging portal and results pages for both our in-person and remote judges. I really enjoyed building this project because I literally dedicated maybe 100 hours of my summer break and my blood and sweat, so it was an amazing feeling to see everything come to life myself. I was super busy these past few days especially when school was also starting, so I only had the time to make 2 devlogs documenting this project :(", "repo": "https://github.com/8bitjam/site", "demo": "https://8bitjam.win"}]...
|
[{"post_id": 54875, "ts": "202 [{"post_id": 54875, "ts": "2026-08-26T02:39:35Z", "hours": 7.1208, "text": "8-Bit Jam is over!!! 8-Bit Jam, the game development hackathon I hosted last Saturday, 8/22, in Great Falls, Virginia, is finally over after more than 3 months of hardwork, emailing, worrying, calling, writing, marketing, building, and doing a hella ton of other stuff (I already said this in my last devlog so I won’t be repeat too much) Most of this massive 7 hour devlog’s time was spent a few days before the actual event when I was rushing and working on the site for 2 hours per day (on top of emailing sponsors, judges, participants, and preparing for the event) getting the project submission, judging, algorithmic weighing, auth, and other workflows ready for production Finished the project submission form by adding a new field for technology used in the project and tooltips explaining what to put in each field (and some people were still confused during the event ) Judges can now actually submit their ratings for each judging criterion and submit their constructive feedback (at least 30 words) for the project on the judging page Added an admin result summary page that only my account can access which displays a table with all the projects’ scores for each category, as well as their overall scores. The scores can be sorted by clicking on each table headers (project names are censored in the devlog for privacy reasons because the event took place and the scores are all real from our 100+ ratings from 12 judges) Took quite a bit of time coming up with and implementing a fair and balanced algorithm to calculate each project’s overall scores for the categories since in-person and remote judges are weighed differently. I felt so smart and stupid at the same time for making the final weird algorithm Added the winners page after the hackathon showing pictures of winners with their certificate, award, and team name, as well as photo highlights from the event Added the logo redesign submission page when the event was happening since I still had some free time in the entire 10 hours, where you can upload your 8-Bit Jam logo ideas that show up on my admin summary dashboard page for the sidequest A ton of stuff happened, this was definitely the most fun I’ve experienced in one day in a very long time, and I’m really excited to finally write a blog post about it to organize my wonderful memories of 8-Bit Jam 🥹 Updated project submission form styling and content Updated a lot of outdated info across the website both during and after the event Fixed some project form edge case bugs related to AI usage entries and saving projects Fixed many other visual and backend bugs to improve overall UI and UX Updated README"}, {"post_id": 50448, "ts": "2026-08-19T16:42:57Z", "hours": 9.9589, "text": "Preparing for the hackathon 8-Bit Jam , the game-themed high school hackathon, is finally happening in less than 3 days in Virginia !!! I’ve been working on hosting this event, including finding venues, getting sponsors, marketing, contacting judges, improving the website, managing registrations, and doing a hella ton of work along with my team (genuinely took up all my free time this entire summer ) I already made the basic website with event information listed and a simple account system a while ago near the end of Flavortown, but this time I’m finishing it for the event since it will be used as the project management and judging platform for our participants and judges I didn’t plan on devlogging the website on Stardance because I thought it would only take a few hours, but it’s turning out to be quite complicated, so might as well just document everything on here. I’ve been working on this periodically over the past few months and somehow accumulated almost 10 hours, so this devlog will be pretty massive Participants can now go to their dashboard and start managing their project information by clicking on the manage project options On the project form, they can fill in their project’s name, description, gameplay instructions, demo/repo links, team name, team members, log their AI debug usage (because generative AI is prohibited 🥹 , only debugging with AI is allowed), and upload a banner for judges to know everything about their project Judge accounts can see all submitted projects from the dashboard, and clicking on one brings them to the rating page where they can get a comprehensive overview of the project, as well as put their ratings for each criterion and provide constructive feedback in the rubric section (I definitely didn’t take inspo from the Stardance voting page ) I still need to clean up the database and put dynamic time constraints to make sure people don’t cheat the system, submit early/late, or do something else, so figuring out all the edge cases would be a pain Updated the account auth system so signing in/signing up with either credentials or OAuth actually works. Added judge accounts as well that give them access to the project rating dashboard and individual pages Updated the website with a lot of new information including our prizes, team members, judges, sponsors, detailed schedule, rules, and a bunch of links for our registration and volunteering forms Updated backend database schema and types Updated styling and page layout Fixed a lot of bugs/outdated info here and there so it’s slightly presentable to the professional audience I probably did a lot more on the website that I don’t remember, because managing a hackathon website is genuinely very tedious"}]...
|
Title: 8-Bit Jam by @tonymac129 | Stardance
Devlo Title: 8-Bit Jam by @tonymac129 | Stardance
Devlogs:
Preparing for the hackathon 8-Bit Jam , the game-themed high school hackathon, is finally happening in less than 3 days in Virginia !!! I’ve been working on hosting this event, including finding venues, getting sponsors, marketing, contacting judges, improving the website, managing registrations, and doing a hella ton of work along with my team (genuinely took up all my free time this entire summer ) I already made the basic website with event information listed and a simple account system a while ago near the end of Flavortown, but this time I’m finishing it for the event since it will be used as the project management and judging platform for our participants and judges I didn’t plan on devlogging the website on Stardance because I thought it would only take a few hours, but it’s turning out to be quite complicated, so might as well just document everything on here. I’ve been working on this periodically over the past few months and somehow accumulated almost 10 hours, so this devlog will be pretty massive Participants can now go to their dashboard and start managing their project information by clicking on the manage project options On the project form, they can fill in their project’s name, description, gameplay instructions, demo/repo links, team name, team members, log their AI debug usage (because generative AI is prohibited 🥹 , only debugging with AI is allowed), and upload a banner for judges to know everything about their project Judge accounts can see all submitted projects from the dashboard, and clicking on one brings them to the rating page where they can get a comprehensive overview of the project, as well as put their ratings for each criterion and provide constructive feedback in the rubric section (I definitely didn’t take inspo from the Stardance voting page ) I still need to clean up the database and put dynamic time constraints to make sure people don’t cheat the system, submit early/late, or do something else, so figuring out all the edge cases would be a pain Updated the account auth system so signing in/signing up with either credentials or OAuth actually works. Added judge accounts as well that give them access to the project rating dashboard and individual pages Updated the website with a lot of new information including our prizes, team members, judges, sponsors, detailed schedule, rules, and a bunch of links for our registration and volunteering forms Updated backend database schema and types Updated styling and page layout Fixed a lot of bugs/outdated info here and there so it’s slightly presentable to the professional audience I probably did a lot more on the website that I don’t remember, because managing a hackathon website is genuinely very tedious
8-Bit Jam is over!!! 8-Bit Jam, the game development hackathon I hosted last Saturday, 8/22, in Great Falls, Virginia, is finally over after more than 3 months of hardwork, emailing, worrying, calling, writing, marketing, building, and doing a hella ton of other stuff (I already said this in my last devlog so I won’t be repeat too much) Most of this massive 7 hour devlog’s time was spent a few days before the actual event when I was rushing and working on the site for 2 hours per day (on top of emailing sponsors, judges, participants, and preparing for the event) getting the project submission, judging, algorithmic weighing, auth, and other workflows ready for production Finished the project submission form by adding a new field for technology used in the project and tooltips explaining what to put in each field (and some people were still confused during the event ) Judges can now actually submit their ratings for each judging criterion and submit their constructive feedback (at least 30 words) for the project on the judging page Added an admin result summary page that only my account can access which displays a table with all the projects’ scores for each category, as well as their overall scores. The scores can be sorted by clicking on each table headers (project names are censored in the devlog for privacy reasons because the event took place and the scores are all real from our 100+ ratings from 12 judges) Took quite a bit of time coming up with and implementing a fair and balanced algorithm to calculate each project’s overall scores for the categories since in-person and remote judges are weighed differently. I felt so smart and stupid at the same time for making the final weird algorithm Added the winners page after the hackathon showing pictures of winners with their certificate, award, and team name, as well as photo highlights from the event Added the logo redesign submission page when the event was happening since I still had some free time in the entire 10 hours, where you can upload your 8-Bit Jam logo ideas that show up on my admin summary dashboard page for the sidequest A ton of stuff happened, this was definitely the most fun I’ve experienced in one day in a very long time, and I’m really excited to finally write a blog post about it to organize my wonderful memories of 8-Bit Jam 🥹 Updated project submission form styling and content Updated a lot of outdated info across the website both during and after the event Fixed some project form edge case bugs related to AI usage entries and saving projects Fixed many other visual and backend bugs to improve overall UI and UX Updated README
Ships:
I finally finished building the 8-Bit Jam website for the game development hackathon that I hosted with my friends on 8/22 in Virginia!!! The event was a ton of fun and I learned a lot of stuff from this entire experience. This website is basically the central platform for the entire event, including pages with general information about the hackathon like the homepage, rules, about, schedule, sponsors, and winners pages, the auth/account system for the registrants and judges, the project management and submission site, and the judging portal and results pages for both our in-person and remote judges. I really enjoyed building this project because I literally dedicated maybe 100 hours of my summer break and my blood and sweat, so it was an amazing feeling to see everything come to life myself. I was super busy these past few days especially when school was also starting, so I only had the time to make 2 devlogs documenting this project :(...
|
1793098464.955065
|
1793184864.955065
|
|
2737
|
Neural Network from Scratch by @stockifab | Starda Neural Network from Scratch by @stockifab | Stardance...
|
stockifab
|
1
|
12.0
|
135
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-14T13:47:27Z", "hours": 12.0, "multiplier": 13.41, "payout": 135, "blessing": "neutral", "text": "Neural Network from Scratch A fully functional neural network built using nothing but NumPy, capable of classifying MNIST handwritten digits with 90% test accuracy. My goal was actually understanding what happens under the hood. My implementation includes backpropagation from scratch, sigmoid and softmax activations, binary and categorical cross-entropy loss functions and mini-batch gradient descent. I wrapped all of this in an easy to use API: network = Network ( [ Layer ( 64 , activation = \" input \" ), Layer ( 50 ), Layer ( 30 ), Layer ( 10 , activation = \" softmax \" ), ], loss = \" categorical_crossentropy \" , ) network . fit ( X_train , y_train , epochs = 8000 , learning_rate = 1 , batch_size = 0.1 ) The math and backpropagation were the hardest parts, I derived the gradients of the cost function by hand and backpropagation didn’t really make sense to me at first. I started with mean squared error, and the gradients exploded quickly. Switching to cross-entropy fixed it. I’m really proud that I now understand why these networks are able to learn, seeing your own network learn feels amazing. You can try it out on MNIST yourself and play with the parameters in your browser without installing anything at https://neural-network-from-scratch-stockifab.streamlit.app .", "repo": "https://github.com/stockifab/Neural-Network", "demo": "https://neural-network-from-scratch-stockifab.streamlit.app/"}]...
|
[{"post_id": 8669, "ts": "2026 [{"post_id": 8669, "ts": "2026-06-14T12:24:56Z", "hours": 1.3572, "text": "Demo + Readme The network is fully working, however its difficult to see it in action. That’s why (with the help of Claude) I created a Streamlit app, so that you can try different parameters for the network in the browser. Without having to install anything locally. I also spent some time making the readme prettier and more informative."}, {"post_id": 8610, "ts": "2026-06-14T09:48:35Z", "hours": 1.2111, "text": "Training API + OneHotEncoder Cleaned up a lot of the boilerplate inside main.py . The training loop is now inside the network itself and can be called with a single fit() call handling batching, epochs, and logging: network . fit ( X_train , y_train , learning_rate = 0.1 , batch_size = 0.1 ) I also renamed a few things that were always named imprecisely. run() is now forward() , and the old fit() (which only did a single gradient step) became epoch() . This made the code much easier to read. The one-hot encoding is now its own class instead of a one-liner scattered in main.py. This was necessary because you need to decode predictions back to the original labels afterwards: encoder = OneHotEncoder () y = encoder . encode ( digits . target ) encoder . decode ( network . forward ( X_test )) I also added a train_test_split utility so I don’t have to manually slice arrays anymore."}, {"post_id": 8260, "ts": "2026-06-13T18:59:49Z", "hours": 4.2894, "text": "Softmax Activation and Digits I modified the API so that cost and activation functions can easily be changed. After opting for softmax activation at the output layer and changing the cost function to categorical cross-entropy, the model classified the numbers with 85.59% accuracy after 10.000 epochs. I’m surprised it works this well despite the small network and no regularization or tuning at all. While interesting, the math is getting really complicated now, especially deriving the softmax function is still a mystery to me, i had to look up its derivative online. I want to spend some more time understanding how the cost and the activation function “influence” each other before implementing an API to more easily train the network."}, {"post_id": 2211, "ts": "2026-06-04T16:20:36Z", "hours": 3.3214, "text": "Backpropagation It’s learning! I tried the network with a small synthetic dataset and it learned the pattern flawlessly, at least when you don’t let it run for too long: Below you can see the network’s performance (cost) at each epoch, it starts out strong - reducing the cost and getting better and better - until all of a sudden there is a massive spike and the cost goes way up again. I have no idea why this is happening, but overall I’m extremely happy that the network is learning. Next I’m going to fix this issue and then I want it to predict numbers from the MNIST dataset."}, {"post_id": 1579, "ts": "2026-06-03T18:00:35Z", "hours": 1.8164, "text": "Network Architecture + Forward Pass Wrote a basic API for modelling the network. When untrained it initializes weights and biases random. With these random values it is already capable of running a forward pass with some input data. Next I want to implement backpropagation so that the network can actually learn patterns in data."}]...
|
Title: Neural Network from Scratch by @stockifab | Title: Neural Network from Scratch by @stockifab | Stardance
Devlogs:
Network Architecture + Forward Pass Wrote a basic API for modelling the network. When untrained it initializes weights and biases random. With these random values it is already capable of running a forward pass with some input data. Next I want to implement backpropagation so that the network can actually learn patterns in data.
Backpropagation It’s learning! I tried the network with a small synthetic dataset and it learned the pattern flawlessly, at least when you don’t let it run for too long: Below you can see the network’s performance (cost) at each epoch, it starts out strong - reducing the cost and getting better and better - until all of a sudden there is a massive spike and the cost goes way up again. I have no idea why this is happening, but overall I’m extremely happy that the network is learning. Next I’m going to fix this issue and then I want it to predict numbers from the MNIST dataset.
Softmax Activation and Digits I modified the API so that cost and activation functions can easily be changed. After opting for softmax activation at the output layer and changing the cost function to categorical cross-entropy, the model classified the numbers with 85.59% accuracy after 10.000 epochs. I’m surprised it works this well despite the small network and no regularization or tuning at all. While interesting, the math is getting really complicated now, especially deriving the softmax function is still a mystery to me, i had to look up its derivative online. I want to spend some more time understanding how the cost and the activation function “influence” each other before implementing an API to more easily train the network.
Training API + OneHotEncoder Cleaned up a lot of the boilerplate inside main.py . The training loop is now inside the network itself and can be called with a single fit() call handling batching, epochs, and logging: network . fit ( X_train , y_train , learning_rate = 0.1 , batch_size = 0.1 ) I also renamed a few things that were always named imprecisely. run() is now forward() , and the old fit() (which only did a single gradient step) became epoch() . This made the code much easier to read. The one-hot encoding is now its own class instead of a one-liner scattered in main.py. This was necessary because you need to decode predictions back to the original labels afterwards: encoder = OneHotEncoder () y = encoder . encode ( digits . target ) encoder . decode ( network . forward ( X_test )) I also added a train_test_split utility so I don’t have to manually slice arrays anymore.
Demo + Readme The network is fully working, however its difficult to see it in action. That’s why (with the help of Claude) I created a Streamlit app, so that you can try different parameters for the network in the browser. Without having to install anything locally. I also spent some time making the readme prettier and more informative.
Ships:
Neural Network from Scratch A fully functional neural network built using nothing but NumPy, capable of classifying MNIST handwritten digits with 90% test accuracy. My goal was actually understanding what happens under the hood. My implementation includes backpropagation from scratch, sigmoid and softmax activations, binary and categorical cross-entropy loss functions and mini-batch gradient descent. I wrapped all of this in an easy to use API: network = Network ( [ Layer ( 64 , activation = " input " ), Layer ( 50 ), Layer ( 30 ), Layer ( 10 , activation = " softmax " ), ], loss = " categorical_crossentropy " , ) network . fit ( X_train , y_train , epochs = 8000 , learning_rate = 1 , batch_size = 0.1 ) The math and backpropagation were the hardest parts, I derived the gradients of the cost function by hand and backpropagation didn’t really make sense to me at first. I started with mean squared error, and the gradients exploded quickly. Switching to cross-entropy fixed it. I’m really proud that I now understand why these networks are able to learn, seeing your own network learn feels amazing. You can try it out on MNIST yourself and play with the parameters in your browser without installing anything at https://neural-network-from-scratch-stockifab.streamlit.app ....
|
1793094550.071503
|
1793180950.071503
|
|
10440
|
tyse by @Tawhidulh | Stardance
|
Tawhidulh
|
1
|
18.0
|
135
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-08T05:40:51Z", "hours": 18.0, "multiplier": 7.46, "payout": 135, "blessing": "neutral", "text": "I created a meta search-engine. Initially I wanted it to have a full fledged crawler, but I realized I needed lots of resources (money) t make it actually usable. Instead, I decided to transition to a searxng wrapper. I am proud that I was able to make the backend work as I had very little knowledge of spring and spring-boot.", "repo": "https://github.com/Tawhidulh1/tyse", "demo": "https://tyse.tea.hackclub.app/"}]...
|
[{"post_id": 64044, "ts": "202 [{"post_id": 64044, "ts": "2026-09-08T05:30:33Z", "hours": 6.3647, "text": "The basic search engine is complete, I added css and made it look nicer. Still need to polish the backend and add more features."}, {"post_id": 38542, "ts": "2026-08-01T00:28:03Z", "hours": 6.6828, "text": "The backend for the search engine is mostly done, I need to fix some issues with elasticsearch database and make it look good. The current index is being fetched and saved into elasticsearch through searxng as I do not have the resources to run the crawler/fetch the indexes myself, though I did add a prototype crawler. Currently this is how it works: User searches a query -> find the best results with the given query through elasticsearch, if it does not exist it fallbacks to searxng from port 8888 -> then display the result to user. This is so that I could save the search results as continue to use it, I plan on adding some sort of timer or something to update the index for outdated searches. As seen in the video, there are clearly some issues with overlapping searches."}, {"post_id": 14326, "ts": "2026-06-23T12:42:05Z", "hours": 5.0281, "text": "I added a single threaded basic web crawler for my search engine. I have yet to implement a queue system to act as the Url Frontier, instead it is a single List of String(s) to represent Url’s. This was my first time making a web crawler as well as my first time working with JSoup."}]...
|
Title: tyse by @Tawhidulh | Stardance
Devlogs:
I Title: tyse by @Tawhidulh | Stardance
Devlogs:
I added a single threaded basic web crawler for my search engine. I have yet to implement a queue system to act as the Url Frontier, instead it is a single List of String(s) to represent Url’s. This was my first time making a web crawler as well as my first time working with JSoup.
The backend for the search engine is mostly done, I need to fix some issues with elasticsearch database and make it look good. The current index is being fetched and saved into elasticsearch through searxng as I do not have the resources to run the crawler/fetch the indexes myself, though I did add a prototype crawler. Currently this is how it works: User searches a query -> find the best results with the given query through elasticsearch, if it does not exist it fallbacks to searxng from port 8888 -> then display the result to user. This is so that I could save the search results as continue to use it, I plan on adding some sort of timer or something to update the index for outdated searches. As seen in the video, there are clearly some issues with overlapping searches.
The basic search engine is complete, I added css and made it look nicer. Still need to polish the backend and add more features.
Ships:
I created a meta search-engine. Initially I wanted it to have a full fledged crawler, but I realized I needed lots of resources (money) t make it actually usable. Instead, I decided to transition to a searxng wrapper. I am proud that I was able to make the backend work as I had very little knowledge of spring and spring-boot....
|
1793004683.4630544
|
1793091083.4630544
|
|
12086
|
Hand tracker by @Selim | Stardance
|
Selim
|
2
|
17.0
|
135
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-07T18:45:43Z", "hours": 15.0, "multiplier": 8.87, "payout": 118, "blessing": "neutral", "text": "I finished the wiring up the servos to the pca9685 board and connected the servos to my 3d printed hand model and its so much fun to use and mess around with, this project is by far my favourite. Its officially done and there are two ways to use it: you can use the website hand tracker just to mess around with it, see the values of the fingers and its reaction speed. Googles media pipe model has issues as you move your hand closer and further from the webcam but there’s nothing I can do to fix as it’s an issue with the model, not my code. grab a pico, pca9685 board, breadboard and some wires, 3d printer/ access to a 3d printer and build the whole project, I will attach the 3d model and wiring diagram once I finish them so anyone can build it from scratch and have their own robotic hand at home!", "repo": "https://github.com/Echo-Sel/Hand-Tracker", "demo": "https://echo-sel.github.io/Hand-Tracker/"}, {"ship_num": 2, "ts": "2026-06-16T21:54:43Z", "hours": 2.0, "multiplier": 9.65, "payout": 17, "blessing": "neutral", "text": "I’ve finally reached a point with this code as to where I feel comfortable moving onto reprinting the hand and cleaning it up, for a potential final product! So far the code can: ✅ Host a website ✅ connect with the browser and host port ✅ allow for webcam access and capture ✅ track finger movements and turn them into percentages (with an overlay) ✅ turns the percentages into numbers that it can decipher ✅ turns the numbers into servo values ✅ move the servo’s within a 5ms time frame (requires external hardware) Next steps: 📥 Motor smoothing to allow for more fluid movements Excluding the code im going to start working on the pcb and adjusting the CAD for the actual hand model to allow for a better looking build. Im really excited to see this project finally come to an end!", "repo": "https://github.com/Echo-Sel/Hand-Tracker", "demo": "https://echo-sel.github.io/Hand-Tracker/"}]...
|
[{"post_id": 60803, "ts": "202 [{"post_id": 60803, "ts": "2026-09-03T12:21:38Z", "hours": 2.9067, "text": "I finally finished all of the functional design for my code and refreshed my html! the big new stuff I changed was the switch over to tiny web and it felt soooo much cleaner and easier to use and just look at. Since the I changed the main structure it took me a while to re organize everything to work with tiny web. I added logging everywhere because I kept running into issues where my could would just stop working, and I refreshed the html because the old colours annoyed me. I think i’m almost done now and i’m so excited to put everything together and test it! (P.S look how much cleaner the terminal output looks im in awe)"}, {"post_id": 26950, "ts": "2026-07-12T01:24:31Z", "hours": 11.99, "text": "This hand code has been traumatizing me for too long, ive restructured it and began adding PID tuning for the motors to turn more smooth and human-like, ive also been trying to bug fix packet loss and random noise being sent back and forth, im going to begin working on the pcb and maybe a third version of the projects CAD! im really excited to finally be finished with the code and take a step back and look at what ive made, hopefully you can all take this step back with me"}, {"post_id": 8292, "ts": "2026-06-13T19:44:41Z", "hours": 1.3464, "text": "Webpage refresh: I added Css to make the website look a lot better and aesthetically pleasing, I also added a slider to allow multiple hands to be tracked. For my next steps I want to add different texts boxes for each hand as currently it gets the percent openness from the least number, not the average."}, {"post_id": 4658, "ts": "2026-06-08T02:01:56Z", "hours": 0.7225, "text": "This was my first ‘real’ project where I work on the design and printing, electrical and programming all of the same system, and its taken me all year but it has been one of the funnest things I’ve done in forever. Ive been working on this project on and off starting last summer, and it has been such an amazing learning experience, I’ve been working on the code recently but with the star dance challenge opening, I thought it would be good to post this here as I continue work on it. What I have here is going to be mainly focused on the programming until I feel good with it, then I’ll move on to and quickly finish the pcb. Please feel free to try out the hand tracking software and provide feedback!"}]...
|
Title: Hand tracker by @Selim | Stardance
Devlogs Title: Hand tracker by @Selim | Stardance
Devlogs:
This was my first ‘real’ project where I work on the design and printing, electrical and programming all of the same system, and its taken me all year but it has been one of the funnest things I’ve done in forever. Ive been working on this project on and off starting last summer, and it has been such an amazing learning experience, I’ve been working on the code recently but with the star dance challenge opening, I thought it would be good to post this here as I continue work on it. What I have here is going to be mainly focused on the programming until I feel good with it, then I’ll move on to and quickly finish the pcb. Please feel free to try out the hand tracking software and provide feedback!
Webpage refresh: I added Css to make the website look a lot better and aesthetically pleasing, I also added a slider to allow multiple hands to be tracked. For my next steps I want to add different texts boxes for each hand as currently it gets the percent openness from the least number, not the average.
This hand code has been traumatizing me for too long, ive restructured it and began adding PID tuning for the motors to turn more smooth and human-like, ive also been trying to bug fix packet loss and random noise being sent back and forth, im going to begin working on the pcb and maybe a third version of the projects CAD! im really excited to finally be finished with the code and take a step back and look at what ive made, hopefully you can all take this step back with me
I finally finished all of the functional design for my code and refreshed my html! the big new stuff I changed was the switch over to tiny web and it felt soooo much cleaner and easier to use and just look at. Since the I changed the main structure it took me a while to re organize everything to work with tiny web. I added logging everywhere because I kept running into issues where my could would just stop working, and I refreshed the html because the old colours annoyed me. I think i’m almost done now and i’m so excited to put everything together and test it! (P.S look how much cleaner the terminal output looks im in awe)
Ships:
I’ve finally reached a point with this code as to where I feel comfortable moving onto reprinting the hand and cleaning it up, for a potential final product! So far the code can: ✅ Host a website ✅ connect with the browser and host port ✅ allow for webcam access and capture ✅ track finger movements and turn them into percentages (with an overlay) ✅ turns the percentages into numbers that it can decipher ✅ turns the numbers into servo values ✅ move the servo’s within a 5ms time frame (requires external hardware) Next steps: 📥 Motor smoothing to allow for more fluid movements Excluding the code im going to start working on the pcb and adjusting the CAD for the actual hand model to allow for a better looking build. Im really excited to see this project finally come to an end!
I finished the wiring up the servos to the pca9685 board and connected the servos to my 3d printed hand model and its so much fun to use and mess around with, this project is by far my favourite. Its officially done and there are two ways to use it: you can use the website hand tracker just to mess around with it, see the values of the fingers and its reaction speed. Googles media pipe model has issues as you move your hand closer and further from the webcam but there’s nothing I can do to fix as it’s an issue with the model, not my code. grab a pico, pca9685 board, breadboard and some wires, 3d printer/ access to a 3d printer and build the whole project, I will attach the 3d model and wiring diagram once I finish them so anyone can build it from scratch and have their own robotic hand at home!...
|
1793098043.6039329
|
1793184443.6039329
|
|
18570
|
Enigma by @reimunyancat | Stardance
|
reimunyancat
|
1
|
31.75
|
135
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-24T04:49:50Z", "hours": 7.0, "multiplier": 19.69, "payout": 135, "blessing": "neutral", "text": "Enigma I built a working Enigma machine you can use, take apart, and see the electricity move through — all in the browser. Not a diagram of one, not a gif: the real cipher engine, wired to a 3D model you can rotate, peel open, and rewire with your hands. What it is The brain is a historically correct Enigma engine written once in C++ and shared two ways — a CLI binary and a WASM module compiled with Emscripten — so the thing in your browser ciphers letter-for-letter the same as the command line. Double-stepping, ring settings, reflector, plugboard, all of it. It passes the standard test vector (rotors I·II·III / reflector B / rings TOU / start HOU / plugs ABCDXZ → TOUHOU encrypts to MQGGFI ). On top of that engine sits a Three.js machine you can actually operate: type on the keyboard, the rotors turn to their real angles and the matching lamp lights up. Flip on X-ray and the wooden case goes translucent, revealing all 26 wires inside — and the exact current path of the key you just pressed lights up and sparks along the wire, traced straight from the engine’s own answer. What was hard The engine was the easy part. Making it look like the real thing is what fought back. The case isn’t one lid — a real Enigma comes apart in three: the main hinged lid, a fold-down flap over the plugboard, and a separate rotor cover with little letter windows. Each one had to hinge and occlude correctly without clipping through the others. The plugboard cables kept poking through the closed front cover. I spent two rounds shrinking how far they sagged before realizing the problem was never depth — the cables sat in front of the closed cover on the z-axis, so they’d punch through the wood no matter how short I made them. Pull them back behind the cover face and it finally read right. Reflector and entry wheel looked like “a rotor with the letters erased.” Turns out on the real machine they’re fixed inside the housing and never visible from outside — so I hid them in normal view and only expose the contacts under X-ray. What I’m proud of The plugboard you wire with your hands. Grab a socket, drag to another, and a cable snaps in; the wire stretches under your cursor while you drag, the target socket highlights blue, and the patch feeds straight back into the engine so the encryption and the X-ray wiring update live. Pulling a cable out works the same way. It feels like handling the real hardware, not clicking a form. And the honesty of it: one engine, verified against a known test vector, with nothing faked between what you see and what actually ciphers. How to test it Type something. Watch the rotors step and the lamps light. Long messages show the rotors carrying over, double-step and all. Hit X-ray. The case turns to glass; press a key and follow the lit current path through plugboard → rotors → reflector → back out to the lamp. Wire the plugboard. Drag between two sockets to pair them, drag a cable out to remove it — the cipher changes immediately. Open it up. Toggle the lid, the rotor cover, and the front flap to see how the real case comes apart. Trust but verify. Set rotors I·II·III, reflector B, rings TOU, start HOU, plugs ABCDXZ, and type TOUHOU — you should get MQGGFI , the canonical Enigma test vector. ", "repo": "https://github.com/reimunyancat/enigma", "demo": "https://reimunyancat.github.io/enigma/"}]...
|
[{"post_id": 64094, "ts": "202 [{"post_id": 64094, "ts": "2026-09-08T08:48:35Z", "hours": 6.5314, "text": "Devlog #11 Last devlog ended with me calling statistics-only scoring the last fake thing in the cracker, and promising the real attack. This is that The actual attack A crib is a guessed fragment of plaintext — operators were creatures of habit, and words like “Meldung” (report) show up in everything. With a crib, the cracker stops scoring vibes entirely: every candidate setting decrypts the text, and the crib either appears in it letter-for-letter or it doesn’t. Six exact letters out of 17,576 start positions leaves one setting standing. The five short intercepts that statistics couldn’t touch now each carry a crib — FUNKEN, MORGEN, STEINECKE (the Germans really did sign Steinecke twice) — and all of them break in under a second. One historical filter made it in: a letter never encrypts to itself, so a crib can only sit where no letter collides with the ciphertext. Fixed-offset guesses get rejected on that rule before the search even runs. The answer that was wrong and right The fun started in testing. One intercept’s documented start position is SWV, but my cracker’s top hit came back RVV — and RVV decrypts the message perfectly. Letter for letter, not just the crib window. I was convinced my engine was broken, so I compiled the reference C++ natively and compared: identical output on both. It’s not a bug. This key’s middle rotor sits exactly on its notch, so the famous double-step kicks the left rotor forward on the very first keypress — (R,V,V) and (S,W,V) converge to the same machine state before a single letter is encrypted. Two daily keys, one message. The codebreakers knew this class of equivalent settings; I rediscovered it by being confused for an hour. Next up The guided demo — the machine types, X-rays its own wiring, and cracks its own message while a first-time visitor watches."}, {"post_id": 60827, "ts": "2026-09-03T13:34:28Z", "hours": 8.8478, "text": "Devlog #10 This one is two small things instead of one big thing — share links, and a challenge mode built from real 1941 intercepts — plus an embarrassing amount of time spent not writing code. Most of it still isn’t properly wired in, but the hours happened, so here’s the honest checkpoint. Share links The whole machine state — rotors, reflector, rings, start position, plugboard — plus a message now fits in the URL hash, like #I.II.III.B:TOU:HOU:ABCDXZ:HELLOWORLD . Opening the link configures the machine and runs the message through it, so the person on the other end watches their lampboard spell out the plaintext. “I encrypted this, try reading it” finally works as a link. My first version of the format forgot the reflector. Anyone opening those links would have gotten confident garbage, and I only noticed while writing the parser. It costs four characters in the URL. Real intercepts, verified I didn’t want to invent fake historical messages, so I went looking for real ones — and that hunt ate the first chunk of the day. Ended up at Ostwald and Weierud’s Cryptologia paper (2017)( https://cryptocellar.org ), which lists 13 authentic Wehrmacht messages from 1941, transcribed from the actual message forms, with keys recovered by modern cryptanalysis. I picked six — from a three-word “morning report canceled” up to an SS tank division complaining that two other divisions are blocking its road. Each form starts with a 5-letter group that looks like ciphertext but isn’t — it’s the Kenngruppe, a network discriminant. The paper warns you to skip it before decrypting, and for once I read the instructions first. All six decrypt on the site’s engine to exactly the plaintext on the forms. The cracker only spoke English The crack mode scored decryptions by English letter frequencies. These messages are German. Added a German frequency table and scored by whichever language fits better. Still not enough for the short ones. I ran a parameter sweep over the scoring weights and the 18-to-76-letter intercepts never rank first under any combination. That’s not a bug, it’s information theory — and it’s exactly why Bletchley Park needed cribs instead of brute force. So the panel is honest about it: only the 214-letter intercept gets a “Crack positions” button (it recovers the real start position, SDV, in about half a second), and the short ones say why they’re decrypt-only. Where the hours actually went Reading a cryptology paper instead of writing components. Rewriting the challenge card layout more than once. Re-running the sweep every time I changed my mind about the scoring. The code diff is small; the day was not. The remaining wiring is still in progress. Next up Crib-based cracking, the known-plaintext attack. That’s what actually breaks the short ones, and it’s the historically accurate method"}, {"post_id": 57387, "ts": "2026-08-29T15:02:55Z", "hours": 9.3711, "text": "Improvements made based on feedback English + Korean support has been applied. English is the default. There was a point raised in the feedback that the translator did not work properly, making it difficult to read. I apologize for not being considerate of you all. A guide panel has been added. It was added because feedback suggested that it would be helpful to have text explanations of how it works. A brief explanation of the Enigma and its principles has been added using a translator. A performance mode has been added. I received feedback that the browser was lagging, so I was struggling to figure out how to handle it. Depending on the mode, I lowered the pixel ratio or optimized the wiring calculations. The logo engraving has been changed. The black background plate has been removed, and a transparent texture with a dark groove and a bright rim has been created using a dual pass to make it look like it was carved into wood. To be honest, it still hasn’t reached the level I wanted, but I have wasted so much time here that I am honestly exhausted and plan to postpone it until next time. Rotation lock and camera presets have been added. I simply did exactly what was requested in the feedback, so there isn’t much to say about it. The crack mode was created simply because I was caught up in the strange idea that if there is an original cipher, there should also be a decryption function. It was the absolute hell; I will never do it again. Web workers use the same WASM engine as the simulator to [set] initial positions Scoring through brute force is difficult, involving the Interval of Concordance (IoC) as the primary axis plus the chi-square auxiliary for character frequency, plaintext previews for the top 5, and a button to apply directly to the machine… Trial and error: When I scored only the first 48 characters of each candidate in the full scope, a completely wrong rotor order happened to get a higher IoC and beat the correct answer (0.0677 vs 0.0651). However, when I selected the top 8 from a 64-character sample and re-scored and reordered the entire sentence, the correct answer won by a landslide (0.058 vs 0.012). Complete reconstruction of X-ray wiring. Honestly, I left the existing wiring as it was because it was a hassle, but it was tough working on it this time. I roughly standardized the thickness and connected the wires properly. Honestly, I still need to tidy it up a bit more, but I’m exhausted. Lastly, since some people claim my devlog was written by AI, I intentionally didn’t write a title or use Markdown this time. However, I’m not sure what the best approach would be. Please give me lots of feedback in the comments."}, {"post_id": 14774, "ts": "2026-06-24T00:17:32Z", "hours": 1.18, "text": "Devlog #6 I asked the question — “is this actually accurate?” — and the answer was no. A real Enigma’s case isn’t one big lid you flip up. It splits into three: the main hinged lid, a fold-down flap in front of the plugboard, and a separate cover over the rotors with little letter windows. So I rebuilt all three. What actually works now Plugboard front flap. On the real machine the plugboard sat behind a panel that folds down from a hinge at the bottom. I added that front panel and tied it to the lid state, so closing the lid folds the flap up over the front too — the way it would look packed away for transport. Rotor cover (Walzenabdeckung). Instead of leaving the rotors fully exposed, there’s now a cover that hides everything except three letter windows and the finger-wheel slits, with brass bezels around each window. It rides its own ▢ 로터 toggle — closed gives the authentic operating look, open shows the rotors. Lid interior. The inside of the lid used to be empty; the real one carried spare bulbs, red/green filters, and a metal plate. Added a bulb-holder strip, the two filters, and a nameplate — and kept them on independent materials so they stay solid in X-ray instead of going transparent along with the case. Stuff that tripped me up Fully sinking the rotors into a well — so only the finger wheel and a single letter peek out, like the real machine — tangles with the X-ray wiring coordinates I’d already placed. Rather than move all the internal geometry, I got the same read from the cover: close it and you only ever see the letter windows. Same look, none of the rework."}, {"post_id": 14017, "ts": "2026-06-23T00:16:51Z", "hours": 1.0214, "text": "Devlog #5 The engine has been correct for a while now — rotor stepping, ring settings, reflector, all of it. This session wasn’t about correctness, it was about feel : making the wooden lid open and shut for real, and making a keypress light up an actual path of current through the machine instead of just blinking a lamp at the end. Then I committed all three changes in one go and the build blew up in my face. Worth it. What actually works now The lid hinges open and closed. A ▣ 뚜껑 toggle drives a hinge pivot, and the render loop lerps it toward the target angle so it swings instead of snapping shut. Rebuilt the lid as a real box. My first lid was a single flat plank — it clipped straight through the rotors and only covered half the keyboard. Now it’s a hollow box (top + front + two side walls) with the hinge raised above the rotor tops, so it clears everything when it closes. Live current path. Until now, pressing a key did nothing to the cabling — the keyboard-to-plugboard route was never visualized at all. Now I take the trace the engine hands back and draw the whole route — keycap → plugboard → rotor contacts → lamp — as one glowing tube, with a spark running along it. Heavier materials pass. Nudged the wood/brass/steel roughness, metalness, and env-map strength a notch heavier to kill the last of the plastic look. Stuff that tripped me up I committed all three changes at once and the build died on boot — three TypeScript errors, all from one mistake. My new lid store collided with an existing lid mesh variable, so the compiler threw Property 'subscribe' does not exist... , an implicit- any fell out of that, and on top of it I’d pasted over and deleted a partnerOf helper. Aliasing the import to lidStore and restoring the helper cleared all three at once. Lesson, paid the usual way: when you add a store with the same name as an existing mesh variable, alias it at the import line first — before TypeScript makes you. Next up The case opens and the wiring lights up, but it isn’t historically right yet. The real Enigma’s case came apart in three pieces — the main lid, a fold-down flap in front of the plugboard, and a separate cover over the rotors — and mine is still one lid sitting over fully exposed rotors. Next session: make it match the real thing."}, {"post_id": 12366, "ts": "2026-06-20T05:50:39Z", "hours": 2.8122, "text": "X-ray mode This is the part I said I was actually here for. Flip a switch and the wooden case turns to glass so you can see what’s been sealed inside the whole time. Getting it to look right was the fun part. Getting it to stay working cost me the better part of an afternoon. What I built Case → glass. The casing shells (body, rotor housing, plugboard panel) drop to ~28% opacity with depth-writing turned off, so you can see straight through the wood. A lit interior. A warm point light kicks on inside the case the moment X-ray turns on — otherwise the guts just read as a dark smudge instead of actual hardware. The hidden hardware. Built everything that’s normally sealed away: a battery block with brass terminals, and thick orange cable looms routing down beneath the rotors. The wiring map. A 26-strand bundle draws the actual internal permutation for the current rotor / ring / position setup, so what you see under the glass matches what the engine is really doing. Then it went dark — on a fresh load only Everything looked perfect while I was building it. Then I cleared the cache, cold-booted the dev server to check it clean… and X-ray did nothing . Solid wood. The button highlighted, the wiring was clearly toggling on, the opacity was being set — and the case flat-out refused to turn transparent. I burned a good while convinced a git reset had eaten the fix. The one-line culprit It wasn’t git — the code was byte-for-byte the version I’d already signed off on. The real reason: in three.js (r137+), if you flip a material’s transparent flag at runtime, the change won’t take effect unless you also set material.needsUpdate = true . My toggle was setting transparent and opacity but never needsUpdate , so blending never actually switched on and opacity = 0.28 was silently ignored. It “worked” during development purely because hot-reload kept rebuilding the materials from scratch — a real cold load exposed it instantly. One line in the toggle loop and the glass came back. Next up: make the current actually flow — each keypress lighting up the live signal path through the rotors and off the reflector, with a real cable running from the key you pressed into the loom, so the glow starts where your finger does."}, {"post_id": 11108, "ts": "2026-06-18T05:15:28Z", "hours": 1.0419, "text": "Hardware fidelity pass — “wait, is this actually what the real Enigma looks like?” After the electrical signal path was rendering, I pulled up real Kriegsmarine M4 photos to compare — and the 3D model didn’t hold up. So before adding anything new, this one is a “make it historically accurate first” pass. What was wrong Floating letters. The rotor alphabet was hovering in mid-air beside each wheel instead of being on it. On the real machine the letters are engraved around the rotor’s circumference and you read one through a small window. The reflector and entry wheel looked fake. They were basically copy-pasted rotors with the letters wiped off. In reality the reflector (UKW) and entry wheel (ETW) are fixed and tucked inside the housing — there are no spinning lettered drums there at all. Lopsided UI. A huge dead zone under the input field was squashing the 3D view into a thin strip. Input/output drift. The I/O readout was center-aligned, so every keypress shoved the existing letters further left. Genuinely uncomfortable to type on. What I did Wrapped the alphabet onto the rotor circumference with engraved grooves, contact rings, and brass window bezels, so you read it through the top window like the real thing. Rebuilt the reflector and ETW as smaller dark drums seated in the housing, and set them to stay hidden in the normal view — they’ll surface later in X-ray mode, where the internal wiring belongs. Set the 3D viewport to flex: 1 so it fills the space, and re-framed the camera. Switched the I/O readout to a fixed-width, left-anchored layout, so input and output line up and grow rightward instead of sliding around. A lesson paid for in blood Squashed a stack of messy single-digit commits into one clean commit — then ran git reset --hard with an uncommitted layout fix still in the working tree and watched it evaporate. Re-did it in two minutes, but the takeaway stands: run git status before --hard . Always. Next up: the X-ray translucent mode that exposes the internal wiring and lights up the live signal path through the rotors. That’s the part I actually started this whole thing for."}, {"post_id": 9008, "ts": "2026-06-15T00:56:55Z", "hours": 0.5225, "text": "Electrical signal implementation"}, {"post_id": 8746, "ts": "2026-06-14T15:27:12Z", "hours": 0.3472, "text": "I created an initial version to beautifully implement the existing CLI Enigma on the web."}]...
|
Title: Enigma by @reimunyancat | Stardance
Devlog Title: Enigma by @reimunyancat | Stardance
Devlogs:
I created an initial version to beautifully implement the existing CLI Enigma on the web.
Electrical signal implementation
Hardware fidelity pass — “wait, is this actually what the real Enigma looks like?” After the electrical signal path was rendering, I pulled up real Kriegsmarine M4 photos to compare — and the 3D model didn’t hold up. So before adding anything new, this one is a “make it historically accurate first” pass. What was wrong Floating letters. The rotor alphabet was hovering in mid-air beside each wheel instead of being on it. On the real machine the letters are engraved around the rotor’s circumference and you read one through a small window. The reflector and entry wheel looked fake. They were basically copy-pasted rotors with the letters wiped off. In reality the reflector (UKW) and entry wheel (ETW) are fixed and tucked inside the housing — there are no spinning lettered drums there at all. Lopsided UI. A huge dead zone under the input field was squashing the 3D view into a thin strip. Input/output drift. The I/O readout was center-aligned, so every keypress shoved the existing letters further left. Genuinely uncomfortable to type on. What I did Wrapped the alphabet onto the rotor circumference with engraved grooves, contact rings, and brass window bezels, so you read it through the top window like the real thing. Rebuilt the reflector and ETW as smaller dark drums seated in the housing, and set them to stay hidden in the normal view — they’ll surface later in X-ray mode, where the internal wiring belongs. Set the 3D viewport to flex: 1 so it fills the space, and re-framed the camera. Switched the I/O readout to a fixed-width, left-anchored layout, so input and output line up and grow rightward instead of sliding around. A lesson paid for in blood Squashed a stack of messy single-digit commits into one clean commit — then ran git reset --hard with an uncommitted layout fix still in the working tree and watched it evaporate. Re-did it in two minutes, but the takeaway stands: run git status before --hard . Always. Next up: the X-ray translucent mode that exposes the internal wiring and lights up the live signal path through the rotors. That’s the part I actually started this whole thing for.
X-ray mode This is the part I said I was actually here for. Flip a switch and the wooden case turns to glass so you can see what’s been sealed inside the whole time. Getting it to look right was the fun part. Getting it to stay working cost me the better part of an afternoon. What I built Case → glass. The casing shells (body, rotor housing, plugboard panel) drop to ~28% opacity with depth-writing turned off, so you can see straight through the wood. A lit interior. A warm point light kicks on inside the case the moment X-ray turns on — otherwise the guts just read as a dark smudge instead of actual hardware. The hidden hardware. Built everything that’s normally sealed away: a battery block with brass terminals, and thick orange cable looms routing down beneath the rotors. The wiring map. A 26-strand bundle draws the actual internal permutation for the current rotor / ring / position setup, so what you see under the glass matches what the engine is really doing. Then it went dark — on a fresh load only Everything looked perfect while I was building it. Then I cleared the cache, cold-booted the dev server to check it clean… and X-ray did nothing . Solid wood. The button highlighted, the wiring was clearly toggling on, the opacity was being set — and the case flat-out refused to turn transparent. I burned a good while convinced a git reset had eaten the fix. The one-line culprit It wasn’t git — the code was byte-for-byte the version I’d already signed off on. The real reason: in three.js (r137+), if you flip a material’s transparent flag at runtime, the change won’t take effect unless you also set material.needsUpdate = true . My toggle was setting transparent and opacity but never needsUpdate , so blending never actually switched on and opacity = 0.28 was silently ignored. It “worked” during development purely because hot-reload kept rebuilding the materials from scratch — a real cold load exposed it instantly. One line in the toggle loop and the glass came back. Next up: make the current actually flow — each keypress lighting up the live signal path through the rotors and off the reflector, with a real cable running from the key you pressed into the loom, so the glow starts where your finger does.
Devlog #5 The engine has been correct for a while now — rotor stepping, ring settings, reflector, all of it. This session wasn’t about correctness, it was about feel : making the wooden lid open and shut for real, and making a keypress light up an actual path of current through the machine instead of just blinking a lamp at the end. Then I committed all three changes in one go and the build blew up in my face. Worth it. What actually works now The lid hinges open and closed. A ▣ 뚜껑 toggle drives a hinge pivot, and the render loop lerps it toward the target angle so it swings instead of snapping shut. Rebuilt the lid as a real box. My first lid was a single flat plank — it clipped straight through the rotors and only covered half the keyboard. Now it’s a hollow box (top + front + two side walls) with the hinge raised above the rotor tops, so it clears everything when it closes. Live current path. Until now, pressing a key did nothing to the cabling — the keyboard-to-plugboard route was never visualized at all. Now I take the trace the engine hands back and draw the whole route — keycap → plugboard → rotor contacts → lamp — as one glowing tube, with a spark running along it. Heavier materials pass. Nudged the wood/brass/steel roughness, metalness, and env-map strength a notch heavier to kill the last of the plastic look. Stuff that tripped me up I committed all three changes at once and the build died on boot — three TypeScript errors, all from one mistake. My new lid store collided with an existing lid mesh variable, so the compiler threw Property 'subscribe' does not exist... , an implicit- any fell out of that, and on top of it I’d pasted over and deleted a partnerOf helper. Aliasing the import to lidStore and restoring the helper cleared all three at once. Lesson, paid the usual way: when you add a store with the same name as an existing mesh variable, alias it at the import line first — before TypeScript makes you. Next up The case opens and the wiring lights up, but it isn’t historically right yet. The real Enigma’s case came apart in three pieces — the main lid, a fold-down flap in front of the plugboard, and a separate cover over the rotors — and mine is still one lid sitting over fully exposed rotors. Next session: make it match the real thing.
Devlog #6 I asked the question — “is this actually accurate?” — and the answer was no. A real Enigma’s case isn’t one big lid you flip up. It splits into three: the main hinged lid, a fold-down flap in front of the plugboard, and a separate cover over the rotors with little letter windows. So I rebuilt all three. What actually works now Plugboard front flap. On the real machine the plugboard sat behind a panel that folds down from a hinge at the bottom. I added that front panel and tied it to the lid state, so closing the lid folds the flap up over the front too — the way it would look packed away for transport. Rotor cover (Walzenabdeckung). Instead of leaving the rotors fully exposed, there’s now a cover that hides everything except three letter windows and the finger-wheel slits, with brass bezels around each window. It rides its own ▢ 로터 toggle — closed gives the authentic operating look, open shows the rotors. Lid interior. The inside of the lid used to be empty; the real one carried spare bulbs, red/green filters, and a metal plate. Added a bulb-holder strip, the two filters, and a nameplate — and kept them on independent materials so they stay solid in X-ray instead of going transparent along with the case. Stuff that tripped me up Fully sinking the rotors into a well — so only the finger wheel and a single letter peek out, like the real machine — tangles with the X-ray wiring coordinates I’d already placed. Rather than move all the internal geometry, I got the same read from the cover: close it and you only ever see the letter windows. Same look, none of the rework.
Improvements made based on feedback English + Korean support has been applied. English is the default. There was a point raised in the feedback that the translator did not work properly, making it difficult to read. I apologize for not being considerate of you all. A guide panel has been added. It was added because feedback suggested that it would be helpful to have text explanations of how it works. A brief explanation of the Enigma and its principles has been added using a translator. A performance mode has been added. I received feedback that the browser was lagging, so I was struggling to figure out how to handle it. Depending on the mode, I lowered the pixel ratio or optimized the wiring calculations. The logo engraving has been changed. The black background plate has been removed, and a transparent texture with a dark groove and a bright rim has been created using a dual pass to make it look like it was carved into wood. To be honest, it still hasn’t reached the level I wanted, but I have wasted so much time here that I am honestly exhausted and plan to postpone it until next time. Rotation lock and camera presets have been added. I simply did exactly what was requested in the feedback, so there isn’t much to say about it. The crack mode was created simply because I was caught up in the strange idea that if there is an original cipher, there should also be a decryption function. It was the absolute hell; I will never do it again. Web workers use the same WASM engine as the simulator to [set] initial positions Scoring through brute force is difficult, involving the Interval of Concordance (IoC) as the primary axis plus the chi-square auxiliary for character frequency, plaintext previews for the top 5, and a button to apply directly to the machine… Trial and error: When I scored only the first 48 characters of each candidate in the full scope, a completely wrong rotor order happened to get a higher IoC and beat the correct answer (0.0677 vs 0.0651). However, when I selected the top 8 from a 64-character sample and re-scored and reordered the entire sentence, the correct answer won by a landslide (0.058 vs 0.012). Complete reconstruction of X-ray wiring. Honestly, I left the existing wiring as it was because it was a hassle, but it was tough working on it this time. I roughly standardized the thickness and connected the wires properly. Honestly, I still need to tidy it up a bit more, but I’m exhausted. Lastly, since some people claim my devlog was written by AI, I intentionally didn’t write a title or use Markdown this time. However, I’m not sure what the best approach would be. Please give me lots of feedback in the comments.
Devlog #10 This one is two small things instead of one big thing — share links, and a challenge mode built from real 1941 intercepts — plus an embarrassing amount of time spent not writing code. Most of it still isn’t properly wired in, but the hours happened, so here’s the honest checkpoint. Share links The whole machine state — rotors, reflector, rings, start position, plugboard — plus a message now fits in the URL hash, like #I.II.III.B:TOU:HOU:ABCDXZ:HELLOWORLD . Opening the link configures the machine and runs the message through it, so the person on the other end watches their lampboard spell out the plaintext. “I encrypted this, try reading it” finally works as a link. My first version of the format forgot the reflector. Anyone opening those links would have gotten confident garbage, and I only noticed while writing the parser. It costs four characters in the URL. Real intercepts, verified I didn’t want to invent fake historical messages, so I went looking for real ones — and that hunt ate the first chunk of the day. Ended up at Ostwald and Weierud’s Cryptologia paper (2017)( https://cryptocellar.org ), which lists 13 authentic Wehrmacht messages from 1941, transcribed from the actual message forms, with keys recovered by modern cryptanalysis. I picked six — from a three-word “morning report canceled” up to an SS tank division complaining that two other divisions are blocking its road. Each form starts with a 5-letter group that looks like ciphertext but isn’t — it’s the Kenngruppe, a network discriminant. The paper warns you to skip it before decrypting, and for once I read the instructions first. All six decrypt on the site’s engine to exactly the plaintext on the forms. The cracker only spoke English The crack mode scored decryptions by English letter frequencies. These messages are German. Added a German frequency table and scored by whichever language fits better. Still not enough for the short ones. I ran a parameter sweep over the scoring weights and the 18-to-76-letter intercepts never rank first under any combination. That’s not a bug, it’s information theory — and it’s exactly why Bletchley Park needed cribs instead of brute force. So the panel is honest about it: only the 214-letter intercept gets a “Crack positions” button (it recovers the real start position, SDV, in about half a second), and the short ones say why they’re decrypt-only. Where the hours actually went Reading a cryptology paper instead of writing components. Rewriting the challenge card layout more than once. Re-running the sweep every time I changed my mind about the scoring. The code diff is small; the day was not. The remaining wiring is still in progress. Next up Crib-based cracking, the known-plaintext attack. That’s what actually breaks the short ones, and it’s the historically accurate method
Devlog #11 Last devlog ended with me calling statistics-only scoring the last fake thing in the cracker, and promising the real attack. This is that The actual attack A crib is a guessed fragment of plaintext — operators were creatures of habit, and words like “Meldung” (report) show up in everything. With a crib, the cracker stops scoring vibes entirely: every candidate setting decrypts the text, and the crib either appears in it letter-for-letter or it doesn’t. Six exact letters out of 17,576 start positions leaves one setting standing. The five short intercepts that statistics couldn’t touch now each carry a crib — FUNKEN, MORGEN, STEINECKE (the Germans really did sign Steinecke twice) — and all of them break in under a second. One historical filter made it in: a letter never encrypts to itself, so a crib can only sit where no letter collides with the ciphertext. Fixed-offset guesses get rejected on that rule before the search even runs. The answer that was wrong and right The fun started in testing. One intercept’s documented start position is SWV, but my cracker’s top hit came back RVV — and RVV decrypts the message perfectly. Letter for letter, not just the crib window. I was convinced my engine was broken, so I compiled the reference C++ natively and compared: identical output on both. It’s not a bug. This key’s middle rotor sits exactly on its notch, so the famous double-step kicks the left rotor forward on the very first keypress — (R,V,V) and (S,W,V) converge to the same machine state before a single letter is encrypted. Two daily keys, one message. The codebreakers knew this class of equivalent settings; I rediscovered it by being confused for an hour. Next up The guided demo — the machine types, X-rays its own wiring, and cracks its own message while a first-time visitor watches.
Ships:
Enigma I built a working Enigma machine you can use, take apart, and see the electricity move through — all in the browser. Not a diagram of one, not a gif: the real cipher engine, wired to a 3D model you can rotate, peel open, and rewire with your hands. What it is The brain is a historically correct Enigma engine written once in C++ and shared two ways — a CLI binary and a WASM module compiled with Emscripten — so the thing in your browser ciphers letter-for-letter the same as the command line. Double-stepping, ring settings, reflector, plugboard, all of it. It passes the standard test vector (rotors I·II·III / reflector B / rings TOU / start HOU / plugs ABCDXZ → TOUHOU encrypts to MQGGFI ). On top of that engine sits a Three.js machine you can actually operate: type on the keyboard, the rotors turn to their real angles and the matching lamp lights up. Flip on X-ray and the wooden case goes translucent, revealing all 26 wires inside — and the exact current path of the key you just pressed lights up and sparks along the wire, traced straight from the engine’s own answer. What was hard The engine was the easy part. Making it look like the real thing is what fought back. The case isn’t one lid — a real Enigma comes apart in three: the main hinged lid, a fold-down flap over the plugboard, and a separate rotor cover with little letter windows. Each one had to hinge and occlude correctly without clipping through the others. The plugboard cables kept poking through the closed front cover. I spent two rounds shrinking how far they sagged before realizing the problem was never depth — the cables sat in front of the closed cover on the z-axis, so they’d punch through the wood no matter how short I made them. Pull them back behind the cover face and it finally read right. Reflector and entry wheel looked like “a rotor with the letters erased.” Turns out on the real machine they’re fixed inside the housing and never visible from outside — so I hid them in normal view and only expose the contacts under X-ray. What I’m proud of The plugboard you wire with your hands. Grab a socket, drag to another, and a cable snaps in; the wire stretches under your cursor while you drag, the target socket highlights blue, and the patch feeds straight back into the engine so the encryption and the X-ray wiring update live. Pulling a cable out works the same way. It feels like handling the real hardware, not clicking a form. And the honesty of it: one engine, verified against a known test vector, with nothing faked between what you see and what actually ciphers. How to test it Type something. Watch the rotors step and the lamps light. Long messages show the rotors carrying over, double-step and all. Hit X-ray. The case turns to glass; press a key and follow the lit current path through plugboard → rotors → reflector → back out to the lamp. Wire the plugboard. Drag between two sockets to pair them, drag a cable out to remove it — the cipher changes immediately. Open it up. Toggle the lid, the rotor cover, and the front flap to see how the real case comes apart. Trust but verify. Set rotors I·II·III, reflector B, rings TOU, start HOU, plugs ABCDXZ, and type TOUHOU — you should get MQGGFI , the canonical Enigma test vector. ...
|
1792860520.874676
|
1793724520.874676
|
|
44201
|
FFACore by @Polokalap | Stardance
|
Polokalap
|
1
|
21.09
|
135
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-11T15:21:54Z", "hours": 17.0, "multiplier": 9.06, "payout": 135, "blessing": "neutral", "text": "Minecraft FFA Plugin This is a Minecraft FFA plugin designed to make it easy to create and manage arenas where players can fight each other. The plugin comes with a variety of configurable options, including things like: Block-breaking permissions Arena regeneration times Arena-specific settings And other options to help customize how each arena works The goal was to keep the plugin as simple and minimal as possible. You can use it as the foundation for a complete FFA server, similar to servers like Stray.gg, especially when combined with NPC plugins and other server-side tools. I intentionally kept the plugin lightweight and didn’t add things like custom death messages. The idea is to provide the core functionality without adding unnecessary features or complexity. Requirements Server software: Paper 1.21.11 Java: Java 25 recommended You can get Paper from the official website: PaperMC Java versions lower than 25 should work in theory, although Java 25 is the version I personally use and recommend. Don’t want to set up a server? Watch this video! Yes I also hate AI, but I wanted to make this as easy to read and understand as possible. Unlike other people, I actually read the stuff it gave me.", "repo": "https://github.com/Polokalap/FFACore", "demo": "https://github.com/Polokalap/FFACore/releases/tag/v1.0"}]...
|
[{"post_id": 57510, "ts": "202 [{"post_id": 57510, "ts": "2026-08-29T17:55:26Z", "hours": 3.1914, "text": "Added filters :o Added a filter system that basically doesn’t allow the users to break, place or craft certain blocks."}, {"post_id": 53256, "ts": "2026-08-23T18:15:24Z", "hours": 0.8972, "text": "Message to the reviewer (image unreleated) EDIT!!!!!! In slack, they told this should be fine!!!"}, {"post_id": 44910, "ts": "2026-08-10T23:42:54Z", "hours": 0.5347, "text": "Cleaning up some stuff, edited readme"}, {"post_id": 44886, "ts": "2026-08-10T22:38:16Z", "hours": 3.6814, "text": "Added Combat System, Warps and Item Dropping option! The latest version includes a combat system. Here’s how it works: If a user is in an arena and attacks/is attacked by another player, they get tagged and cannot log on until it expires . The tag gets set to 30 seconds by default. This helps prevent combat logging , which is basically leaving from a fight to save your K/D ratio or items. If you log off while tagged, you die . Drop option You can now enable or disable if items should be dropped after death. Warps Users can now type /warp to warp to an arena. They cannot do that in combat to prevent combat logging."}, {"post_id": 42273, "ts": "2026-08-06T22:04:47Z", "hours": 0.4386, "text": "Added more options to arena editing Now you can access the arena adding options to the arena editing menu!"}, {"post_id": 42242, "ts": "2026-08-06T21:11:43Z", "hours": 0.2536, "text": "Added arena system! An arena system has been added that allows you to make arenas with: Block Break/Place permissions Block decay time Explosion Damage/Block breaking Map regeneration time When creating the arena, you need to select 2 points with a wand you get from the /selection-wand command. Then, you can type the /add-arena <name> command, that opens the menu you can view in the first picture. When you are done configuring the arena, you can click the Confirm button which saves the map as a schematic and creates the arena. If you want to edit the map, or you simply just want to regenerate it, you can enter the /arenas <name> command, which brings up the menu seen in the third image, or you can just simply type /arenas to open the menu seen in the second image, where you can browse the arenas. When editing an arena, currently you can only reset it, delete it and rename it. In a future update, I’ll add the other settings too. If you are wondering, yes this was written by me. I just use a frick ton of markdown, and like to format my messages. AI wasn’t used in this message at all."}, {"post_id": 42153, "ts": "2026-08-06T19:18:41Z", "hours": 11.6236, "text": "Still creating stuff, don’t worry! A big devlog will be created soon of how stuff works. I am just creating an arena system and don’t want to lose hours on it."}]...
|
Title: FFACore by @Polokalap | Stardance
Devlogs: Title: FFACore by @Polokalap | Stardance
Devlogs:
Still creating stuff, don’t worry! A big devlog will be created soon of how stuff works. I am just creating an arena system and don’t want to lose hours on it.
Added arena system! An arena system has been added that allows you to make arenas with: Block Break/Place permissions Block decay time Explosion Damage/Block breaking Map regeneration time When creating the arena, you need to select 2 points with a wand you get from the /selection-wand command. Then, you can type the /add-arena <name> command, that opens the menu you can view in the first picture. When you are done configuring the arena, you can click the Confirm button which saves the map as a schematic and creates the arena. If you want to edit the map, or you simply just want to regenerate it, you can enter the /arenas <name> command, which brings up the menu seen in the third image, or you can just simply type /arenas to open the menu seen in the second image, where you can browse the arenas. When editing an arena, currently you can only reset it, delete it and rename it. In a future update, I’ll add the other settings too. If you are wondering, yes this was written by me. I just use a frick ton of markdown, and like to format my messages. AI wasn’t used in this message at all.
Added more options to arena editing Now you can access the arena adding options to the arena editing menu!
Added Combat System, Warps and Item Dropping option! The latest version includes a combat system. Here’s how it works: If a user is in an arena and attacks/is attacked by another player, they get tagged and cannot log on until it expires . The tag gets set to 30 seconds by default. This helps prevent combat logging , which is basically leaving from a fight to save your K/D ratio or items. If you log off while tagged, you die . Drop option You can now enable or disable if items should be dropped after death. Warps Users can now type /warp to warp to an arena. They cannot do that in combat to prevent combat logging.
Cleaning up some stuff, edited readme
Message to the reviewer (image unreleated) EDIT!!!!!! In slack, they told this should be fine!!!
Added filters :o Added a filter system that basically doesn’t allow the users to break, place or craft certain blocks.
Ships:
Minecraft FFA Plugin This is a Minecraft FFA plugin designed to make it easy to create and manage arenas where players can fight each other. The plugin comes with a variety of configurable options, including things like: Block-breaking permissions Arena regeneration times Arena-specific settings And other options to help customize how each arena works The goal was to keep the plugin as simple and minimal as possible. You can use it as the foundation for a complete FFA server, similar to servers like Stray.gg, especially when combined with NPC plugins and other server-side tools. I intentionally kept the plugin lightweight and didn’t add things like custom death messages. The idea is to provide the core functionality without adding unnecessary features or complexity. Requirements Server software: Paper 1.21.11 Java: Java 25 recommended You can get Paper from the official website: PaperMC Java versions lower than 25 should work in theory, although Java 25 is the version I personally use and recommend. Don’t want to set up a server? Watch this video! Yes I also hate AI, but I wanted to make this as easy to read and understand as possible. Unlike other people, I actually read the stuff it gave me....
|
1792997332.3244717
|
1793083732.3244717
|
|
50692
|
Plasma Speakers by @sidd | Stardance
|
sidd
|
1
|
0.0
|
135
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-01T14:47:36Z", "hours": 0.0, "multiplier": 5.0, "payout": 135, "blessing": "neutral", "text": "Stereo speakers that use real plasma to create sound", "repo": "https://github.com/Firestorm108/Stereo-Plasma-Speaker", "demo": ""}]...
|
[{"post_id": 56086, "ts": "202 [{"post_id": 56086, "ts": "2026-07-06T00:00:00Z", "hours": 5.0, "text": "Finished the build!"}, {"post_id": 56085, "ts": "2026-07-05T00:00:00Z", "hours": 3.0, "text": "Added in ports, did some more wiring, and made a second amp for the 555 signal. Time Spent: 3 Hours"}, {"post_id": 56084, "ts": "2026-07-04T00:00:00Z", "hours": 2.0, "text": "Added in adjustment pots, did some more wiring to the 555s, etc."}, {"post_id": 56083, "ts": "2026-07-03T00:00:00Z", "hours": 2.0, "text": "Got to work building Rev. 2, since this has to work for outpost. My wiring is a little cleaner this time and also I have the 555 timer wired differently so it should work. Time Spent: 2 Hours"}, {"post_id": 56082, "ts": "2026-07-02T00:00:00Z", "hours": 6.0, "text": "I did like the whole thing and finished it. But basically the 555 timers aren’t oscillating right, and the signal from RCA jacks is going straight to FETs. And it kinda worked. like, I heard music play through magnetic restriction of the transformer core lol, but not plasma. Time Spent: 6 Hours"}, {"post_id": 56081, "ts": "2026-07-01T00:00:00Z", "hours": 2.0, "text": "Started off with logic PSU and basic signals from the RCA jacks w/ the transistor amps."}, {"post_id": 56080, "ts": "2026-06-22T00:00:00Z", "hours": 7.0, "text": "First, I decided what the project’s scope was going to look like. High-powered transformers are usually driven through Zero-Voltage Switching or ZVS. However, when you want to adjust frequency and duty cycle, or if you just want to make a cheaper driver, you can use a 555 oscillator as the core. However, this is more inefficient and creates more heat. However, it’s what I went with because it is easier to modulate frequency of the arc based on audio signals. First, I made the ‘power supply’ for the logic components. Some people limit the primary voltage to the max the interrupter can handle, which is 16V. However, I wanted to drive my transformers at 24V. This meant I had to make my own mini regulator for 12V so that the logic components wouldn’t get fried. After that, I made a 555 timer based oscillator that took in input from an RCA jack. I then put it all together and assigned footprints. I imported the footprints in, organized it, and routed it. This was kinda a pain due to high currents through thick traces while also routing delicate signals. After that I made the BOM, and found the other non PCB parts. I think it’ll be cool and I’m like pretty sure it’s going to work. I’ll then polish the repo and submit. Time Spent: 7 Hours"}]...
|
Title: Plasma Speakers by @sidd | Stardance
Devlo Title: Plasma Speakers by @sidd | Stardance
Devlogs:
First, I decided what the project’s scope was going to look like. High-powered transformers are usually driven through Zero-Voltage Switching or ZVS. However, when you want to adjust frequency and duty cycle, or if you just want to make a cheaper driver, you can use a 555 oscillator as the core. However, this is more inefficient and creates more heat. However, it’s what I went with because it is easier to modulate frequency of the arc based on audio signals. First, I made the ‘power supply’ for the logic components. Some people limit the primary voltage to the max the interrupter can handle, which is 16V. However, I wanted to drive my transformers at 24V. This meant I had to make my own mini regulator for 12V so that the logic components wouldn’t get fried. After that, I made a 555 timer based oscillator that took in input from an RCA jack. I then put it all together and assigned footprints. I imported the footprints in, organized it, and routed it. This was kinda a pain due to high currents through thick traces while also routing delicate signals. After that I made the BOM, and found the other non PCB parts. I think it’ll be cool and I’m like pretty sure it’s going to work. I’ll then polish the repo and submit. Time Spent: 7 Hours
Started off with logic PSU and basic signals from the RCA jacks w/ the transistor amps.
I did like the whole thing and finished it. But basically the 555 timers aren’t oscillating right, and the signal from RCA jacks is going straight to FETs. And it kinda worked. like, I heard music play through magnetic restriction of the transformer core lol, but not plasma. Time Spent: 6 Hours
Got to work building Rev. 2, since this has to work for outpost. My wiring is a little cleaner this time and also I have the 555 timer wired differently so it should work. Time Spent: 2 Hours
Added in adjustment pots, did some more wiring to the 555s, etc.
Added in ports, did some more wiring, and made a second amp for the 555 signal. Time Spent: 3 Hours
Finished the build!
Ships:
Stereo speakers that use real plasma to create sound...
|
1793098292.9533732
|
1793184692.9533732
|
|
51038
|
dagit by @Lxsh-S | Stardance
|
Lxsh-S
|
2
|
14.0
|
135
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-24T15:40:40Z", "hours": 1.0, "multiplier": 8.6, "payout": 5, "blessing": "neutral", "text": "The ony changes we have made is fix some issues with the way we fetch data from github. I wouldn’t have shipped this but I currently have 34 stardust and urgently need 1 to buy some electronics for my other project :). Please be kind", "repo": "https://github.com/lxsh-S/dagit", "demo": "https://github.com/lxsh-S/dagit/releases"}, {"ship_num": 2, "ts": "2026-08-26T15:21:21Z", "hours": 13.0, "multiplier": 10.32, "payout": 130, "blessing": "neutral", "text": "DAGIT SHIP1 I have built a terminal TUI git visualizer that beautifully displays your git repository on the terminal. Challenging part Dagit has four small sections [left panel/visualizer/status panel/logs] . I first thought there would be no resizing issues because I’m using bubble-tea and built all there sections’ skeletons, as bubble-tea doesn’t automatically handle the resize event(got to know later). I manually tried to fix it in my own broken ways and found somewhat of a solution that feels and looks good A Breakdown of the project dagit refuses to launch if we don’t open it inside a git repo. We fetch all the data by running git commands. Currently in the left panel we have the following information: * Repo name * The repo's owner name * Current branch * The url of the remote In the vizualizer: * hash of the commit * Reference * the committer name * The time of the commit * We also beautify the graph and show it in this section Log section: * Hash of commit * Commit message * Committer name Status panel: * Modified, staged files are shown here The user can toggle between the visualizer and the status panel using v The user can also choose between my predefined tick rates [500ms/1s/3s/5s/10s] . By default the tick rate is set to 1sec Proud Of how quickly I have understood the git docs and used it to build this project that makes git look so much better for the newbies. Also that I have finally made a project that is not very complicated for the user to use like gos was. lmao Also handling resize events was a bit of headache and it feels so much better now. I feel proud because of that too :shy Do we need to set something before? No, but if you wanna install it using go , you need to have go installed :) Note: The releases page only has a darwin(macos) and linux version. So I recommend using wsl on windows to enjoy the beauty of dagit Installation the simplest way to install dagit is using the AUR: yay -S dagit-bin Using go : go install github.com/lxsh-S/dagit@latest You can also install it from the github releases page (Make sure you get the latest version)", "repo": "https://github.com/lxsh-S/dagit", "demo": "https://github.com/lxsh-S/dagit/releases"}]...
|
[{"post_id": 73190, "ts": "202 [{"post_id": 73190, "ts": "2026-09-24T15:39:08Z", "hours": 0.5869, "text": "Update #1 There isnt much we have fixed some issues that were being cause because of the way we fetch data from git"}, {"post_id": 55058, "ts": "2026-08-26T14:18:54Z", "hours": 2.4206, "text": "DAGIT DEVLOG 5 yoo once again! I’ve worked on the features I’ve been delaying and let’s see the progress Progress Overview I first worked on the idea i got yesterday A status panel to see staged/modified files Then I tried to work on scrollbars in the git log and the visualizer but I failed to do so I just scrapped it completely and reset the repo to the after status panel state After scrapping that, I worked on the tick rate selection Intervals of time at which we update the data displayed in the TUI DETAIL The status panel idea had come when I was surfing git hub and was just looking at lazygit (A far better project than dagit btw). I saw the same panel there and thought of adding it here because it would make more sense, although dagit is different from lazygit (dagit is only trying to visualze git not become a workflow) The scrollbars were out of my league I already knew that but still gave a try. I dont think I would be giving up on the idea. I’ll just watch some tutorials on bubbletea and scrollbars specifically before working on it again At first, I thought I would make the tick rate selector a separate panel where we would just scroll through different intervals of time, but as I consider myself lazy I just thought of adding it in such a way that instead of scrolling we change the tick rate with the press of buttons. Although the max tickrate is already small(10sec) I recommend using 1sec on small projects"}, {"post_id": 53053, "ts": "2026-08-23T13:28:02Z", "hours": 2.8308, "text": "DAGIT DEVLOG 4 Yoo! I’ve made soo many updates and the resizing /clipping issues are still eating my brain like bugs Progress overview Decreased the sizes of reference being displayed also truncated lines in the gitlog so that the vertical clipping stops I completely styled the UI using lipgloss and it looks soo much better now Added highlighting to the head of the repo that pops a little more Refactored the old way of refreshing the data Refactored the code to increase readability Explain The git logs were looking odd because when the commit messages were long , the log that should only take the space of one line was now also taking space in the second line. So we fixed it using truncateMessages() function As we are pushig to multiple tags . The reference also gets long and causes a clipping issue again. So we again simply dosent let the refs be that long[But the current implementation can cause the line to break suddenly that may not look good all the time]- // Stop 'refs' being too long if lipgloss.Width(refs) > 30 { refs = refs[:27] + \"...\" } And as dagit is a live visualizer, I removed the old way of refreshing the data[clicking [r] to refresh]. Now what we do is use tea.Tick and the time library to refresh the data every 1 second. Issues that can be caused We are currently refreshing data every second that can put a lot more load on the system when used inside a big repository, So in infuture I’m gonna work to give the user a way to choose the tick Rate What im gonna work on now Scrollbar for gitlog and also visualizer A tick rate selector File status panel that can be toggled with the visualizer A way to search for different repo’s in the user’s computer and jumping between them(something like the nvim feature of finding files) –im not really sure of this"}, {"post_id": 52869, "ts": "2026-08-23T07:39:28Z", "hours": 0.7267, "text": "DAGIT DEVLOG 3 Yay! we have got the release workflow up and running What we are doing what we do is make new binaries name dagit-linux-amd64.tar.gz and dagit-darwin-arm64.tar.gz and push them to our releases page with the tag given while pushing to the repo We also push to the AUR!! . So all the I use arch btw people can download it easily Installation AUR yay -S dagit-bin Run in a github repo ,ie paste-> dagit Github releases go to the releases page and download the binaries zip, extract it and run in a github repo"}, {"post_id": 52542, "ts": "2026-08-22T18:20:33Z", "hours": 3.5672, "text": "DAGIT DEVLOG 2 We’ve improved the TUI soo much!! What I’ve done Got gitlog working with hash, commit message and the contibuter Made a somewhat good looking git visualizer and fixed the horizontal and vertical border issue caused by big lines (reference mainly) Styled the git visualizer with charm’s lipgloss Fixed border issues in the footer and git log too Also made dagit resize when the user makes the terminal window larger but idk why it doesnt work when the terminal window is shortened I also added a resize keybind r to reload the data in the TUI so that the user does not need to stop it and run again for it to update to latest info Issues faced I haven’t faced any big issue in particular but figuring out resizing is the only thing that eats my brain Where I spent the most time I have spent the most time making the visualizer , lemme explain a little of it’s woking !! First we fetch the git log graph from git and then we spread the graph by using SpreadGraph function in graph.go to make it look a little better Then we get 15 of the graph lines into out TUI and then render it using lipgloss [Man charm’s tool are soo cool and make CLI/TUI look soo good]. Although we don’t see all the 15 lines as we dont have a scroll feature for now What we are going to do Style it Fetch number of commits done to the repo and display it Add scrollbar to git visualizer _ Also add scrollbar to git log -Not sure What I currently feel When I was planning to make dagit, I felt it’ll be different and will attract people towards it but it’s not upto my expectation. I thinking to adding some feature that will make more people use it"}, {"post_id": 51644, "ts": "2026-08-21T12:59:40Z", "hours": 3.0086, "text": "DAGIT DEVLOG 1 (BTW WHOEVER ADDED EMOJIS OPTION SHOULD BE PROMOTED ) Hii, I’m making a TUI application that beautifully visualizes your GitHub repo inside your terminal!! Note -> This devlog is a compilation of 2 days of work that I’ll explain What I have done DAY 1: I started working on dagit with first: Checking if the current directory is a git repo or not If yes, we first fetch the repo name along with owner of the repo the remote url of current repo current branch Lmao, this was all I did on day 1 DAY 2 Today the fun began I started working on the TUI section I started with a simple bubble tea list TUI to remember the simple things that I had forgot in these many days Then I used bubbletea to render the left panel containing the the data we fetched from day one but I realised that this is messed up cuz I wont be able to make different sections for the visualizer and the git log history When I searched for a fix I saw lipgloss and then integrated it with our current setup I used lip gloss to make diffferent sections for our TUI. The sections that I currently want in the TUI left panel/middle(visualizer)/ bottom(git log) along with the footer like nvim But I forgot about the resizing problem and idk anything about how I’m going to fix it like other TUI’s do so I’m donna leave it like tat for now What I’m gonna do Make it look prettier Get the git log because it’s gonna be easier than the visualizer Make my shit code look a little better"}]...
|
Title: dagit by @Lxsh-S | Stardance
Devlogs:
DAGI Title: dagit by @Lxsh-S | Stardance
Devlogs:
DAGIT DEVLOG 1 (BTW WHOEVER ADDED EMOJIS OPTION SHOULD BE PROMOTED ) Hii, I’m making a TUI application that beautifully visualizes your GitHub repo inside your terminal!! Note -> This devlog is a compilation of 2 days of work that I’ll explain What I have done DAY 1: I started working on dagit with first: Checking if the current directory is a git repo or not If yes, we first fetch the repo name along with owner of the repo the remote url of current repo current branch Lmao, this was all I did on day 1 DAY 2 Today the fun began I started working on the TUI section I started with a simple bubble tea list TUI to remember the simple things that I had forgot in these many days Then I used bubbletea to render the left panel containing the the data we fetched from day one but I realised that this is messed up cuz I wont be able to make different sections for the visualizer and the git log history When I searched for a fix I saw lipgloss and then integrated it with our current setup I used lip gloss to make diffferent sections for our TUI. The sections that I currently want in the TUI left panel/middle(visualizer)/ bottom(git log) along with the footer like nvim But I forgot about the resizing problem and idk anything about how I’m going to fix it like other TUI’s do so I’m donna leave it like tat for now What I’m gonna do Make it look prettier Get the git log because it’s gonna be easier than the visualizer Make my shit code look a little better
DAGIT DEVLOG 2 We’ve improved the TUI soo much!! What I’ve done Got gitlog working with hash, commit message and the contibuter Made a somewhat good looking git visualizer and fixed the horizontal and vertical border issue caused by big lines (reference mainly) Styled the git visualizer with charm’s lipgloss Fixed border issues in the footer and git log too Also made dagit resize when the user makes the terminal window larger but idk why it doesnt work when the terminal window is shortened I also added a resize keybind r to reload the data in the TUI so that the user does not need to stop it and run again for it to update to latest info Issues faced I haven’t faced any big issue in particular but figuring out resizing is the only thing that eats my brain Where I spent the most time I have spent the most time making the visualizer , lemme explain a little of it’s woking !! First we fetch the git log graph from git and then we spread the graph by using SpreadGraph function in graph.go to make it look a little better Then we get 15 of the graph lines into out TUI and then render it using lipgloss [Man charm’s tool are soo cool and make CLI/TUI look soo good]. Although we don’t see all the 15 lines as we dont have a scroll feature for now What we are going to do Style it Fetch number of commits done to the repo and display it Add scrollbar to git visualizer _ Also add scrollbar to git log -Not sure What I currently feel When I was planning to make dagit, I felt it’ll be different and will attract people towards it but it’s not upto my expectation. I thinking to adding some feature that will make more people use it
DAGIT DEVLOG 3 Yay! we have got the release workflow up and running What we are doing what we do is make new binaries name dagit-linux-amd64.tar.gz and dagit-darwin-arm64.tar.gz and push them to our releases page with the tag given while pushing to the repo We also push to the AUR!! . So all the I use arch btw people can download it easily Installation AUR yay -S dagit-bin Run in a github repo ,ie paste-> dagit Github releases go to the releases page and download the binaries zip, extract it and run in a github repo
DAGIT DEVLOG 4 Yoo! I’ve made soo many updates and the resizing /clipping issues are still eating my brain like bugs Progress overview Decreased the sizes of reference being displayed also truncated lines in the gitlog so that the vertical clipping stops I completely styled the UI using lipgloss and it looks soo much better now Added highlighting to the head of the repo that pops a little more Refactored the old way of refreshing the data Refactored the code to increase readability Explain The git logs were looking odd because when the commit messages were long , the log that should only take the space of one line was now also taking space in the second line. So we fixed it using truncateMessages() function As we are pushig to multiple tags . The reference also gets long and causes a clipping issue again. So we again simply dosent let the refs be that long[But the current implementation can cause the line to break suddenly that may not look good all the time]- // Stop 'refs' being too long if lipgloss.Width(refs) > 30 { refs = refs[:27] + "..." } And as dagit is a live visualizer, I removed the old way of refreshing the data[clicking [r] to refresh]. Now what we do is use tea.Tick and the time library to refresh the data every 1 second. Issues that can be caused We are currently refreshing data every second that can put a lot more load on the system when used inside a big repository, So in infuture I’m gonna work to give the user a way to choose the tick Rate What im gonna work on now Scrollbar for gitlog and also visualizer A tick rate selector File status panel that can be toggled with the visualizer A way to search for different repo’s in the user’s computer and jumping between them(something like the nvim feature of finding files) –im not really sure of this
DAGIT DEVLOG 5 yoo once again! I’ve worked on the features I’ve been delaying and let’s see the progress Progress Overview I first worked on the idea i got yesterday A status panel to see staged/modified files Then I tried to work on scrollbars in the git log and the visualizer but I failed to do so I just scrapped it completely and reset the repo to the after status panel state After scrapping that, I worked on the tick rate selection Intervals of time at which we update the data displayed in the TUI DETAIL The status panel idea had come when I was surfing git hub and was just looking at lazygit (A far better project than dagit btw). I saw the same panel there and thought of adding it here because it would make more sense, although dagit is different from lazygit (dagit is only trying to visualze git not become a workflow) The scrollbars were out of my league I already knew that but still gave a try. I dont think I would be giving up on the idea. I’ll just watch some tutorials on bubbletea and scrollbars specifically before working on it again At first, I thought I would make the tick rate selector a separate panel where we would just scroll through different intervals of time, but as I consider myself lazy I just thought of adding it in such a way that instead of scrolling we change the tick rate with the press of buttons. Although the max tickrate is already small(10sec) I recommend using 1sec on small projects
Update #1 There isnt much we have fixed some issues that were being cause because of the way we fetch data from git
Ships:
DAGIT SHIP1 I have built a terminal TUI git visualizer that beautifully displays your git repository on the terminal. Challenging part Dagit has four small sections [left panel/visualizer/status panel/logs] . I first thought there would be no resizing issues because I’m using bubble-tea and built all there sections’ skeletons, as bubble-tea doesn’t automatically handle the resize event(got to know later). I manually tried to fix it in my own broken ways and found somewhat of a solution that feels and looks good A Breakdown of the project dagit refuses to launch if we don’t open it inside a git repo. We fetch all the data by running git commands. Currently in the left panel we have the following information: * Repo name * The repo's owner name * Current branch * The url of the remote In the vizualizer: * hash of the commit * Reference * the committer name * The time of the commit * We also beautify the graph and show it in this section Log section: * Hash of commit * Commit message * Committer name Status panel: * Modified, staged files are shown here The user can toggle between the visualizer and the status panel using v The user can also choose between my predefined tick rates [500ms/1s/3s/5s/10s] . By default the tick rate is set to 1sec Proud Of how quickly I have understood the git docs and used it to build this project that makes git look so much better for the newbies. Also that I have finally made a project that is not very complicated for the user to use like gos was. lmao Also handling resize events was a bit of headache and it feels so much better now. I feel proud because of that too :shy Do we need to set something before? No, but if you wanna install it using go , you need to have go installed :) Note: The releases page only has a darwin(macos) and linux version. So I recommend using wsl on windows to enjoy the beauty of dagit Installation the simplest way to install dagit is using the AUR: yay -S dagit-bin Using go : go install github.com/lxsh-S/dagit@latest You can also install it from the github releases page (Make sure you get the latest version)
The ony changes we have made is fix some issues with the way we fetch data from github. I wouldn’t have shipped this but I currently have 34 stardust and urgently need 1 to buy some electronics for my other project :). Please be kind...
|
1793090933.879715
|
1793177333.879715
|
|
13008
|
PulseFlow AI by @Vedant_Daga | Stardance
|
Vedant_Daga
|
1
|
16.0
|
134
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-01T15:53:55Z", "hours": 6.0, "multiplier": 19.07, "payout": 134, "blessing": "blessed", "text": "# PulseFlow-AI — A Live Hospital Digital Twin + AI Ops Copilot ## What I Made Basically it's a live \"digital twin\" of a hospital. You watch patients move through the ER, labs, imaging, ICU and wards in real time, and it's all running on a simulation engine (FastAPI + WebSockets) that streams the state to the frontend constantly. On top of that I built an AI copilot that spots bottlenecks and actually recommends staffing changes using OR-Tools optimization + Holt-Winters forecasting. There's also a sandbox where you can throw crises at it (flu outbreak, CT scanner dying, mass casualty) and watch the hospital react. Plus it does shift handoff reports and tracks high-risk patients with AI care plans. The main thing I cared about was making it actually feel like real medical software, not a hackathon toy. So I built the whole UI around a design contract based on HIPAA, FDA Title 21 CFR Part 11 and WCAG 2.1. PHI is hidden by default, there's an auto-logout timer, status is never just a color, and I ripped out every glow/gradient/animation so it's calm to look at on a long shift. Full dark/light mode too. ## What Was Challenging The real-time stuff, honestly. Keeping the frontend in sync with a simulation that never stops updating, over WebSockets, without it lagging or flickering, was a pain. The AI optimization was also tough, getting OR-Tools to give recommendations that actually made sense and then explaining them in plain English. And the dark mode almost killed me lol. All my status cards were hardcoded to light colors so dark mode looked HORRIBLE, and I had to rebuild the entire color system on CSS variable tokens to fix it (213 replacements). ## What I'm Proud Of That it genuinely doesn't feel like a toy. It feels like something you could actually stick in a hospital ops room. Running the copilot, getting a real recommendation, hitting \"Implement\" and watching the metrics actually move is so satisfying. And the compliance stuff isn't just for looks, every choice actually ties back to a real medical standard. ## How To Test It Just open the link and you're in, no setup needed. If you'd rather run it yourself, download everything and follow the instructions in the README. Once you're in, easiest thing is to hit **\"Auto Demo\"** in the sidebar, it's a 1-click walkthrough of the whole thing. After that go trigger a crisis in the **Sandbox** and flip to the **Command Center** to watch it hit the floor plan, run the **AI Copilot** and click Implement to see the numbers move, and toggle dark/light mode in the top right.", "repo": "https://github.com/DagaVedant/PulseFlow-AI", "demo": "https://pulse-flow-mjilr4qso-dagavedants-projects.vercel.app/command-center"}]...
|
[{"post_id": 23508, "ts": "202 [{"post_id": 23508, "ts": "2026-07-06T15:05:31Z", "hours": 0.0, "text": "got everything read to be shipped added pictures updated README with new info cleaned up repo updated project description updated viewing link"}, {"post_id": 23254, "ts": "2026-07-06T03:08:57Z", "hours": 4.0, "text": "largest update yet what i built: removed the entire liquid-glass ui, glass, gradients, cursive headings, wallpaper animations- deleted all the older theme that was AI slop made a clean new navy theme that IIII coded myself- its a flat design, with a nice navy blue background,and some cool fonts like space grotesk and jetbrains mono removed the digital-twin page because it wasn’t even needed anymore fixed a nav bar bug and cleaned up the readme to match all the new changes wrote a run.py that boots backend and frontend together in one command instead of like 10000 commands deleted a bunch of unused old images and docs also removed all the old random things too what broke: basically two times the app wasnt loading at all…it ended up being some old runs that didnt leave the port how i fixed it just killed the programs and restarted everything"}, {"post_id": 22625, "ts": "2026-07-05T05:33:27Z", "hours": 0.0, "text": "big decision no more vibecoding so basically im creating a new basic design because i dont want to make everything look vibecoded its going to be very simple, minimalistic, and just really tabular im going to slowly make it look better as I get better at coding everything myself unlike the previous liquid glass design where I made the design and it was implemented using AI"}, {"post_id": 22318, "ts": "2026-07-04T18:40:50Z", "hours": 0.0, "text": "Quick Fixes revised README demo link and Stardance “Try It Link” rewrote all the devlogs to match my style (mods can you create a way for me to update my ship message from before to show all the new features I added)"}, {"post_id": 22265, "ts": "2026-07-04T17:21:57Z", "hours": 1.0, "text": "What I built: fully remade each page to match the design. Its like a really APPLEish looking liquid glass vibe, an animated background (kinda like the iMac, but a bit different), updated the frosted sidebar look, and made the cool glass cards everywhere command center, patient flow, staffing, clinical, ai insights, and labs were running on fake data before this, so now they run on the backend websocket operations, copilot, and sandbox got the same glass restyle as the others, but it was a lot more work to get the buttons and all the other functions to work properly and actually communicate with the backend changed the 9 sidebar icons from the design, to text tabs, and made the one ur on a greenish color and made them all black instead of gray animated the wallpaperrrrrrrrrrrrrrrr (definitely my favorite part) fully removed all the old files, and cleaned up dead weight and made everything cleaner fixed up the gitignore, ruff_cache was only ignored at the root before, now it’s ignored everywhere it shows up (backend, frontend, root). added coverage/, .turbo/, and *.tmp What broke: when i made the first animation, it was extremely slow and it was wayyy to subtle and i could barely tell if it was moving my second attempt made it look way to active and hectic third try was perfect How I fixed it: rewrote the keyframes with bigger swings and rotation on a ~2.5s loop for the dramatic version, then pulled it back about a third once it felt like too much."}, {"post_id": 21221, "ts": "2026-07-03T01:36:12Z", "hours": 2.0, "text": "what i built picked the new look for the entire website. MacOS Liquid Glass vibes instead of the old clinical AI generated design did it entirely in figma, no code yet, just comps- built out command center as the first full mockup: floating glass panels, frosted cards, gradient canvas behind everything instead of a flat background…LOOKS STRAIGHT OUT OF APPLE HQ trusttttt pulled in a cursive treatment for the wordmark and a tuffff color palette this page is kinda like a reference page yk. Basically imma use this page and then figure out how each of the next few pages are gonna look like## what broke nothing broke since there’s no implementation yet- the actual friction was getting figma to fake something it doesn’t really do natively. so basically Figma doesn’t have a liquid glass feeling or even a backdrop blur refraction type of thing, so to get the cards to look like the PERFECT APPLE FROSTED GLASS, instead of the boring looking like kinda transparent kinda not white box how i fixed it basically kinda faked the entire blur by creating a duplicate of the background behind each of the cards instead of just using the transparency feature. the blur by layering a blurred duplicate of the background behind each card. thats kinda how I got that frosted apple glass type instead of a weird semi-transparent glass look kept a saturated gradient underneath (THE STANDARD IMAC BACKGROUND) so the glass has something to actually pick up color from i basically spent like 30 mins slowly adjusting the opacity by eye until it looked like the goated apple liquid glass look next step is turning this into real webpage instead of just a figma mockup design stages 1. original ui (brown) the starting point. flat, clinical, warm-brown/cream tones with a green accent. it was functional but looked really AI and generic. It didn’t feel like me or anything that I would personally build. 2. first sketch (white) this one was mainly like a way for me to figure out how to lay all the elements out while still keeping that abstract vibe that I like. (HEAVILY BASING IT OFF OF APPLE) . I also cleaned some things up, made it more minimalistic, and made everything to a light/cream. basically, I wanted it to look more and more like an apple product so that it has the clean , sleek design that I love about MacOs. 3. final design (blue, liquid glass) this is my final design. I completely gave up on making it white/cream and decided to make it what I want (A LOT OF BLUE AND THE CLASSIC IMAC BACKGROUND). I made everything with that like liquid glass/frosted effect and basically just built off of the IMAC standard display, MacOS vibes and like the apple minimalism and basically took A LOTTTT OF INSPO from Apple"}, {"post_id": 20815, "ts": "2026-07-02T14:57:21Z", "hours": 3.0, "text": "What I built: gated every REST route under /api/v1 behind one shared bearer token, checked once at the router level so it covers simulation, hospital, and ai endpoints without repeating myself. /health stays open on purpose, load balancers need that. gated the websocket too. ?token= checked before the connection even gets accepted, so trigger_event, update_config, add_bottleneck, remove_bottleneck can’t touch live sim state from some random unauthenticated client anymore. SECRET_KEY finally does something. used to just sit there unreferenced, now it’s the actual credential, and it’s got the startup check it was missing, refuses to boot in production if it’s still the default. also went and built full JWT login with viewer/operator roles along the way, then looked at it and went nah, overkill for a demo hospital sim, and reverted back to the simple shared-secret version. kept the actual gate though, that’s the part that mattered. What broke: first version closed unauthenticated websocket connections with code 4401, except that happens before accept(), and turns out you can’t send a close frame on a connection that was never accepted. so it actually shows up as a plain HTTP 403 on the handshake, not 4401 like the docstring said. wire behavior just didn’t match what I wrote down. also, local dev was quietly broken and I didn’t notice for a bit: the backend’s real default SECRET_KEY didn’t match what .env.example said it was, so a fresh clone would 401 on literally everything out of the box. How I fixed it: checked the 403-vs-4401 thing wasn’t actually a bug, just how Starlette handles closing a connection pre-accept. confirmed it with a real client hitting it with no token, still blocks fine, just not with the close code I expected. left it as-is and fixed the docs instead of chasing a non-issue. for the env mismatch, just made .env.example, .env.local, and the actual python default all agree, then ran the whole thing end to end again, no token, wrong token, right token, until 401s and 200s landed exactly where they should."}, {"post_id": 20047, "ts": "2026-07-01T15:38:03Z", "hours": 2.0, "text": "made pulseflow actually look like medical software so basically before all of this, the entire app looked like a mess of dark neon video game stuff. basically it was a mess of glowing things, random gradients, and felt more like a game then a hospital platform. instead of just redesigning it, i made a design.md file first and actually looked into references like hipaa, fda title 21 cfr part 11, and wcag 2.1. pretty much every design choice came from those what actually changed got rid of all the glow, gradients, and unnecessary animations nurses are already tired during long shifts. they need to read information fast, not watch things moving around. everything respects prefers-reduced-motion now phi is masked by default patient names, dobs, mrns, and other sensitive info all go through a privacymask component and stay hidden until a clinician chooses to reveal them. keeps patient data safe added a visible auto-logout timer the session timeout is always shown in the top bar so clinicians know exactly how much time is left before they’re logged out automatically to protect patient data status is never just color anymore every status uses an icon, text label, and color together, so it’s still easy to understand redesigned critical alerts instead of giant glowing red warnings, they’re now banners that clearly explain what’s wrong without being distracting added dark mode everything works in both light and dark mode without changing how the interface feels. the annoying part dark mode looked terrible a lot of the status cards were hardcoded with light colors like bg-amber-50 , so they ended up looking like pale cream boxes sitting on dark background ended up reworking the entire color system instead of hardcoding colors, i moved every color to css variable tokens ( safe , flag , crit ) so each one automatically changes between light and dark mode. that ended up being 213 replacements across the whole project (it was a LOTTT of work) picked better colors. i went with warm off-white and warm charcoal instead of pure white and pure black so it doesn’t hurt your eyes"}, {"post_id": 5003, "ts": "2026-06-08T17:30:30Z", "hours": 3.0, "text": "PULSEFLOW AI IS FINALLY LIVE Just deployed the full stack today (backend is on Render and frontend is on Vercel). The backend was so easy to get running, only took 10ish mins. MIGHT have forgot that Optional wasn’t imported in the config.py. The frontend was SO MUCH HARDER OMG! first, Vercel blocked the deploy three times because of Next.js 15.0.3 had security vulnerabilities. i just updated to 15.3.3 (this didnt work because it had its own CVE). after that i tried using next@lastest, but then i needed ESLint 9, which broke the entire dependency tree. I used ^15 so npm resolves the latest patched 15.x without jumping major versions. Four deploys, two CVEs, one peer dependency conflict. ahhh this was painful BUT, IT FINALLY WORKS SO IT WAS WORTH IT!!!! (image shows it running on vercel)"}]...
|
Title: PulseFlow AI by @Vedant_Daga | Stardance
D Title: PulseFlow AI by @Vedant_Daga | Stardance
Devlogs:
PULSEFLOW AI IS FINALLY LIVE Just deployed the full stack today (backend is on Render and frontend is on Vercel). The backend was so easy to get running, only took 10ish mins. MIGHT have forgot that Optional wasn’t imported in the config.py. The frontend was SO MUCH HARDER OMG! first, Vercel blocked the deploy three times because of Next.js 15.0.3 had security vulnerabilities. i just updated to 15.3.3 (this didnt work because it had its own CVE). after that i tried using next@lastest, but then i needed ESLint 9, which broke the entire dependency tree. I used ^15 so npm resolves the latest patched 15.x without jumping major versions. Four deploys, two CVEs, one peer dependency conflict. ahhh this was painful BUT, IT FINALLY WORKS SO IT WAS WORTH IT!!!! (image shows it running on vercel)
made pulseflow actually look like medical software so basically before all of this, the entire app looked like a mess of dark neon video game stuff. basically it was a mess of glowing things, random gradients, and felt more like a game then a hospital platform. instead of just redesigning it, i made a design.md file first and actually looked into references like hipaa, fda title 21 cfr part 11, and wcag 2.1. pretty much every design choice came from those what actually changed got rid of all the glow, gradients, and unnecessary animations nurses are already tired during long shifts. they need to read information fast, not watch things moving around. everything respects prefers-reduced-motion now phi is masked by default patient names, dobs, mrns, and other sensitive info all go through a privacymask component and stay hidden until a clinician chooses to reveal them. keeps patient data safe added a visible auto-logout timer the session timeout is always shown in the top bar so clinicians know exactly how much time is left before they’re logged out automatically to protect patient data status is never just color anymore every status uses an icon, text label, and color together, so it’s still easy to understand redesigned critical alerts instead of giant glowing red warnings, they’re now banners that clearly explain what’s wrong without being distracting added dark mode everything works in both light and dark mode without changing how the interface feels. the annoying part dark mode looked terrible a lot of the status cards were hardcoded with light colors like bg-amber-50 , so they ended up looking like pale cream boxes sitting on dark background ended up reworking the entire color system instead of hardcoding colors, i moved every color to css variable tokens ( safe , flag , crit ) so each one automatically changes between light and dark mode. that ended up being 213 replacements across the whole project (it was a LOTTT of work) picked better colors. i went with warm off-white and warm charcoal instead of pure white and pure black so it doesn’t hurt your eyes
What I built: gated every REST route under /api/v1 behind one shared bearer token, checked once at the router level so it covers simulation, hospital, and ai endpoints without repeating myself. /health stays open on purpose, load balancers need that. gated the websocket too. ?token= checked before the connection even gets accepted, so trigger_event, update_config, add_bottleneck, remove_bottleneck can’t touch live sim state from some random unauthenticated client anymore. SECRET_KEY finally does something. used to just sit there unreferenced, now it’s the actual credential, and it’s got the startup check it was missing, refuses to boot in production if it’s still the default. also went and built full JWT login with viewer/operator roles along the way, then looked at it and went nah, overkill for a demo hospital sim, and reverted back to the simple shared-secret version. kept the actual gate though, that’s the part that mattered. What broke: first version closed unauthenticated websocket connections with code 4401, except that happens before accept(), and turns out you can’t send a close frame on a connection that was never accepted. so it actually shows up as a plain HTTP 403 on the handshake, not 4401 like the docstring said. wire behavior just didn’t match what I wrote down. also, local dev was quietly broken and I didn’t notice for a bit: the backend’s real default SECRET_KEY didn’t match what .env.example said it was, so a fresh clone would 401 on literally everything out of the box. How I fixed it: checked the 403-vs-4401 thing wasn’t actually a bug, just how Starlette handles closing a connection pre-accept. confirmed it with a real client hitting it with no token, still blocks fine, just not with the close code I expected. left it as-is and fixed the docs instead of chasing a non-issue. for the env mismatch, just made .env.example, .env.local, and the actual python default all agree, then ran the whole thing end to end again, no token, wrong token, right token, until 401s and 200s landed exactly where they should.
what i built picked the new look for the entire website. MacOS Liquid Glass vibes instead of the old clinical AI generated design did it entirely in figma, no code yet, just comps- built out command center as the first full mockup: floating glass panels, frosted cards, gradient canvas behind everything instead of a flat background…LOOKS STRAIGHT OUT OF APPLE HQ trusttttt pulled in a cursive treatment for the wordmark and a tuffff color palette this page is kinda like a reference page yk. Basically imma use this page and then figure out how each of the next few pages are gonna look like## what broke nothing broke since there’s no implementation yet- the actual friction was getting figma to fake something it doesn’t really do natively. so basically Figma doesn’t have a liquid glass feeling or even a backdrop blur refraction type of thing, so to get the cards to look like the PERFECT APPLE FROSTED GLASS, instead of the boring looking like kinda transparent kinda not white box how i fixed it basically kinda faked the entire blur by creating a duplicate of the background behind each of the cards instead of just using the transparency feature. the blur by layering a blurred duplicate of the background behind each card. thats kinda how I got that frosted apple glass type instead of a weird semi-transparent glass look kept a saturated gradient underneath (THE STANDARD IMAC BACKGROUND) so the glass has something to actually pick up color from i basically spent like 30 mins slowly adjusting the opacity by eye until it looked like the goated apple liquid glass look next step is turning this into real webpage instead of just a figma mockup design stages 1. original ui (brown) the starting point. flat, clinical, warm-brown/cream tones with a green accent. it was functional but looked really AI and generic. It didn’t feel like me or anything that I would personally build. 2. first sketch (white) this one was mainly like a way for me to figure out how to lay all the elements out while still keeping that abstract vibe that I like. (HEAVILY BASING IT OFF OF APPLE) . I also cleaned some things up, made it more minimalistic, and made everything to a light/cream. basically, I wanted it to look more and more like an apple product so that it has the clean , sleek design that I love about MacOs. 3. final design (blue, liquid glass) this is my final design. I completely gave up on making it white/cream and decided to make it what I want (A LOT OF BLUE AND THE CLASSIC IMAC BACKGROUND). I made everything with that like liquid glass/frosted effect and basically just built off of the IMAC standard display, MacOS vibes and like the apple minimalism and basically took A LOTTTT OF INSPO from Apple
What I built: fully remade each page to match the design. Its like a really APPLEish looking liquid glass vibe, an animated background (kinda like the iMac, but a bit different), updated the frosted sidebar look, and made the cool glass cards everywhere command center, patient flow, staffing, clinical, ai insights, and labs were running on fake data before this, so now they run on the backend websocket operations, copilot, and sandbox got the same glass restyle as the others, but it was a lot more work to get the buttons and all the other functions to work properly and actually communicate with the backend changed the 9 sidebar icons from the design, to text tabs, and made the one ur on a greenish color and made them all black instead of gray animated the wallpaperrrrrrrrrrrrrrrr (definitely my favorite part) fully removed all the old files, and cleaned up dead weight and made everything cleaner fixed up the gitignore, ruff_cache was only ignored at the root before, now it’s ignored everywhere it shows up (backend, frontend, root). added coverage/, .turbo/, and *.tmp What broke: when i made the first animation, it was extremely slow and it was wayyy to subtle and i could barely tell if it was moving my second attempt made it look way to active and hectic third try was perfect How I fixed it: rewrote the keyframes with bigger swings and rotation on a ~2.5s loop for the dramatic version, then pulled it back about a third once it felt like too much.
Quick Fixes revised README demo link and Stardance “Try It Link” rewrote all the devlogs to match my style (mods can you create a way for me to update my ship message from before to show all the new features I added)
big decision no more vibecoding so basically im creating a new basic design because i dont want to make everything look vibecoded its going to be very simple, minimalistic, and just really tabular im going to slowly make it look better as I get better at coding everything myself unlike the previous liquid glass design where I made the design and it was implemented using AI
largest update yet what i built: removed the entire liquid-glass ui, glass, gradients, cursive headings, wallpaper animations- deleted all the older theme that was AI slop made a clean new navy theme that IIII coded myself- its a flat design, with a nice navy blue background,and some cool fonts like space grotesk and jetbrains mono removed the digital-twin page because it wasn’t even needed anymore fixed a nav bar bug and cleaned up the readme to match all the new changes wrote a run.py that boots backend and frontend together in one command instead of like 10000 commands deleted a bunch of unused old images and docs also removed all the old random things too what broke: basically two times the app wasnt loading at all…it ended up being some old runs that didnt leave the port how i fixed it just killed the programs and restarted everything
got everything read to be shipped added pictures updated README with new info cleaned up repo updated project description updated viewing link
Ships:
# PulseFlow-AI — A Live Hospital Digital Twin + AI Ops Copilot ## What I Made Basically it's a live "digital twin" of a hospital. You watch patients move through the ER, labs, imaging, ICU and wards in real time, and it's all running on a simulation engine (FastAPI + WebSockets) that streams the state to the frontend constantly. On top of that I built an AI copilot that spots bottlenecks and actually recommends staffing changes using OR-Tools optimization + Holt-Winters forecasting. There's also a sandbox where you can throw crises at it (flu outbreak, CT scanner dying, mass casualty) and watch the hospital react. Plus it does shift handoff reports and tracks high-risk patients with AI care plans. The main thing I cared about was making it actually feel like real medical software, not a hackathon toy. So I built the whole UI around a design contract based on HIPAA, FDA Title 21 CFR Part 11 and WCAG 2.1. PHI is hidden by default, there's an auto-logout timer, status is never just a color, and I ripped out every glow/gradient/animation so it's calm to look at on a long shift. Full dark/light mode too. ## What Was Challenging The real-time stuff, honestly. Keeping the frontend in sync with a simulation that never stops updating, over WebSockets, without it lagging or flickering, was a pain. The AI optimization was also tough, getting OR-Tools to give recommendations that actually made sense and then explaining them in plain English. And the dark mode almost killed me lol. All my status cards were hardcoded to light colors so dark mode looked HORRIBLE, and I had to rebuild the entire color system on CSS variable tokens to fix it (213 replacements). ## What I'm Proud Of That it genuinely doesn't feel like a toy. It feels like something you could actually stick in a hospital ops room. Running the copilot, getting a real recommendation, hitting "Implement" and watching the metrics actually move is so satisfying. And the compliance stuff isn't just for looks, every choice actually ties back to a real medical standard. ## How To Test It Just open the link and you're in, no setup needed. If you'd rather run it yourself, download everything and follow the instructions in the README. Once you're in, easiest thing is to hit **"Auto Demo"** in the sidebar, it's a 1-click walkthrough of the whole thing. After that go trigger a crisis in the **Sandbox** and flip to the **Command Center** to watch it hit the floor plan, run the **AI Copilot** and click Implement to see the numbers move, and toggle dark/light mode in the top right....
|
1792882048.1551743
|
1793746048.1551743
|
|
17359
|
Frictionless by @Mohamed_Ayadi | Stardance
|
Mohamed_Ayadi
|
1
|
13.0
|
134
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-13T19:38:25Z", "hours": 10.0, "multiplier": 13.37, "payout": 134, "blessing": "neutral", "text": "What did you make? I built Recovery Quest, a web application that transforms recovery and healthy habits into an RPG-style experience. The idea started with a simple observation: taking care of ourselves often feels invisible. You sleep well, eat better, stay active, and make healthier choices, yet it’s hard to see the impact of those small decisions from day to day. Without visible progress, motivation fades. Recovery Quest changes that. Users log information related to their sleep, nutrition, and exercise, and the system evaluates their overall recovery state. Instead of just displaying numbers, the app presents meaningful feedback through game-inspired progression systems. Healthy choices contribute to a sense of growth, turning recovery from an abstract concept into a journey users can actively follow. The goal is simple: make taking care of yourself feel rewarding instead of repetitive. What was challenging? The biggest challenge was designing a system that felt encouraging without oversimplifying recovery. Recovery isn’t determined by a single factor. Sleep, nutrition, and physical activity all influence how someone feels, and I had to think carefully about how these elements should work together to generate useful feedback. Another challenge was balancing the RPG elements. I didn’t want Recovery Quest to become just another game with health-themed decorations. The progression systems had to support the main purpose of the app: helping users understand and improve their recovery habits. Finding that balance between engagement and meaningful feedback required a lot of experimentation and refinement. What are you proud of? I’m proud that Recovery Quest makes something invisible feel visible. Recovery is difficult to measure in everyday life. Most people don’t notice the cumulative effect of sleeping better, eating more consistently, or exercising regularly until weeks later. Recovery Quest highlights those small victories. Users can see how their habits influence their recovery state and receive feedback that encourages them to continue building healthier routines. I’m also proud that I built the entire experience as a fully functional front-end application using HTML, CSS, and JavaScript, combining recovery tracking with engaging progression mechanics into one cohesive experience. Most of all, I’m proud of creating something that encourages people to take care of themselves through positive reinforcement rather than guilt or pressure. What should people know so they can test your project? To test Recovery Quest, simply explore the app by entering information related to your sleep, nutrition, and exercise habits. The system will evaluate your recovery state and provide feedback based on the choices you make. One important thing to note is that this version does not include a backend. If you log out, your data will be lost. Despite this limitation, the complete recovery experience can still be explored, allowing users to understand the core idea behind Recovery Quest: turning the journey toward better well-being into an adventure worth returning to.", "repo": "https://github.com/medayedi123/Recvoery-Quest", "demo": "https://recoveryquest.netlify.app/"}]...
|
[{"post_id": 10982, "ts": "202 [{"post_id": 10982, "ts": "2026-06-18T00:24:36Z", "hours": 2.0, "text": "Pat I ch Notes: The “I Fixed That Annoying Stuff” UpdateHey everyone! I just rolled out a new update based on the feedback you gave me. I tackled the biggest pain points today:Security Upgrade: No more hardcoded keys! Quality of Life: Training Tab: Lookin’ cleaner and more organized. Nav Hover: Fixed that weird hover glitch that followed you between tabs.Check it out and let me know if you find anything else."}, {"post_id": 9035, "ts": "2026-06-15T02:21:35Z", "hours": 1.0, "text": "Recovery Quest — Devlog #1: the night this started making sense Before Recovery Quest was Recovery Quest, it was just a mess on my screen at 1am. Idk how else to put it. Let me back up. The thought that wouldn’t leave me alone I was lying in bed, half scrolling, half thinking about nothing, when this question hit me: why does real life not have a UI? In games I always know exactly where I stand — health bar, stamina, XP, buffs, debuffs. In real life? Nothing. You wake up and wonder “am I tired or just overthinking it” with no number to check. You’re just guessing your own state all the time. That bugged me more than it should’ve. So I got up, opened my editor, and started typing with zero plan. The first version was straight up homework What I had after that session was, with love, extremely boring: a sleep input, a workout log, a nutrition counter. Nothing different from the five other apps I’d already downloaded and quit on. Next day I looked at it and realized I’d just rebuilt what I was trying to escape. Cool. Great use of a night. The dumb little rename that fixed everything I changed “sleep hours” to “recovery impact.” I changed “workout logged” to “training XP gained.” Same data, same numbers, just different words. But seeing “+40 training XP” instead of “workout logged” did something weird. It stopped feeling like filling a form and started feeling like leveling up a character. Who is also me. That tiny change became the seed for everything else. Once that clicked, I couldn’t stop After that night I started designing systems for my own life without meaning to. The dashboard became home base. Streaks became a combo system. Recovery score became a condition stat. None of it was planned, it just kept clicking into place. I kept things simple: vanilla HTML, CSS, JS, no backend, everything in local storage. I didn’t want infrastructure slowing down an idea I wasn’t even sure about. And I didn’t want another fitness tracker. There are too many, and most feel identical after week two. I wanted something else — not “what did you do today,” but “what happens if you keep doing this?” The feature that hit harder than expected Memory Map started as a throwaway idea — one photo per day on a timeline. But scrolling back through it later actually hit me. You can watch yourself change, not as stats, but as a person. I went back two weeks once and just stared at it. Claude was in the room for basically all of this I didn’t build this alone. That night I had a feeling and no idea how to turn it into code. So I talked it through with Claude like a senior dev sitting next to me at 1am asking, “okay, but how would this work?” It helped me figure out recovery scoring, XP scaling, and why my first streak logic kept breaking. Stuff I’d been stuck on just got untangled. I still wrote the code and made every decision about what this was. But that back-and-forth made me willing to try things I’d normally overthink out of. Why I kept going Every time I added something, I’d get that “wait… this is actually a system now” feeling. Rare enough that I kept chasing it. Recovery Quest was still rough and missing most of what it has now, but it already changed how I think about habits — not as a checklist, but as mechanics affecting other mechanics. Hard to go back once you see it that way. Devlog #1, done. More soon."}, {"post_id": 8078, "ts": "2026-06-13T14:18:24Z", "hours": 10.0, "text": "Recovery Quest — Devlog #1: the night this started making sense Before Recovery Quest was Recovery Quest, it was just a mess on my screen at 1am. Idk how else to put it. Let me back up. The thought that wouldn’t leave me alone I was lying in bed, half scrolling, half thinking about nothing, when this question hit me: why does real life not have a UI? In games I always know exactly where I stand — health bar, stamina, XP, buffs, debuffs. In real life? Nothing. You wake up and wonder “am I tired or just overthinking it” with no number to check. You’re just guessing your own state all the time. That bugged me more than it should’ve. So I got up, opened my editor, and started typing with zero plan. The first version was straight up homework What I had after that session was, with love, extremely boring: a sleep input, a workout log, a nutrition counter. Nothing different from the five other apps I’d already downloaded and quit on. Next day I looked at it and realized I’d just rebuilt what I was trying to escape. Cool. Great use of a night. The dumb little rename that fixed everything I changed “sleep hours” to “recovery impact.” I changed “workout logged” to “training XP gained.” Same data, same numbers, just different words. But seeing “+40 training XP” instead of “workout logged” did something weird. It stopped feeling like filling a form and started feeling like leveling up a character. Who is also me. That tiny change became the seed for everything else. Once that clicked, I couldn’t stop After that night I started designing systems for my own life without meaning to. The dashboard became home base. Streaks became a combo system. Recovery score became a condition stat. None of it was planned, it just kept clicking into place. I kept things simple: vanilla HTML, CSS, JS, no backend, everything in local storage. I didn’t want infrastructure slowing down an idea I wasn’t even sure about. And I didn’t want another fitness tracker. There are too many, and most feel identical after week two. I wanted something else — not “what did you do today,” but “what happens if you keep doing this?” The feature that hit harder than expected Memory Map started as a throwaway idea — one photo per day on a timeline. But scrolling back through it later actually hit me. You can watch yourself change, not as stats, but as a person. I went back two weeks once and just stared at it. Claude was in the room for basically all of this I didn’t build this alone. That night I had a feeling and no idea how to turn it into code. So I talked it through with Claude like a senior dev sitting next to me at 1am asking, “okay, but how would this work?” It helped me figure out recovery scoring, XP scaling, and why my first streak logic kept breaking. Stuff I’d been stuck on just got untangled. I still wrote the code and made every decision about what this was. But that back-and-forth made me willing to try things I’d normally overthink out of. Why I kept going Every time I added something, I’d get that “wait… this is actually a system now” feeling. Rare enough that I kept chasing it. Recovery Quest was still rough and missing most of what it has now, but it already changed how I think about habits — not as a checklist, but as mechanics affecting other mechanics. Hard to go back once you see it that way. Devlog #1, done. More soon."}]...
|
Title: Frictionless by @Mohamed_Ayadi | Stardance
Title: Frictionless by @Mohamed_Ayadi | Stardance
Devlogs:
Recovery Quest — Devlog #1: the night this started making sense Before Recovery Quest was Recovery Quest, it was just a mess on my screen at 1am. Idk how else to put it. Let me back up. The thought that wouldn’t leave me alone I was lying in bed, half scrolling, half thinking about nothing, when this question hit me: why does real life not have a UI? In games I always know exactly where I stand — health bar, stamina, XP, buffs, debuffs. In real life? Nothing. You wake up and wonder “am I tired or just overthinking it” with no number to check. You’re just guessing your own state all the time. That bugged me more than it should’ve. So I got up, opened my editor, and started typing with zero plan. The first version was straight up homework What I had after that session was, with love, extremely boring: a sleep input, a workout log, a nutrition counter. Nothing different from the five other apps I’d already downloaded and quit on. Next day I looked at it and realized I’d just rebuilt what I was trying to escape. Cool. Great use of a night. The dumb little rename that fixed everything I changed “sleep hours” to “recovery impact.” I changed “workout logged” to “training XP gained.” Same data, same numbers, just different words. But seeing “+40 training XP” instead of “workout logged” did something weird. It stopped feeling like filling a form and started feeling like leveling up a character. Who is also me. That tiny change became the seed for everything else. Once that clicked, I couldn’t stop After that night I started designing systems for my own life without meaning to. The dashboard became home base. Streaks became a combo system. Recovery score became a condition stat. None of it was planned, it just kept clicking into place. I kept things simple: vanilla HTML, CSS, JS, no backend, everything in local storage. I didn’t want infrastructure slowing down an idea I wasn’t even sure about. And I didn’t want another fitness tracker. There are too many, and most feel identical after week two. I wanted something else — not “what did you do today,” but “what happens if you keep doing this?” The feature that hit harder than expected Memory Map started as a throwaway idea — one photo per day on a timeline. But scrolling back through it later actually hit me. You can watch yourself change, not as stats, but as a person. I went back two weeks once and just stared at it. Claude was in the room for basically all of this I didn’t build this alone. That night I had a feeling and no idea how to turn it into code. So I talked it through with Claude like a senior dev sitting next to me at 1am asking, “okay, but how would this work?” It helped me figure out recovery scoring, XP scaling, and why my first streak logic kept breaking. Stuff I’d been stuck on just got untangled. I still wrote the code and made every decision about what this was. But that back-and-forth made me willing to try things I’d normally overthink out of. Why I kept going Every time I added something, I’d get that “wait… this is actually a system now” feeling. Rare enough that I kept chasing it. Recovery Quest was still rough and missing most of what it has now, but it already changed how I think about habits — not as a checklist, but as mechanics affecting other mechanics. Hard to go back once you see it that way. Devlog #1, done. More soon.
Recovery Quest — Devlog #1: the night this started making sense Before Recovery Quest was Recovery Quest, it was just a mess on my screen at 1am. Idk how else to put it. Let me back up. The thought that wouldn’t leave me alone I was lying in bed, half scrolling, half thinking about nothing, when this question hit me: why does real life not have a UI? In games I always know exactly where I stand — health bar, stamina, XP, buffs, debuffs. In real life? Nothing. You wake up and wonder “am I tired or just overthinking it” with no number to check. You’re just guessing your own state all the time. That bugged me more than it should’ve. So I got up, opened my editor, and started typing with zero plan. The first version was straight up homework What I had after that session was, with love, extremely boring: a sleep input, a workout log, a nutrition counter. Nothing different from the five other apps I’d already downloaded and quit on. Next day I looked at it and realized I’d just rebuilt what I was trying to escape. Cool. Great use of a night. The dumb little rename that fixed everything I changed “sleep hours” to “recovery impact.” I changed “workout logged” to “training XP gained.” Same data, same numbers, just different words. But seeing “+40 training XP” instead of “workout logged” did something weird. It stopped feeling like filling a form and started feeling like leveling up a character. Who is also me. That tiny change became the seed for everything else. Once that clicked, I couldn’t stop After that night I started designing systems for my own life without meaning to. The dashboard became home base. Streaks became a combo system. Recovery score became a condition stat. None of it was planned, it just kept clicking into place. I kept things simple: vanilla HTML, CSS, JS, no backend, everything in local storage. I didn’t want infrastructure slowing down an idea I wasn’t even sure about. And I didn’t want another fitness tracker. There are too many, and most feel identical after week two. I wanted something else — not “what did you do today,” but “what happens if you keep doing this?” The feature that hit harder than expected Memory Map started as a throwaway idea — one photo per day on a timeline. But scrolling back through it later actually hit me. You can watch yourself change, not as stats, but as a person. I went back two weeks once and just stared at it. Claude was in the room for basically all of this I didn’t build this alone. That night I had a feeling and no idea how to turn it into code. So I talked it through with Claude like a senior dev sitting next to me at 1am asking, “okay, but how would this work?” It helped me figure out recovery scoring, XP scaling, and why my first streak logic kept breaking. Stuff I’d been stuck on just got untangled. I still wrote the code and made every decision about what this was. But that back-and-forth made me willing to try things I’d normally overthink out of. Why I kept going Every time I added something, I’d get that “wait… this is actually a system now” feeling. Rare enough that I kept chasing it. Recovery Quest was still rough and missing most of what it has now, but it already changed how I think about habits — not as a checklist, but as mechanics affecting other mechanics. Hard to go back once you see it that way. Devlog #1, done. More soon.
Pat I ch Notes: The “I Fixed That Annoying Stuff” UpdateHey everyone! I just rolled out a new update based on the feedback you gave me. I tackled the biggest pain points today:Security Upgrade: No more hardcoded keys! Quality of Life: Training Tab: Lookin’ cleaner and more organized. Nav Hover: Fixed that weird hover glitch that followed you between tabs.Check it out and let me know if you find anything else.
Ships:
What did you make? I built Recovery Quest, a web application that transforms recovery and healthy habits into an RPG-style experience. The idea started with a simple observation: taking care of ourselves often feels invisible. You sleep well, eat better, stay active, and make healthier choices, yet it’s hard to see the impact of those small decisions from day to day. Without visible progress, motivation fades. Recovery Quest changes that. Users log information related to their sleep, nutrition, and exercise, and the system evaluates their overall recovery state. Instead of just displaying numbers, the app presents meaningful feedback through game-inspired progression systems. Healthy choices contribute to a sense of growth, turning recovery from an abstract concept into a journey users can actively follow. The goal is simple: make taking care of yourself feel rewarding instead of repetitive. What was challenging? The biggest challenge was designing a system that felt encouraging without oversimplifying recovery. Recovery isn’t determined by a single factor. Sleep, nutrition, and physical activity all influence how someone feels, and I had to think carefully about how these elements should work together to generate useful feedback. Another challenge was balancing the RPG elements. I didn’t want Recovery Quest to become just another game with health-themed decorations. The progression systems had to support the main purpose of the app: helping users understand and improve their recovery habits. Finding that balance between engagement and meaningful feedback required a lot of experimentation and refinement. What are you proud of? I’m proud that Recovery Quest makes something invisible feel visible. Recovery is difficult to measure in everyday life. Most people don’t notice the cumulative effect of sleeping better, eating more consistently, or exercising regularly until weeks later. Recovery Quest highlights those small victories. Users can see how their habits influence their recovery state and receive feedback that encourages them to continue building healthier routines. I’m also proud that I built the entire experience as a fully functional front-end application using HTML, CSS, and JavaScript, combining recovery tracking with engaging progression mechanics into one cohesive experience. Most of all, I’m proud of creating something that encourages people to take care of themselves through positive reinforcement rather than guilt or pressure. What should people know so they can test your project? To test Recovery Quest, simply explore the app by entering information related to your sleep, nutrition, and exercise habits. The system will evaluate your recovery state and provide feedback based on the choices you make. One important thing to note is that this version does not include a backend. If you log out, your data will be lost. Despite this limitation, the complete recovery experience can still be explored, allowing users to understand the core idea behind Recovery Quest: turning the journey toward better well-being into an adventure worth returning to....
|
1792878801.1486173
|
1793742801.1486173
|
|
40507
|
Portfolio + Blog by @Irtaza | Stardance
|
Irtaza
|
1
|
18.83
|
134
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-04T07:11:49Z", "hours": 11.0, "multiplier": 12.57, "payout": 134, "blessing": "neutral", "text": "I updated my portfolio site! Added a blog section and redid the header. A lot of the site was outdated, so added more of my recent projects, and also due to the HC CDN change, a lot of the images were broke, so updated them too. And made a new blog post too for my custom camera, PiShot! I think the new blog section is really cool!", "repo": "https://github.com/Irtaza2009/irtaza2009.github.io", "demo": "https://irtaza.xyz"}]...
|
[{"post_id": 53275, "ts": "202 [{"post_id": 53275, "ts": "2026-08-23T18:45:40Z", "hours": 2.3286, "text": "Worked on making the site look good on mobile! Did this by first removing extras like the scroll indicator and moving the top menu behind a hamburger button on mobile. Then used media queries to change the sizing of each element for smaller screens. Also removed some duplicated CSS code I found (again). I think it looks pretty good on mobile now!"}, {"post_id": 51574, "ts": "2026-08-21T10:51:49Z", "hours": 1.5756, "text": "Made a Convoy’s Game of Life background for the /resume page, with 2 fixed starting positions on the page, one at the left, and one at the top mid! Now the /resume page’s bakground doesn’t look too empty! And also added a link to my youtube and insta."}, {"post_id": 51149, "ts": "2026-08-20T17:19:30Z", "hours": 1.6083, "text": "Added a new /resume page to my site! It has separate sections for intro, experience, projects, recognitions and skills. Will look for something to improve the background next, as it’s pretty plain right now."}, {"post_id": 48912, "ts": "2026-08-17T14:06:31Z", "hours": 1.0894, "text": "Edited the about me section, and added the “Some things I have done” part. Also changed the line colour for the particles.js background to be more greyish in light mode, for better contrast!"}, {"post_id": 48846, "ts": "2026-08-17T12:10:53Z", "hours": 1.2294, "text": "Added a section for my Rune games, with their project cards and stats!! Also removed some unused JS and CSS code (some old animations and classes that no longer existed)."}, {"post_id": 40580, "ts": "2026-08-04T06:55:58Z", "hours": 1.9333, "text": "Worked on the PiShot blog post! Compiled the post from my Highway and Reboot journal. Then downloaded all their images and re-linked them (I don’t want to rely on any CDNs). And added some introductory and ending paragraphs. Also styled the images so they look good side by side and fit well. Added a card for this new blog post on my site too."}, {"post_id": 39758, "ts": "2026-08-02T22:40:13Z", "hours": 0.9861, "text": "Restyled the blog cards, and made them larger. Also started working on a blog post for my custom raspberry pi camera: PiShot! I also moved all the images used in my blog to local from CDN."}, {"post_id": 39056, "ts": "2026-08-01T18:50:52Z", "hours": 1.2908, "text": "Changed the article section to include a dropdown for less relevant articles. And moved all images from CDNs to the local project folder. Also made the site more accessible by adding aria-lables, and removed a lot of dead code, mainly js code. Also, finally added a favicon!!"}, {"post_id": 38488, "ts": "2026-07-31T21:55:44Z", "hours": 1.6056, "text": "Added a blog section to the main site and linked the blog post, tags and images from the blog site. Also updated the hero section with a new tagline and an Explore Projects button. Also improved the descriptions of all the project cards!"}, {"post_id": 38408, "ts": "2026-07-31T19:14:46Z", "hours": 0.7781, "text": "Again worked on the README! Made a todo section for the stuff I am currently planning to work on, and a git stats section. Also added some Pokémon and books info for fun. And placed some easter eggs too, like a Konami code and an ASCII art train! And also a visitor counter, and a blinking cursor SVG at the end too!"}, {"post_id": 38258, "ts": "2026-07-31T15:48:58Z", "hours": 1.2997, "text": "Got sidetracked and started making a cool readme! Got inspired by the terminal/neofetch styling, and made something like that (+ added some cool easter eggs and extras too). It’s not fully done, I still have some sections left to go, but I think the Greninja logo for the neofetch (ASCII art!), help section, and the curl for contacts is pretty cool! The hardest part was making the links work in a code block, because all Markdown is ignored in the “ ” tags. So had to use some HTML and pre tags to work around that!"}, {"post_id": 36281, "ts": "2026-07-28T08:56:05Z", "hours": 0.4106, "text": "Fixed images in my blog that were lost due to the old HC CDN shutting down. Also changed the footer styling, and added a youtube link!"}, {"post_id": 35820, "ts": "2026-07-27T14:37:03Z", "hours": 0.7139, "text": "Added rotating profile images. Now a random one is chosen on every reload. Also made some minor changes to the header spacing and updated the LinkedIn link!"}, {"post_id": 35699, "ts": "2026-07-27T09:38:47Z", "hours": 1.8225, "text": "Added more of my recent projects and games to the showcase, like PiShot, and Nucleo. Also styled the selected text, I didn’t even know that was possible. And updated the text in the header, and added a youtube channel link."}]...
|
Title: Portfolio + Blog by @Irtaza | Stardance
De Title: Portfolio + Blog by @Irtaza | Stardance
Devlogs:
Added more of my recent projects and games to the showcase, like PiShot, and Nucleo. Also styled the selected text, I didn’t even know that was possible. And updated the text in the header, and added a youtube channel link.
Added rotating profile images. Now a random one is chosen on every reload. Also made some minor changes to the header spacing and updated the LinkedIn link!
Fixed images in my blog that were lost due to the old HC CDN shutting down. Also changed the footer styling, and added a youtube link!
Got sidetracked and started making a cool readme! Got inspired by the terminal/neofetch styling, and made something like that (+ added some cool easter eggs and extras too). It’s not fully done, I still have some sections left to go, but I think the Greninja logo for the neofetch (ASCII art!), help section, and the curl for contacts is pretty cool! The hardest part was making the links work in a code block, because all Markdown is ignored in the “ ” tags. So had to use some HTML and pre tags to work around that!
Again worked on the README! Made a todo section for the stuff I am currently planning to work on, and a git stats section. Also added some Pokémon and books info for fun. And placed some easter eggs too, like a Konami code and an ASCII art train! And also a visitor counter, and a blinking cursor SVG at the end too!
Added a blog section to the main site and linked the blog post, tags and images from the blog site. Also updated the hero section with a new tagline and an Explore Projects button. Also improved the descriptions of all the project cards!
Changed the article section to include a dropdown for less relevant articles. And moved all images from CDNs to the local project folder. Also made the site more accessible by adding aria-lables, and removed a lot of dead code, mainly js code. Also, finally added a favicon!!
Restyled the blog cards, and made them larger. Also started working on a blog post for my custom raspberry pi camera: PiShot! I also moved all the images used in my blog to local from CDN.
Worked on the PiShot blog post! Compiled the post from my Highway and Reboot journal. Then downloaded all their images and re-linked them (I don’t want to rely on any CDNs). And added some introductory and ending paragraphs. Also styled the images so they look good side by side and fit well. Added a card for this new blog post on my site too.
Added a section for my Rune games, with their project cards and stats!! Also removed some unused JS and CSS code (some old animations and classes that no longer existed).
Edited the about me section, and added the “Some things I have done” part. Also changed the line colour for the particles.js background to be more greyish in light mode, for better contrast!
Added a new /resume page to my site! It has separate sections for intro, experience, projects, recognitions and skills. Will look for something to improve the background next, as it’s pretty plain right now.
Made a Convoy’s Game of Life background for the /resume page, with 2 fixed starting positions on the page, one at the left, and one at the top mid! Now the /resume page’s bakground doesn’t look too empty! And also added a link to my youtube and insta.
Worked on making the site look good on mobile! Did this by first removing extras like the scroll indicator and moving the top menu behind a hamburger button on mobile. Then used media queries to change the sizing of each element for smaller screens. Also removed some duplicated CSS code I found (again). I think it looks pretty good on mobile now!
Ships:
I updated my portfolio site! Added a blog section and redid the header. A lot of the site was outdated, so added more of my recent projects, and also due to the HC CDN change, a lot of the images were broke, so updated them too. And made a new blog post too for my custom camera, PiShot! I think the new blog section is really cool!...
|
1793065740.2605696
|
1793152140.2605696
|
|
57320
|
escape by @krupa_pramod | Stardance
|
krupa_pramod
|
1
|
8.0
|
134
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-05T05:37:45Z", "hours": 8.0, "multiplier": 17.56, "payout": 134, "blessing": "neutral", "text": "I made a web based escape room made in HTML, CSS, and JS. There is a storyline that progresses throughout the game, and the user has to escape from being trapped inside a computer. Each level (there are 6) is password protected, and the passwords are hidden in different places throughout each level. There are multiple interactive elements, such as file explorers, terminals, open/close windows, draggable windows, choice buttons, and hidden objects. There is also a unique win and quit screen that can be achieved. I am happy with the way this turned out and the overall aesthetic of it. The Javascript was kind of difficult at times but for the most part just repetitive. Future improvements may be more levels or better graphics/storyline. Hope you enjoy!", "repo": "https://github.com/krupa-pramod/escape", "demo": "https://krupa-pramod.github.io/escape/"}]...
|
[{"post_id": 61710, "ts": "202 [{"post_id": 61710, "ts": "2026-09-04T19:07:10Z", "hours": 0.975, "text": "This may just be the final devlog! Unless I add more although I don’t think I will. Here you can click on this guy and it opens a popup asking if you want to talk to him, and you guys can talk through the terminal. Finally you choose whether you want to stay and switches to this terminal room, or leave in which its just a black screen that says session terminated. I made a lot of silly errors in the terminal so debugging took a little while but its done now!"}, {"post_id": 61655, "ts": "2026-09-04T17:57:08Z", "hours": 0.4978, "text": "Quit screen is done! Pretty simple but I think that’s okay since the quit screen won’t be viewed very often… click session terminated and everything goes black and one would probably close the tab. Lastly the end screen!"}, {"post_id": 61259, "ts": "2026-09-04T03:17:05Z", "hours": 0.5536, "text": "Level 6 is done at last! AKA the final level unless I spontaneously decide to add one more. Here there is a newspaper you reveal, and basically there is a clock on the wall and the paper tells you to look behind the clock, there’s the password but oh wait it has to be in numerical order least to greatest. Pretty fun and easy to make, and yeah I’m kind of running out of ideas for levels so this will probably be the last. A lot of repitive work mostly."}, {"post_id": 61197, "ts": "2026-09-04T00:36:22Z", "hours": 0.8019, "text": "Level 5 is done! I think level 6 is going to be the very last level so next I just have to make that and a win/death screen. Although really you don’t die unless you like quit at the very beginning but oh well. Level 5 is again password protected, we have our little friendly hint man. You can click the paper to read some text, and the password is the number associated with the 4 objects. (ex. there are 4 hooks, 2 people, number 3 on clock is missing). Of course all windows are draggable what not. Level 6 next!"}, {"post_id": 61047, "ts": "2026-09-03T19:16:49Z", "hours": 1.1381, "text": "Fourth level done! This is basically kind of your in a tunnel, you click on one of the posters on the wall and then when you hover over a certain area of the poster the password appears and takes you to the fifth level. I have no idea how many levels there are going to be but we’ll see. This took longer than it should but it was kind of a pain figuring out the position of stuff and thats why it took quite a bit of time. Next fifth level!"}, {"post_id": 60635, "ts": "2026-09-03T03:23:41Z", "hours": 0.7219, "text": "Third level is COMPLETE! This level has a terminal with a bunch of commands, you click on that icon to open it and again it is password protected. You can get the time, list of commands, clear, about, where am i, and a clue which basically tells you to like take the first letter of each thing under help and thats pretty much the password. Next level (4) is probably gonna be like you have escaped from the computer but now your like in a room or something. We shall see!"}, {"post_id": 60565, "ts": "2026-09-02T23:55:41Z", "hours": 1.0236, "text": "First level is officially done and we are onto the second! On the first one I added a journal file, with a manifest from the little organization thing (I think the story is like you are trapped in a computer by a cult… and you have to get out) and a personal journal that has the password. There’s also a trash file (which is empty), a photos file with some random photos, and also a file explorer with some files. Second level just has numbers hidden in photos. Overall pretty good, kind of repetitive JS and HTML and things so yeah. Next up LEVEL 3!"}, {"post_id": 59982, "ts": "2026-09-02T02:08:40Z", "hours": 1.2414, "text": "Updates have been made! I am now working on the first minigame sort of thing, it’s kind of like an OS where you have to dig through and find the password. Lucky for me the password is my birthday. Made a journal window and a photos window, hoping to add sort of a code window and a trash window later. This is sort of reminiscent of making the my web oS project LOL. Added open/close, and draggability and things."}, {"post_id": 59943, "ts": "2026-09-02T00:27:41Z", "hours": 0.6531, "text": "New project time! I wanted to make one of those web based kind of crappy escape rooms because I love the vibes of them. Unfortunately my script writing skills are sub-par so we will ignore that part for now. So far I made the opening slide and an intro slide where you just click open and a window opens. Took me way too long for so less but anything for the Stardance certificate I guess. Hopefully this turns out well and next time I’m hoping to make the very first minigame."}]...
|
Title: escape by @krupa_pramod | Stardance
Devlog Title: escape by @krupa_pramod | Stardance
Devlogs:
New project time! I wanted to make one of those web based kind of crappy escape rooms because I love the vibes of them. Unfortunately my script writing skills are sub-par so we will ignore that part for now. So far I made the opening slide and an intro slide where you just click open and a window opens. Took me way too long for so less but anything for the Stardance certificate I guess. Hopefully this turns out well and next time I’m hoping to make the very first minigame.
Updates have been made! I am now working on the first minigame sort of thing, it’s kind of like an OS where you have to dig through and find the password. Lucky for me the password is my birthday. Made a journal window and a photos window, hoping to add sort of a code window and a trash window later. This is sort of reminiscent of making the my web oS project LOL. Added open/close, and draggability and things.
First level is officially done and we are onto the second! On the first one I added a journal file, with a manifest from the little organization thing (I think the story is like you are trapped in a computer by a cult… and you have to get out) and a personal journal that has the password. There’s also a trash file (which is empty), a photos file with some random photos, and also a file explorer with some files. Second level just has numbers hidden in photos. Overall pretty good, kind of repetitive JS and HTML and things so yeah. Next up LEVEL 3!
Third level is COMPLETE! This level has a terminal with a bunch of commands, you click on that icon to open it and again it is password protected. You can get the time, list of commands, clear, about, where am i, and a clue which basically tells you to like take the first letter of each thing under help and thats pretty much the password. Next level (4) is probably gonna be like you have escaped from the computer but now your like in a room or something. We shall see!
Fourth level done! This is basically kind of your in a tunnel, you click on one of the posters on the wall and then when you hover over a certain area of the poster the password appears and takes you to the fifth level. I have no idea how many levels there are going to be but we’ll see. This took longer than it should but it was kind of a pain figuring out the position of stuff and thats why it took quite a bit of time. Next fifth level!
Level 5 is done! I think level 6 is going to be the very last level so next I just have to make that and a win/death screen. Although really you don’t die unless you like quit at the very beginning but oh well. Level 5 is again password protected, we have our little friendly hint man. You can click the paper to read some text, and the password is the number associated with the 4 objects. (ex. there are 4 hooks, 2 people, number 3 on clock is missing). Of course all windows are draggable what not. Level 6 next!
Level 6 is done at last! AKA the final level unless I spontaneously decide to add one more. Here there is a newspaper you reveal, and basically there is a clock on the wall and the paper tells you to look behind the clock, there’s the password but oh wait it has to be in numerical order least to greatest. Pretty fun and easy to make, and yeah I’m kind of running out of ideas for levels so this will probably be the last. A lot of repitive work mostly.
Quit screen is done! Pretty simple but I think that’s okay since the quit screen won’t be viewed very often… click session terminated and everything goes black and one would probably close the tab. Lastly the end screen!
This may just be the final devlog! Unless I add more although I don’t think I will. Here you can click on this guy and it opens a popup asking if you want to talk to him, and you guys can talk through the terminal. Finally you choose whether you want to stay and switches to this terminal room, or leave in which its just a black screen that says session terminated. I made a lot of silly errors in the terminal so debugging took a little while but its done now!
Ships:
I made a web based escape room made in HTML, CSS, and JS. There is a storyline that progresses throughout the game, and the user has to escape from being trapped inside a computer. Each level (there are 6) is password protected, and the passwords are hidden in different places throughout each level. There are multiple interactive elements, such as file explorers, terminals, open/close windows, draggable windows, choice buttons, and hidden objects. There is also a unique win and quit screen that can be achieved. I am happy with the way this turned out and the overall aesthetic of it. The Javascript was kind of difficult at times but for the most part just repetitive. Future improvements may be more levels or better graphics/storyline. Hope you enjoy!...
|
1793101976.8816876
|
1793188376.8816876
|
|
219
|
Stellar Programming Fundamentals Course by @djblac Stellar Programming Fundamentals Course by @djblackberry64contribute | Stardance...
|
djblackberry64contribute
|
1
|
16.45
|
133
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-28T20:46:54Z", "hours": 11.0, "multiplier": 12.57, "payout": 133, "blessing": "neutral", "text": "I made a programming fundamentals course with Astro Starlight because I wanted to make my own soft entry into the programming cosmos. The Astro 7 migration as well as the configurations were really challenging but I overcame them by reading docs, research and - as a last resort - socratic AI assistance. I’m really proud I got familiar with this tool and can express my idea more easily now. In order to test this project just visit the website linked under the image in the README.md and look around a bit.", "repo": "https://github.com/djblackberry64/programming-fundamentals-course", "demo": "https://djblackberry64.github.io/programming-fundamentals-course/"}]...
|
[{"post_id": 68257, "ts": "202 [{"post_id": 68257, "ts": "2026-09-14T19:49:15Z", "hours": 5.4544, "text": "PWA journey, Tagline afternoon and dependency disaster So in these 5 hours you see, some things happened and I’m excited to share the story with you.📖 First, the PWA So I wanted to make a PWA out of my website and searched around. After a while, I find a plugin that seems just right for me. Little did I know what I had just unleashed here… I’ve spent a whole day just figuring out what was wrong before ultimately realizing the service worker setup was causing issues, so I decided to revisit this later. I cleaned up, added a normal webmanifest and the logos/icons I had already created and got a non-offline PWA out of it for now (definitely will add offline functionality once I figure out how to write a service worker).🤔 Next, the Tagline Afternoon So I wanted to change this little text under that big bold “Hey there! Yeah you!” (as seen in the pictures I was successful in the end). But I had misread one critical piece of information which would devour my whole afternoon. I thought the description option was the place for configuring this little text! (Spoiler: It was the option called tagline) So I spent hours searching if my OS had trouble updating sites, reinstalling dependencies etc. and gave myself a proper facepalm when you finally see what was right in front of you.😑🤣 Last but not least, Dependency Disaster So this problem basically followed me through every attempt and changing or troubleshooting something. It thankfully was easy to resolve the remains of this problem though (reinstalling some dependencies and cussing a little at AI for suggesting a deprecated option when I asked about the build error).😌 Conclusion These were really productive 5 hours I spent here - more or less successful - expanding this project even further. I hope you enjoyed this devlog and I can’t wait for you to join in again. 😉Have a nice day, I’ll see myself out for now!😁"}, {"post_id": 36594, "ts": "2026-07-28T20:11:21Z", "hours": 0.7392, "text": "Why I am doing this, manifest update, minor changes Added “Why another free course” section to README.md Added project banner to README.md Added Stardance note in “Achievements” section to README.md Removed giscus comments from start page for visual clarity This is the last post before the first ship. 🥳 I’m so excited! 😬 I’m so glad I got to share the current development process of this project so far in this (and previous) HackClub event(s).☺️ But this project is far from over. I’m looking forward to extending this even further with more content, different styling, functionality, translations etc.🫡"}, {"post_id": 35285, "ts": "2026-07-26T16:22:16Z", "hours": 1.4225, "text": "This change focused on theme and comment/suggestion functionality I added the starlight-giscus plugin to add giscus support, added an edit page to my config file and followed the steps in the docs for applying a custom theme on a starlight page. Annoying Bug When configuring the styling for the giscus plugin in the config, the browser wouldn’t switch neatly when switching from light to dark mode when using themes other than plain light and dark –> using default themes for correct switching logic now."}, {"post_id": 24140, "ts": "2026-07-07T14:47:28Z", "hours": 0.4725, "text": "After another 30min of router logic battle I got the images working!🥳 Something with how the routing logic subtracts base subtracted the necessary / too so just added an extra one to make it work. #workaround"}, {"post_id": 24119, "ts": "2026-07-07T14:10:58Z", "hours": 7.27, "text": "Astro 7 transition, markdown rendering hell and a functional result After some growing pains 😖 with the tools I was using (Starlight + Astro), I finally got this project ready and shipped. Stay tuned for more devlogs!😉 Quick overview of the changes I made✍️: Added social links Astro 7 transition Removed duplicate titles"}, {"post_id": 4885, "ts": "2026-06-08T13:29:12Z", "hours": 0.6567, "text": "I worked on the existing project (was already part of flavortown).😄 Added an update to the manifest regarding a migraton to another static site generator. Added a lesson in section 2-language-specific-lessons where I detail my new project - a Java course which is based on the same principles as this course - and describe what it’s for. Short version Migrating from Material for MkDocs to Astro Starlight. Look forward to: Migration post where I detail the experience with the migration going on in the background!😘"}]...
|
Title: Stellar Programming Fundamentals Course by Title: Stellar Programming Fundamentals Course by @djblackberry64contribute | Stardance
Devlogs:
I worked on the existing project (was already part of flavortown).😄 Added an update to the manifest regarding a migraton to another static site generator. Added a lesson in section 2-language-specific-lessons where I detail my new project - a Java course which is based on the same principles as this course - and describe what it’s for. Short version Migrating from Material for MkDocs to Astro Starlight. Look forward to: Migration post where I detail the experience with the migration going on in the background!😘
Astro 7 transition, markdown rendering hell and a functional result After some growing pains 😖 with the tools I was using (Starlight + Astro), I finally got this project ready and shipped. Stay tuned for more devlogs!😉 Quick overview of the changes I made✍️: Added social links Astro 7 transition Removed duplicate titles
After another 30min of router logic battle I got the images working!🥳 Something with how the routing logic subtracts base subtracted the necessary / too so just added an extra one to make it work. #workaround
This change focused on theme and comment/suggestion functionality I added the starlight-giscus plugin to add giscus support, added an edit page to my config file and followed the steps in the docs for applying a custom theme on a starlight page. Annoying Bug When configuring the styling for the giscus plugin in the config, the browser wouldn’t switch neatly when switching from light to dark mode when using themes other than plain light and dark –> using default themes for correct switching logic now.
Why I am doing this, manifest update, minor changes Added “Why another free course” section to README.md Added project banner to README.md Added Stardance note in “Achievements” section to README.md Removed giscus comments from start page for visual clarity This is the last post before the first ship. 🥳 I’m so excited! 😬 I’m so glad I got to share the current development process of this project so far in this (and previous) HackClub event(s).☺️ But this project is far from over. I’m looking forward to extending this even further with more content, different styling, functionality, translations etc.🫡
PWA journey, Tagline afternoon and dependency disaster So in these 5 hours you see, some things happened and I’m excited to share the story with you.📖 First, the PWA So I wanted to make a PWA out of my website and searched around. After a while, I find a plugin that seems just right for me. Little did I know what I had just unleashed here… I’ve spent a whole day just figuring out what was wrong before ultimately realizing the service worker setup was causing issues, so I decided to revisit this later. I cleaned up, added a normal webmanifest and the logos/icons I had already created and got a non-offline PWA out of it for now (definitely will add offline functionality once I figure out how to write a service worker).🤔 Next, the Tagline Afternoon So I wanted to change this little text under that big bold “Hey there! Yeah you!” (as seen in the pictures I was successful in the end). But I had misread one critical piece of information which would devour my whole afternoon. I thought the description option was the place for configuring this little text! (Spoiler: It was the option called tagline) So I spent hours searching if my OS had trouble updating sites, reinstalling dependencies etc. and gave myself a proper facepalm when you finally see what was right in front of you.😑🤣 Last but not least, Dependency Disaster So this problem basically followed me through every attempt and changing or troubleshooting something. It thankfully was easy to resolve the remains of this problem though (reinstalling some dependencies and cussing a little at AI for suggesting a deprecated option when I asked about the build error).😌 Conclusion These were really productive 5 hours I spent here - more or less successful - expanding this project even further. I hope you enjoyed this devlog and I can’t wait for you to join in again. 😉Have a nice day, I’ll see myself out for now!😁
Ships:
I made a programming fundamentals course with Astro Starlight because I wanted to make my own soft entry into the programming cosmos. The Astro 7 migration as well as the configurations were really challenging but I overcame them by reading docs, research and - as a last resort - socratic AI assistance. I’m really proud I got familiar with this tool and can express my idea more easily now. In order to test this project just visit the website linked under the image in the README.md and look around a bit....
|
1792997354.9952517
|
1793083754.9952517
|
|
301
|
Almost There by @Osaidii | Stardance
|
Osaidii
|
1
|
20.0
|
133
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-11T13:08:24Z", "hours": 20.0, "multiplier": 13.35, "payout": 133, "blessing": "neutral", "text": "I made a horror game, making the settings menu was pretty challenging but that is the part I am most proud of too. One thing people should know is that the gameplay is far from comeplete, and the whole settings menu works. controls arent changeabe btw.", "repo": "https://github.com/Osaidii/Almost-There", "demo": "https://osaidii.itch.io/almost-there"}]...
|
[{"post_id": 78722, "ts": "202 [{"post_id": 78722, "ts": "2026-10-11T12:28:31Z", "hours": 19.6383, "text": "I worked on completing my settings menu and then adding more gameplay. I also fixed bugs with previous stuff like the special walls. I also added subtitles and tutorials."}]...
|
Title: Almost There by @Osaidii | Stardance
Devlo Title: Almost There by @Osaidii | Stardance
Devlogs:
I worked on completing my settings menu and then adding more gameplay. I also fixed bugs with previous stuff like the special walls. I also added subtitles and tutorials.
Ships:
I made a horror game, making the settings menu was pretty challenging but that is the part I am most proud of too. One thing people should know is that the gameplay is far from comeplete, and the whole settings menu works. controls arent changeabe btw....
|
1793004825.1307223
|
1793091225.1307223
|
|
19074
|
ISS HUNT by @madzia | Stardance
|
madzia
|
1
|
18.0
|
133
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-04T14:11:53Z", "hours": 18.0, "multiplier": 7.34, "payout": 133, "blessing": "neutral", "text": "ISS HUNT A website created from the love to css What’s this about? It’s about the ISS. You’ll find here 5 segments: About Education Guide (on how to spot the ISS) Astronauts Social media Every segment is all around the ISS! Besides, you’ll find a lot of animations - enjoy them! This site is meant to be fun, and I built it so we can remember the ISS forever, as its retiring soon. The challenging thing was probably the cursor. Aaand the scrollbar. Before, I knew the absolute basics of these 2 features, but in this project I learnt a lot more about them. I enjoyed making it bc of css - it was such a creative and smooth process. Please try on laptop/computer OR watch the videos attached in devlog 8. It do NOT work correctly on smartphones.", "repo": "https://github.com/Maaadzia/ISS-hunt", "demo": "https://maaadzia.github.io/ISS-hunt/"}]...
|
[{"post_id": 76746, "ts": "202 [{"post_id": 76746, "ts": "2026-10-04T13:55:43Z", "hours": 2.4128, "text": "Devlog 8 - Final devlog, cursor, scrollbar and minor changes Please watch the videos below if you’re a voter and you can’t visit this website by computer. The first video is speeded up Cursor I added this cyan star cursor! I knew how to change the cursor but I had such a problem with making it different while pointing. Eventually I asked ai for help and it turned out pretty well - I think it adds some whimsy to this page Scrollbar (visible on second slide) I also styled the scrollbar!! I used youtube tutorial for this one. Looks much better now, I love the cyan accent! Few minor changes Fixed some bugs, some typos, added few words Thank you!! I’m gonna ship it now, thanks yall for your support I really appreciate it. This project was so fun to make, CSS is awesome. Wish me luck"}, {"post_id": 74584, "ts": "2026-09-27T17:54:34Z", "hours": 0.6608, "text": "Devlog 7 - About segment Hi again! 5/5 segments are complete!! About This segment is just a short description on the ISS and a photo with cool animation What’s next? I’m not shipping yet, now I need to perfect this site! Style the scrollbar Fix some animations Add some details It’s near finish! Thanks for reading"}, {"post_id": 74401, "ts": "2026-09-27T10:08:18Z", "hours": 0.9986, "text": "Devlog 6 - Education segment Hello everyone, 4/5 segments complete! Education In this section I embedeed 2 imo interesting videos from the ISS and a button that direct you to the ISS site!! Obviously I’ve also added some animations and I fixed the animation from guide segment, sorry I forgot to put this in the video, but I think that it looks much better now! If you’d change anything please let me know, I’d love to get to know your opinion!! Thanks for reading and have a nice day"}, {"post_id": 73653, "ts": "2026-09-25T16:18:24Z", "hours": 1.5194, "text": "Devlog 5 - Guide and Social media segments Hiii! 3/5 segments finished!! Social media That’s just a segment with ISS socials (but the tiktok one is ESA’s account bc iss don’t have their own and esa post a lot from the ISS!) But I’ve done this in such a… unique way! The social media icons you see is just one full img I added A B C and D text and centered it on these icons Added href to these abcds and it’s working! Last step - opacity: 0 But why this way? I’m sure that there’s an easier way to do this but I’m not that experienced and I like to create things on my own, I came up with this and it works!! So yall remember, work smarter not harder! Guide segment I’m not so sure about this one. Please let me know - should I keep this animation, where the letters are “dancing”, or should I change it to some smoother animation? I kinda like it bc it’s like futuristic computer coding something vibe but idk, so pleaseee watch the video on the 3th slide and let me know below!! It would be highly appreciated!!! Thanks for reading and have a nice day!"}, {"post_id": 73253, "ts": "2026-09-24T17:59:40Z", "hours": 1.9628, "text": "Devlog 4 - Astronauts Segment Hi everyone!! 1/5 segments are finished!! I don’t have much to say as I really like working with css and everything is always so smooth. I enjoyed doing the research and getting to know some interesting information about these people!! In this segment you will find: A lot of astronauts photos with cool animation on scroll at the top Section about Peggy Whitson Section about Scott Kelly I decided to write a little bit about 2 people who did some iconic things on the ISS. I didn’t wanted it to be boring and I think that I found the perfect balance. Thanks for reading and have a nice dayy!!!"}, {"post_id": 71156, "ts": "2026-09-20T11:19:25Z", "hours": 1.5481, "text": "Devlog 3 - start screen and a lot of styling!! So the “raw” version is complete!! This, or so, is how it’s gonna look. Seriously, I love css so much it was so fun to make this!! Ai usage To the scroll element I needed to add 2 animations: To make it “jump”, infinite To make it fade while scrolling I didn’t know how I can add 2 animations and therefore I asked ai. The solution is to add the second animation after a coma but it wouldn’t work very well bc I had, among others, animation-timeline: view(); it also helped me with this one and the solution here is to add auto, view() , normal, 0% and so on. A small thing, but it was really helpful. What’s next? I need to fill every section with many cool animations and information!! I would love to add maybe an interactive background or just some animations bc rn it’s kinda blank I love how it’s turning out and can’t wait for the final results!!"}, {"post_id": 70596, "ts": "2026-09-19T12:41:20Z", "hours": 3.4253, "text": "Devlog 2 - a complete rebrand!! New Idea of the ISS hunt I never wanted it to be a webOS, but when I created this project I just didn’t know what an OS meant lol, while working on spacecraftOS I really liked css, and I also came up with an idea.. I’m staying with the design and ISS is still gonna be the main character, but instead of building some advanced system I’m going to make a pretty website with a lot of animations. It will be a vast guide about the ISS! Css makes me happy and fulfilled, I really enjoy learning new stuff about it. I’d love to create more beautiful and breathtaking websites. I can’t wait to improve my css skills!! Yk stardance is ending soon, I wouldn’t even have the time to learn enough js Also, I’m so grateful for all the reviews I got on spacecraftOS and a 18,53x multiplier!! Thank you all it makes me so happy!!! 😭💗 So, what I’d already done? Deleted most of my code Created header on scroll animation (you can see it in the video below) Left the orbiting ISS bc I spent on it so much time, looking forward to find some use for it! I think that I’ll just change the background colors as I’m looking at it now, lmk what you think! Can’t wait to create more!! Thanks for reading and have a nice day"}, {"post_id": 25192, "ts": "2026-07-09T08:27:59Z", "hours": 5.6578, "text": "ISS HUNT - devlog #1 Hi! Recently I’ve been working on ISS hunt, a website that helps you catch ISS flying over your country! For more information check this project description . What I’ve already done I’ve been focusing on the page design - you can see how it looks in the video below! I added ISS moving around the site, it wasn’t really difficult but as you can see in the video the spin on its own axis is taking it so much time - well, not anymore! I managed to fix it and now it’s just a brief moment. What you can see in the video Besides the ISS you can see the upper band showing current time and day and below you can see few countries - what’s the plan? I’m starting with 3 countries, by clicking on them soon you will be able to open a window with several information about next ISS flyovers, such as where, when or the weather condition. I want to make it exist first, and then I will make it great! The plan is to make selectable options with all countries around the world, starting with these which you guys would like to see! What’s next? I’m going to focus on few apps, that will provide the rundown on the basics of ISS Thanks for reading my 1st devlog! And what about you? Did yall ever seen ISS flying over your country?"}]...
|
Title: ISS HUNT by @madzia | Stardance
Devlogs:
I Title: ISS HUNT by @madzia | Stardance
Devlogs:
ISS HUNT - devlog #1 Hi! Recently I’ve been working on ISS hunt, a website that helps you catch ISS flying over your country! For more information check this project description . What I’ve already done I’ve been focusing on the page design - you can see how it looks in the video below! I added ISS moving around the site, it wasn’t really difficult but as you can see in the video the spin on its own axis is taking it so much time - well, not anymore! I managed to fix it and now it’s just a brief moment. What you can see in the video Besides the ISS you can see the upper band showing current time and day and below you can see few countries - what’s the plan? I’m starting with 3 countries, by clicking on them soon you will be able to open a window with several information about next ISS flyovers, such as where, when or the weather condition. I want to make it exist first, and then I will make it great! The plan is to make selectable options with all countries around the world, starting with these which you guys would like to see! What’s next? I’m going to focus on few apps, that will provide the rundown on the basics of ISS Thanks for reading my 1st devlog! And what about you? Did yall ever seen ISS flying over your country?
Devlog 2 - a complete rebrand!! New Idea of the ISS hunt I never wanted it to be a webOS, but when I created this project I just didn’t know what an OS meant lol, while working on spacecraftOS I really liked css, and I also came up with an idea.. I’m staying with the design and ISS is still gonna be the main character, but instead of building some advanced system I’m going to make a pretty website with a lot of animations. It will be a vast guide about the ISS! Css makes me happy and fulfilled, I really enjoy learning new stuff about it. I’d love to create more beautiful and breathtaking websites. I can’t wait to improve my css skills!! Yk stardance is ending soon, I wouldn’t even have the time to learn enough js Also, I’m so grateful for all the reviews I got on spacecraftOS and a 18,53x multiplier!! Thank you all it makes me so happy!!! 😭💗 So, what I’d already done? Deleted most of my code Created header on scroll animation (you can see it in the video below) Left the orbiting ISS bc I spent on it so much time, looking forward to find some use for it! I think that I’ll just change the background colors as I’m looking at it now, lmk what you think! Can’t wait to create more!! Thanks for reading and have a nice day
Devlog 3 - start screen and a lot of styling!! So the “raw” version is complete!! This, or so, is how it’s gonna look. Seriously, I love css so much it was so fun to make this!! Ai usage To the scroll element I needed to add 2 animations: To make it “jump”, infinite To make it fade while scrolling I didn’t know how I can add 2 animations and therefore I asked ai. The solution is to add the second animation after a coma but it wouldn’t work very well bc I had, among others, animation-timeline: view(); it also helped me with this one and the solution here is to add auto, view() , normal, 0% and so on. A small thing, but it was really helpful. What’s next? I need to fill every section with many cool animations and information!! I would love to add maybe an interactive background or just some animations bc rn it’s kinda blank I love how it’s turning out and can’t wait for the final results!!
Devlog 4 - Astronauts Segment Hi everyone!! 1/5 segments are finished!! I don’t have much to say as I really like working with css and everything is always so smooth. I enjoyed doing the research and getting to know some interesting information about these people!! In this segment you will find: A lot of astronauts photos with cool animation on scroll at the top Section about Peggy Whitson Section about Scott Kelly I decided to write a little bit about 2 people who did some iconic things on the ISS. I didn’t wanted it to be boring and I think that I found the perfect balance. Thanks for reading and have a nice dayy!!!
Devlog 5 - Guide and Social media segments Hiii! 3/5 segments finished!! Social media That’s just a segment with ISS socials (but the tiktok one is ESA’s account bc iss don’t have their own and esa post a lot from the ISS!) But I’ve done this in such a… unique way! The social media icons you see is just one full img I added A B C and D text and centered it on these icons Added href to these abcds and it’s working! Last step - opacity: 0 But why this way? I’m sure that there’s an easier way to do this but I’m not that experienced and I like to create things on my own, I came up with this and it works!! So yall remember, work smarter not harder! Guide segment I’m not so sure about this one. Please let me know - should I keep this animation, where the letters are “dancing”, or should I change it to some smoother animation? I kinda like it bc it’s like futuristic computer coding something vibe but idk, so pleaseee watch the video on the 3th slide and let me know below!! It would be highly appreciated!!! Thanks for reading and have a nice day!
Devlog 6 - Education segment Hello everyone, 4/5 segments complete! Education In this section I embedeed 2 imo interesting videos from the ISS and a button that direct you to the ISS site!! Obviously I’ve also added some animations and I fixed the animation from guide segment, sorry I forgot to put this in the video, but I think that it looks much better now! If you’d change anything please let me know, I’d love to get to know your opinion!! Thanks for reading and have a nice day
Devlog 7 - About segment Hi again! 5/5 segments are complete!! About This segment is just a short description on the ISS and a photo with cool animation What’s next? I’m not shipping yet, now I need to perfect this site! Style the scrollbar Fix some animations Add some details It’s near finish! Thanks for reading
Devlog 8 - Final devlog, cursor, scrollbar and minor changes Please watch the videos below if you’re a voter and you can’t visit this website by computer. The first video is speeded up Cursor I added this cyan star cursor! I knew how to change the cursor but I had such a problem with making it different while pointing. Eventually I asked ai for help and it turned out pretty well - I think it adds some whimsy to this page Scrollbar (visible on second slide) I also styled the scrollbar!! I used youtube tutorial for this one. Looks much better now, I love the cyan accent! Few minor changes Fixed some bugs, some typos, added few words Thank you!! I’m gonna ship it now, thanks yall for your support I really appreciate it. This project was so fun to make, CSS is awesome. Wish me luck
Ships:
ISS HUNT A website created from the love to css What’s this about? It’s about the ISS. You’ll find here 5 segments: About Education Guide (on how to spot the ISS) Astronauts Social media Every segment is all around the ISS! Besides, you’ll find a lot of animations - enjoy them! This site is meant to be fun, and I built it so we can remember the ISS forever, as its retiring soon. The challenging thing was probably the cursor. Aaand the scrollbar. Before, I knew the absolute basics of these 2 features, but in this project I learnt a lot more about them. I enjoyed making it bc of css - it was such a creative and smooth process. Please try on laptop/computer OR watch the videos attached in devlog 8. It do NOT work correctly on smartphones....
|
1793004966.386844
|
1793091366.386844
|
|
19880
|
ASCII Art Generator by @Doodl0 | Stardance
|
Doodl0
|
1
|
11.0
|
133
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-27T15:01:49Z", "hours": 11.0, "multiplier": 11.93, "payout": 133, "blessing": "neutral", "text": "I’ve made CLI program used to generate ASCII art from image files. I’m quite proud of all of the customisable options I included, from image size, brightness, contrast, saturation and even edge detection. At the beginning, I found it challenging to implement both the image processing library and parse inputted arguments, but after I had built code around those, it was really easy to add new arguments and check image data. If you want to run this, you can download a prebuilt binary from the demo link, or alternatively you can watch an asciinema demo from the same link. If running the binary, please make sure that libSkiaSharp.so / libSkiaSharp.dll stay in the same directory as the executable.", "repo": "https://github.com/Doodl0/ascii-art-generator", "demo": "https://github.com/Doodl0/ascii-art-generator/releases/tag/1.0.0"}]...
|
[{"post_id": 16941, "ts": "202 [{"post_id": 16941, "ts": "2026-06-27T14:44:38Z", "hours": 0.2903, "text": "Added a features list to the README, and added an asciinema demo to the project page. Also created release on Github so that precompiled binaries can be downloaded easily. The asciinema demo is accessible through the release page on github, or by going to https://asciinema.org/a/1259289"}, {"post_id": 16915, "ts": "2026-06-27T14:01:37Z", "hours": 0.7283, "text": "Added custom palette support, so now you can specify a string of characters from dark to light and it will be used to create the output ASCII image. Also created a README file, which can be seen on the project info"}, {"post_id": 16580, "ts": "2026-06-26T23:31:21Z", "hours": 1.2914, "text": "Added an edge detection filter by using the Sobel filter. In future I may use this for using characters to make defined edges, but for now edges are just highlighted. Here is an example: Top is without filter, bottom is with filter. The filter does start to fall apart at low resolutions due to simply not enough detail"}, {"post_id": 15950, "ts": "2026-06-25T22:16:15Z", "hours": 0.7581, "text": "Added the option to output to a file instead of just to the console, by using the -f or --file argument"}, {"post_id": 13680, "ts": "2026-06-22T13:10:30Z", "hours": 0.8886, "text": "Added a help function. When created, each argument now specifies a description, and the help function prints out all flags and descriptions"}, {"post_id": 13425, "ts": "2026-06-21T23:57:50Z", "hours": 1.245, "text": "Implemented contrast and saturation arguments, and changed brightness to use HSV. Also code cleanup and fixing some pixels being above 255, causing them to overflow. Image below shows brightness and contrast, but as it is a black and white gradient, I didn’t show saturation (there would be no change)."}, {"post_id": 13347, "ts": "2026-06-21T21:21:59Z", "hours": 1.5317, "text": "Refactored the argument system so that different value types are derived classes from the base Argument class. While I was doing this, I also included some better error handling for incorrect / missing argument values, seen here:"}, {"post_id": 13081, "ts": "2026-06-21T12:32:36Z", "hours": 1.9603, "text": "Images now can be crudely converted to text. The program first scales down the image to the desired size, then calculates the luminance of each pixel and looks up the corresponding symbol for that level of brightness, with @ being the darkest and being the lightest, although this palette can easily be changed in code. The top image is a black to white gradient and the bottom is a test of the alpha channel. My next goals are to change the argument class to have different child classes based on value type and allow associated functions. I want to also implement basic terminal colouring, allow contrast control, allow edge detection and custom palettes."}, {"post_id": 12801, "ts": "2026-06-20T22:41:56Z", "hours": 2.4833, "text": "Took me a while, mainly because I was also testing image processing libraries, but I have implemented a basic argument system. Currently there is only height and width, as well as verifying filepath for the source image, which is always first. They can have 2 flags, normal and alternate, and can have an integer attached or not, and can be put in any order after the filepath. Next thing to do is take the input image, resize and loop through all pixels, calculating brightness."}]...
|
Title: ASCII Art Generator by @Doodl0 | Stardance
Title: ASCII Art Generator by @Doodl0 | Stardance
Devlogs:
Took me a while, mainly because I was also testing image processing libraries, but I have implemented a basic argument system. Currently there is only height and width, as well as verifying filepath for the source image, which is always first. They can have 2 flags, normal and alternate, and can have an integer attached or not, and can be put in any order after the filepath. Next thing to do is take the input image, resize and loop through all pixels, calculating brightness.
Images now can be crudely converted to text. The program first scales down the image to the desired size, then calculates the luminance of each pixel and looks up the corresponding symbol for that level of brightness, with @ being the darkest and being the lightest, although this palette can easily be changed in code. The top image is a black to white gradient and the bottom is a test of the alpha channel. My next goals are to change the argument class to have different child classes based on value type and allow associated functions. I want to also implement basic terminal colouring, allow contrast control, allow edge detection and custom palettes.
Refactored the argument system so that different value types are derived classes from the base Argument class. While I was doing this, I also included some better error handling for incorrect / missing argument values, seen here:
Implemented contrast and saturation arguments, and changed brightness to use HSV. Also code cleanup and fixing some pixels being above 255, causing them to overflow. Image below shows brightness and contrast, but as it is a black and white gradient, I didn’t show saturation (there would be no change).
Added a help function. When created, each argument now specifies a description, and the help function prints out all flags and descriptions
Added the option to output to a file instead of just to the console, by using the -f or --file argument
Added an edge detection filter by using the Sobel filter. In future I may use this for using characters to make defined edges, but for now edges are just highlighted. Here is an example: Top is without filter, bottom is with filter. The filter does start to fall apart at low resolutions due to simply not enough detail
Added custom palette support, so now you can specify a string of characters from dark to light and it will be used to create the output ASCII image. Also created a README file, which can be seen on the project info
Added a features list to the README, and added an asciinema demo to the project page. Also created release on Github so that precompiled binaries can be downloaded easily. The asciinema demo is accessible through the release page on github, or by going to https://asciinema.org/a/1259289
Ships:
I’ve made CLI program used to generate ASCII art from image files. I’m quite proud of all of the customisable options I included, from image size, brightness, contrast, saturation and even edge detection. At the beginning, I found it challenging to implement both the image processing library and parse inputted arguments, but after I had built code around those, it was really easy to add new arguments and check image data. If you want to run this, you can download a prebuilt binary from the demo link, or alternatively you can watch an asciinema demo from the same link. If running the binary, please make sure that libSkiaSharp.so / libSkiaSharp.dll stay in the same directory as the executable....
|
1793109198.325753
|
1793195598.325753
|
|
51311
|
Solve It! by @berragurlesin | Stardance
|
berragurlesin
|
1
|
8.0
|
133
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-31T19:05:36Z", "hours": 8.0, "multiplier": 16.51, "payout": 133, "blessing": "neutral", "text": "Solve It is a platform that connects individuals facing daily life problems with entrepreneurs and developers who want to build solutions, all under one roof. By organizing issues by category and urgency level, it simplifies tracking, enables step-by-step solution guides, and allows clear monitoring of the resolution process. I came up with the idea for this site during an entrepreneurship camp where we were asked to find problems to solve, but our biggest problem turned out to be not being able to think of any problem to solve! I spent over 10 hours working on it, and bringing this site to life with all the features I had in mind makes me really proud. I still have many more features planned, and you can find detailed information in my README. Feel free to create an account and explore the site! If you’re experiencing a problem, post it on Solve It and watch it get resolved! I would love to hear your feedback.", "repo": "https://github.com/berragurlesin/Solve-It", "demo": "https://berragurlesin.github.io/Solve-It/"}]...
|
[{"post_id": 58931, "ts": "202 [{"post_id": 58931, "ts": "2026-08-31T14:26:11Z", "hours": 0.3164, "text": "devlog #08 My favicon has been uploaded, and I’m now managing my repository on GitHub!"}, {"post_id": 58428, "ts": "2026-08-30T20:50:54Z", "hours": 1.5403, "text": "devlog #07 Hii again, I just can’t seem to finish my project :D I realized there’s one more feature that needs to be included in the MVP; users experiencing the same issue should be able to vote on it, and the tickets with the most votes should appear at the top when filtered. I added this feature and tweaked the look of the filter buttons (it looks much better this way) and I think it’s finally ready!"}, {"post_id": 56830, "ts": "2026-08-28T19:35:20Z", "hours": 0.3131, "text": "devlog #06 I was actually planning to finish the project, but at the last minute, I decided I needed to make this addition:D We can now view user profiles, review the issues they’ve posted and the solutions they’ve provided all in one place!"}, {"post_id": 55567, "ts": "2026-08-27T14:37:24Z", "hours": 0.4825, "text": "devlog #05 after an hour, I finished my logo design (using Canva, I actually saved it on my laptop, but I can’t transfer it) and placed it in the appropriate places on my site. I also added a favicon, it was visible at first, but it disappeared when I changed the image. I think it’s a caching issue:( I expect it will be fixed once I clear the local cache. I think my project is done! Next up is writing the readme!!"}, {"post_id": 55519, "ts": "2026-08-27T13:01:01Z", "hours": 3.1358, "text": "devlog #04 Hii, I’m here to share the updates I’ve made to my site since my last devlog. First, I added a new filter to the system called “URGENT.” Users can check this box when their issues are truly urgent, allowing them to get a solution more quickly. I added a small icon in the top-left corner of cards marked as urgent to indicate this; the urgent filter flashes to draw attention, and the filter system is working smoothly. Next, users can now attach images both when creating an issue and when submitting solutions. This will help them describe their situations more easily. Additionally, users can now attach their readme files to their comments. I also worked on optimizing the use of localhost and local storage resources during the MVP phase. Uploaded media files are compressed on the client side using HTML5 Canvas and converted to Base64 format; I added file size limits and created a lightweight preview mechanism that keeps memory usage to a minimum. Then, I also made improvements to the interface and styling. The pop-up boxes that appear when viewing issue details etc. looked too cluttered to me, so I adjusted the fonts and made the boxes wider. Now, the MVP of my project is almost complete, I’ll make a few minor tweaks and get it ready for release. Thank you for reading this far!"}, {"post_id": 52654, "ts": "2026-08-22T22:03:25Z", "hours": 0.9728, "text": "devlog #03 Hi everyonee, here are the features I’ve added to the site over the past two days: 1. Notification System I set up a notification system so users can stay updated on comments, replies, and solutions to their own issues (in short, anything related to them) 2. “My Projects” Module I added a module where users can view the issues they’re working on. 3. Solution Mechanism I’ve set up a system for providing solutions to problems, creating README files, viewing solutions, and managing the problem-solution workflow. As I mentioned earlier, solutions can be tracked from the my projects page. 4. Deletion and Content Management Permissions Users now have control over the content they create on the platform (the person who created a comment, solution, or issue can delete it) 5. Solution Approval System If the person who posted the issue also approves the submitted solution, the ticket is moved to a separate page—the “Resolved Issues” page. This page can be accessed from the categories section. (visually, I’m thinking of making the tickets on this page look like they’re cut off or truncated. What do you think?)"}, {"post_id": 51302, "ts": "2026-08-20T21:28:54Z", "hours": 0.7428, "text": "devlog #02 Yeah, I didn’t get much work done today, but at least for now I’ve set up a login and registration system that works, organized the categories, and added a search bar. This is what it looks like right now. (let’s see how it goes :D)"}, {"post_id": 50229, "ts": "2026-08-19T11:36:10Z", "hours": 0.5336, "text": "devlog #01 Last month, I attended a camp where we took classes on entrepreneurship and we were often asked to identify a problem and come up with a solution. We were all eager to find solutions, but our problem was that we couldn’t find any problems! We spent most of the time allotted to us trying to identify problems, it felt like we’d run out of problems to work on. We asked people about the problems they were facing, the things they wished existed. That’s when an idea came to me, why not create a platform that brings together people with problems and those who can find solutions for them? I’m now taking the first steps to bring this idea to life; thinking about what kind of theme it could be, how it might look good, and how to make it functional. (I thought the ticket theme would be aesthetically pleasing, any suggestions?) I’ve started working on a rough draft, but there will be sooo many changes to come! If you think you need a site like this, stay tuned."}]...
|
Title: Solve It! by @berragurlesin | Stardance
De Title: Solve It! by @berragurlesin | Stardance
Devlogs:
devlog #01 Last month, I attended a camp where we took classes on entrepreneurship and we were often asked to identify a problem and come up with a solution. We were all eager to find solutions, but our problem was that we couldn’t find any problems! We spent most of the time allotted to us trying to identify problems, it felt like we’d run out of problems to work on. We asked people about the problems they were facing, the things they wished existed. That’s when an idea came to me, why not create a platform that brings together people with problems and those who can find solutions for them? I’m now taking the first steps to bring this idea to life; thinking about what kind of theme it could be, how it might look good, and how to make it functional. (I thought the ticket theme would be aesthetically pleasing, any suggestions?) I’ve started working on a rough draft, but there will be sooo many changes to come! If you think you need a site like this, stay tuned.
devlog #02 Yeah, I didn’t get much work done today, but at least for now I’ve set up a login and registration system that works, organized the categories, and added a search bar. This is what it looks like right now. (let’s see how it goes :D)
devlog #03 Hi everyonee, here are the features I’ve added to the site over the past two days: 1. Notification System I set up a notification system so users can stay updated on comments, replies, and solutions to their own issues (in short, anything related to them) 2. “My Projects” Module I added a module where users can view the issues they’re working on. 3. Solution Mechanism I’ve set up a system for providing solutions to problems, creating README files, viewing solutions, and managing the problem-solution workflow. As I mentioned earlier, solutions can be tracked from the my projects page. 4. Deletion and Content Management Permissions Users now have control over the content they create on the platform (the person who created a comment, solution, or issue can delete it) 5. Solution Approval System If the person who posted the issue also approves the submitted solution, the ticket is moved to a separate page—the “Resolved Issues” page. This page can be accessed from the categories section. (visually, I’m thinking of making the tickets on this page look like they’re cut off or truncated. What do you think?)
devlog #04 Hii, I’m here to share the updates I’ve made to my site since my last devlog. First, I added a new filter to the system called “URGENT.” Users can check this box when their issues are truly urgent, allowing them to get a solution more quickly. I added a small icon in the top-left corner of cards marked as urgent to indicate this; the urgent filter flashes to draw attention, and the filter system is working smoothly. Next, users can now attach images both when creating an issue and when submitting solutions. This will help them describe their situations more easily. Additionally, users can now attach their readme files to their comments. I also worked on optimizing the use of localhost and local storage resources during the MVP phase. Uploaded media files are compressed on the client side using HTML5 Canvas and converted to Base64 format; I added file size limits and created a lightweight preview mechanism that keeps memory usage to a minimum. Then, I also made improvements to the interface and styling. The pop-up boxes that appear when viewing issue details etc. looked too cluttered to me, so I adjusted the fonts and made the boxes wider. Now, the MVP of my project is almost complete, I’ll make a few minor tweaks and get it ready for release. Thank you for reading this far!
devlog #05 after an hour, I finished my logo design (using Canva, I actually saved it on my laptop, but I can’t transfer it) and placed it in the appropriate places on my site. I also added a favicon, it was visible at first, but it disappeared when I changed the image. I think it’s a caching issue:( I expect it will be fixed once I clear the local cache. I think my project is done! Next up is writing the readme!!
devlog #06 I was actually planning to finish the project, but at the last minute, I decided I needed to make this addition:D We can now view user profiles, review the issues they’ve posted and the solutions they’ve provided all in one place!
devlog #07 Hii again, I just can’t seem to finish my project :D I realized there’s one more feature that needs to be included in the MVP; users experiencing the same issue should be able to vote on it, and the tickets with the most votes should appear at the top when filtered. I added this feature and tweaked the look of the filter buttons (it looks much better this way) and I think it’s finally ready!
devlog #08 My favicon has been uploaded, and I’m now managing my repository on GitHub!
Ships:
Solve It is a platform that connects individuals facing daily life problems with entrepreneurs and developers who want to build solutions, all under one roof. By organizing issues by category and urgency level, it simplifies tracking, enables step-by-step solution guides, and allows clear monitoring of the resolution process. I came up with the idea for this site during an entrepreneurship camp where we were asked to find problems to solve, but our biggest problem turned out to be not being able to think of any problem to solve! I spent over 10 hours working on it, and bringing this site to life with all the features I had in mind makes me really proud. I still have many more features planned, and you can find detailed information in my README. Feel free to create an account and explore the site! If you’re experiencing a problem, post it on Solve It and watch it get resolved! I would love to hear your feedback....
|
1793102031.3378313
|
1793188431.3378313
|
|
9935
|
FIFA 26 by @atharva02 | Stardance
|
atharva02
|
2
|
8.0
|
132
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-30T19:45:57Z", "hours": 4.0, "multiplier": 14.8, "payout": 65, "blessing": "neutral", "text": "This is the second ship on my project, if you didn’t review the first one, it’s a world cup simulator made using a Random Forest model and Poisson distribution model to generate scores. All matches were simulated locally to generate a consensus result base viewable across the site. The new feature, reason for reship, was the knockout matchups starting and now there is an interactive bracket so you can simulate your own games but also keep real results once they occur. The site is updated daily, either at the end of the day when matches are complete, or the next morning so expect changes depending on when you view the site. A challenging aspect this time around was organizing the bracket structure such that the teams flow downward when they win. Two things to note, the site does take a while to load the first time as it needs to gather all the data and simulation function, but there should be no other lag or problems once active. Lastly, though the third place matchup doesn’t show up at first, it appears after both semifinal matchups are simulated. Enjoy!", "repo": "https://github.com/atharva-277/FIFA-26", "demo": "https://fifa26.atharva02.hackclub.app/"}, {"ship_num": 2, "ts": "2026-06-15T18:56:57Z", "hours": 4.0, "multiplier": 15.16, "payout": 67, "blessing": "neutral", "text": "I made a project in honor of the FIFA 2026 World Cup. It simulates all 72 group stage matches, consolidates them into easy to read data, viewable on the website link, and allows you to simulate your own matchups as well. The link is live at: https://fifa-26.streamlit.app/ . Challenges occurred in this project in how the model was trained to simulate games with accuracy, converting the python script into a viewable website, and ensuring results were realistic and presentable. I am most proud of how users are able to make their own simulations within the website, but also be able to view a general view of data that was done through numerous simulations. For example, advancement probabilities for each team at each position in their group. Note, when opening the link for the first time, it may take a while to load as it needs to grab the data through the GitHub repo, but after loading, it shouldn’t have many delays.", "repo": "https://github.com/atharva-277/FIFA-26", "demo": "https://fifa26.atharva02.hackclub.app/"}]...
|
[{"post_id": 19454, "ts": "202 [{"post_id": 19454, "ts": "2026-06-30T19:37:29Z", "hours": 0.6628, "text": "First: Thank you everyone for their reviews on my first ship, this will likely be the last devlog for this project as it is a time-based project(can’t really update after the world cup ends) but I appreciate all the feedback. As for this current devlog, there was a small fix which needed to be done, I originally said on my last post that after a matchup occurs in real-time, it is locked and can’t be simulated anymore. This is not the case anymore and you have the option of locking/unlocking games that have occurred in real time already."}, {"post_id": 17376, "ts": "2026-06-28T04:24:43Z", "hours": 3.7322, "text": "The group stage just completed today, but luckily the knockout functionality was essentially all set to go. After inputting the matchups, the site now has new knockout features equipped. There is an interactive bracket, to simulate your own matchups that includes penalty shootouts, along with a simple page to display advancement probabilities to each round. Another ship should be out shortly to reflect these new changes."}, {"post_id": 8833, "ts": "2026-06-14T18:10:43Z", "hours": 1.7358, "text": "This might be the last devlog for a bit, but the project is officially live with the help of streamlit as this is a python project. The link is already live, so you can simulate your own matches and see what the consensus result was through multiple simulations. This project will be shipped soon but updated again for when the knockout stage matchups are set in stone. Attached is how it looks on the main page."}, {"post_id": 6564, "ts": "2026-06-11T00:53:35Z", "hours": 1.5986, "text": "Update: I added the FIFA rankings as another metric to simulate the games. I also strayed away from using the poisson model to predict outcome and now only use it for scoring purposes as the random forest model is much more accurate. Attached are the updated probabilities."}, {"post_id": 5767, "ts": "2026-06-09T17:51:15Z", "hours": 1.1308, "text": "So I recently decided to train a model to help predict the group stage matches for the FIFA world cup. It’s a combination of a Random Forest Model and Poisson Distribution to help predict the games. Currently I’m only training the model based off of a teams ELO and recent form(performance in past 5 games), but plan on adding FIFA’s point system as another metric. I attached the most common match result of each game after running the simulation 1000 times and the probability of where each team finishes this year(first, second, third qual., third elim., and fourth)"}]...
|
Title: FIFA 26 by @atharva02 | Stardance
Devlogs: Title: FIFA 26 by @atharva02 | Stardance
Devlogs:
So I recently decided to train a model to help predict the group stage matches for the FIFA world cup. It’s a combination of a Random Forest Model and Poisson Distribution to help predict the games. Currently I’m only training the model based off of a teams ELO and recent form(performance in past 5 games), but plan on adding FIFA’s point system as another metric. I attached the most common match result of each game after running the simulation 1000 times and the probability of where each team finishes this year(first, second, third qual., third elim., and fourth)
Update: I added the FIFA rankings as another metric to simulate the games. I also strayed away from using the poisson model to predict outcome and now only use it for scoring purposes as the random forest model is much more accurate. Attached are the updated probabilities.
This might be the last devlog for a bit, but the project is officially live with the help of streamlit as this is a python project. The link is already live, so you can simulate your own matches and see what the consensus result was through multiple simulations. This project will be shipped soon but updated again for when the knockout stage matchups are set in stone. Attached is how it looks on the main page.
The group stage just completed today, but luckily the knockout functionality was essentially all set to go. After inputting the matchups, the site now has new knockout features equipped. There is an interactive bracket, to simulate your own matchups that includes penalty shootouts, along with a simple page to display advancement probabilities to each round. Another ship should be out shortly to reflect these new changes.
First: Thank you everyone for their reviews on my first ship, this will likely be the last devlog for this project as it is a time-based project(can’t really update after the world cup ends) but I appreciate all the feedback. As for this current devlog, there was a small fix which needed to be done, I originally said on my last post that after a matchup occurs in real-time, it is locked and can’t be simulated anymore. This is not the case anymore and you have the option of locking/unlocking games that have occurred in real time already.
Ships:
I made a project in honor of the FIFA 2026 World Cup. It simulates all 72 group stage matches, consolidates them into easy to read data, viewable on the website link, and allows you to simulate your own matchups as well. The link is live at: https://fifa-26.streamlit.app/ . Challenges occurred in this project in how the model was trained to simulate games with accuracy, converting the python script into a viewable website, and ensuring results were realistic and presentable. I am most proud of how users are able to make their own simulations within the website, but also be able to view a general view of data that was done through numerous simulations. For example, advancement probabilities for each team at each position in their group. Note, when opening the link for the first time, it may take a while to load as it needs to grab the data through the GitHub repo, but after loading, it shouldn’t have many delays.
This is the second ship on my project, if you didn’t review the first one, it’s a world cup simulator made using a Random Forest model and Poisson distribution model to generate scores. All matches were simulated locally to generate a consensus result base viewable across the site. The new feature, reason for reship, was the knockout matchups starting and now there is an interactive bracket so you can simulate your own games but also keep real results once they occur. The site is updated daily, either at the end of the day when matches are complete, or the next morning so expect changes depending on when you view the site. A challenging aspect this time around was organizing the bracket structure such that the teams flow downward when they win. Two things to note, the site does take a while to load the first time as it needs to gather all the data and simulation function, but there should be no other lag or problems once active. Lastly, though the third place matchup doesn’t show up at first, it appears after both semifinal matchups are simulated. Enjoy!...
|
1792878726.7026663
|
1793742726.7026663
|
|
14123
|
Orbit by @EngThi | Stardance
|
EngThi
|
1
|
19.9
|
132
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-06T00:22:26Z", "hours": 17.0, "multiplier": 7.88, "payout": 132, "blessing": "neutral", "text": "I built this mini-terminal in C. The trickiest part was dealing with pointers—specifically dereferencing. I got a bit lost in a few places and while organizing function parameters, but nothing major went wrong. I wanted to learn how operating systems and low-level systems work; since C is essentially the foundation for that—and I was already studying it in my course I decided to use it. To test it out, you can simply create a Codespaces instance or clone the repository. If you choose to clone it, you’ll need a C compiler installed. Install it using this command: sudo apt update && sudo apt install build-essential -y", "repo": "https://github.com/EngThi/Orbit", "demo": "https://github.com/EngThi/Orbit/releases/latest"}]...
|
[{"post_id": 31756, "ts": "202 [{"post_id": 31756, "ts": "2026-07-20T12:11:09Z", "hours": 2.9022, "text": "Yeah, long time… I was here thinking about whether to continue developing something more complete/add more features here. It just so happens I was working on other projects and liked them, so I kind of set Orbit aside. Actually, every now and then I would come here (I mean to its directory) and test things, skim through the code to think of more stuff, you know. I’d run the program and that was pretty much it. Then I was testing some parts and features of the language related to the course. And since before fully developing the project I studied, checked out, and learned certain things here, I came back and did the same. I even turned off Wakatime since it wasn’t really for the project, but after messing with the others I’d turn it back on and that was that. So yeah, here I am and I tinkered with the project a bit more in the parts I got feedback on. I forgot to translate the version I’d be showing for the demo into English , now I did, I was thinking of leaving the binary and executable program multiplatform and I also went after that. Anyway, there’s already a release with it for Linux, macOS, and Windows. In that and in the translation, I used Antigravity. Now the project is more organized. Now the aliases you create stay saved and don’t get lost when you close that session. I also tweaked things with the voters’ feedback to make it look more professional and like how bash really is . Creating a process and running things with execvp() (the other one is fork() ) or it already kind of gave the clue on how to do it."}, {"post_id": 23177, "ts": "2026-07-06T00:10:51Z", "hours": 0.7314, "text": "I’m done for now. I spent time writing the README and fixing a few things in the code, as well as resolving an issue syncing the Git repository—specifically, a discrepancy between the remote and local versions. I also deleted the binary that had been uploaded there by mistake :| On top of that, I created this architecture diagram right in Canva. That’s basically it; now I’m going to ship the Alpha version."}, {"post_id": 22870, "ts": "2026-07-05T14:28:58Z", "hours": 6.3458, "text": "Massive session in the last days. Honestly, the past few days have been a heavy grind balancing school work and academic study. Between reviewing some Python automation scripts and touching up minor EDA/hardware schematic concepts, I had to take a step back and deeply review C fundamentals. I spent a good chunk of time writing tests to push the limits of basic features, function definitions, and pointer scopes that the language offers. All this testing made it obvious that the old monolithic, single-file structure was hitting a wall. To scale Orbit properly into the Alpha phase (vα), I executed a complete architectural overhaul, breaking the codebase down from 1 single file into 5 highly modular files, all cleanly decoupled and tied together using structured header files (.h) and a dedicated Makefile. Key implementations finalized in this block: Modular File Splitting: Migrated core logic away from the legacy root files. The project is now properly organized under a /src directory, separating the shell’s main loop, the token parser, and individual command definitions into their own independent compilation units. Dynamic Prompt Integration: Hooked up the native getcwd() system call inside the interactive execution loop. Because the shell now correctly tracks process directory state, the prompt dynamically updates and visually prints the absolute path in real-time right after a ‘cd’ executes. Lookup Table for Aliases: Laid down the pre-processing layer for custom shortcut mappings. Designed a static structure array to act as an Alias Table, intercepting raw stdin strings to scan for matches (like replacing ‘ll’ with ‘run ls -la’) before the input ever hits strtok for argument tokenization."}, {"post_id": 8950, "ts": "2026-06-14T21:34:18Z", "hours": 1.9922, "text": "Refactoring the main execution loop with M365 Copilot. Moving away from the messy string comparisons and building a cleaner internal structure for command handling. Spent time debugging memory allocations and ensuring tokens from strtok don’t leak between cycles."}, {"post_id": 8842, "ts": "2026-06-14T18:21:02Z", "hours": 0.9522, "text": "Implemented a dynamic dispatch system using an array of structures and function pointers. Replaced the entire nested if/else chain inside main with a clean lookup table. Commands like echo, sum, and run are now isolated functions mapped to their respective triggers. Much easier to extend now."}, {"post_id": 8760, "ts": "2026-06-14T15:52:13Z", "hours": 0.7778, "text": "It was supposed to be working here. Now the CLI has the repeat command that takes the number 'n' , which is the parameter the user puts in, and looks in history.txt for which 'n' command should be executed and repeats it. I realized that adding history using the ↑↓ (keyboard arrows) would be more complicated and could, not break/bug, but slow me down in what I was doing and testing."}, {"post_id": 8160, "ts": "2026-06-13T16:36:39Z", "hours": 0.6158, "text": "The available commands: help echo sum history clear_history run cd I’ve already finished the list for the available commands here. I left an array, and with that, we can keep *adding more stuff * later and make the help command actually helpful :)"}, {"post_id": 8084, "ts": "2026-06-13T14:32:57Z", "hours": 0.6228, "text": "Today I finished implementing the cd command. Now I can change directories within the project terminal. The process is to run run ls and then use cd . In this case, I left it without the run command, just using cd directly ."}, {"post_id": 7817, "ts": "2026-06-13T01:28:16Z", "hours": 0.8528, "text": "I started making the directory changes . Actually, I spent more time testing and thinking about what to do and running tests . I didn’t even get the idea to be able to see/repeat the last commands like ↑↓ that are in normal terminals. I haven’t done that many upgrades , but I’ve studied and am still developing the idea"}, {"post_id": 7774, "ts": "2026-06-13T00:02:59Z", "hours": 0.5903, "text": "Continuing here, I was working and studying (Chemical Kinetics :\\ ) with the M365 Copilot and it said something like: why not put an enumerator of the commands in the history? I thought it was a good idea and that’s what I went looking for . I had to change, replace, you know, the part where I saw the commands to keep doing a ++ for the counter . But when it worked (compiled and had changed to this new logic) it ended up, for some reason, printing 35949 commands in memory! . Basically some kind of memory flow or something like that related to the command that calls the system (run) . I have to see why this happened…"}, {"post_id": 7607, "ts": "2026-06-12T18:32:21Z", "hours": 0.8681, "text": "So, here I put something REALLY COOL : executing system commands in the terminal inside the terminal -\\°°/-. It’s kind of funny, but like, I can run ls, cat, date, pwd , etc. I thought it would take longer, but it didn’t. I just needed to pass the tokens, concatenate the command setting the `run’ as the one that connects the app to the system terminal . It turned out I was doing some C things for the course and I was already testing this… And I used M365 Copilot to help me. Well, I already use it to reinforce the content of the classes, lessons, learn some things and also to debug my code , exercises/lists that the teachers gave. So I kind of just continued where I was."}, {"post_id": 7563, "ts": "2026-06-12T17:21:28Z", "hours": 0.4425, "text": "That’s a cool thing… I added a command to clear the history , which in this case is clear_history . It’s a simple thing, but it improves the app’s usability. That’s pretty much it."}, {"post_id": 7117, "ts": "2026-06-11T21:48:17Z", "hours": 1.0214, "text": "Basically, I added a very simple history file to the app, like a .bash_history . But in this case, I’m using a history.txt file. It opens and writes exactly everything typed in the terminal, skipping a line . Man, messing with/manipulating files here is quite difficult… using * for pointers and dereferencing confused me a bit. Sometimes I forgot it and it gave me errors. The good part is that my own editor recommended clangd . Actually, I don’t know exactly what it is, but it seems like a lintter and automatic pre-compiler. It’s helping me… One thing I miss is being able to attach more than one media file. At least I had the copy and paste image option, and it didn’t work."}, {"post_id": 5765, "ts": "2026-06-09T17:46:12Z", "hours": 1.165, "text": "Hello. I started this project. Actually, I had thought of something different, and that’s why it has this name “Orbit”. But now that I’ve decided to do this, I’ll change the name later. Basically, I’m starting out in C (really learning it right now), and since I’m a beginner and I got my first laptop, which is Linux (because I didn’t want to pay for a Windows license/I don’t have anything tying me to it, considering this is my first machine), and since I’m in this Dev and Builder life and C is the basis of many things and OSs… So I decided to do something along the lines of Unix/Linux . I thought, “nothing better than playing with the Terminal for this,” so I started with this simple version here. Which: is in an infinite loop (1) has the echo command (to print) and sum (to sum) Uses strtok (which I’m learning) to manipulate strings and the tokens for what they call them. I think that’s it :p"}]...
|
Title: Orbit by @EngThi | Stardance
Devlogs:
Hell Title: Orbit by @EngThi | Stardance
Devlogs:
Hello. I started this project. Actually, I had thought of something different, and that’s why it has this name “Orbit”. But now that I’ve decided to do this, I’ll change the name later. Basically, I’m starting out in C (really learning it right now), and since I’m a beginner and I got my first laptop, which is Linux (because I didn’t want to pay for a Windows license/I don’t have anything tying me to it, considering this is my first machine), and since I’m in this Dev and Builder life and C is the basis of many things and OSs… So I decided to do something along the lines of Unix/Linux . I thought, “nothing better than playing with the Terminal for this,” so I started with this simple version here. Which: is in an infinite loop (1) has the echo command (to print) and sum (to sum) Uses strtok (which I’m learning) to manipulate strings and the tokens for what they call them. I think that’s it :p
Basically, I added a very simple history file to the app, like a .bash_history . But in this case, I’m using a history.txt file. It opens and writes exactly everything typed in the terminal, skipping a line . Man, messing with/manipulating files here is quite difficult… using * for pointers and dereferencing confused me a bit. Sometimes I forgot it and it gave me errors. The good part is that my own editor recommended clangd . Actually, I don’t know exactly what it is, but it seems like a lintter and automatic pre-compiler. It’s helping me… One thing I miss is being able to attach more than one media file. At least I had the copy and paste image option, and it didn’t work.
That’s a cool thing… I added a command to clear the history , which in this case is clear_history . It’s a simple thing, but it improves the app’s usability. That’s pretty much it.
So, here I put something REALLY COOL : executing system commands in the terminal inside the terminal -\°°/-. It’s kind of funny, but like, I can run ls, cat, date, pwd , etc. I thought it would take longer, but it didn’t. I just needed to pass the tokens, concatenate the command setting the `run’ as the one that connects the app to the system terminal . It turned out I was doing some C things for the course and I was already testing this… And I used M365 Copilot to help me. Well, I already use it to reinforce the content of the classes, lessons, learn some things and also to debug my code , exercises/lists that the teachers gave. So I kind of just continued where I was.
Continuing here, I was working and studying (Chemical Kinetics :\ ) with the M365 Copilot and it said something like: why not put an enumerator of the commands in the history? I thought it was a good idea and that’s what I went looking for . I had to change, replace, you know, the part where I saw the commands to keep doing a ++ for the counter . But when it worked (compiled and had changed to this new logic) it ended up, for some reason, printing 35949 commands in memory! . Basically some kind of memory flow or something like that related to the command that calls the system (run) . I have to see why this happened…
I started making the directory changes . Actually, I spent more time testing and thinking about what to do and running tests . I didn’t even get the idea to be able to see/repeat the last commands like ↑↓ that are in normal terminals. I haven’t done that many upgrades , but I’ve studied and am still developing the idea
Today I finished implementing the cd command. Now I can change directories within the project terminal. The process is to run run ls and then use cd . In this case, I left it without the run command, just using cd directly .
The available commands: help echo sum history clear_history run cd I’ve already finished the list for the available commands here. I left an array, and with that, we can keep *adding more stuff * later and make the help command actually helpful :)
It was supposed to be working here. Now the CLI has the repeat command that takes the number 'n' , which is the parameter the user puts in, and looks in history.txt for which 'n' command should be executed and repeats it. I realized that adding history using the ↑↓ (keyboard arrows) would be more complicated and could, not break/bug, but slow me down in what I was doing and testing.
Implemented a dynamic dispatch system using an array of structures and function pointers. Replaced the entire nested if/else chain inside main with a clean lookup table. Commands like echo, sum, and run are now isolated functions mapped to their respective triggers. Much easier to extend now.
Refactoring the main execution loop with M365 Copilot. Moving away from the messy string comparisons and building a cleaner internal structure for command handling. Spent time debugging memory allocations and ensuring tokens from strtok don’t leak between cycles.
Massive session in the last days. Honestly, the past few days have been a heavy grind balancing school work and academic study. Between reviewing some Python automation scripts and touching up minor EDA/hardware schematic concepts, I had to take a step back and deeply review C fundamentals. I spent a good chunk of time writing tests to push the limits of basic features, function definitions, and pointer scopes that the language offers. All this testing made it obvious that the old monolithic, single-file structure was hitting a wall. To scale Orbit properly into the Alpha phase (vα), I executed a complete architectural overhaul, breaking the codebase down from 1 single file into 5 highly modular files, all cleanly decoupled and tied together using structured header files (.h) and a dedicated Makefile. Key implementations finalized in this block: Modular File Splitting: Migrated core logic away from the legacy root files. The project is now properly organized under a /src directory, separating the shell’s main loop, the token parser, and individual command definitions into their own independent compilation units. Dynamic Prompt Integration: Hooked up the native getcwd() system call inside the interactive execution loop. Because the shell now correctly tracks process directory state, the prompt dynamically updates and visually prints the absolute path in real-time right after a ‘cd’ executes. Lookup Table for Aliases: Laid down the pre-processing layer for custom shortcut mappings. Designed a static structure array to act as an Alias Table, intercepting raw stdin strings to scan for matches (like replacing ‘ll’ with ‘run ls -la’) before the input ever hits strtok for argument tokenization.
I’m done for now. I spent time writing the README and fixing a few things in the code, as well as resolving an issue syncing the Git repository—specifically, a discrepancy between the remote and local versions. I also deleted the binary that had been uploaded there by mistake :| On top of that, I created this architecture diagram right in Canva. That’s basically it; now I’m going to ship the Alpha version.
Yeah, long time… I was here thinking about whether to continue developing something more complete/add more features here. It just so happens I was working on other projects and liked them, so I kind of set Orbit aside. Actually, every now and then I would come here (I mean to its directory) and test things, skim through the code to think of more stuff, you know. I’d run the program and that was pretty much it. Then I was testing some parts and features of the language related to the course. And since before fully developing the project I studied, checked out, and learned certain things here, I came back and did the same. I even turned off Wakatime since it wasn’t really for the project, but after messing with the others I’d turn it back on and that was that. So yeah, here I am and I tinkered with the project a bit more in the parts I got feedback on. I forgot to translate the version I’d be showing for the demo into English , now I did, I was thinking of leaving the binary and executable program multiplatform and I also went after that. Anyway, there’s already a release with it for Linux, macOS, and Windows. In that and in the translation, I used Antigravity. Now the project is more organized. Now the aliases you create stay saved and don’t get lost when you close that session. I also tweaked things with the voters’ feedback to make it look more professional and like how bash really is . Creating a process and running things with execvp() (the other one is fork() ) or it already kind of gave the clue on how to do it.
Ships:
I built this mini-terminal in C. The trickiest part was dealing with pointers—specifically dereferencing. I got a bit lost in a few places and while organizing function parameters, but nothing major went wrong. I wanted to learn how operating systems and low-level systems work; since C is essentially the foundation for that—and I was already studying it in my course I decided to use it. To test it out, you can simply create a Codespaces instance or clone the repository. If you choose to clone it, you’ll need a C compiler installed. Install it using this command: sudo apt update && sudo apt install build-essential -y...
|
1793112520.237409
|
1793198920.237409
|
|
25769
|
CrashOS by @Ris2043 | Stardance
|
Ris2043
|
1
|
7.0
|
132
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-01T13:33:58Z", "hours": 7.0, "multiplier": 18.8, "payout": 132, "blessing": "neutral", "text": "The Lore It is 1999. A rogue, self-replicating artificial intelligence has broken out of its sandbox containment and targeted your machine. Instead of simply deleting files, it actively feeds on your system memory by generating digital hallucinations, fake error boxes, misleading progress bars, and locked prompts designed to trick you into triggering a fatal crash. As the operator, your goal is to manage these disruptions while the core antivirus compiles a master kill code. The AI has also corrupted the Recycle Bin, turning it into a localized gravity well called The Void that drags in essential SYS.DLL files to force a rapid RAM spike. You have 5 minutes to maintain system stability. Trust nothing on the screen. Everything else is mentioned in the devlogs, the tutorial page in the game, and in the README files", "repo": "https://github.com/Rishi-Rahul/CrashOS", "demo": "https://crash-os.vercel.app/"}]...
|
[{"post_id": 19978, "ts": "202 [{"post_id": 19978, "ts": "2026-07-01T13:29:58Z", "hours": 0.0, "text": "#Devlog 4 (last devlog before ship) I made it easier for the user so that it does not overwhelm them (but don’t take this lightly; it’s still very hard). Peak at what the game looks like! (I added the background from Windows 98 so it would fit the theme😁 )."}, {"post_id": 19291, "ts": "2026-06-30T15:43:50Z", "hours": 1.0, "text": "Devlog #3 (Hopefully last devlog before ship) The errors in the progress bar and RAM; they are now both fixed. VERCEL kept ghosting me, so I had to force-push the fixes, which are shown in the production link. Yayyyyyyyy!!!!!!!!! Now all that’s left is to add a README file."}, {"post_id": 17565, "ts": "2026-06-28T12:17:53Z", "hours": 3.0, "text": "Devlog #2 The core survival mechanics are officially up and running! I’ve spent this update squashing the main game-breaking bugs to get the gameplay loop working. The Antivirus timer is finally ticking, the drag-and-drop Void physics are no longer throwing console errors, and the audio engine is properly hooked up without crashing. Right now, the core loop is fully functional, but the immediate next step is to fix minor errors like this."}, {"post_id": 16145, "ts": "2026-06-26T07:34:39Z", "hours": 1.0, "text": "Devlog #1: The core tutorial screen is officially up and running! I’ve finished the main flow to get new users up to speed. Right now, it’s fully functional, but the immediate next step is giving it a massive visual upgrade. And finish the usability of it."}]...
|
Title: CrashOS by @Ris2043 | Stardance
Devlogs:
D Title: CrashOS by @Ris2043 | Stardance
Devlogs:
Devlog #1: The core tutorial screen is officially up and running! I’ve finished the main flow to get new users up to speed. Right now, it’s fully functional, but the immediate next step is giving it a massive visual upgrade. And finish the usability of it.
Devlog #2 The core survival mechanics are officially up and running! I’ve spent this update squashing the main game-breaking bugs to get the gameplay loop working. The Antivirus timer is finally ticking, the drag-and-drop Void physics are no longer throwing console errors, and the audio engine is properly hooked up without crashing. Right now, the core loop is fully functional, but the immediate next step is to fix minor errors like this.
Devlog #3 (Hopefully last devlog before ship) The errors in the progress bar and RAM; they are now both fixed. VERCEL kept ghosting me, so I had to force-push the fixes, which are shown in the production link. Yayyyyyyyy!!!!!!!!! Now all that’s left is to add a README file.
#Devlog 4 (last devlog before ship) I made it easier for the user so that it does not overwhelm them (but don’t take this lightly; it’s still very hard). Peak at what the game looks like! (I added the background from Windows 98 so it would fit the theme😁 ).
Ships:
The Lore It is 1999. A rogue, self-replicating artificial intelligence has broken out of its sandbox containment and targeted your machine. Instead of simply deleting files, it actively feeds on your system memory by generating digital hallucinations, fake error boxes, misleading progress bars, and locked prompts designed to trick you into triggering a fatal crash. As the operator, your goal is to manage these disruptions while the core antivirus compiles a master kill code. The AI has also corrupted the Recycle Bin, turning it into a localized gravity well called The Void that drags in essential SYS.DLL files to force a rapid RAM spike. You have 5 minutes to maintain system stability. Trust nothing on the screen. Everything else is mentioned in the devlogs, the tutorial page in the game, and in the README files...
|
1792878818.6992197
|
1793742818.6992197
|
|
33712
|
FlashDash by @aquafr0stbyte | Stardance
|
aquafr0stbyte
|
1
|
13.42
|
132
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-10T16:43:11Z", "hours": 13.0, "multiplier": 9.91, "payout": 132, "blessing": "neutral", "text": "FlashDash is finally Done! FlashDash is a WebUI for Aria2c whats aria2c? Its a download manager for a remote server for the command line… And well i didnt really liked the way u had to use it remember alot of hotkeys so i build a WebUI for it! U can do all Fetures needed for a download Manager! Downloading stuff obviusly Parralel Downloading Spliting a download into multiple Stopping and Resuming single downloads Repositorys that are like bookmarks but cooler! Custom designes u can pick!! All of this works on one device if u dont like to download all ur Linux ISOs via a browser or for an Server so i can download all my stuff while i Sleep! Sadly this means i cant just have an open Demo to the public :( There is just no way i can let strangers use a download manager on my server x33 U can try it urself tho! I made instructions on how to use it and I tryed it again clean on my own system. For setting it up as a service u can just run the setup.sh file! Hope u have fun downloading with FLashDash!", "repo": "https://github.com/AquaFrostByte/FlashDash", "demo": "https://github.com/AquaFrostByte/FlashDash/releases/tag/Main"}]...
|
[{"post_id": 61749, "ts": "202 [{"post_id": 61749, "ts": "2026-09-04T20:05:17Z", "hours": 0.4208, "text": "I made an Install script that does pretty much everything for the user! The only thing the user has to do is to have the Programs installed: git python3 aria2 / aria2c (depends on the distro what the name is) I have also test it now on fedora, arch and debian!"}, {"post_id": 44671, "ts": "2026-08-10T16:17:39Z", "hours": 2.0817, "text": "Added the repositorys tab!! this is the final main feature! SO its done!!! also added a setup script ;3"}, {"post_id": 43952, "ts": "2026-08-09T12:27:07Z", "hours": 1.5467, "text": "NEW UPDATE I added 2 New big Features!! Now single downloades can be stopped or resumed Now downloads can be split aka downloaded in Parralel by 8 and 16 :3"}, {"post_id": 40265, "ts": "2026-08-03T17:59:32Z", "hours": 2.0167, "text": "I genuenly forgot what i did at the start becuase i didnt work on it for a week so 30 min are just undocumented :C The rest tho is pretty cool!!I finally found a (sadly simple) fix to the background issue with white and dark mode! Also added a button to Pause and Resume downloads!!"}, {"post_id": 30676, "ts": "2026-07-18T13:28:42Z", "hours": 2.5656, "text": "#Big update!! I worked for a bit and now u can pick the Dir where the file should be saved which is a nessassity. Also started working on the settings page: Now its possible to change the collors and set a default download dir!!! (Light mode is also avalible) as u can see not quite done yet but it will be in the next update"}, {"post_id": 28544, "ts": "2026-07-14T21:17:07Z", "hours": 2.4725, "text": "Download Status added. I added a button to clear all commpleted, faild or missing.Also some Css got done, fixed a bug with the background"}, {"post_id": 27960, "ts": "2026-07-13T22:12:28Z", "hours": 1.5789, "text": "I did some of the ui work and did the basic Download functions using aria2c and aria2p"}, {"post_id": 26646, "ts": "2026-07-11T16:11:47Z", "hours": 1.0889, "text": "Starting working on FLashDash! Set up the project and made the readME becuase i didnt feel like programming that much But atleast i still had some styling from an old project so the bones are there now :D"}]...
|
Title: FlashDash by @aquafr0stbyte | Stardance
De Title: FlashDash by @aquafr0stbyte | Stardance
Devlogs:
Starting working on FLashDash! Set up the project and made the readME becuase i didnt feel like programming that much But atleast i still had some styling from an old project so the bones are there now :D
I did some of the ui work and did the basic Download functions using aria2c and aria2p
Download Status added. I added a button to clear all commpleted, faild or missing.Also some Css got done, fixed a bug with the background
#Big update!! I worked for a bit and now u can pick the Dir where the file should be saved which is a nessassity. Also started working on the settings page: Now its possible to change the collors and set a default download dir!!! (Light mode is also avalible) as u can see not quite done yet but it will be in the next update
I genuenly forgot what i did at the start becuase i didnt work on it for a week so 30 min are just undocumented :C The rest tho is pretty cool!!I finally found a (sadly simple) fix to the background issue with white and dark mode! Also added a button to Pause and Resume downloads!!
NEW UPDATE I added 2 New big Features!! Now single downloades can be stopped or resumed Now downloads can be split aka downloaded in Parralel by 8 and 16 :3
Added the repositorys tab!! this is the final main feature! SO its done!!! also added a setup script ;3
I made an Install script that does pretty much everything for the user! The only thing the user has to do is to have the Programs installed: git python3 aria2 / aria2c (depends on the distro what the name is) I have also test it now on fedora, arch and debian!
Ships:
FlashDash is finally Done! FlashDash is a WebUI for Aria2c whats aria2c? Its a download manager for a remote server for the command line… And well i didnt really liked the way u had to use it remember alot of hotkeys so i build a WebUI for it! U can do all Fetures needed for a download Manager! Downloading stuff obviusly Parralel Downloading Spliting a download into multiple Stopping and Resuming single downloads Repositorys that are like bookmarks but cooler! Custom designes u can pick!! All of this works on one device if u dont like to download all ur Linux ISOs via a browser or for an Server so i can download all my stuff while i Sleep! Sadly this means i cant just have an open Demo to the public :( There is just no way i can let strangers use a download manager on my server x33 U can try it urself tho! I made instructions on how to use it and I tryed it again clean on my own system. For setting it up as a service u can just run the setup.sh file! Hope u have fun downloading with FLashDash!...
|
1793112492.469494
|
1793198892.469494
|
|
12071
|
Matrix Encoder by @Silvend | Stardance
|
Silvend
|
1
|
11.0
|
131
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-24T01:53:10Z", "hours": 11.0, "multiplier": 12.37, "payout": 131, "blessing": "neutral", "text": "Hello, I am Eli, and I created a decoder/encoder that utilizes matrices! The encoder works by assigning each letter of your input text a numerical value. Then, the numbers are arranged into pairs like this: [8 5][12 12][15 0]. Finally, these small matrices are multiplied by a key matrix. This multiplication gives you the final result for the encoded message. The decoder works by taking numerical input and transforming it into a decoded message. The numerical input is also arranged into pairs. These pairs are then multiplied by the inverse of the key matrix. Finally, using the numbers you calculate for, you translate into their alphabetical equivalent. Did that make no sense? Do not worry! My website also includes a page explaining the process behind using matrices in cryptography. It does not only include text, but also little silly graphics to help you understand better. The goal isn’t just to have decoder, but also to spread my love of math to others!! Challenges: The biggest challenge I went through was that my code was not working according to my math. Instead of multiplying my pairs by the key matrix, it was multiplying them in the incorrect order. This caused the resulting output to be very off. Thankfully, was able to determine what to swap to make my encoder work. The best part: my favorite part of this project was creating the graphics. Even if they are not a major part of my project, they still add a cute whimsy to it!", "repo": "https://github.com/SILVENDz/matrixencoder", "demo": "https://silvendz.github.io/matrixencoder/"}]...
|
[{"post_id": 72502, "ts": "202 [{"post_id": 72502, "ts": "2026-09-23T02:54:19Z", "hours": 1.5458, "text": "Devlog #10: Hello! I have finalized the last couple of updates to my project. It’s been so fun! I added a new page that explains the basics of matrices(such as multiplication, finding the determinant, and solving for inverse matrices) in addition to the key page. Additionally, I just made a couple of CSS changes to the images, buttons, and lists in order for it to not look as cluttered. After this, my project should be ready to ship for approval!!"}, {"post_id": 68442, "ts": "2026-09-15T03:57:54Z", "hours": 0.6228, "text": "Devlog #9 : Hello! I apologize for the short devlog, I recently began my Third-Space project so it became kinda hard to manage both of my projects at the same time. Today, I focused mostly on simple CSS updates. I wanted to make my website a bit more “dynamic” even if the changes were minimal. You know, a little goes a long way. I just set up space for future explanations, made some dividers smaller by adding a scrolling feature, and added hover background-color change to all of the buttons!"}, {"post_id": 67739, "ts": "2026-09-13T23:31:01Z", "hours": 0.9078, "text": "Devlog #8 : Hello! I finalized the decoder!! Now, my website can both encode and decode messages. It took a while cuz I kept misspelling a bunch of stuff, but it works at last! Technically, my project is done, but I still want to add more information about matrices and cryptography for those who are also interested."}, {"post_id": 66935, "ts": "2026-09-12T22:12:45Z", "hours": 0.9322, "text": "Devlog #7: Hi! Today I revised my code to ensure that it was working according to my mathematical process. For my javascript, I just switched around the vector and matrix and defined spaces as zeros. Before, the values were not being multiplied in the correct order and a space was numerically identified as 27 rather than zero, which altered the final message by A LOT. After these fixes, the encoded message given by my code and by my math were the same!! (See images below) I’m really happy to see this project starting to work like intended. My next update will be on the decoder"}, {"post_id": 66309, "ts": "2026-09-12T02:17:19Z", "hours": 1.0292, "text": "Devlog #6: Hi! Today, I was able to get started on the actual encoder! I used a bit ai to help me understand the javascript code as well as where I could modify it in order to make it fit my matrix key. However, I ran the code through several trials and encoded the text manually, and it seems that there must be something wrong with my code. The response I got from my encoder and from my own math were pretty different… Therefore, I will try to look for what went wrong and hopefully fix it so that it works according to plan!! Once that is settled, I look forward to also adding a matrix decoder using inverse matrices."}, {"post_id": 65746, "ts": "2026-09-11T03:07:59Z", "hours": 1.3411, "text": "Devlog #5: Hi! Today I was able to work more on explaining how encoding with matrices actually works. Alongside the steps, I also included cute visual representations for the matrices. Currently, I am only missing one more visual for my explanation. I also made the containers scrollable (using overflow.y: auto) because it was slightlyyyy overwhelming without it. Now, this page is a little more organized. After I finish visually demonstrating how matrices are multiplied, I will move on to the actual encoder (the scary part) 。°(°¯᷄◠¯᷅°)°。 Also, don’t mind my kaomoji overuse.."}, {"post_id": 65149, "ts": "2026-09-10T02:47:34Z", "hours": 1.1711, "text": "Devlog #4: Hi again! Today, I was able to work more on explaining how matrices allow you to encode messages. So far, I only have my key for each letter as well as the matrix key I will be using to encode the messages. I will, more than likely, rearrange the way the images are placed on the website. Additionally, I’ll explain how messages are transformed into smaller matrices that are multiplied by the given matrix key. I’ll also explain how inverse matrices can be used to decode those messages!"}, {"post_id": 64583, "ts": "2026-09-09T02:52:11Z", "hours": 0.6175, "text": "Devlog #3: Hello! This is a tiny devlog, mainly just css updates, sorryyy. Basically, I updated the “How?” page in order for it to look like the home page. Now, both of them have marquees and placeholder divs for the input, output, explanation, and some images! I took away the lettering I did, I didn’t really like it that muchh (╥﹏╥). I will TRY to actually get started on the explanation tomorrow (beware, I’m very passionate about matrices)"}, {"post_id": 63985, "ts": "2026-09-08T02:32:42Z", "hours": 1.595, "text": "Deblog #2 : Hello again! Today, I did some text for the navigation section using Ibis paint and lapse to track my time. They came out a little lopsided, but it adds to personality of the website, in a way… I’m currently trying to make it cool using CSS. (yes, I’m trying to delay doing the actual javascript code for the encoder…) Just for detail, I did a marquee container in order for the welcome text to scroll. I plan on doing my matrix explanation next under the “HOW” section"}, {"post_id": 63328, "ts": "2026-09-07T02:56:23Z", "hours": 0.7994, "text": "Devlog #1: Hello! This is a new project I am working on called “Matrix Encoder.” The goal is for users to be able to input any message they wish to encode and the software will turn it into a list of numbers. Currently, I only plan to make an encoder, but hopefully I am able to also include decoding capabilities. So far, I started with the website layout using HTML and CSS. I included two pages using the nav tag. One will be the actual encoder and the second one will be a (NOT)small explanation of how matrices are used in cryptography! I look forward to creating art that fits the website’s terminal-esque aesthetic!"}]...
|
Title: Matrix Encoder by @Silvend | Stardance
Dev Title: Matrix Encoder by @Silvend | Stardance
Devlogs:
Devlog #1: Hello! This is a new project I am working on called “Matrix Encoder.” The goal is for users to be able to input any message they wish to encode and the software will turn it into a list of numbers. Currently, I only plan to make an encoder, but hopefully I am able to also include decoding capabilities. So far, I started with the website layout using HTML and CSS. I included two pages using the nav tag. One will be the actual encoder and the second one will be a (NOT)small explanation of how matrices are used in cryptography! I look forward to creating art that fits the website’s terminal-esque aesthetic!
Deblog #2 : Hello again! Today, I did some text for the navigation section using Ibis paint and lapse to track my time. They came out a little lopsided, but it adds to personality of the website, in a way… I’m currently trying to make it cool using CSS. (yes, I’m trying to delay doing the actual javascript code for the encoder…) Just for detail, I did a marquee container in order for the welcome text to scroll. I plan on doing my matrix explanation next under the “HOW” section
Devlog #3: Hello! This is a tiny devlog, mainly just css updates, sorryyy. Basically, I updated the “How?” page in order for it to look like the home page. Now, both of them have marquees and placeholder divs for the input, output, explanation, and some images! I took away the lettering I did, I didn’t really like it that muchh (╥﹏╥). I will TRY to actually get started on the explanation tomorrow (beware, I’m very passionate about matrices)
Devlog #4: Hi again! Today, I was able to work more on explaining how matrices allow you to encode messages. So far, I only have my key for each letter as well as the matrix key I will be using to encode the messages. I will, more than likely, rearrange the way the images are placed on the website. Additionally, I’ll explain how messages are transformed into smaller matrices that are multiplied by the given matrix key. I’ll also explain how inverse matrices can be used to decode those messages!
Devlog #5: Hi! Today I was able to work more on explaining how encoding with matrices actually works. Alongside the steps, I also included cute visual representations for the matrices. Currently, I am only missing one more visual for my explanation. I also made the containers scrollable (using overflow.y: auto) because it was slightlyyyy overwhelming without it. Now, this page is a little more organized. After I finish visually demonstrating how matrices are multiplied, I will move on to the actual encoder (the scary part) 。°(°¯᷄◠¯᷅°)°。 Also, don’t mind my kaomoji overuse..
Devlog #6: Hi! Today, I was able to get started on the actual encoder! I used a bit ai to help me understand the javascript code as well as where I could modify it in order to make it fit my matrix key. However, I ran the code through several trials and encoded the text manually, and it seems that there must be something wrong with my code. The response I got from my encoder and from my own math were pretty different… Therefore, I will try to look for what went wrong and hopefully fix it so that it works according to plan!! Once that is settled, I look forward to also adding a matrix decoder using inverse matrices.
Devlog #7: Hi! Today I revised my code to ensure that it was working according to my mathematical process. For my javascript, I just switched around the vector and matrix and defined spaces as zeros. Before, the values were not being multiplied in the correct order and a space was numerically identified as 27 rather than zero, which altered the final message by A LOT. After these fixes, the encoded message given by my code and by my math were the same!! (See images below) I’m really happy to see this project starting to work like intended. My next update will be on the decoder
Devlog #8 : Hello! I finalized the decoder!! Now, my website can both encode and decode messages. It took a while cuz I kept misspelling a bunch of stuff, but it works at last! Technically, my project is done, but I still want to add more information about matrices and cryptography for those who are also interested.
Devlog #9 : Hello! I apologize for the short devlog, I recently began my Third-Space project so it became kinda hard to manage both of my projects at the same time. Today, I focused mostly on simple CSS updates. I wanted to make my website a bit more “dynamic” even if the changes were minimal. You know, a little goes a long way. I just set up space for future explanations, made some dividers smaller by adding a scrolling feature, and added hover background-color change to all of the buttons!
Devlog #10: Hello! I have finalized the last couple of updates to my project. It’s been so fun! I added a new page that explains the basics of matrices(such as multiplication, finding the determinant, and solving for inverse matrices) in addition to the key page. Additionally, I just made a couple of CSS changes to the images, buttons, and lists in order for it to not look as cluttered. After this, my project should be ready to ship for approval!!
Ships:
Hello, I am Eli, and I created a decoder/encoder that utilizes matrices! The encoder works by assigning each letter of your input text a numerical value. Then, the numbers are arranged into pairs like this: [8 5][12 12][15 0]. Finally, these small matrices are multiplied by a key matrix. This multiplication gives you the final result for the encoded message. The decoder works by taking numerical input and transforming it into a decoded message. The numerical input is also arranged into pairs. These pairs are then multiplied by the inverse of the key matrix. Finally, using the numbers you calculate for, you translate into their alphabetical equivalent. Did that make no sense? Do not worry! My website also includes a page explaining the process behind using matrices in cryptography. It does not only include text, but also little silly graphics to help you understand better. The goal isn’t just to have decoder, but also to spread my love of math to others!! Challenges: The biggest challenge I went through was that my code was not working according to my math. Instead of multiplying my pairs by the key matrix, it was multiplying them in the incorrect order. This caused the resulting output to be very off. Thankfully, was able to determine what to swap to make my encoder work. The best part: my favorite part of this project was creating the graphics. Even if they are not a major part of my project, they still add a cute whimsy to it!...
|
1793004525.8825061
|
1793090925.8825061
|
|
18493
|
TypeForum by @Cosmicw | Stardance
|
Cosmicw
|
2
|
16.0
|
131
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-24T11:03:32Z", "hours": 8.0, "multiplier": 8.66, "payout": 73, "blessing": "neutral", "text": "one devlog wasn’t included in prevoius ship so im shipping it again. also addressed few bugs from feedback and i have fixed it.", "repo": "https://github.com/zcosmicw/TypeForum", "demo": "https://type-forum.vercel.app/"}, {"ship_num": 2, "ts": "2026-06-26T15:53:03Z", "hours": 8.0, "multiplier": 7.64, "payout": 58, "blessing": "neutral", "text": "TypeForum - A Forum web app for niche communities! It was a good experience making this project, I’ve faced issues with updating info real time but i have managed to over come it. If you are testing this, make sure to run all the SQL commands in supabase/migrations.", "repo": "https://github.com/zcosmicw/TypeForum", "demo": "https://type-forum.vercel.app/"}]...
|
[{"post_id": 30742, "ts": "202 [{"post_id": 30742, "ts": "2026-07-18T15:57:25Z", "hours": 8.4469, "text": "FINAL UPDATE (i hope) hi gng, apparently there was lots of bugs and the css looked not so sigma in my past attempt to ship it. but here i am wit ts again fully reworked. i hope its good this time and that it finally get shipped. a quick summary of what ts is: its a platform for communities that needs a forum thats not in reddit. i originally made it for a friend of mine but my guy got slimed before i finish this and now i dont have contact of him anymore 🥀. https://type-forum.vercel.app/ toodles✌️"}, {"post_id": 15070, "ts": "2026-06-24T14:12:50Z", "hours": 5.0453, "text": "Devlog #5: The Final Update — TypeForum is Shipping TypeForum is finally finished. TypeForum is a modern discussion platform built with Next.js 16, TypeScript, and Supabase. The goal was to create something that feels premium, customizable, and actually enjoyable to use instead of another generic forum. Here’s everything added in the final release. Trending Threads I built a ranking algorithm that determines which threads should appear on the front page. It takes into account upvotes, downvotes, replies, views, and time decay, so active discussions rise while older posts naturally lose momentum. Profile Pictures and Banners Users can now personalize their profiles with custom avatars and profile banners. Media is handled through Supabase Storage, and changes are previewed instantly before saving. Added stats that show the number of upvotes, comments and thread s. Cleaning Up the App I removed features that felt unnecessary, including the supplement store and separate ranking pages. The focus is now entirely on what matters most: forums, profiles, and discussions. Billboard Ads Added support for 970×90 billboard ads. Administrators can enable or disable ads globally and upload custom image or GIF banners directly from the dashboard. New Admin Dashboard Probably one of my favorite additions. Admins can now: -Change the site name globally, with logo initials generated automatically. -Edit homepage headings and footer text without touching code. -Highlight words using [brackets], which automatically render with a purple gradient. -Rename categories and subforums on the fly. -Customize rank names for levels 1 through 5. Smart Notifications Added PostgreSQL triggers for notifications: -Replies to threads and comments. -New followers. -Upvote milestones (5, 10, 15, and so on). I also added duplicate protection to prevent users from getting spammed when vote counts fluctuate. Who is TypeForum for? -Gaming and tech communities. -Fitness and self-improvement groups. -Creator communities and fanbases. -Anyone looking for something they fully own instead of relying on Discord or Reddit. And that’s it. Building TypeForum has taught me a lot, from UI design and database architecture to spending far too much time fighting CSS. It’s been an incredible experience, and I’m excited to finally ship it."}, {"post_id": 12633, "ts": "2026-06-20T17:08:57Z", "hours": 0.4947, "text": "Devlog #3: Followers & Following I was pretty busy IRL, but when I got back to the project, I noticed that the followers/following counter wasn’t working properly. Users could even follow themselves, which definitely wasn’t intended. I wanted to fix it as quickly as possible, so I got straight to work. I replaced the old insert-only followUser action with a new system that correctly tracks and updates both follower and following counts.I also improved the UI by hiding the Follow and Message buttons when users view their own profile, preventing unnecessary actions and making the experience feel more polished. Overall, this update fixes follower tracking, prevents self-following, and improves profile usability. Hopefully, I’ll be finishing the project in the next devlog!"}, {"post_id": 10675, "ts": "2026-06-17T15:12:02Z", "hours": 1.1564, "text": "TypeForum Devlog #2 Had a crazy idea while trying to fall asleep — what if users had a global chat where they could talk freely without any limits ? So I got to work right away.(yes i couldn’t sleep) I added the necessary rows and columns in Supabase, and just when I thought I had it working… it wasn’t updating in real time. Turns out I hadn’t enabled Supabase’s real-time replication. Flipped that on and it worked like a charm. After that, I noticed the Voting and Tiers system was completely broken. My fix? Removed the entire VoteTier system. Tiers (or ranks) are now admin-assigned only — admins have a dedicated option for this in the admin panel. Much cleaner. Up next: Profile pages (follows & following) Direct Messages Profile pictures and banners Let me know what else I should add! ❤️ https://type-forum.vercel.app/"}, {"post_id": 9813, "ts": "2026-06-16T07:59:36Z", "hours": 1.1558, "text": "TypeForum: A forum I’ve been working on for my friend’s community. thought it would be a good idea to open source it. Stuff that was added/fixed in this devlog : Added inline comments to threads Fixed upvote/downvote counter bugs Added post deletion/share functions to thread owner and admins feel free to comment any more changes that can make it better :) https://type-forum.vercel.app/ https://github.com/zcosmicw/TypeForum"}]...
|
Title: TypeForum by @Cosmicw | Stardance
Devlogs: Title: TypeForum by @Cosmicw | Stardance
Devlogs:
TypeForum: A forum I’ve been working on for my friend’s community. thought it would be a good idea to open source it. Stuff that was added/fixed in this devlog : Added inline comments to threads Fixed upvote/downvote counter bugs Added post deletion/share functions to thread owner and admins feel free to comment any more changes that can make it better :) https://type-forum.vercel.app/ https://github.com/zcosmicw/TypeForum
TypeForum Devlog #2 Had a crazy idea while trying to fall asleep — what if users had a global chat where they could talk freely without any limits ? So I got to work right away.(yes i couldn’t sleep) I added the necessary rows and columns in Supabase, and just when I thought I had it working… it wasn’t updating in real time. Turns out I hadn’t enabled Supabase’s real-time replication. Flipped that on and it worked like a charm. After that, I noticed the Voting and Tiers system was completely broken. My fix? Removed the entire VoteTier system. Tiers (or ranks) are now admin-assigned only — admins have a dedicated option for this in the admin panel. Much cleaner. Up next: Profile pages (follows & following) Direct Messages Profile pictures and banners Let me know what else I should add! ❤️ https://type-forum.vercel.app/
Devlog #3: Followers & Following I was pretty busy IRL, but when I got back to the project, I noticed that the followers/following counter wasn’t working properly. Users could even follow themselves, which definitely wasn’t intended. I wanted to fix it as quickly as possible, so I got straight to work. I replaced the old insert-only followUser action with a new system that correctly tracks and updates both follower and following counts.I also improved the UI by hiding the Follow and Message buttons when users view their own profile, preventing unnecessary actions and making the experience feel more polished. Overall, this update fixes follower tracking, prevents self-following, and improves profile usability. Hopefully, I’ll be finishing the project in the next devlog!
Devlog #5: The Final Update — TypeForum is Shipping TypeForum is finally finished. TypeForum is a modern discussion platform built with Next.js 16, TypeScript, and Supabase. The goal was to create something that feels premium, customizable, and actually enjoyable to use instead of another generic forum. Here’s everything added in the final release. Trending Threads I built a ranking algorithm that determines which threads should appear on the front page. It takes into account upvotes, downvotes, replies, views, and time decay, so active discussions rise while older posts naturally lose momentum. Profile Pictures and Banners Users can now personalize their profiles with custom avatars and profile banners. Media is handled through Supabase Storage, and changes are previewed instantly before saving. Added stats that show the number of upvotes, comments and thread s. Cleaning Up the App I removed features that felt unnecessary, including the supplement store and separate ranking pages. The focus is now entirely on what matters most: forums, profiles, and discussions. Billboard Ads Added support for 970×90 billboard ads. Administrators can enable or disable ads globally and upload custom image or GIF banners directly from the dashboard. New Admin Dashboard Probably one of my favorite additions. Admins can now: -Change the site name globally, with logo initials generated automatically. -Edit homepage headings and footer text without touching code. -Highlight words using [brackets], which automatically render with a purple gradient. -Rename categories and subforums on the fly. -Customize rank names for levels 1 through 5. Smart Notifications Added PostgreSQL triggers for notifications: -Replies to threads and comments. -New followers. -Upvote milestones (5, 10, 15, and so on). I also added duplicate protection to prevent users from getting spammed when vote counts fluctuate. Who is TypeForum for? -Gaming and tech communities. -Fitness and self-improvement groups. -Creator communities and fanbases. -Anyone looking for something they fully own instead of relying on Discord or Reddit. And that’s it. Building TypeForum has taught me a lot, from UI design and database architecture to spending far too much time fighting CSS. It’s been an incredible experience, and I’m excited to finally ship it.
FINAL UPDATE (i hope) hi gng, apparently there was lots of bugs and the css looked not so sigma in my past attempt to ship it. but here i am wit ts again fully reworked. i hope its good this time and that it finally get shipped. a quick summary of what ts is: its a platform for communities that needs a forum thats not in reddit. i originally made it for a friend of mine but my guy got slimed before i finish this and now i dont have contact of him anymore 🥀. https://type-forum.vercel.app/ toodles✌️
Ships:
TypeForum - A Forum web app for niche communities! It was a good experience making this project, I’ve faced issues with updating info real time but i have managed to over come it. If you are testing this, make sure to run all the SQL commands in supabase/migrations.
one devlog wasn’t included in prevoius ship so im shipping it again. also addressed few bugs from feedback and i have fixed it....
|
1792878517.8331976
|
1793742517.8331976
|
|
29373
|
Solarium by @vrplays | Stardance
|
vrplays
|
1
|
26.9
|
131
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-10T22:08:23Z", "hours": 13.0, "multiplier": 9.86, "payout": 131, "blessing": "neutral", "text": "Solarium is an operating system built from scratch. This means it isn’t built off ANYTHING. Not Linux, not anything like that, just code. Currently, it’s in an early phase, but as time goes on, more content will be added. Please give this a good rating! I spent a long time getting this to work without bugs. Currently, Solarium features several terminal commands that you can use. It mainly serves to show what the OS is capable of right now. There’s also a couple visual features, like a boot logo and multiple fonts! Please realize that despite the lack of content, I still spent so much time working on this project! As of shipping this, 13 hours of time! There will be more ships in the future, but in the meantime, this is what I have as of right now. Enjoy!", "repo": "https://github.com/VR2011/Solarium/", "demo": "https://github.com/VR2011/Solarium/releases"}]...
|
[{"post_id": 37978, "ts": "202 [{"post_id": 37978, "ts": "2026-07-31T01:55:34Z", "hours": 9.27, "text": "Not an update, but just a devlog. You guys might’ve wondered where I’ve been. I’ve been pretty busy over the past few weeks, having travelled to other states multiple times recently. I wasn’t able to get time to work on the OS, but whenever I do, I spent most of the time getting it to work on my Mac. I’ve spent way too long on this, and I hope it’s over soon. I’ll likely publish an update once I get this fixed. But for now, know that I am still working on this! (However I’ll be gone again in a few weeks once again…) I’m either gonna finish up some terminal features, or move on to a GUI. I’m gonna plan to stay away from hardware support for a bit. In the meantime, enjoy what I have so far! (If you notice, you’ll see that this is the same image as my banner. For some reason my ship got declined because of a new rule(?) where the banner must be the project and not a logo…)"}, {"post_id": 27736, "ts": "2026-07-13T15:42:26Z", "hours": 4.6336, "text": "Version 2.0 I’m back. Seems that my project still hasn’t been shipped yet, but that’s alright. Solarium has gotten a lot of bug fixes, and the fonts now look more polished. I also changed the video display so the output looks much better now! In addition to minor changes, Solarium now works on real hardware! You can help contribute to the OS Support list by going to the repo, and opening a PR with your changes. You can also just ping me in Slack or leave a comment here with the same details, and I can add it. I also added a screenshot showing the OS working on my Chromebook!"}, {"post_id": 26121, "ts": "2026-07-10T18:38:50Z", "hours": 5.4814, "text": "Devlog 1.2 Much longer than the devlogs I’ve sent here. I added a lot more stuff compared to the previous devlog, which was more bugfixes than actual content. There’s now a boot logo that appears for a few seconds before going back to the terminal! In addition, there’s now fonts! You can use the help command for more info. Alongside the actual OS, I’m going to start trying to implement support for actual hardware. It only works on VMs, so real hardware is going to be interesting."}, {"post_id": 24176, "ts": "2026-07-07T16:05:17Z", "hours": 3.9842, "text": "Devlog 1.1 Not gonna lie, this sucked. I spent a long time getting arrow keys to work. Luckily, I was finally able to figure it out. I also changed some stuff backend, but a few things on the front end. Also added this cool thing; the first instance of color! Isn’t that cool? Anyway, I’ll work on new stuff later, maybe some more commands."}, {"post_id": 20397, "ts": "2026-07-01T23:58:11Z", "hours": 3.8125, "text": "Devlog 1.0 Well, this is going to be something. Solarium is an operating system. From scratch. It is not Linux, it is not based off anything else. Right now, it’s just a terminal that has a few commands, and well, that’s pretty much it. What do you expect from a first version? What do you think of this?"}]...
|
Title: Solarium by @vrplays | Stardance
Devlogs:
Title: Solarium by @vrplays | Stardance
Devlogs:
Devlog 1.0 Well, this is going to be something. Solarium is an operating system. From scratch. It is not Linux, it is not based off anything else. Right now, it’s just a terminal that has a few commands, and well, that’s pretty much it. What do you expect from a first version? What do you think of this?
Devlog 1.1 Not gonna lie, this sucked. I spent a long time getting arrow keys to work. Luckily, I was finally able to figure it out. I also changed some stuff backend, but a few things on the front end. Also added this cool thing; the first instance of color! Isn’t that cool? Anyway, I’ll work on new stuff later, maybe some more commands.
Devlog 1.2 Much longer than the devlogs I’ve sent here. I added a lot more stuff compared to the previous devlog, which was more bugfixes than actual content. There’s now a boot logo that appears for a few seconds before going back to the terminal! In addition, there’s now fonts! You can use the help command for more info. Alongside the actual OS, I’m going to start trying to implement support for actual hardware. It only works on VMs, so real hardware is going to be interesting.
Version 2.0 I’m back. Seems that my project still hasn’t been shipped yet, but that’s alright. Solarium has gotten a lot of bug fixes, and the fonts now look more polished. I also changed the video display so the output looks much better now! In addition to minor changes, Solarium now works on real hardware! You can help contribute to the OS Support list by going to the repo, and opening a PR with your changes. You can also just ping me in Slack or leave a comment here with the same details, and I can add it. I also added a screenshot showing the OS working on my Chromebook!
Not an update, but just a devlog. You guys might’ve wondered where I’ve been. I’ve been pretty busy over the past few weeks, having travelled to other states multiple times recently. I wasn’t able to get time to work on the OS, but whenever I do, I spent most of the time getting it to work on my Mac. I’ve spent way too long on this, and I hope it’s over soon. I’ll likely publish an update once I get this fixed. But for now, know that I am still working on this! (However I’ll be gone again in a few weeks once again…) I’m either gonna finish up some terminal features, or move on to a GUI. I’m gonna plan to stay away from hardware support for a bit. In the meantime, enjoy what I have so far! (If you notice, you’ll see that this is the same image as my banner. For some reason my ship got declined because of a new rule(?) where the banner must be the project and not a logo…)
Ships:
Solarium is an operating system built from scratch. This means it isn’t built off ANYTHING. Not Linux, not anything like that, just code. Currently, it’s in an early phase, but as time goes on, more content will be added. Please give this a good rating! I spent a long time getting this to work without bugs. Currently, Solarium features several terminal commands that you can use. It mainly serves to show what the OS is capable of right now. There’s also a couple visual features, like a boot logo and multiple fonts! Please realize that despite the lack of content, I still spent so much time working on this project! As of shipping this, 13 hours of time! There will be more ships in the future, but in the meantime, this is what I have as of right now. Enjoy!...
|
1793087852.058188
|
1793174252.058188
|
|
35794
|
Frapanol by @manayp | Stardance
|
manayp
|
1
|
15.0
|
131
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-26T02:50:22Z", "hours": 15.0, "multiplier": 8.73, "payout": 131, "blessing": "neutral", "text": "I named the app Frapanol, which is a combination of french and Espanol What I made: A complete french and spanish learning app in one html file (with 2000+ lines of code) including 13 learning modes (vocab, flashcards, quiz, listening, spelling, conjugation, phrases, numbers, and grammar), an AI tutor implemented through a Hack Club API, achievements, daily goals, speech synthesis for easier pronunciation, manual voice picker and a warm yellow/red theme that changes depending on the language. All of it works offline (except for the tutor) in your browser, and everything is saved in your device (not in the web app’s servers). Challenges and what’s working well: The two main challenges were the API key and the browser speech. With the API key, the problem was that Hack Club’s server doesn’t allow other web pages to access it (because of CORS policies), so I made a small Node server that runs locally and receives the requests (your API key is only stored in your browser, not in the file). The other big problem was the voices: Chrome and Safari have strict policies about when you can autoplay audio, and the auto-detected voices weren’t working properly on real devices (probably because they had old voices installed, or voices that don’t work with the API, like Eddy or Flo, the voices made by Apple for testing). To fix this, I made it prioritize the manually selected voice, and then the default browser voice, and report the status to the user. How to test it: Open http://localhost:3400 in a browser, open Settings, put your API key in the “AI tutor key” field, select a voice in the “Voice” dropdown menu (you can try several ones and click “Say hello”), and test it by chatting to the tutor. It should work smoothly after you give microphone permissions to the web app and enable the “Tutor” setting. All in all, it’s a fully working PWA (progressive web app) in any browser that lets you configure it with some settings.", "repo": "https://github.com/manayparikh1/francais-2.0", "demo": "https://fastidious-meerkat-f2cf71.netlify.app/"}]...
|
[{"post_id": 34960, "ts": "202 [{"post_id": 34960, "ts": "2026-07-26T02:40:55Z", "hours": 4.3808, "text": "In general, the described scenario was highly challenging. All features were properly implemented, and the design and color scheme were modified to a red-yellow configuration. Nevertheless, the process of working with a speech feature has taken a lot of time and resulted in multiple issues. The situation where the speech function ceased to work remains unexplained and worrying. During two or three hours, I tried to figure out what the issue was with my assistant, but all my solutions failed. In addition, I tried several functions to find the one that would work, but nothing worked. Finally, I managed to solve the problem when I realized that the issue was not on my side but on the browser’s side since the speech output in my browser did not function correctly. I decided to try the program in Safari, and everything started to work fine. What surprised me was that the code worked fine on the phone. Thus, the problem was in the browser. However, as mentioned above, this project also involved a great number of challenging tasks and unanticipated issues. For instance, a long procedure was required to connect an API key, during which I faced multiple obstacles that I managed to overcome due to the help of an AI assistant and my own time investment. Hence, the project was fruitful but included many issues on the way. :OVERALL THE BACKGROUND FEATURE IS MY FAV Lol"}, {"post_id": 34736, "ts": "2026-07-25T18:17:20Z", "hours": 4.3094, "text": "The progress is going very well recently. I have finished all the core logic of this project, and I had a tremendous amount of fun doing that. I did a lot of research work and testing, and with the help of AI, I automated a lot of tedious work of rewriting and translating. Instead of spending hours trying to find the right phrase, I could focus my time and effort on actual development of the product.At this point, I think that the product is about 75%-80% complete. The major part of the work is done, and what is left is relatively simple, though time-consuming. The next big step is to add the functionality of listening and dictating. This will allow the web application to receive input from the user via voice. With that, the app’s functionality will be complete, and only some final polishing and logic tweaks will be needed to complete the project.I am very satisfied with the progress I made recently, and I am looking forward to working on the project in the future. Most challenging tasks are done, and the remaining ones are relatively simple."}, {"post_id": 33669, "ts": "2026-07-23T19:31:59Z", "hours": 0.5247, "text": "I have finally completed all the phrases, vocabulary, and the Spanish and French portions, and to be frank, I was able to do that thanks to the AI tools. Firstly, I arranged everything into one neat document so I could easily work with the data. Then, Claude aided me in moving forward in some of the coding parts so I had a good basis for the rest of the work. Then, I did the rest of the job on my own. As for the pronunciations, I looked it up on Google, while the bulk of the work – the translations and polishing – was done by the AI. Additionally there was many errors but then I figured out the issue was one { out of place lol. Overall its going good so far and way faster then I thought it would. I also saved it with local history etc."}, {"post_id": 33574, "ts": "2026-07-23T16:46:30Z", "hours": 0.6056, "text": "For the Spanish and French vocabulary, phrases, and pronunciation components, I’m planning to combine Google Translate with AI‑based language tools. Since I’m not fluent in either language, these tools will help ensure accuracy and consistency. My role will be to design and structure the entire architecture for those sections – the logic, the flow, and how everything connects – while the AI systems handle the actual generation of translations and pronunciations.I’m still checking whether Google Translate provides reliable pronunciation outputs; if it doesn’t meet the standard I need, I’ll switch to another AI model like Claude to fill that gap. Either way, the core idea is that I’ll build the framework, and the language tools will supply the linguistic content."}, {"post_id": 33526, "ts": "2026-07-23T15:35:49Z", "hours": 1.6422, "text": "I finished majority of the logic in the website and now everything works so far but I would say I am like 45-50 percent done because I still have to code the css and other parts of it. I also downloaded local host to track my progress. And now comes the tough part…I gotta add all the phrases in the different languages etc so that the users can use it etc with the phrases and everything. “Greetings 👋”:[ [“Bonjour”,“Hello / Good morning”,“bon-ZHOOR”],. I am going for a colourful tone because I want it to look fun and after i am done this I am going to add an thats possibly powered by hackclub which will make everything more easier and good to learn. Ai is also helping me with a few things like blocks etc."}, {"post_id": 33141, "ts": "2026-07-22T19:42:24Z", "hours": 0.3717, "text": "Currently I am working on making tabs for each part and for now I am doing all these in the screenshot below and also instead of getting emojis manually I lowkey just asked ai to generate me the emoji and it gave it to me which was faster and more efficient. I also learned what non breaking spaces are or for short known as ! . Overall in these last 20 min ive learned a good amount and I have coded like 60-80 lines of code which is pretty nice and I am looking forward to add more and if I would have to guess I am like 26.873 percent done lol but its fine the rest is pretty straight forward after I finish the logical aspects of the code."}, {"post_id": 33112, "ts": "2026-07-22T18:48:13Z", "hours": 1.7989, "text": "Currently I am working on the html part and I made different functions which so far include phrases, flashcards, quizes and possibly games. With a bit of ai I learned some more aspects in css and they also helped me code like 200-300 lines of code. So my next goal is honestly adding more and more and adding a language switcher function which can switch languages for me so basically kinda like duolingo but mine is gonna be more fun because I am going to try to add more stuff. PLUS I added a progress function, which is honestly helpful for individuals that wanna lock in and learn with efficiency and effectivity."}, {"post_id": 32612, "ts": "2026-07-21T21:53:52Z", "hours": 1.0611, "text": "Ai helped me a lot with debugging and fixing small errors. SO I finished like a lot of html atleast 100 or 200 lines of code and it is going good so far but I also wasted time in trying find out what phrases to put in and in the future I was possibly gonna put a tutor entirely powered from ai using the hackclub api which will be a stretch but its fine and I will try to apprehend these aspects."}, {"post_id": 32550, "ts": "2026-07-21T20:07:27Z", "hours": 0.3472, "text": "I am trying to create a french website that will help individuals learn french and ill add a spanish feature too with it so basically it will teach both french and spanish. Currently I started with the french and I am done around 40 lines of html but I may have to restart and also I learned new things like “antialiased” which is a term I learned from the github copilot which was nice… next I wanna keep working on the html and making everything good. I also connected github and downloaded Localhost so none of my code gets deleted or anything in the future."}]...
|
Title: Frapanol by @manayp | Stardance
Devlogs:
I Title: Frapanol by @manayp | Stardance
Devlogs:
I am trying to create a french website that will help individuals learn french and ill add a spanish feature too with it so basically it will teach both french and spanish. Currently I started with the french and I am done around 40 lines of html but I may have to restart and also I learned new things like “antialiased” which is a term I learned from the github copilot which was nice… next I wanna keep working on the html and making everything good. I also connected github and downloaded Localhost so none of my code gets deleted or anything in the future.
Ai helped me a lot with debugging and fixing small errors. SO I finished like a lot of html atleast 100 or 200 lines of code and it is going good so far but I also wasted time in trying find out what phrases to put in and in the future I was possibly gonna put a tutor entirely powered from ai using the hackclub api which will be a stretch but its fine and I will try to apprehend these aspects.
Currently I am working on the html part and I made different functions which so far include phrases, flashcards, quizes and possibly games. With a bit of ai I learned some more aspects in css and they also helped me code like 200-300 lines of code. So my next goal is honestly adding more and more and adding a language switcher function which can switch languages for me so basically kinda like duolingo but mine is gonna be more fun because I am going to try to add more stuff. PLUS I added a progress function, which is honestly helpful for individuals that wanna lock in and learn with efficiency and effectivity.
Currently I am working on making tabs for each part and for now I am doing all these in the screenshot below and also instead of getting emojis manually I lowkey just asked ai to generate me the emoji and it gave it to me which was faster and more efficient. I also learned what non breaking spaces are or for short known as ! . Overall in these last 20 min ive learned a good amount and I have coded like 60-80 lines of code which is pretty nice and I am looking forward to add more and if I would have to guess I am like 26.873 percent done lol but its fine the rest is pretty straight forward after I finish the logical aspects of the code.
I finished majority of the logic in the website and now everything works so far but I would say I am like 45-50 percent done because I still have to code the css and other parts of it. I also downloaded local host to track my progress. And now comes the tough part…I gotta add all the phrases in the different languages etc so that the users can use it etc with the phrases and everything. “Greetings 👋”:[ [“Bonjour”,“Hello / Good morning”,“bon-ZHOOR”],. I am going for a colourful tone because I want it to look fun and after i am done this I am going to add an thats possibly powered by hackclub which will make everything more easier and good to learn. Ai is also helping me with a few things like blocks etc.
For the Spanish and French vocabulary, phrases, and pronunciation components, I’m planning to combine Google Translate with AI‑based language tools. Since I’m not fluent in either language, these tools will help ensure accuracy and consistency. My role will be to design and structure the entire architecture for those sections – the logic, the flow, and how everything connects – while the AI systems handle the actual generation of translations and pronunciations.I’m still checking whether Google Translate provides reliable pronunciation outputs; if it doesn’t meet the standard I need, I’ll switch to another AI model like Claude to fill that gap. Either way, the core idea is that I’ll build the framework, and the language tools will supply the linguistic content.
I have finally completed all the phrases, vocabulary, and the Spanish and French portions, and to be frank, I was able to do that thanks to the AI tools. Firstly, I arranged everything into one neat document so I could easily work with the data. Then, Claude aided me in moving forward in some of the coding parts so I had a good basis for the rest of the work. Then, I did the rest of the job on my own. As for the pronunciations, I looked it up on Google, while the bulk of the work – the translations and polishing – was done by the AI. Additionally there was many errors but then I figured out the issue was one { out of place lol. Overall its going good so far and way faster then I thought it would. I also saved it with local history etc.
The progress is going very well recently. I have finished all the core logic of this project, and I had a tremendous amount of fun doing that. I did a lot of research work and testing, and with the help of AI, I automated a lot of tedious work of rewriting and translating. Instead of spending hours trying to find the right phrase, I could focus my time and effort on actual development of the product.At this point, I think that the product is about 75%-80% complete. The major part of the work is done, and what is left is relatively simple, though time-consuming. The next big step is to add the functionality of listening and dictating. This will allow the web application to receive input from the user via voice. With that, the app’s functionality will be complete, and only some final polishing and logic tweaks will be needed to complete the project.I am very satisfied with the progress I made recently, and I am looking forward to working on the project in the future. Most challenging tasks are done, and the remaining ones are relatively simple.
In general, the described scenario was highly challenging. All features were properly implemented, and the design and color scheme were modified to a red-yellow configuration. Nevertheless, the process of working with a speech feature has taken a lot of time and resulted in multiple issues. The situation where the speech function ceased to work remains unexplained and worrying. During two or three hours, I tried to figure out what the issue was with my assistant, but all my solutions failed. In addition, I tried several functions to find the one that would work, but nothing worked. Finally, I managed to solve the problem when I realized that the issue was not on my side but on the browser’s side since the speech output in my browser did not function correctly. I decided to try the program in Safari, and everything started to work fine. What surprised me was that the code worked fine on the phone. Thus, the problem was in the browser. However, as mentioned above, this project also involved a great number of challenging tasks and unanticipated issues. For instance, a long procedure was required to connect an API key, during which I faced multiple obstacles that I managed to overcome due to the help of an AI assistant and my own time investment. Hence, the project was fruitful but included many issues on the way. :OVERALL THE BACKGROUND FEATURE IS MY FAV Lol
Ships:
I named the app Frapanol, which is a combination of french and Espanol What I made: A complete french and spanish learning app in one html file (with 2000+ lines of code) including 13 learning modes (vocab, flashcards, quiz, listening, spelling, conjugation, phrases, numbers, and grammar), an AI tutor implemented through a Hack Club API, achievements, daily goals, speech synthesis for easier pronunciation, manual voice picker and a warm yellow/red theme that changes depending on the language. All of it works offline (except for the tutor) in your browser, and everything is saved in your device (not in the web app’s servers). Challenges and what’s working well: The two main challenges were the API key and the browser speech. With the API key, the problem was that Hack Club’s server doesn’t allow other web pages to access it (because of CORS policies), so I made a small Node server that runs locally and receives the requests (your API key is only stored in your browser, not in the file). The other big problem was the voices: Chrome and Safari have strict policies about when you can autoplay audio, and the auto-detected voices weren’t working properly on real devices (probably because they had old voices installed, or voices that don’t work with the API, like Eddy or Flo, the voices made by Apple for testing). To fix this, I made it prioritize the manually selected voice, and then the default browser voice, and report the status to the user. How to test it: Open http://localhost:3400 in a browser, open Settings, put your API key in the “AI tutor key” field, select a voice in the “Voice” dropdown menu (you can try several ones and click “Say hello”), and test it by chatting to the tutor. It should work smoothly after you give microphone permissions to the web app and enable the “Tutor” setting. All in all, it’s a fully working PWA (progressive web app) in any browser that lets you configure it with some settings....
|
1793101874.5849319
|
1793188274.5849319
|
|
54799
|
jojk by @ingvard | Stardance
|
ingvard
|
1
|
15.0
|
131
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-13T16:24:18Z", "hours": 15.0, "multiplier": 8.67, "payout": 131, "blessing": "neutral", "text": "Jojk is a markup interpreter for a markup langage i made. I used this project to learn haskell, so i had lots of issues along the way, but i made it through. Some of the features are: Output to both HTML and Markdown User specified output file Nested commands Completely deterministic Getting command nesting to work was difficult, and it still dosent work for edge cases (edge cases being about half the cases) This project only works on linux. WSL should work", "repo": "https://github.com/hyphen-hyphen-hyphen-hyphen/yodel/tree/trunk", "demo": "https://github.com/hyphen-hyphen-hyphen-hyphen/jojk/releases/tag/v0.1.0.0"}]...
|
[{"post_id": 67470, "ts": "202 [{"post_id": 67470, "ts": "2026-09-13T16:08:25Z", "hours": 0.5828, "text": "Final prepares before shipping, and git merge conflicts"}, {"post_id": 66023, "ts": "2026-09-11T15:48:28Z", "hours": 4.85, "text": "Been a while scince the last devlog Since then i have: Written a readme and security policy Support for nested commands Compiles without warnings even more “haskell like” Nesting commands dont work super well, but for simpler nesting it should work fine I have also learnt that haskell types are super weird, somehow theres a difference between String and [Char] , and i have no idea what it is Screenshot is of it compiling without errors"}, {"post_id": 60997, "ts": "2026-09-03T18:09:45Z", "hours": 2.2075, "text": "I have made multiple large changes, including Support for both ordered and unordered lists Output in MarkDown format Rewrite of code to be more haskell like (for example, pattern matching) Making the markdown output took a lot of time, since i basically had to rewrite every formatting function, but it went faster than with html output, probably because im better at haskell now"}, {"post_id": 58209, "ts": "2026-08-30T15:53:42Z", "hours": 2.6747, "text": "Several notable changes, including: Support for lists!!! (Unordered, ordered coming soon) Lambda notation More concise code and shorter function names Getting the lists to work was a nightmare, i had to do some cheeky recursion thing and it was not easy. I also had to put parentheses like everywhere for the compiler to understand what ordering i wanted, but it didnt say that, it just said “Couldn’t match expected type with actual type”, and i had no idea what was going on."}, {"post_id": 57463, "ts": "2026-08-29T16:48:05Z", "hours": 3.3117, "text": "Jojk now has the following features: Support for text types (bold, italic, strikethrough, etc) Can do links! No compiler warnings! Ive learnt lots, most of it being that haskell is weird, but the compiler warnings are awesome. You forgot to specify the input and return type of a function? The compiler warning literally tells you the type, and gives you the exact codepiece you need to add! I did encounter a couple of errors, but most of them were just things like haskell needing an int instead of a “maybe int”(what the hell is a maybe int?)"}, {"post_id": 56622, "ts": "2026-08-28T13:35:23Z", "hours": 1.5133, "text": "Jojk is a markup language im making, and im using it to learn haskell, so i anticipate a lot of issues. Right now it takes a file as an input and outputs the file but in html format"}]...
|
Title: jojk by @ingvard | Stardance
Devlogs:
Jojk Title: jojk by @ingvard | Stardance
Devlogs:
Jojk is a markup language im making, and im using it to learn haskell, so i anticipate a lot of issues. Right now it takes a file as an input and outputs the file but in html format
Jojk now has the following features: Support for text types (bold, italic, strikethrough, etc) Can do links! No compiler warnings! Ive learnt lots, most of it being that haskell is weird, but the compiler warnings are awesome. You forgot to specify the input and return type of a function? The compiler warning literally tells you the type, and gives you the exact codepiece you need to add! I did encounter a couple of errors, but most of them were just things like haskell needing an int instead of a “maybe int”(what the hell is a maybe int?)
Several notable changes, including: Support for lists!!! (Unordered, ordered coming soon) Lambda notation More concise code and shorter function names Getting the lists to work was a nightmare, i had to do some cheeky recursion thing and it was not easy. I also had to put parentheses like everywhere for the compiler to understand what ordering i wanted, but it didnt say that, it just said “Couldn’t match expected type with actual type”, and i had no idea what was going on.
I have made multiple large changes, including Support for both ordered and unordered lists Output in MarkDown format Rewrite of code to be more haskell like (for example, pattern matching) Making the markdown output took a lot of time, since i basically had to rewrite every formatting function, but it went faster than with html output, probably because im better at haskell now
Been a while scince the last devlog Since then i have: Written a readme and security policy Support for nested commands Compiles without warnings even more “haskell like” Nesting commands dont work super well, but for simpler nesting it should work fine I have also learnt that haskell types are super weird, somehow theres a difference between String and [Char] , and i have no idea what it is Screenshot is of it compiling without errors
Final prepares before shipping, and git merge conflicts
Ships:
Jojk is a markup interpreter for a markup langage i made. I used this project to learn haskell, so i had lots of issues along the way, but i made it through. Some of the features are: Output to both HTML and Markdown User specified output file Nested commands Completely deterministic Getting command nesting to work was difficult, and it still dosent work for edge cases (edge cases being about half the cases) This project only works on linux. WSL should work...
|
1793008219.6925983
|
1793094619.6925983
|
|
24751
|
CosmoGram by @tharungowda | Stardance
|
tharungowda
|
1
|
10.0
|
130
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-30T18:32:00Z", "hours": 10.0, "multiplier": 12.66, "payout": 130, "blessing": "neutral", "text": "What did i make : - I built CosmoGram, a dark-themed mobile application using Flutter and Dart that connects directly to NASA’s databases. The app features a “Daily Discovery Feed” or simply “Discover” page which pulls real-time planetary imagery, descriptions, and cosmic telemetry via live API. It also includes a “Birthday” where users can input any date(Basically their bithday) coordinate to query the exact celestial snapshot NASA’s sensors captured on their birth date. What challenges did i face? Since this was my first project handling APIs and asynchronous calls in Flutter, navigating Future methods and managing state was a big learning curve. The most tiresome challenge was the local image downloader; high-resolution assets initially failed with a system exception because NASA’s raw image URLs contain complex API query strings that corrupted native Android file extensions (creating broken 0B files). I solved this by writing a custom naming filter to strip out the parameters and strictly enforce a clean .jpg tag. I also recently had to migrate my workspace to Linux and re-optimize my production compilation into split architecture targets (v7a and v8a) to bypass GitHub’s 25MB file upload limits. What was i proud of ? I was proud of learning app development and using the knowledge i gained through watching YouTube Tutorial and the things i learned along the way using AI (like Google Notebook LLM ) to Teach me Future and state management in flutter. It was a wonderfull experience . what other people should know to use my project? Highly Technological Background is not needed they should just follow these steps:- Download either ‘app-arm64-v8a-release.apk’ or ‘app-armeabi-v7a-release.apk’ (if the former is not installed) from the repository files. Install it on your Android phone (allow “Unknown Sources” if prompted). Open CosmoGram app to see the live NASA Daily Discovery feed, or switch to the Birthday tab and enter a date like 2004-10-24 to pull a historical cosmic snapshot! Note: If you want to pull down the raw code and build it locally, remember to open ‘Screen.dart’ and replace the placeholder string with your own official NASA API key.", "repo": "https://github.com/tharungowdaanime/CosmoGram", "demo": "https://github.com/tharungowdaanime/CosmoGram/releases/download/v1.0.0/app-armeabi-v7a-release.apk"}]...
|
[{"post_id": 19315, "ts": "202 [{"post_id": 19315, "ts": "2026-06-30T16:19:38Z", "hours": 5.9725, "text": "The App Is Almost Ready Short App Description The app I was working on, CosmoGram, is ready (almost). It particularly has two pages: one where you get a daily image and the image’s information like its description, radiation level, etc., and the other page is Birthday, where you enter your birthday and get the image that was taken by NASA on that day. Usage of AI Stitch: I used Stitch to get the UI elements of the two pages. It is awesome and simple to use. I described my app, its usage, and how it works, and it gave me the UI pretty fast, which was also awesome. Gemini: In Stitch, if you go to Export, select the pages you want to export, and export in code, it gives you XML code. I pasted this into Gemini and asked what UI elements I could use to achieve this, and I also told it to give me boilerplate code to build upon. Gemini Image Generation: I also used the Gemini image generation model to generate a custom logo for my app. Troublesome Things & Breakthroughs Since this was my first project involving APIs using Flutter, I did get errors using Future and all that. I mainly asked Gemini for help regarding it. Downloading the image was probably the most tiresome part. I watched some YouTube videos and implemented it, but the downloaded images were all 0B and could not be opened. I asked Gemini to help troubleshoot it. The Download Abort Fix: Initially, downloading high-resolution assets threw a critical system exception. The issue was that NASA’s image URLs contain complex API query strings, which corrupted the native file extension. I wrote a file-naming filter to strip out the parameters and strictly enforce a clean .jpg formatting tag. Now, the Android gallery opens the images flawlessly. What I Just Finished After taking a quick rest, I figured out exactly how to set up the app image and the title name natively! I updated the underlying AndroidManifest.xml files to clear out the default development metadata templates. The app now cleanly displays with its proper launcher name ( CosmoGram ) right on my mobile’s home screen, and it successfully loads up with my customized, textless neon-rocket icon asset in the app drawer. Everything is fully live and running on the phone now! Extra If you see most Flutter projects, they will probably include many files for different pages. This helps if you are in a company where everyone can work on the app and contribute. But since I was making this as a personal project and I don’t think anyone else will contribute to this, I decided to put all the screens and pages in the codebase inside a single Screen.dart . There is also main.dart , which actually runs the app since the void main(){} function is inside that folder."}, {"post_id": 17053, "ts": "2026-06-27T18:02:01Z", "hours": 4.3372, "text": "#DEVLOG1: Hello so i am kinda new here, i really wanted to get into app development. I do have a background in programming(not too much strong just medicore) i know python very well and title bit of C , Since dart is similar to both Python and C like its syntax is similar to C and concepts like OOP is also in Python it was easy to get on. But on flutter part i am still not that much great and i still kinda get confused in topics like Implementation , Stateless,Statefull . So i did build a Currency Converter App as a practice and also so that i could get fimiliar with widgets , i didn’t build it on my own i watched a tutorial and followed along , i think i will build few apps like these and when i get a hang of it i wll go to my main project which is a kinda of simple, It uses NASA’s API to get beautiful images of Universe and you can even set it as wallpaper and you could even enter your birthday and find out the photo the Voyger took on that day. So yeah thats it and if you guys are fimiliar with flutter it could be great if could tell me what all resources you used."}]...
|
Title: CosmoGram by @tharungowda | Stardance
Devl Title: CosmoGram by @tharungowda | Stardance
Devlogs:
#DEVLOG1: Hello so i am kinda new here, i really wanted to get into app development. I do have a background in programming(not too much strong just medicore) i know python very well and title bit of C , Since dart is similar to both Python and C like its syntax is similar to C and concepts like OOP is also in Python it was easy to get on. But on flutter part i am still not that much great and i still kinda get confused in topics like Implementation , Stateless,Statefull . So i did build a Currency Converter App as a practice and also so that i could get fimiliar with widgets , i didn’t build it on my own i watched a tutorial and followed along , i think i will build few apps like these and when i get a hang of it i wll go to my main project which is a kinda of simple, It uses NASA’s API to get beautiful images of Universe and you can even set it as wallpaper and you could even enter your birthday and find out the photo the Voyger took on that day. So yeah thats it and if you guys are fimiliar with flutter it could be great if could tell me what all resources you used.
The App Is Almost Ready Short App Description The app I was working on, CosmoGram, is ready (almost). It particularly has two pages: one where you get a daily image and the image’s information like its description, radiation level, etc., and the other page is Birthday, where you enter your birthday and get the image that was taken by NASA on that day. Usage of AI Stitch: I used Stitch to get the UI elements of the two pages. It is awesome and simple to use. I described my app, its usage, and how it works, and it gave me the UI pretty fast, which was also awesome. Gemini: In Stitch, if you go to Export, select the pages you want to export, and export in code, it gives you XML code. I pasted this into Gemini and asked what UI elements I could use to achieve this, and I also told it to give me boilerplate code to build upon. Gemini Image Generation: I also used the Gemini image generation model to generate a custom logo for my app. Troublesome Things & Breakthroughs Since this was my first project involving APIs using Flutter, I did get errors using Future and all that. I mainly asked Gemini for help regarding it. Downloading the image was probably the most tiresome part. I watched some YouTube videos and implemented it, but the downloaded images were all 0B and could not be opened. I asked Gemini to help troubleshoot it. The Download Abort Fix: Initially, downloading high-resolution assets threw a critical system exception. The issue was that NASA’s image URLs contain complex API query strings, which corrupted the native file extension. I wrote a file-naming filter to strip out the parameters and strictly enforce a clean .jpg formatting tag. Now, the Android gallery opens the images flawlessly. What I Just Finished After taking a quick rest, I figured out exactly how to set up the app image and the title name natively! I updated the underlying AndroidManifest.xml files to clear out the default development metadata templates. The app now cleanly displays with its proper launcher name ( CosmoGram ) right on my mobile’s home screen, and it successfully loads up with my customized, textless neon-rocket icon asset in the app drawer. Everything is fully live and running on the phone now! Extra If you see most Flutter projects, they will probably include many files for different pages. This helps if you are in a company where everyone can work on the app and contribute. But since I was making this as a personal project and I don’t think anyone else will contribute to this, I decided to put all the screens and pages in the codebase inside a single Screen.dart . There is also main.dart , which actually runs the app since the void main(){} function is inside that folder.
Ships:
What did i make : - I built CosmoGram, a dark-themed mobile application using Flutter and Dart that connects directly to NASA’s databases. The app features a “Daily Discovery Feed” or simply “Discover” page which pulls real-time planetary imagery, descriptions, and cosmic telemetry via live API. It also includes a “Birthday” where users can input any date(Basically their bithday) coordinate to query the exact celestial snapshot NASA’s sensors captured on their birth date. What challenges did i face? Since this was my first project handling APIs and asynchronous calls in Flutter, navigating Future methods and managing state was a big learning curve. The most tiresome challenge was the local image downloader; high-resolution assets initially failed with a system exception because NASA’s raw image URLs contain complex API query strings that corrupted native Android file extensions (creating broken 0B files). I solved this by writing a custom naming filter to strip out the parameters and strictly enforce a clean .jpg tag. I also recently had to migrate my workspace to Linux and re-optimize my production compilation into split architecture targets (v7a and v8a) to bypass GitHub’s 25MB file upload limits. What was i proud of ? I was proud of learning app development and using the knowledge i gained through watching YouTube Tutorial and the things i learned along the way using AI (like Google Notebook LLM ) to Teach me Future and state management in flutter. It was a wonderfull experience . what other people should know to use my project? Highly Technological Background is not needed they should just follow these steps:- Download either ‘app-arm64-v8a-release.apk’ or ‘app-armeabi-v7a-release.apk’ (if the former is not installed) from the repository files. Install it on your Android phone (allow “Unknown Sources” if prompted). Open CosmoGram app to see the live NASA Daily Discovery feed, or switch to the Birthday tab and enter a date like 2004-10-24 to pull a historical cosmic snapshot! Note: If you want to pull down the raw code and build it locally, remember to open ‘Screen.dart’ and replace the placeholder string with your own official NASA API key....
|
1793094763.3983843
|
1793181163.3983843
|
|
41740
|
meloop - watch your video multiply by @sahilaw | S meloop - watch your video multiply by @sahilaw | Stardance...
|
sahilaw
|
1
|
9.0
|
130
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-09T17:37:08Z", "hours": 9.0, "multiplier": 14.55, "payout": 130, "blessing": "neutral", "text": "I spent the last few days on meloop, a tool that turns any short clip into an endlessly multiplying grid. Everything runs on your device, nothing gets uploaded. The hardest part was frame extraction. Sampling too slowly made the loops choppy, sampling too fast made the browser lag. Settling on 24 fps and a 60-second limit fixed most of it. I’m happiest with how the grid grows while staying perfectly in sync with the original audio. Also added a recent-clips list with IndexedDB so you can replay videos without uploading them again. To try it just go to meloop.vercel.app, drop any short video under 60 seconds, and watch it multiply. There’s a demo button if you don’t feel like uploading anything.", "repo": "https://github.com/sahilaw22/meloop", "demo": "https://meloop.vercel.app/"}]...
|
[{"post_id": 44105, "ts": "202 [{"post_id": 44105, "ts": "2026-08-09T17:28:27Z", "hours": 2.0944, "text": "second devlog I built a thing that takes a short video and turns it into a growing grid of the same clip looping forever. One tile, then four, then nine, and so on until the whole screen is just the same meme repeating itself. The idea The whole point was that nothing leaves the browser. No uploads, no servers. You drop a video, the browser rips the frames out with canvas, and then it just starts multiplying them. Audio stays from the original file so it doesn’t sound like garbage. Frame extraction Getting this part right took longer than I expected. At first I was sampling too slowly and the loops looked choppy. Then I was sampling too fast and the browser would choke on longer clips. Settled on: 24 fps Max video length: 60 seconds Max file size: 15 MB Frames scaled down to 480px Still not perfect, but it works for most meme-length clips. The multiplying grid This was the fun part. I started with a simple canvas renderer that just kept adding more of the same frame. Watching a single sad cat video slowly take over the entire screen is weirdly satisfying. Had to add a couple of limits though: Hard cap at 1024 tiles Auto-pause every couple of minutes Otherwise Chrome starts melting. Extra stuff Recent clips saved with IndexedDB so you can re-run the last few videos without uploading again Drag and drop + a demo video button Basic play/pause/mute controls Try it Live version is up at meloop.vercel.app What’s still rough Performance on older phones isn’t great The pause modal feels a bit abrupt Some longer clips still struggle during frame extraction The core idea works though, and everything stays private, which was the main goal."}, {"post_id": 37338, "ts": "2026-07-30T00:03:19Z", "hours": 6.8697, "text": "Hey everyone! this is my first devlog Here what i did today: I spent some time polishing meloop today. i refined the ui, improved animations, and optimized the frame processing pipeline to make everything feel smoother. the biggest goal is still the same: keeping all video processing fast, private, and entirely inside the browser without relying on servers or uploads. it’s starting to feel much more like a finished product with every iteration. Check out live demo here! https://meloop.vercel.app/"}]...
|
Title: meloop - watch your video multiply by @sahi Title: meloop - watch your video multiply by @sahilaw | Stardance
Devlogs:
Hey everyone! this is my first devlog Here what i did today: I spent some time polishing meloop today. i refined the ui, improved animations, and optimized the frame processing pipeline to make everything feel smoother. the biggest goal is still the same: keeping all video processing fast, private, and entirely inside the browser without relying on servers or uploads. it’s starting to feel much more like a finished product with every iteration. Check out live demo here! https://meloop.vercel.app/
second devlog I built a thing that takes a short video and turns it into a growing grid of the same clip looping forever. One tile, then four, then nine, and so on until the whole screen is just the same meme repeating itself. The idea The whole point was that nothing leaves the browser. No uploads, no servers. You drop a video, the browser rips the frames out with canvas, and then it just starts multiplying them. Audio stays from the original file so it doesn’t sound like garbage. Frame extraction Getting this part right took longer than I expected. At first I was sampling too slowly and the loops looked choppy. Then I was sampling too fast and the browser would choke on longer clips. Settled on: 24 fps Max video length: 60 seconds Max file size: 15 MB Frames scaled down to 480px Still not perfect, but it works for most meme-length clips. The multiplying grid This was the fun part. I started with a simple canvas renderer that just kept adding more of the same frame. Watching a single sad cat video slowly take over the entire screen is weirdly satisfying. Had to add a couple of limits though: Hard cap at 1024 tiles Auto-pause every couple of minutes Otherwise Chrome starts melting. Extra stuff Recent clips saved with IndexedDB so you can re-run the last few videos without uploading again Drag and drop + a demo video button Basic play/pause/mute controls Try it Live version is up at meloop.vercel.app What’s still rough Performance on older phones isn’t great The pause modal feels a bit abrupt Some longer clips still struggle during frame extraction The core idea works though, and everything stays private, which was the main goal.
Ships:
I spent the last few days on meloop, a tool that turns any short clip into an endlessly multiplying grid. Everything runs on your device, nothing gets uploaded. The hardest part was frame extraction. Sampling too slowly made the loops choppy, sampling too fast made the browser lag. Settling on 24 fps and a 60-second limit fixed most of it. I’m happiest with how the grid grows while staying perfectly in sync with the original audio. Also added a recent-clips list with IndexedDB so you can replay videos without uploading them again. To try it just go to meloop.vercel.app, drop any short video under 60 seconds, and watch it multiply. There’s a demo button if you don’t feel like uploading anything....
|
1792997643.1549292
|
1793084043.1549292
|
|
9633
|
3D Physics Simulator by @leonardo_g_bracciale | St 3D Physics Simulator by @leonardo_g_bracciale | Stardance...
|
leonardo_g_bracciale
|
1
|
16.0
|
129
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-26T22:20:58Z", "hours": 16.0, "multiplier": 11.71, "payout": 129, "blessing": "neutral", "text": "This is my first ever project. Over the last year I have taken multiple coursera courses on creating AI/ML models so I really wanted to add that in this project. This was inspired by a youtube video of something similar made in C++. It is quite elementary compared to some other projects on here, but I am proud regardless.", "repo": "https://github.com/Optifrost/GravSim", "demo": "https://github.com/Optifrost/GravSim/releases/tag/v1.1.0"}]...
|
[{"post_id": 16531, "ts": "202 [{"post_id": 16531, "ts": "2026-06-26T21:53:37Z", "hours": 14.5742, "text": "This may be my last update to the project but since last post I have added full 3d functionalities, a black hole mode, the ability to add “photons”, particle trails, the ability to select an object, and have debugged a number of problems surrounding mathematical computation errors with numbers becoming too large to support."}, {"post_id": 3616, "ts": "2026-06-06T16:49:50Z", "hours": 0.9944, "text": "Currently focused on adapting the original 2d design into a 3d version with support for photons. Trying to make the simulation as accurate and realistic as possible."}]...
|
Title: 3D Physics Simulator by @leonardo_g_braccia Title: 3D Physics Simulator by @leonardo_g_bracciale | Stardance
Devlogs:
Currently focused on adapting the original 2d design into a 3d version with support for photons. Trying to make the simulation as accurate and realistic as possible.
This may be my last update to the project but since last post I have added full 3d functionalities, a black hole mode, the ability to add “photons”, particle trails, the ability to select an object, and have debugged a number of problems surrounding mathematical computation errors with numbers becoming too large to support.
Ships:
This is my first ever project. Over the last year I have taken multiple coursera courses on creating AI/ML models so I really wanted to add that in this project. This was inspired by a youtube video of something similar made in C++. It is quite elementary compared to some other projects on here, but I am proud regardless....
|
1793090984.5006156
|
1793177384.5006156
|
|
12008
|
Ace of Sharks Grappler Combat Robot by @Abracadabr Ace of Sharks Grappler Combat Robot by @Abracadabra3 | Stardance...
|
Abracadabra3
|
3
|
25.0
|
129
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-10T20:15:08Z", "hours": 0.0, "multiplier": 5.0, "payout": 2, "blessing": "neutral", "text": "Ace of Sharks 3.1-2 is a grappler style combat robot that grabs and lifts other combat robots into the air and flips them over. Ace of Sharks competes in the Plastic Antweight (1lb) division. Ace of Sharks continues to get better and better after each event. Since the last ship, I have tried to fix the weight issue from last event by reducing the thickness of the wheel guards since they did not take much damage. This ship is because of the new stardust bonus for hardware projects shipped with a new video. I have shipped Ace of Sharks before, but this is the first since the announcement that said you can re-ship with a new video to get your stardust topped up if you leave a note for your reviewer. I have edited a new video and poster for this ship. Thanks! :)", "repo": "https://GitHub.com/abracadabra3/ace_of_sharks", "demo": ""}, {"ship_num": 2, "ts": "2026-08-25T00:19:53Z", "hours": 3.0, "multiplier": 5.0, "payout": 16, "blessing": "neutral", "text": "Ace of Sharks 3.2 is a grappler style 1lb plastic antweight combat robot! It uses a compound grab-and-lift motion powered by a single servo to lift opponents into the air and flip them over. Since the last ship, I have added wheel guards and strengthened the weapon assembly because both of those kept falling off in the last event. I also added more traction, or grip, to the wheels by coating them in rubber cement. A challenge was staying under weight with the additions, but using a lighter plastic for some parts got it to work. The demo video is a highlight video from the tournament, so enjoy watching!", "repo": "https://GitHub.com/abracadabra3/ace_of_sharks", "demo": ""}, {"ship_num": 3, "ts": "2026-07-23T20:52:07Z", "hours": 22.0, "multiplier": 5.0, "payout": 111, "blessing": "neutral", "text": "Ace of Sharks is a grappler combat robot in the 1 lb plastic antweight division. A grappler combat robot is designed to grab and then lift opponents into the air, like Claw Viper from the TV show and YouTube channel BattleBots. Haven’t heard of combat robotics before? It’s basically custom RC cars with custom saws fighting each other to the death. A challenging part of designing this version of Ace of Sharks was having an idea in my head of what I wanted it to look like and figuring out how to create that idea. This is the first time I have done that, so getting this version of Ace of Sharks designed and working is something I am proud of accomplishing. Getting to see it do lift opponents at a tournament was definitely a moment I was proud of as well. The demo video is a highlight video from my first tournament, so enjoy watching!", "repo": "https://GitHub.com/abracadabra3/ace_of_sharks", "demo": ""}]...
|
[{"post_id": 76914, "ts": "202 [{"post_id": 76914, "ts": "2026-10-05T02:22:46Z", "hours": 0.3647, "text": "Shipping again! With the new hardware rules, I can ship Ace of Sharks again with a new video and get more than the (previously) fixed rate of 5 stardust/hour! (Thanks, Hack Club staff! ) While I don’t have another tournament before Stardance ends, I have some changes in mind to make version 3.3. So far, I have decreased the thickness of the wheel guards to reduce weight because I was very close to the limit and the wheel guards didn’t really take any damage. They will still be able to protect the wheels from at least one hit, which could still be enough to save a fight. I will also be looking into liquid latex coatings for the foam wheels, which is something other builders mentioned for traction on wood floor arenas."}, {"post_id": 53311, "ts": "2026-08-23T19:41:46Z", "hours": 0.6167, "text": "It doesn’t break anymore! I brought Ace of Sharks to a tournament and it held up way better than last time. I made the nubs a separate piece so that it won’t break along layer lines anymore, and the weapon assembly never fell of! The wheel guards worked and I broke 0 motors. The rubber cement coating on the wheels worked decent with a new coat after every match. I asked other builders and liquid latex over rubber cement is common. I tied four other robots for 5th place and had a great time talking with and learning from other builders :)"}, {"post_id": 48371, "ts": "2026-08-16T18:06:19Z", "hours": 0.585, "text": "Wheel guards! I added new wheel guards to Ace of Sharks (don’t mind the bright red, it’s just a test with random filament) and tested a bunch of wheel combos. The wheel guard print worked the first time (!), and seems ready. In the Duramic PLA+ filament, Ace of Sharks should be underweight and ready for a possible tournament next week! I tried rubber cement coated wheels to try to improve traction, and it worked really well. I also added rubber bands wrapped around the rubber cement, and that improves traction as well. That is probably what I will do in the tournament, and we will see how it works in a fight. Rubber cement does pick up dust, but a damp cloth will wipe it off and not significantly reduce stickiness. (I forgot to lapse the testing and chassis swap during the Stardance huddle, oops… )"}, {"post_id": 36521, "ts": "2026-07-28T18:04:53Z", "hours": 1.9308, "text": "Next iteration: Ace of Sharks 3.2 So far, I have: Strengthened the weapon assembly Added wheel guards Changed the shape of the shark arm to hopefully reach over drum spinners I also decided I want to improve wheel traction (the grippiness of the wheel) to hopefully get more pushing power. I don’t have time to get funding, design, and iterate a cast polyurethane wheel for this tournament, so I decided I will get rubber cement and experiment with gluing rubber bands, electrical tape (sticky side out), and latex balloons to the foam wheels and see what works best."}, {"post_id": 33692, "ts": "2026-07-23T20:20:22Z", "hours": 1.7231, "text": "Ace of Sharks 3.1 Tournament! Shipwrights, please read the note at the end of this devlog. I brought Ace of Sharks 3.1 to a tournament and it went pretty well! I defiantly found some bugs that need fixed (like the whole weapon assembly falling off) but I was still able to lift other robots and the concept worked great. There was no four wheel drive for this iteration, but that will come soon as well as wheel guards and a stronger attachment point for the lifter assembly. I am ready to ship, with the tournament highlight video as the demo video for Ace of Sharks. Stay tuned to Ace of Sharks as I will continue to improve Ace of Sharks 3.2 to prepare for another tournament before Stardance is over! Edit for shipwrights because I can’t edit the ship post: I hope bonuses will retroactively apply as well as payout increases. I have a logo I make into stickers to give out a tournaments (a new one for v3 and I have three other Ace of Sharks logos I wish I could show you but I can’t add more pictures to a devlog), I edited a highlight video myself (that’s the demo video) and I designed the poster myself. I worked really hard on making this project do well in voting, so I am disappointed at the fixed 5 stardust an hour payout rate. The fixed payout makes sense with the way Stardance is formatted; it’s just disappointing because of how hard I worked on this project, trying to get 15-20 stardust an hour."}, {"post_id": 26932, "ts": "2026-07-12T00:31:25Z", "hours": 6.8061, "text": "4wd with belts is hard. I think most if not all of the time here was spent working on trying to get 4wd to work. The first belt I tried had gear teeth as the belt tooth and they did not mesh around the turn, as well as being way to small. The second one had self-designed timing belt teeth on it (following a tutorial) and it still did not mesh. Then I changed the design and it didn’t fit again, but the new belt and the old pulley DID mesh! So then I had a belt that did mesh but was too tight; I could barely get it on and the motors didn’t turn when the belt was on. Then I made it larger and it turned only when going fast, but not slow. After that, I asked in the combat-robotics Slack channel and got an idea to cut out milk jug caps for friction reducing washers. That made it work when going slow but not when going fast. (Yes, this is opposite of what it did before.) My conclusion is that the regular bolts make too much friction and when the shoulder bolts get here (AFTER the tournament) hopefully the belts will work. Sigh."}, {"post_id": 21118, "ts": "2026-07-02T22:20:02Z", "hours": 1.3506, "text": "I did the first drive test of Ace of Sharks 3.1 and had some fun throwing beanie babies around! The drive works amazing. With previous 2wd versions, driving backwards would not work well at all. This 4wd version fixes that issue, and backwards works just as well as forwards. I also began redesigning a logo for stickers to hand out at the tournament! I like having one with an image of my robot on it, so I got that one redesigned from v2 Ace of Sharks. I had to use some regular M3 bolts instead of the shoulder bolts for the wheel axels, but I think it will be good enough for the tournament!"}, {"post_id": 19285, "ts": "2026-06-30T15:37:28Z", "hours": 3.5619, "text": "So when I went to order the shoulder bolts off Amazon, shipping takes a couple weeks and they will not get here in time for the tournament. Sigh. I did find a listing on Home Depot for regular bolts that might work (or at least be good enough for now). Hopefully I can find something that works for the tournament. I also began making the GitHub repository for Ace of Sharks and wrote a README."}, {"post_id": 14533, "ts": "2026-06-23T17:56:39Z", "hours": 1.9039, "text": "It works! (Mostly!) There are a few silly bugs (like putting the screw pass through hole on the part it should screw into and vise versa) but it is assembled and can lift an old chassis iteration! I fixed the bugs in the CAD file and added some more decorations to the top plate. I was surprised at how few bugs there were in the first iteration. I have not tested the 4wd part yet because I don’t have the shoulder bolts yet, but that will come soon."}, {"post_id": 12865, "ts": "2026-06-21T02:11:39Z", "hours": 0.3283, "text": "Before I started the 3D printing the first robot parts, I discovered three four important things I forgot to add in the CAD. 1. I forgot screw holes to attach the top plate to the chassis! 2. I discovered that the gear on the shark arm was intersecting with the top plate. 3. There should be a wall around the gear inside the chassis to keep wires out of it. While writing this, I realized that I need a slot in the wall to have room for the servo wire."}, {"post_id": 12278, "ts": "2026-06-20T01:40:08Z", "hours": 3.1042, "text": "Five weeks before the next tournament, I decided to start over from scratch and completely redesign Ace of Sharks. Why? Since Ace of Sharks is now four wheel drive, it doesn’t matter whether the drive motors are in the front or the back of the robot. According to the RioBotz book , you want the center of mass as far back on the robot as possible. Reversing the position of all the electronics will move the heavy servo to the back of the robot and do just that. Instead of trying to do this and fix all the stuff that will break in the current Fusion design, it was easier to just start over from scratch. Next up: 3D print the parts and see what obvious problems I missed! — Thank you @IvyMycelia for telling be about Markdown!"}, {"post_id": 7182, "ts": "2026-06-12T00:02:15Z", "hours": 1.9036, "text": "I made Ace of Sharks a four wheel drive robot! I modified a wheel hub from Printables to have a pulley for a belt on it, but Fusion did not like working with a mesh converted to a solid and I could not finish it. So I had to start over with Fingertech twist hubs (files free on their website) and added the pulley to the twist part of the twist hubs. When I was making the belt, I was doing a bunch of math to get the size and it turned out way too big. Then I realized the number I calculated was the circumference and I was using it as the diameter. That fixed it! Next, I will need to print out the parts and see what problems I missed in the CAD."}, {"post_id": 6473, "ts": "2026-06-10T21:48:34Z", "hours": 1.6478, "text": "I made more room in the back of the robot for pinewood derby car weights (to make the robot drive better on two wheels) then changed the robot to have four wheels (which eliminates the need for the weights). I modified the washer part of a wheel hub on Printables to have a pulley for a belt to drive the front wheels from the back wheels. The file imported into Fusion way bigger than it should have been, which made me do it over twice when I realized. Found an Amazon listing for shoulder bolts which will be axels for the front wheels. I also modified the front attachments to touch the floor with the new wheels."}]...
|
Title: Ace of Sharks Grappler Combat Robot by @Abr Title: Ace of Sharks Grappler Combat Robot by @Abracadabra3 | Stardance
Devlogs:
I made more room in the back of the robot for pinewood derby car weights (to make the robot drive better on two wheels) then changed the robot to have four wheels (which eliminates the need for the weights). I modified the washer part of a wheel hub on Printables to have a pulley for a belt to drive the front wheels from the back wheels. The file imported into Fusion way bigger than it should have been, which made me do it over twice when I realized. Found an Amazon listing for shoulder bolts which will be axels for the front wheels. I also modified the front attachments to touch the floor with the new wheels.
I made Ace of Sharks a four wheel drive robot! I modified a wheel hub from Printables to have a pulley for a belt on it, but Fusion did not like working with a mesh converted to a solid and I could not finish it. So I had to start over with Fingertech twist hubs (files free on their website) and added the pulley to the twist part of the twist hubs. When I was making the belt, I was doing a bunch of math to get the size and it turned out way too big. Then I realized the number I calculated was the circumference and I was using it as the diameter. That fixed it! Next, I will need to print out the parts and see what problems I missed in the CAD.
Five weeks before the next tournament, I decided to start over from scratch and completely redesign Ace of Sharks. Why? Since Ace of Sharks is now four wheel drive, it doesn’t matter whether the drive motors are in the front or the back of the robot. According to the RioBotz book , you want the center of mass as far back on the robot as possible. Reversing the position of all the electronics will move the heavy servo to the back of the robot and do just that. Instead of trying to do this and fix all the stuff that will break in the current Fusion design, it was easier to just start over from scratch. Next up: 3D print the parts and see what obvious problems I missed! — Thank you @IvyMycelia for telling be about Markdown!
Before I started the 3D printing the first robot parts, I discovered three four important things I forgot to add in the CAD. 1. I forgot screw holes to attach the top plate to the chassis! 2. I discovered that the gear on the shark arm was intersecting with the top plate. 3. There should be a wall around the gear inside the chassis to keep wires out of it. While writing this, I realized that I need a slot in the wall to have room for the servo wire.
It works! (Mostly!) There are a few silly bugs (like putting the screw pass through hole on the part it should screw into and vise versa) but it is assembled and can lift an old chassis iteration! I fixed the bugs in the CAD file and added some more decorations to the top plate. I was surprised at how few bugs there were in the first iteration. I have not tested the 4wd part yet because I don’t have the shoulder bolts yet, but that will come soon.
So when I went to order the shoulder bolts off Amazon, shipping takes a couple weeks and they will not get here in time for the tournament. Sigh. I did find a listing on Home Depot for regular bolts that might work (or at least be good enough for now). Hopefully I can find something that works for the tournament. I also began making the GitHub repository for Ace of Sharks and wrote a README.
I did the first drive test of Ace of Sharks 3.1 and had some fun throwing beanie babies around! The drive works amazing. With previous 2wd versions, driving backwards would not work well at all. This 4wd version fixes that issue, and backwards works just as well as forwards. I also began redesigning a logo for stickers to hand out at the tournament! I like having one with an image of my robot on it, so I got that one redesigned from v2 Ace of Sharks. I had to use some regular M3 bolts instead of the shoulder bolts for the wheel axels, but I think it will be good enough for the tournament!
4wd with belts is hard. I think most if not all of the time here was spent working on trying to get 4wd to work. The first belt I tried had gear teeth as the belt tooth and they did not mesh around the turn, as well as being way to small. The second one had self-designed timing belt teeth on it (following a tutorial) and it still did not mesh. Then I changed the design and it didn’t fit again, but the new belt and the old pulley DID mesh! So then I had a belt that did mesh but was too tight; I could barely get it on and the motors didn’t turn when the belt was on. Then I made it larger and it turned only when going fast, but not slow. After that, I asked in the combat-robotics Slack channel and got an idea to cut out milk jug caps for friction reducing washers. That made it work when going slow but not when going fast. (Yes, this is opposite of what it did before.) My conclusion is that the regular bolts make too much friction and when the shoulder bolts get here (AFTER the tournament) hopefully the belts will work. Sigh.
Ace of Sharks 3.1 Tournament! Shipwrights, please read the note at the end of this devlog. I brought Ace of Sharks 3.1 to a tournament and it went pretty well! I defiantly found some bugs that need fixed (like the whole weapon assembly falling off) but I was still able to lift other robots and the concept worked great. There was no four wheel drive for this iteration, but that will come soon as well as wheel guards and a stronger attachment point for the lifter assembly. I am ready to ship, with the tournament highlight video as the demo video for Ace of Sharks. Stay tuned to Ace of Sharks as I will continue to improve Ace of Sharks 3.2 to prepare for another tournament before Stardance is over! Edit for shipwrights because I can’t edit the ship post: I hope bonuses will retroactively apply as well as payout increases. I have a logo I make into stickers to give out a tournaments (a new one for v3 and I have three other Ace of Sharks logos I wish I could show you but I can’t add more pictures to a devlog), I edited a highlight video myself (that’s the demo video) and I designed the poster myself. I worked really hard on making this project do well in voting, so I am disappointed at the fixed 5 stardust an hour payout rate. The fixed payout makes sense with the way Stardance is formatted; it’s just disappointing because of how hard I worked on this project, trying to get 15-20 stardust an hour.
Next iteration: Ace of Sharks 3.2 So far, I have: Strengthened the weapon assembly Added wheel guards Changed the shape of the shark arm to hopefully reach over drum spinners I also decided I want to improve wheel traction (the grippiness of the wheel) to hopefully get more pushing power. I don’t have time to get funding, design, and iterate a cast polyurethane wheel for this tournament, so I decided I will get rubber cement and experiment with gluing rubber bands, electrical tape (sticky side out), and latex balloons to the foam wheels and see what works best.
Wheel guards! I added new wheel guards to Ace of Sharks (don’t mind the bright red, it’s just a test with random filament) and tested a bunch of wheel combos. The wheel guard print worked the first time (!), and seems ready. In the Duramic PLA+ filament, Ace of Sharks should be underweight and ready for a possible tournament next week! I tried rubber cement coated wheels to try to improve traction, and it worked really well. I also added rubber bands wrapped around the rubber cement, and that improves traction as well. That is probably what I will do in the tournament, and we will see how it works in a fight. Rubber cement does pick up dust, but a damp cloth will wipe it off and not significantly reduce stickiness. (I forgot to lapse the testing and chassis swap during the Stardance huddle, oops… )
It doesn’t break anymore! I brought Ace of Sharks to a tournament and it held up way better than last time. I made the nubs a separate piece so that it won’t break along layer lines anymore, and the weapon assembly never fell of! The wheel guards worked and I broke 0 motors. The rubber cement coating on the wheels worked decent with a new coat after every match. I asked other builders and liquid latex over rubber cement is common. I tied four other robots for 5th place and had a great time talking with and learning from other builders :)
Shipping again! With the new hardware rules, I can ship Ace of Sharks again with a new video and get more than the (previously) fixed rate of 5 stardust/hour! (Thanks, Hack Club staff! ) While I don’t have another tournament before Stardance ends, I have some changes in mind to make version 3.3. So far, I have decreased the thickness of the wheel guards to reduce weight because I was very close to the limit and the wheel guards didn’t really take any damage. They will still be able to protect the wheels from at least one hit, which could still be enough to save a fight. I will also be looking into liquid latex coatings for the foam wheels, which is something other builders mentioned for traction on wood floor arenas.
Ships:
Ace of Sharks is a grappler combat robot in the 1 lb plastic antweight division. A grappler combat robot is designed to grab and then lift opponents into the air, like Claw Viper from the TV show and YouTube channel BattleBots. Haven’t heard of combat robotics before? It’s basically custom RC cars with custom saws fighting each other to the death. A challenging part of designing this version of Ace of Sharks was having an idea in my head of what I wanted it to look like and figuring out how to create that idea. This is the first time I have done that, so getting this version of Ace of Sharks designed and working is something I am proud of accomplishing. Getting to see it do lift opponents at a tournament was definitely a moment I was proud of as well. The demo video is a highlight video from my first tournament, so enjoy watching!
Ace of Sharks 3.2 is a grappler style 1lb plastic antweight combat robot! It uses a compound grab-and-lift motion powered by a single servo to lift opponents into the air and flip them over. Since the last ship, I have added wheel guards and strengthened the weapon assembly because both of those kept falling off in the last event. I also added more traction, or grip, to the wheels by coating them in rubber cement. A challenge was staying under weight with the additions, but using a lighter plastic for some parts got it to work. The demo video is a highlight video from the tournament, so enjoy watching!
Ace of Sharks 3.1-2 is a grappler style combat robot that grabs and lifts other combat robots into the air and flips them over. Ace of Sharks competes in the Plastic Antweight (1lb) division. Ace of Sharks continues to get better and better after each event. Since the last ship, I have tried to fix the weight issue from last event by reducing the thickness of the wheel guards since they did not take much damage. This ship is because of the new stardust bonus for hardware projects shipped with a new video. I have shipped Ace of Sharks before, but this is the first since the announcement that said you can re-ship with a new video to get your stardust topped up if you leave a note for your reviewer. I have edited a new video and poster for this ship. Thanks! :)...
|
1793098281.8829384
|
1793184681.8829384
|
|
17439
|
AeroGlass XAI by @saminsiddiqui | Stardance
|
saminsiddiqui
|
2
|
10.0
|
129
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-05T19:20:15Z", "hours": 1.0, "multiplier": 9.07, "payout": 8, "blessing": "neutral", "text": "AeroGlass XAI is a predictive maintenance and Explainable AI (XAI) dashboard built for the aerospace industry, analyzing turbofan engine degradation. At its core, the project utilizes a Bidirectional Long Short-Term Memory (BiLSTM) neural network trained on the NASA CMAPSS dataset to predict the Remaining Useful Life (RUL) of active engines. To ensure the model’s decisions are transparent for aviation technicians, the system integrates Temporal Attention mechanisms and Sensor-Level SHAP values to highlight exactly which telemetry sensors are driving the degradation predictions. Deployment Note for Shipwrights: The application is hosted on a dedicated Hack Club Nest Linux container to ensure instant, 24/7 uptime. While the core AI logic, data loading, and metric calculations (like the active fleet and critical engine counts) are processing perfectly, the Nest reverse proxy is currently blocking the dynamic JS imports for some of the heavier Plotly graphics. The structural AI implementation is fully functional under the hood!", "repo": "https://github.com/saminsiddiqui08-beep/AeroGlass-XAI", "demo": "https://saminsiddiqui.hackclub.app"}, {"ship_num": 2, "ts": "2026-06-18T15:26:14Z", "hours": 9.0, "multiplier": 13.41, "payout": 121, "blessing": "neutral", "text": "What I made: I made AeroGlass XAI which is an enterprise-grade predictive maintenance dashboard that forecasts aerospace engine failures using a custom Temporal Attention BiLSTM and Explainable AI (SHAP). The biggest challenge: Well, the biggest challenge to me was the streaming heavy, multi-dimensional tensor arrays in real-time without crashing Streamlit’s lightweight free-tier servers. I solved this by engineering a custom caching pipeline utilizing NumPy’s mmap_mode to read data directly from the disk which completely eliminated RAM bloat. What I’m proud of: Proving the fact that AI doesn’t have to be an uninterpretable “Black Box.” I’m proud of how the dashboard visually translates complex neural network weights into actionable, physical mechanical insights (e.g. isolating thermal stress vs. rotational wear) and calculates the exact financial ROI of those predictions. How to test it: Simply click “Try project”-no installation required! Use the sidebar to navigate to the Live Telemetry Simulator to watch the models race in real time or check out the Operational ROI Calculator. (Note: If the Streamlit server has been inactive, it may take ~30 seconds to wake up).", "repo": "https://github.com/saminsiddiqui08-beep/AeroGlass-XAI", "demo": "https://saminsiddiqui.hackclub.app"}]...
|
[{"post_id": 23027, "ts": "202 [{"post_id": 23027, "ts": "2026-07-05T19:14:46Z", "hours": 0.8769, "text": "Migrated AeroGlass XAI to a Dedicated Server (Hack Club Nest) The Nest server uses an aggressive reverse proxy that is currently rate-limiting some of the dynamic JavaScript chunks required to render the heavy Plotly/SHAP visualizations."}, {"post_id": 11331, "ts": "2026-06-18T15:22:20Z", "hours": 2.3317, "text": "I spent this session getting AeroGlass XAI completely ready. I successfully deployed the dashboard to Streamlit Community Cloud and handled some caching optimizations for the heavy SHAP tensors using mmap_mode. The project is officially live!"}, {"post_id": 10595, "ts": "2026-06-17T12:45:12Z", "hours": 3.1981, "text": "The core ML architecture is done, so my final focus was transforming AeroGlass XAI into a production-ready enterprise tool. The ‘GO / NO-GO’ Pre-Flight Briefing: I built a new operational dashboard that allows dispatchers to select the specific port and starboard engines mounted to an airframe. The app runs a real-time check against the Attention BiLSTM. If the RUL dips below the 30-cycle threshold, the UI triggers a dynamic HTML/CSS ‘NO-GO’ lockdown, pulling the top 3 thermodynamic stressors from the SHAP array to justify the grounding to the mechanics. Financial Interactivity (The ROI Sandbox): Predictive maintenance is only useful if it saves money. I upgraded the Operational ROI Calculator with a dynamic slider that simulates the ‘AI False Negative Rate.’ This stress-tests the financial model in real-time. If you push the AI’s error rate too high, the dynamic metrics instantly flip from Cyan (‘Millions Saved’) to Red (‘Millions Lost’) The finish line is near the corner. It will be ready to ship soon!!!"}, {"post_id": 10192, "ts": "2026-06-16T20:03:15Z", "hours": 2.3322, "text": "The core engine of AeroGlass XAI is now fully operational. The goal of this project wasn’t just to predict jet engine failure but to force the neural network to explain its reasoning to human engineers. Over the last couple of hours, I successfully wired the backend prediction arrays into a dynamic, cycle by cycle Explainable AI (XAI) interface using Streamlit and Matplotlib. The Breakthrough: I caught the BiLSTM doing something fascinating while I was building the visualizer. Near the end of an engine’s life, the model was aggressively penalizing the Remaining Useful Life (RUL) based on Core Speed (S9) but simultaneously extending it based on HPC Static Pressure (S11). Because speed and pressure are physically correlated (Multicollinearity), the AI was mathematically ‘balancing’ its weights. By wrapping the SHAP values in a color-coded UI (Red for Core Thermodynamic, Blue for Mechanical), the dashboard immediately exposed this AI logic flaw to the human eye. This is exactly why safety critical aerospace requires ‘Glass Box’ interpretability."}, {"post_id": 9964, "ts": "2026-06-16T14:28:36Z", "hours": 1.2103, "text": "I’m currently building AeroGlass XAI, a web-based command center for jet engine maintenance. While I have a robust backend foundation using the NASA CMAPSS FD004 dataset, my focus for this hackathon is the “Glass Box” transition. I am taking pre-computed BiLSTM predictions and SHAP arrays and wrapping them into a production-ready Streamlit architecture. I have just finalized a scalable, multi-file directory structure to ensure this isn’t just a script, but an enterprise-grade application. I’ve also implemented the native dark-mode aerospace aesthetic in the configuration. My aim is to turn static math into a “Live Telemetry” simulator and an interactive XAI audit tool where users can drill down into thermodynamic sensor impacts in real-time."}]...
|
Title: AeroGlass XAI by @saminsiddiqui | Stardance Title: AeroGlass XAI by @saminsiddiqui | Stardance
Devlogs:
I’m currently building AeroGlass XAI, a web-based command center for jet engine maintenance. While I have a robust backend foundation using the NASA CMAPSS FD004 dataset, my focus for this hackathon is the “Glass Box” transition. I am taking pre-computed BiLSTM predictions and SHAP arrays and wrapping them into a production-ready Streamlit architecture. I have just finalized a scalable, multi-file directory structure to ensure this isn’t just a script, but an enterprise-grade application. I’ve also implemented the native dark-mode aerospace aesthetic in the configuration. My aim is to turn static math into a “Live Telemetry” simulator and an interactive XAI audit tool where users can drill down into thermodynamic sensor impacts in real-time.
The core engine of AeroGlass XAI is now fully operational. The goal of this project wasn’t just to predict jet engine failure but to force the neural network to explain its reasoning to human engineers. Over the last couple of hours, I successfully wired the backend prediction arrays into a dynamic, cycle by cycle Explainable AI (XAI) interface using Streamlit and Matplotlib. The Breakthrough: I caught the BiLSTM doing something fascinating while I was building the visualizer. Near the end of an engine’s life, the model was aggressively penalizing the Remaining Useful Life (RUL) based on Core Speed (S9) but simultaneously extending it based on HPC Static Pressure (S11). Because speed and pressure are physically correlated (Multicollinearity), the AI was mathematically ‘balancing’ its weights. By wrapping the SHAP values in a color-coded UI (Red for Core Thermodynamic, Blue for Mechanical), the dashboard immediately exposed this AI logic flaw to the human eye. This is exactly why safety critical aerospace requires ‘Glass Box’ interpretability.
The core ML architecture is done, so my final focus was transforming AeroGlass XAI into a production-ready enterprise tool. The ‘GO / NO-GO’ Pre-Flight Briefing: I built a new operational dashboard that allows dispatchers to select the specific port and starboard engines mounted to an airframe. The app runs a real-time check against the Attention BiLSTM. If the RUL dips below the 30-cycle threshold, the UI triggers a dynamic HTML/CSS ‘NO-GO’ lockdown, pulling the top 3 thermodynamic stressors from the SHAP array to justify the grounding to the mechanics. Financial Interactivity (The ROI Sandbox): Predictive maintenance is only useful if it saves money. I upgraded the Operational ROI Calculator with a dynamic slider that simulates the ‘AI False Negative Rate.’ This stress-tests the financial model in real-time. If you push the AI’s error rate too high, the dynamic metrics instantly flip from Cyan (‘Millions Saved’) to Red (‘Millions Lost’) The finish line is near the corner. It will be ready to ship soon!!!
I spent this session getting AeroGlass XAI completely ready. I successfully deployed the dashboard to Streamlit Community Cloud and handled some caching optimizations for the heavy SHAP tensors using mmap_mode. The project is officially live!
Migrated AeroGlass XAI to a Dedicated Server (Hack Club Nest) The Nest server uses an aggressive reverse proxy that is currently rate-limiting some of the dynamic JavaScript chunks required to render the heavy Plotly/SHAP visualizations.
Ships:
What I made: I made AeroGlass XAI which is an enterprise-grade predictive maintenance dashboard that forecasts aerospace engine failures using a custom Temporal Attention BiLSTM and Explainable AI (SHAP). The biggest challenge: Well, the biggest challenge to me was the streaming heavy, multi-dimensional tensor arrays in real-time without crashing Streamlit’s lightweight free-tier servers. I solved this by engineering a custom caching pipeline utilizing NumPy’s mmap_mode to read data directly from the disk which completely eliminated RAM bloat. What I’m proud of: Proving the fact that AI doesn’t have to be an uninterpretable “Black Box.” I’m proud of how the dashboard visually translates complex neural network weights into actionable, physical mechanical insights (e.g. isolating thermal stress vs. rotational wear) and calculates the exact financial ROI of those predictions. How to test it: Simply click “Try project”-no installation required! Use the sidebar to navigate to the Live Telemetry Simulator to watch the models race in real time or check out the Operational ROI Calculator. (Note: If the Streamlit server has been inactive, it may take ~30 seconds to wake up).
AeroGlass XAI is a predictive maintenance and Explainable AI (XAI) dashboard built for the aerospace industry, analyzing turbofan engine degradation. At its core, the project utilizes a Bidirectional Long Short-Term Memory (BiLSTM) neural network trained on the NASA CMAPSS dataset to predict the Remaining Useful Life (RUL) of active engines. To ensure the model’s decisions are transparent for aviation technicians, the system integrates Temporal Attention mechanisms and Sensor-Level SHAP values to highlight exactly which telemetry sensors are driving the degradation predictions. Deployment Note for Shipwrights: The application is hosted on a dedicated Hack Club Nest Linux container to ensure instant, 24/7 uptime. While the core AI logic, data loading, and metric calculations (like the active fleet and critical engine counts) are processing perfectly, the Nest reverse proxy is currently blocking the dynamic JS imports for some of the heavier Plotly graphics. The structural AI implementation is fully functional under the hood!...
|
1792997444.9400043
|
1793083844.9400043
|
|
35166
|
Farm Simulator by @sklebi | Stardance
|
sklebi
|
1
|
10.35
|
129
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-23T20:36:28Z", "hours": 10.0, "multiplier": 12.57, "payout": 129, "blessing": "neutral", "text": "(If you have an issue running the game with the Windows Defender pop-up, click “more info” and then “run anyway!”) Also this is my second python game ever so keep that in mind when playing :> I made farm simulator, it simulates working on a farm! Inspired by my friend Nicole, who plays a lot of farm games. The how to play is listed in my read me so if you want a better description of the game, just read that. I’ll list it here though: Welcome to Farm Simulator! Your goal is to become the greatest farmer EVER! You begin by meeting your mentor, Nicole. You will acquire a wooden plow and some wheat seeds from Nicole. In order to make your first wad of cash, you need to plant those seeds in your plot editor and then farm them right up to grab your crops! Then, after you farm your crops, you can sell them at the store for money! Upgrade your tools to get more money per crop! (make sure you have enough money left over to buy a seed as well!) Make sure not to run out of durability!! If you would like to do some butchering, feel free to buy some animals, which will allow you to unlock the butcher option! This will give you the ability to breed animals and sell their meats. Note: If there are numbers next to actions, please enter the numbers and not the words. If it asks a yes or no question, feel free to enter yes, no, y, n, etc.. a range of responses are accepted When it asks if you want to place something down and you have multiple times, please enter one item at a time! Thanks for playing and I hope you enjoy the game! (Also note that the ascii art is not made by me!)", "repo": "https://github.com/Sklebi/Farm-Simulator", "demo": "https://github.com/Sklebi/Farm-Simulator/releases/tag/v1.0.0"}]...
|
[{"post_id": 34010, "ts": "202 [{"post_id": 34010, "ts": "2026-07-24T12:34:05Z", "hours": 0.3547, "text": "It won’t let me ship without this devlog sooooo (DONT MIND THIS)"}, {"post_id": 33592, "ts": "2026-07-23T17:14:26Z", "hours": 4.0219, "text": "Butchery update!! -> Added more functions to the animals you’re able to breed them to make more animals using a breeding gem + wheat place them on your farm bring them to the slaughter house sell the meat that you get remove them from the farm expand your animal farm Animation changes -> Made store, nicole & butcher ascii art have an intro animation where they are slowly printing one line at a time (finally learnt a new string method lol) -> added new cow, pig, sheep & chicken ascii art randomized animations for those -> fixed shop glitches where money wasn’t loading -> added a new stats feature on actions so you can look at more than just your balance -> breeding gem added to animal shop"}, {"post_id": 32493, "ts": "2026-07-21T18:30:04Z", "hours": 2.1644, "text": "New animations -> brand new shop animations where a train goes buy and brings you to the train station when you go to the store -> added the ability to view balance from store (show bal function) Fixed bugs -> fixed the bug where when your plow broke, it didn’t give you the crop back -> Fixed the bug where the balance didn’t show after seeds Added Animal store -> Able to buy animals like cows, sheeps, pigs and stuff *Planning on adding more functions to the animals Planning on adding a rebirth system too -> added a print() filler so then when you return to actions or a different menu, it looks nicer -> More aesthetic changes to the menu -> Added a new seed and plow picture for when you obtain those from the beginning of the game"}, {"post_id": 29664, "ts": "2026-07-16T18:48:47Z", "hours": 4.1481, "text": "Fixed the bug randomly removing plots that have seeds in them -> made it so the code looks for an empty plot and replaces an empty one Added plow store -> 4 new plow versions added plow durability & crop multiplier (stone, diamond, iron, emerald) -> 15 new fruits to sell -> capitalized name when returning it in text"}]...
|
Title: Farm Simulator by @sklebi | Stardance
Devl Title: Farm Simulator by @sklebi | Stardance
Devlogs:
Fixed the bug randomly removing plots that have seeds in them -> made it so the code looks for an empty plot and replaces an empty one Added plow store -> 4 new plow versions added plow durability & crop multiplier (stone, diamond, iron, emerald) -> 15 new fruits to sell -> capitalized name when returning it in text
New animations -> brand new shop animations where a train goes buy and brings you to the train station when you go to the store -> added the ability to view balance from store (show bal function) Fixed bugs -> fixed the bug where when your plow broke, it didn’t give you the crop back -> Fixed the bug where the balance didn’t show after seeds Added Animal store -> Able to buy animals like cows, sheeps, pigs and stuff *Planning on adding more functions to the animals Planning on adding a rebirth system too -> added a print() filler so then when you return to actions or a different menu, it looks nicer -> More aesthetic changes to the menu -> Added a new seed and plow picture for when you obtain those from the beginning of the game
Butchery update!! -> Added more functions to the animals you’re able to breed them to make more animals using a breeding gem + wheat place them on your farm bring them to the slaughter house sell the meat that you get remove them from the farm expand your animal farm Animation changes -> Made store, nicole & butcher ascii art have an intro animation where they are slowly printing one line at a time (finally learnt a new string method lol) -> added new cow, pig, sheep & chicken ascii art randomized animations for those -> fixed shop glitches where money wasn’t loading -> added a new stats feature on actions so you can look at more than just your balance -> breeding gem added to animal shop
It won’t let me ship without this devlog sooooo (DONT MIND THIS)
Ships:
(If you have an issue running the game with the Windows Defender pop-up, click “more info” and then “run anyway!”) Also this is my second python game ever so keep that in mind when playing :> I made farm simulator, it simulates working on a farm! Inspired by my friend Nicole, who plays a lot of farm games. The how to play is listed in my read me so if you want a better description of the game, just read that. I’ll list it here though: Welcome to Farm Simulator! Your goal is to become the greatest farmer EVER! You begin by meeting your mentor, Nicole. You will acquire a wooden plow and some wheat seeds from Nicole. In order to make your first wad of cash, you need to plant those seeds in your plot editor and then farm them right up to grab your crops! Then, after you farm your crops, you can sell them at the store for money! Upgrade your tools to get more money per crop! (make sure you have enough money left over to buy a seed as well!) Make sure not to run out of durability!! If you would like to do some butchering, feel free to buy some animals, which will allow you to unlock the butcher option! This will give you the ability to breed animals and sell their meats. Note: If there are numbers next to actions, please enter the numbers and not the words. If it asks a yes or no question, feel free to enter yes, no, y, n, etc.. a range of responses are accepted When it asks if you want to place something down and you have multiple times, please enter one item at a time! Thanks for playing and I hope you enjoy the game! (Also note that the ascii art is not made by me!)...
|
1793123337.9547172
|
1793209737.9547172
|
|
44892
|
dungeon platformer by @Kien | Stardance
|
Kien
|
1
|
9.0
|
129
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-09T06:35:22Z", "hours": 9.0, "multiplier": 14.66, "payout": 129, "blessing": "neutral", "text": "A 2d platforming game I make I think is very cool! This is my first ever experience at game making so I am super proud of what i make. It is also super fun to find out about the game engine and play around with it. I hope y’all enjoy it as much as I do! Sorry if there was bugs.", "repo": "https://github.com/Kien-hachtrung/Dungeon-Platfomer", "demo": "https://hach-trung-kien.itch.io/dungeon-platformer"}]...
|
[{"post_id": 43745, "ts": "202 [{"post_id": 43745, "ts": "2026-08-09T05:09:16Z", "hours": 2.3342, "text": "all 5 level and coin finished, will ship soon! (I would like to make more level but I ran out of ideas lol)"}, {"post_id": 43304, "ts": "2026-08-08T14:26:50Z", "hours": 5.0386, "text": "Devlog 2: Began making multiple level and a level selection screen, plus spikes and enemy. As a total beginner to game development, this teaches me alot about game design. I still have ideas to work on such as a score system. But it’s going pretty well :)"}, {"post_id": 42484, "ts": "2026-08-07T07:55:18Z", "hours": 1.3942, "text": "making a simple dialog system"}]...
|
Title: dungeon platformer by @Kien | Stardance
De Title: dungeon platformer by @Kien | Stardance
Devlogs:
making a simple dialog system
Devlog 2: Began making multiple level and a level selection screen, plus spikes and enemy. As a total beginner to game development, this teaches me alot about game design. I still have ideas to work on such as a score system. But it’s going pretty well :)
all 5 level and coin finished, will ship soon! (I would like to make more level but I ran out of ideas lol)
Ships:
A 2d platforming game I make I think is very cool! This is my first ever experience at game making so I am super proud of what i make. It is also super fun to find out about the game engine and play around with it. I hope y’all enjoy it as much as I do! Sorry if there was bugs....
|
1793116542.0767019
|
1793202942.0767019
|
|
57820
|
What's Fresh? by @nokira | Stardance
|
nokira
|
1
|
10.0
|
129
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T13:29:07Z", "hours": 10.0, "multiplier": 12.43, "payout": 129, "blessing": "neutral", "text": "Having to decide what to eat it’s always hard, that’s why What’s Fresh? exixsts! Plan your weekly meals ahead of time and stop wasting moments of your life. Just select all the meals for the week or day! Want to select what you are going to eat today? Just select your meals in the home page. Want to plan the whole week? Just select the weekly planner on the menu and choose meals for each day! You can search for various meals and use the filters to include only what you’re feeling like eating so don’t feel stressed about knowing what you want to eat :) All of the selected meals are saved locally and each day the daily planner will sync with the meals planned for the week. Overall, I would say that the project was kind of complicated to make. It wasn’t about the code, but more about finding time to make it. I planned on making this right before school started thinking I could make something polished and include all of the features I thought of, but instead, I got submerged with school work so unfortunately, I won’t be able to polish everything.", "repo": "https://github.com/n0kira/MealPlanner", "demo": "https://n0kira.github.io/MealPlanner/"}]...
|
[{"post_id": 71749, "ts": "202 [{"post_id": 71749, "ts": "2026-09-21T13:24:28Z", "hours": 0.9989, "text": "Devlog #7 Done? Hey everyone!! Yesterday I managed to finish the last details of the website. Unfortunately I realized that implementing all the features I planned at the beginning would take much more time compared to what I have with all the School work I have to do. So more polishing on the research for meals and the grocery list aren’t in the app. It’s sad but I really don’t have much time this week and the next one so I can’t make it before the end of the month… But anyways, I am still happy of what I made, so today I am shipping :) Thanks everyone for the support!!"}, {"post_id": 69238, "ts": "2026-09-16T17:15:23Z", "hours": 2.7472, "text": "Devlog #6 Saving Heyyy!! After a Week I finally managed to work for some more time on this project. In the previous days I didn’t post any devlogs but I did work on it for really short amount of times, and with today I managed to implement the saving and synchronized the daily planner with the weekly one. So now if you fill out the week, each day you will see the selected dishes on the “Today” page. I hope in the upcoming days I’ll get some more time like today so I can work more on this!! Thank you guys for reading :) Have a great day"}, {"post_id": 64772, "ts": "2026-09-09T12:57:04Z", "hours": 0.5828, "text": "Devlog #5 Slow progression Hey guys! Unfortunately, I’ve been really busy with school since it started, so I can’t work as much as before. Today all I could do is being able to select the meals, and I also fixed the filters not showing up. Right now, I am mostly focusing on the JavaScript rather than the CSS, but I will work on it too once I finish with the important parts. Byeee thanks for reading!"}, {"post_id": 63583, "ts": "2026-09-07T14:38:07Z", "hours": 0.9917, "text": "Devlog #4 Nothing works Hi guys! Sooo today I tried adding the filters for the search, but it doesn’t really work. I don’t know why, but all the filters do not show. I will look into this tomorrow since today I don’t have any time for it… Hopefully I will get it working quickly so I can start working some more on the styling. That’s everything for today, thanks for reading!! Byee"}, {"post_id": 62870, "ts": "2026-09-06T12:19:34Z", "hours": 0.8247, "text": "Devlog #3 API is working Hey guys! Today I worked a bit more with the API and I think I now fully understand how it works. Now when clicking Lunch and Dinner, the results will have many different dishes ranging from Seafood to Chicken meals. Ignore the style for now because that’s just to test everything. Also, I am planning to add a filter where you can select categories manually so you can filter meals based on your preferences and if you can’t find anything appealing in the starting page, you can always use the search bar, which now isn’t really working but I’ll do it sooner or later :) Thank you, guys, as always for reading Have a great day!!"}, {"post_id": 62136, "ts": "2026-09-05T12:04:38Z", "hours": 1.5342, "text": "Devlog #2 Work in progress Hello everyone! Today I explored TheMealDB which I will use to fetch all meals. Right now, I started experimenting with it, so what you see will be gone in the next devlogs. So right now, I just have it working on the Breakfast button, because it’s the easiest one since TheMealDB has a category breakfast and I can simply request it like that. For Lunch and Dinner there are no dedicated categories, and I will implement a menu where you can choose different kind of meals, like Pasta, Chicken, Seafood and so on, and will fetch the meals based on the choices. That’s everything for today. In the upcoming days I will be slower in posting devlogs and writing code because school is starting… so I won’t have as much free time as I did until now. Bye!! Thanks for reading"}, {"post_id": 60876, "ts": "2026-09-03T14:59:48Z", "hours": 2.6878, "text": "Devlog #1 What’s Fresh? Hii guys! So today I randomly woke up thinking about something to complete the Frictionless mission, and so I thought about doing a Meal Planner application. You basically can: Plan what you’re going to eat today, you can do this in the morning, this way you won’t have to worry about it in the morning Plan your whole week! You can select meals for each day of the week. So if you select noodles for lunch on Monday, if you check the app on Monday morning, you will already see on the “Today’s Meals” page what you had planned before. I think that could be useful for some people, or at least me, because I never plan my meals and end up last minute having to decide Also, one feature I think I’ll add, is to take all the ingredients needed for the meals you chose and generate a grocery list, so you won’t have to manually check each single one and waste time doing it yourself. I attached a picture of what I did now, I’m not too sure about the colors, I love the green and cream (if that’s cream) color but let me know about it! I am willing to change the palette. Bye guys! Have a great day :)"}]...
|
Title: What's Fresh? by @nokira | Stardance
D Title: What's Fresh? by @nokira | Stardance
Devlogs:
Devlog #1 What’s Fresh? Hii guys! So today I randomly woke up thinking about something to complete the Frictionless mission, and so I thought about doing a Meal Planner application. You basically can: Plan what you’re going to eat today, you can do this in the morning, this way you won’t have to worry about it in the morning Plan your whole week! You can select meals for each day of the week. So if you select noodles for lunch on Monday, if you check the app on Monday morning, you will already see on the “Today’s Meals” page what you had planned before. I think that could be useful for some people, or at least me, because I never plan my meals and end up last minute having to decide Also, one feature I think I’ll add, is to take all the ingredients needed for the meals you chose and generate a grocery list, so you won’t have to manually check each single one and waste time doing it yourself. I attached a picture of what I did now, I’m not too sure about the colors, I love the green and cream (if that’s cream) color but let me know about it! I am willing to change the palette. Bye guys! Have a great day :)
Devlog #2 Work in progress Hello everyone! Today I explored TheMealDB which I will use to fetch all meals. Right now, I started experimenting with it, so what you see will be gone in the next devlogs. So right now, I just have it working on the Breakfast button, because it’s the easiest one since TheMealDB has a category breakfast and I can simply request it like that. For Lunch and Dinner there are no dedicated categories, and I will implement a menu where you can choose different kind of meals, like Pasta, Chicken, Seafood and so on, and will fetch the meals based on the choices. That’s everything for today. In the upcoming days I will be slower in posting devlogs and writing code because school is starting… so I won’t have as much free time as I did until now. Bye!! Thanks for reading
Devlog #3 API is working Hey guys! Today I worked a bit more with the API and I think I now fully understand how it works. Now when clicking Lunch and Dinner, the results will have many different dishes ranging from Seafood to Chicken meals. Ignore the style for now because that’s just to test everything. Also, I am planning to add a filter where you can select categories manually so you can filter meals based on your preferences and if you can’t find anything appealing in the starting page, you can always use the search bar, which now isn’t really working but I’ll do it sooner or later :) Thank you, guys, as always for reading Have a great day!!
Devlog #4 Nothing works Hi guys! Sooo today I tried adding the filters for the search, but it doesn’t really work. I don’t know why, but all the filters do not show. I will look into this tomorrow since today I don’t have any time for it… Hopefully I will get it working quickly so I can start working some more on the styling. That’s everything for today, thanks for reading!! Byee
Devlog #5 Slow progression Hey guys! Unfortunately, I’ve been really busy with school since it started, so I can’t work as much as before. Today all I could do is being able to select the meals, and I also fixed the filters not showing up. Right now, I am mostly focusing on the JavaScript rather than the CSS, but I will work on it too once I finish with the important parts. Byeee thanks for reading!
Devlog #6 Saving Heyyy!! After a Week I finally managed to work for some more time on this project. In the previous days I didn’t post any devlogs but I did work on it for really short amount of times, and with today I managed to implement the saving and synchronized the daily planner with the weekly one. So now if you fill out the week, each day you will see the selected dishes on the “Today” page. I hope in the upcoming days I’ll get some more time like today so I can work more on this!! Thank you guys for reading :) Have a great day
Devlog #7 Done? Hey everyone!! Yesterday I managed to finish the last details of the website. Unfortunately I realized that implementing all the features I planned at the beginning would take much more time compared to what I have with all the School work I have to do. So more polishing on the research for meals and the grocery list aren’t in the app. It’s sad but I really don’t have much time this week and the next one so I can’t make it before the end of the month… But anyways, I am still happy of what I made, so today I am shipping :) Thanks everyone for the support!!
Ships:
Having to decide what to eat it’s always hard, that’s why What’s Fresh? exixsts! Plan your weekly meals ahead of time and stop wasting moments of your life. Just select all the meals for the week or day! Want to select what you are going to eat today? Just select your meals in the home page. Want to plan the whole week? Just select the weekly planner on the menu and choose meals for each day! You can search for various meals and use the filters to include only what you’re feeling like eating so don’t feel stressed about knowing what you want to eat :) All of the selected meals are saved locally and each day the daily planner will sync with the meals planned for the week. Overall, I would say that the project was kind of complicated to make. It wasn’t about the code, but more about finding time to make it. I planned on making this right before school started thinking I could make something polished and include all of the features I thought of, but instead, I got submerged with school work so unfortunately, I won’t be able to polish everything....
|
1793005024.6256773
|
1793091424.6256773
|
|
61461
|
Simon the game by @josuke397 | Stardance
|
josuke397
|
1
|
15.0
|
129
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-23T21:36:00Z", "hours": 15.0, "multiplier": 8.41, "payout": 129, "blessing": "neutral", "text": "This project has been something ive enjoyed making and been able to learn a lot through as i could make the brave claim that i kind of know how to use godot now and with some effort could potentially start creating my games without a huge usage of online tutorials. While making this i encountered so many issues that caused me to start getting annoyed but i tried not to give up even if that meant staying up late and losing sleep because of it. In the end, it was all worth it as i now have something im proud to say i have made, and thank you to anyone who actually read any of my logs or even this.", "repo": "https://github.com/Josuke397/Simon-the-game", "demo": "https://josuke397.itch.io/simon-the-game"}]...
|
[{"post_id": 72851, "ts": "202 [{"post_id": 72851, "ts": "2026-09-23T21:20:37Z", "hours": 1.3639, "text": "i have finished up the map for the second level and created music for it. I think im going to leave this project here as im losing interest in it and also becoming busier with other things and dont want to waste time adding useless things for the sake of having more."}, {"post_id": 69837, "ts": "2026-09-17T21:37:56Z", "hours": 2.6136, "text": "So much has gone wrong. i spent a long time trying to add in an attack animation and even after using multiple tutorials i couldnt get it to work so i gave up. In other news, i spent about 2 hours composing some music for the first level which is added and working and now i have started to work on the second level."}, {"post_id": 68901, "ts": "2026-09-16T00:30:18Z", "hours": 3.3464, "text": "We now have a moving skeleton that took too long to make, as well as a key mechanism that takes you to the next level- this annoyed me for a while because it wouldnt work and all i had to do was link the next scene to the door, but it works now."}, {"post_id": 68342, "ts": "2026-09-14T23:49:56Z", "hours": 1.21, "text": "I think the castle looks okay atleast compared to everything else now, i did some more touch ups around the map - nothing major - the main focus was the castle which i think im keeping as is after sitting and trying to think of a design for it. Not sure where to take it next.."}, {"post_id": 67761, "ts": "2026-09-14T00:26:42Z", "hours": 2.0744, "text": "i had far too much fun making this, so now we have a killbox that restarts the level if you fall which took longer than it should and now i have started to make a new castle location with my amazing design skills"}, {"post_id": 67015, "ts": "2026-09-13T01:47:30Z", "hours": 4.3228, "text": "Currently there is an animated character sprite and collectable items as well as there being a significant improvement on the map (which has only been made using a single image). Next goal will be adding more places to go to"}, {"post_id": 66767, "ts": "2026-09-12T17:32:34Z", "hours": 0.3589, "text": "Learning godot because i feel left out. i am using the haven jumpstart material to teach myself the basics, my character can currently: jump, move. I have also made a basic map. I am excited to develop this project further."}]...
|
Title: Simon the game by @josuke397 | Stardance
D Title: Simon the game by @josuke397 | Stardance
Devlogs:
Learning godot because i feel left out. i am using the haven jumpstart material to teach myself the basics, my character can currently: jump, move. I have also made a basic map. I am excited to develop this project further.
Currently there is an animated character sprite and collectable items as well as there being a significant improvement on the map (which has only been made using a single image). Next goal will be adding more places to go to
i had far too much fun making this, so now we have a killbox that restarts the level if you fall which took longer than it should and now i have started to make a new castle location with my amazing design skills
I think the castle looks okay atleast compared to everything else now, i did some more touch ups around the map - nothing major - the main focus was the castle which i think im keeping as is after sitting and trying to think of a design for it. Not sure where to take it next..
We now have a moving skeleton that took too long to make, as well as a key mechanism that takes you to the next level- this annoyed me for a while because it wouldnt work and all i had to do was link the next scene to the door, but it works now.
So much has gone wrong. i spent a long time trying to add in an attack animation and even after using multiple tutorials i couldnt get it to work so i gave up. In other news, i spent about 2 hours composing some music for the first level which is added and working and now i have started to work on the second level.
i have finished up the map for the second level and created music for it. I think im going to leave this project here as im losing interest in it and also becoming busier with other things and dont want to waste time adding useless things for the sake of having more.
Ships:
This project has been something ive enjoyed making and been able to learn a lot through as i could make the brave claim that i kind of know how to use godot now and with some effort could potentially start creating my games without a huge usage of online tutorials. While making this i encountered so many issues that caused me to start getting annoyed but i tried not to give up even if that meant staying up late and losing sleep because of it. In the end, it was all worth it as i now have something im proud to say i have made, and thank you to anyone who actually read any of my logs or even this....
|
1793055351.2779694
|
1793141751.2779694
|
|
4741
|
speedMath Training by @viivi | Stardance
|
viivi
|
1
|
17.0
|
128
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-02T14:50:02Z", "hours": 17.0, "multiplier": 7.43, "payout": 128, "blessing": "neutral", "text": "speedMath Training is a website for training mental math. It’s super simple to use and you can adjust how hard questions do you want. I built this site using React and typescript. I’m aware that similar sites exists already, but none of them was exactly what I wanted so I developed my own. Before this project I had done courses that taught me developing websites with React and those courses included coding simple projects. But speedMath Training is my first own frontend project with React. The site is quite simple, but it wasn’t super easy for me to build it. I had never used Zustand state management solution, but I learned to use it to make state management easier. Other new thing I learned was publishing a site with github pages. It was kind of complicated, because i have separated folders for frontend (this project) and back end (almost empty). But now I get a new site builded and deployed every time i push to the repository. Project README includes more details if someone is interested.", "repo": "https://github.com/ViLP357/speedMathTraining", "demo": "https://vilp357.github.io/speedMathTraining"}]...
|
[{"post_id": 39499, "ts": "202 [{"post_id": 39499, "ts": "2026-08-02T14:30:01Z", "hours": 1.0094, "text": "#11 devlog The final devlog, I guess. I fixed responsive issues and finished readme and now I’m about to ship this project. (Sorry for short devlog, I just wanted to this 1 hour to be counted.)"}, {"post_id": 35369, "ts": "2026-07-26T18:31:08Z", "hours": 1.7008, "text": "#10 devlog It’s (almost) a ready project! I fighted for over an hour to publish it in github pages. But it was worth it because it’s now liveee https://vilp357.github.io/speedMathTraining (pls test). Before shipping I still need to fix some responsive issues and finish readme, but we’re almost there."}, {"post_id": 13709, "ts": "2026-06-22T14:07:19Z", "hours": 3.0169, "text": "#9 devlog, days 10-12 (maybe?) It’s been a while since last devlog, mostly because I haven’t had time to work with this, but also because hasn’t been any big updates. But now it’s time for you… to meet Calc, the mascot of the speedMath Training. I still need to add Calc to the site. I’m also planning to make a buddy for them and together they will cheer you on."}, {"post_id": 8841, "ts": "2026-06-14T18:20:07Z", "hours": 1.3214, "text": "#8 devlog, day 9 The UI is starting to look good and is much better than few days ago. Today I spent most of my time working on the main screen and a significant amount of it was used to do styles for the checkboxes. I don’t know yet much time I want to use for this project, because it has already all the core features I have thought. I have been planning other new projects and I need time for those and I don’t have as much motivation as before for this project. Anyways, things I will do before shipping: -Make it more mobile friendly -Finish styles for components -Fix component placing"}, {"post_id": 7454, "ts": "2026-06-12T12:52:05Z", "hours": 1.5856, "text": "#7 devlog, day 8 Today I finally managed to create a color palette that works with both light and dark mode. This is only beginning of the UI upgrade so more coming later. the most critical things to do next: -move the timer (why is it even there???) -scale content"}, {"post_id": 6317, "ts": "2026-06-10T17:07:57Z", "hours": 1.3153, "text": "#6 devlog day 7 Today I continued working by starting to design UI. The image shows color palettes I have thought. The upper is for light mode and lower is for dark mode. I still have to figure out contrast things. I thought I’d use the green for buttons with either white or black text, but I barely could see the white text so something has to be done? Maybe other color or shadows for text."}, {"post_id": 6224, "ts": "2026-06-10T13:46:13Z", "hours": 1.9433, "text": "#5 devlog, days 5-7 New updates: choose number of questions number generating fixed Daily challenge page How I fixed number generating How I tried before Math.floor(Math.random()*(Math.pow(10,digits[0]))*Math.pow(10, digits[1]-digits[0])) and Math.floor((Math.random() * 10)*(Math.pow(10, digits[0]-1))*Math.pow(10, Math.ceil(Math.random() * digits[1]-digits[0]))) Where digits[0] is minimum number of digits and digits[1] is maximum number of digits How it works now: A function randomNumber gets number of decimals as paramater and the function is called randomNumber(Math.round(Math.random() * (digits[1]-digits[0])) + digits[0]) Problems this fixes: Generating numbers with less digits that minimum generating different number of digits unequally (more digits was much more common) Next thing to do: UI upgrade"}, {"post_id": 2711, "ts": "2026-06-05T13:02:02Z", "hours": 1.4031, "text": "#4 devlog, day 4 Today’s main progress happened with giving players more options to customize questions. Now it’s possible to choose how many digits they want their questions to have. Next thing to do is add question number chooser. There is only one little (big) problem with digits adjuster logic: numbers with more digits tend to be much more common because of the number generating logic. I hope I can find the solution to fix that soon. As you can see from the picture, I added some color to the website, but just to be able to see different component better. Hopefully the final design will be much more better."}, {"post_id": 2275, "ts": "2026-06-04T17:50:25Z", "hours": 1.7203, "text": "#3 devlog, day 3 Today I finally made the timer and now this project could be actually called a “game”. It wasn’t easy to code the timer and make it work as it’s supposed. For some reason updating the timer updated the questions (which happened every second), but it was easy to fix when I figured out why it happened. (Why: the state timer component uses belonged to its parent component, where the questions are created. But when I updated time in timer component, it caused parent component to rerender again too. The way to fix that was to move question creating inside its own state and that way quesions are created only once.) When the timer finally worked, I quickly added simple navigation structure using react router library. Adding that structure required some refactoring, but I will thank myself later for doing it so early. I was also a bit surprised but happy because nothing broke when I moved some components from one to another."}, {"post_id": 1432, "ts": "2026-06-03T13:50:21Z", "hours": 0.9961, "text": "#2 devlog, day2 Now I have worked on this project for 2hr during Stardance. The new feature works now: it is possible to choose which operators you want to be used (and it actually works!). I also realized that division is more tricky to implement, so that’s why I just deleted it. I’m coding this in typescript, because I wanted to challenge myself, but it takes sometimes so long to figure right types even for simple objects. At least I learned a lot of new things, hehe. Tomorrow -Timer"}, {"post_id": 1400, "ts": "2026-06-03T12:34:36Z", "hours": 1.1967, "text": "speedMath training -The first devlog- Starting this project This project is a website where you can practice your mental math skills. The image shows how the site looked before Stardance. Before Stardance, I had only created this project(done set up, configured git) and coded < 5hr. Then I decided to continue working on this later. I feel like Stardance is a great opportunity for me to continue working on this. I’m aware that similar projects already exist, but I feel like none of them are exactly what I want and need. For example, they have bad UI, require users to log in, or are way too complicated. So this is going to be (hopefully) different. Next things I will do: -add timer -add a difficulty adjuster Other things I will/might do later: -improve the UI -add a leaderboard -add cute characters that cheer for you"}]...
|
Title: speedMath Training by @viivi | Stardance
D Title: speedMath Training by @viivi | Stardance
Devlogs:
speedMath training -The first devlog- Starting this project This project is a website where you can practice your mental math skills. The image shows how the site looked before Stardance. Before Stardance, I had only created this project(done set up, configured git) and coded < 5hr. Then I decided to continue working on this later. I feel like Stardance is a great opportunity for me to continue working on this. I’m aware that similar projects already exist, but I feel like none of them are exactly what I want and need. For example, they have bad UI, require users to log in, or are way too complicated. So this is going to be (hopefully) different. Next things I will do: -add timer -add a difficulty adjuster Other things I will/might do later: -improve the UI -add a leaderboard -add cute characters that cheer for you
#2 devlog, day2 Now I have worked on this project for 2hr during Stardance. The new feature works now: it is possible to choose which operators you want to be used (and it actually works!). I also realized that division is more tricky to implement, so that’s why I just deleted it. I’m coding this in typescript, because I wanted to challenge myself, but it takes sometimes so long to figure right types even for simple objects. At least I learned a lot of new things, hehe. Tomorrow -Timer
#3 devlog, day 3 Today I finally made the timer and now this project could be actually called a “game”. It wasn’t easy to code the timer and make it work as it’s supposed. For some reason updating the timer updated the questions (which happened every second), but it was easy to fix when I figured out why it happened. (Why: the state timer component uses belonged to its parent component, where the questions are created. But when I updated time in timer component, it caused parent component to rerender again too. The way to fix that was to move question creating inside its own state and that way quesions are created only once.) When the timer finally worked, I quickly added simple navigation structure using react router library. Adding that structure required some refactoring, but I will thank myself later for doing it so early. I was also a bit surprised but happy because nothing broke when I moved some components from one to another.
#4 devlog, day 4 Today’s main progress happened with giving players more options to customize questions. Now it’s possible to choose how many digits they want their questions to have. Next thing to do is add question number chooser. There is only one little (big) problem with digits adjuster logic: numbers with more digits tend to be much more common because of the number generating logic. I hope I can find the solution to fix that soon. As you can see from the picture, I added some color to the website, but just to be able to see different component better. Hopefully the final design will be much more better.
#5 devlog, days 5-7 New updates: choose number of questions number generating fixed Daily challenge page How I fixed number generating How I tried before Math.floor(Math.random()*(Math.pow(10,digits[0]))*Math.pow(10, digits[1]-digits[0])) and Math.floor((Math.random() * 10)*(Math.pow(10, digits[0]-1))*Math.pow(10, Math.ceil(Math.random() * digits[1]-digits[0]))) Where digits[0] is minimum number of digits and digits[1] is maximum number of digits How it works now: A function randomNumber gets number of decimals as paramater and the function is called randomNumber(Math.round(Math.random() * (digits[1]-digits[0])) + digits[0]) Problems this fixes: Generating numbers with less digits that minimum generating different number of digits unequally (more digits was much more common) Next thing to do: UI upgrade
#6 devlog day 7 Today I continued working by starting to design UI. The image shows color palettes I have thought. The upper is for light mode and lower is for dark mode. I still have to figure out contrast things. I thought I’d use the green for buttons with either white or black text, but I barely could see the white text so something has to be done? Maybe other color or shadows for text.
#7 devlog, day 8 Today I finally managed to create a color palette that works with both light and dark mode. This is only beginning of the UI upgrade so more coming later. the most critical things to do next: -move the timer (why is it even there???) -scale content
#8 devlog, day 9 The UI is starting to look good and is much better than few days ago. Today I spent most of my time working on the main screen and a significant amount of it was used to do styles for the checkboxes. I don’t know yet much time I want to use for this project, because it has already all the core features I have thought. I have been planning other new projects and I need time for those and I don’t have as much motivation as before for this project. Anyways, things I will do before shipping: -Make it more mobile friendly -Finish styles for components -Fix component placing
#9 devlog, days 10-12 (maybe?) It’s been a while since last devlog, mostly because I haven’t had time to work with this, but also because hasn’t been any big updates. But now it’s time for you… to meet Calc, the mascot of the speedMath Training. I still need to add Calc to the site. I’m also planning to make a buddy for them and together they will cheer you on.
#10 devlog It’s (almost) a ready project! I fighted for over an hour to publish it in github pages. But it was worth it because it’s now liveee https://vilp357.github.io/speedMathTraining (pls test). Before shipping I still need to fix some responsive issues and finish readme, but we’re almost there.
#11 devlog The final devlog, I guess. I fixed responsive issues and finished readme and now I’m about to ship this project. (Sorry for short devlog, I just wanted to this 1 hour to be counted.)
Ships:
speedMath Training is a website for training mental math. It’s super simple to use and you can adjust how hard questions do you want. I built this site using React and typescript. I’m aware that similar sites exists already, but none of them was exactly what I wanted so I developed my own. Before this project I had done courses that taught me developing websites with React and those courses included coding simple projects. But speedMath Training is my first own frontend project with React. The site is quite simple, but it wasn’t super easy for me to build it. I had never used Zustand state management solution, but I learned to use it to make state management easier. Other new thing I learned was publishing a site with github pages. It was kind of complicated, because i have separated folders for frontend (this project) and back end (almost empty). But now I get a new site builded and deployed every time i push to the repository. Project README includes more details if someone is interested....
|
1793072881.035454
|
1793159281.035454
|
|
33498
|
Quanmutative by @TheBuildplateBrain | Stardance
|
TheBuildplateBrain
|
1
|
10.0
|
128
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-23T19:49:08Z", "hours": 10.0, "multiplier": 12.58, "payout": 128, "blessing": "neutral", "text": "This is Quanmutative, an intuitive yet detailed quantum tunneling simulator! You can simulate different quantum effects by just moving a few sliders! If you don’t know anything about quantum physics, don’t worry, this tools comes with a tutorial. I am most proud of the clean graph animations, which were really difficult to make because I couldn’t use python when making this web app. However, the benefit of this being a website is that you can test it out, right here: https://aagamshah30.github.io/Quanmutative/ , without installing anything! Enjoy!", "repo": "https://github.com/AagamShah30/Quanmutative", "demo": "https://aagamshah30.github.io/Quanmutative/"}]...
|
[{"post_id": 33672, "ts": "202 [{"post_id": 33672, "ts": "2026-07-23T19:39:53Z", "hours": 2.0758, "text": "Devlog #9 The website is ready! I just quickly finalized the advanced screen, and the beginner and tutorial screens were pretty straightforward. I’m going to ship the project now, and that will include a link that you can use to try it without needing to install anything!"}, {"post_id": 33191, "ts": "2026-07-22T21:29:05Z", "hours": 2.2167, "text": "Devlog #8 Hey everyone, I just decided to switch the python backend to javascript. Although python is better for data analysis, it was too much of a hassle to start a python server every time I wanted to run the program. Moving the math to dart didn’t work either because the math took way too long and made some really low quality animations. So… javascript."}, {"post_id": 30705, "ts": "2026-07-18T14:32:40Z", "hours": 0.6606, "text": "#Devlog #7 I finally got the python backend working with the flutter frontend, and users can now actually see the quantum tunneling graph. The problem is, it looks really bad right now and its not animated, so its basically useless. I’m going to fix that and then add a download button so you can download your results!"}, {"post_id": 30421, "ts": "2026-07-17T23:04:39Z", "hours": 2.2339, "text": "Devlog #6 I’m making the screen for the advanced mode and built a few working sliders that I hope to connect to the proton tunneling graph. Next, I’m going to connect the python script to the Flutter application to see if I can get some actual results!"}, {"post_id": 27892, "ts": "2026-07-13T20:11:32Z", "hours": 0.8775, "text": "Devlog # 5 Started work on a Flutter UI! I’m going to make a tutorial, beginner, and advanced mode so that people of all different levels of knowledge can use this web app!"}, {"post_id": 26836, "ts": "2026-07-11T21:06:52Z", "hours": 0.8956, "text": "Devlog # 4 I now adjusted the values so that they represent an actual proton! The wave doesn’t look as “interesting” anymore, but it does visualize actual “science”! Now, I’ll work on creating the UI with Flutter."}, {"post_id": 26337, "ts": "2026-07-11T02:08:55Z", "hours": 0.6503, "text": "Devlog #3 Incredible stuff just happened! I first exported my original data to a json file, and then used a new python script to animate it! So you can now see the proton’s tunneling behavior in real time! Next I’m going to incorporate real distances and dimensions so that this better resembles how a real proton would behave!"}, {"post_id": 26239, "ts": "2026-07-10T22:07:58Z", "hours": 0.3239, "text": "Devlog #2 The Schrodinger Equation somehow turned out a lot easier to graph than I thought, since I found a way to use a loop to automatically check different timepoints instead of having to solve second order derivatives and everything else. Unfortunately, there’s still a lot of work to do! First, I need to read some papers to find actual distances between different DNA bases, calculate for decoherence and dissipation, barrier height, proton mass, etc… And then I have to bring the whole thing over to flutter and make it a playable movie. So all tips for this project are appreciated!"}, {"post_id": 26216, "ts": "2026-07-10T21:38:54Z", "hours": 0.3319, "text": "Devlog #1! I’m building a python script that will model the effect of proton tunneling on DNA base pairs. I hope to return the exact probability that a hydrogen proton tunnels and traps DNA in a state that causes errors with gene replication. Later, I’m going to connect this script to a Flutter user interface so that users can visualize their results in real time. So far I’ve: Built a small script that can graph a potential well and basically nothing else But I did start learning matplotlib and numpy so progress should get quicker Now I get to solve the time-dependent Schrodinger Equation (looks like a lot of fun…)"}]...
|
Title: Quanmutative by @TheBuildplateBrain | Stard Title: Quanmutative by @TheBuildplateBrain | Stardance
Devlogs:
Devlog #1! I’m building a python script that will model the effect of proton tunneling on DNA base pairs. I hope to return the exact probability that a hydrogen proton tunnels and traps DNA in a state that causes errors with gene replication. Later, I’m going to connect this script to a Flutter user interface so that users can visualize their results in real time. So far I’ve: Built a small script that can graph a potential well and basically nothing else But I did start learning matplotlib and numpy so progress should get quicker Now I get to solve the time-dependent Schrodinger Equation (looks like a lot of fun…)
Devlog #2 The Schrodinger Equation somehow turned out a lot easier to graph than I thought, since I found a way to use a loop to automatically check different timepoints instead of having to solve second order derivatives and everything else. Unfortunately, there’s still a lot of work to do! First, I need to read some papers to find actual distances between different DNA bases, calculate for decoherence and dissipation, barrier height, proton mass, etc… And then I have to bring the whole thing over to flutter and make it a playable movie. So all tips for this project are appreciated!
Devlog #3 Incredible stuff just happened! I first exported my original data to a json file, and then used a new python script to animate it! So you can now see the proton’s tunneling behavior in real time! Next I’m going to incorporate real distances and dimensions so that this better resembles how a real proton would behave!
Devlog # 4 I now adjusted the values so that they represent an actual proton! The wave doesn’t look as “interesting” anymore, but it does visualize actual “science”! Now, I’ll work on creating the UI with Flutter.
Devlog # 5 Started work on a Flutter UI! I’m going to make a tutorial, beginner, and advanced mode so that people of all different levels of knowledge can use this web app!
Devlog #6 I’m making the screen for the advanced mode and built a few working sliders that I hope to connect to the proton tunneling graph. Next, I’m going to connect the python script to the Flutter application to see if I can get some actual results!
#Devlog #7 I finally got the python backend working with the flutter frontend, and users can now actually see the quantum tunneling graph. The problem is, it looks really bad right now and its not animated, so its basically useless. I’m going to fix that and then add a download button so you can download your results!
Devlog #8 Hey everyone, I just decided to switch the python backend to javascript. Although python is better for data analysis, it was too much of a hassle to start a python server every time I wanted to run the program. Moving the math to dart didn’t work either because the math took way too long and made some really low quality animations. So… javascript.
Devlog #9 The website is ready! I just quickly finalized the advanced screen, and the beginner and tutorial screens were pretty straightforward. I’m going to ship the project now, and that will include a link that you can use to try it without needing to install anything!
Ships:
This is Quanmutative, an intuitive yet detailed quantum tunneling simulator! You can simulate different quantum effects by just moving a few sliders! If you don’t know anything about quantum physics, don’t worry, this tools comes with a tutorial. I am most proud of the clean graph animations, which were really difficult to make because I couldn’t use python when making this web app. However, the benefit of this being a website is that you can test it out, right here: https://aagamshah30.github.io/Quanmutative/ , without installing anything! Enjoy!...
|
1793105418.2553377
|
1793191818.2553377
|