|
45886
|
DeskPet by @Cherish9 | Stardance
|
Cherish9
|
1
|
7.08
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-19T14:27:53Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Building a smart “DeskPet” companion with Arduino & Python! It tracks my daily water intake, monitors room temperature and humidity to tell me when to open a window, and keeps my desk healthy.", "repo": "https://github.com/Cherish-everything/DeskPet-A-well-being-assistant", "demo": ""}]...
|
[{"post_id": 76106, "ts": "202 [{"post_id": 76106, "ts": "2026-10-02T10:22:33Z", "hours": 1.9503, "text": "Build an enclosure on freecad! Honestly it was my first time building an enclosure with the pcb model, it wasn’t too bad actually. And I’m getting used to cad now. My next update would be probably cleaning up my code and organizing my repository for this"}, {"post_id": 75830, "ts": "2026-10-01T08:53:01Z", "hours": 1.1331, "text": "I’m working on a schematic for deskpet, this is like my second PCB design project, next session I will work on the pcb itself!"}, {"post_id": 50326, "ts": "2026-08-19T14:26:25Z", "hours": 0.31, "text": "Just logging the time I spent debugging a bit and documenting the project for the demo video"}, {"post_id": 47404, "ts": "2026-08-15T10:00:45Z", "hours": 1.3736, "text": "I’m finalizing my deskpet v1: just a simple working prototype since this project is intended as a learning project so I won’t expand on it too much. Today I got it to take water intake logs through a button you press and it reminds you to open a window or drink water while you’re working. Initially wanted to add a screen but I ran out of jumper wires:/ Flipping hell I missspelled deskpet on lapse so the hardware part isn’t recorded aka about 15 minutes of me debugging a button only to find out it was faulty"}, {"post_id": 44463, "ts": "2026-08-10T07:13:46Z", "hours": 1.0239, "text": "Tried adding music to the buzzer lol and added a water sensor to remind to drink"}, {"post_id": 43814, "ts": "2026-08-09T07:47:40Z", "hours": 0.9183, "text": "The code + prototype circuit. My first time using these sensors for an actual project!"}]...
|
Title: DeskPet by @Cherish9 | Stardance
Devlogs:
Title: DeskPet by @Cherish9 | Stardance
Devlogs:
The code + prototype circuit. My first time using these sensors for an actual project!
Tried adding music to the buzzer lol and added a water sensor to remind to drink
I’m finalizing my deskpet v1: just a simple working prototype since this project is intended as a learning project so I won’t expand on it too much. Today I got it to take water intake logs through a button you press and it reminds you to open a window or drink water while you’re working. Initially wanted to add a screen but I ran out of jumper wires:/ Flipping hell I missspelled deskpet on lapse so the hardware part isn’t recorded aka about 15 minutes of me debugging a button only to find out it was faulty
Just logging the time I spent debugging a bit and documenting the project for the demo video
I’m working on a schematic for deskpet, this is like my second PCB design project, next session I will work on the pcb itself!
Build an enclosure on freecad! Honestly it was my first time building an enclosure with the pcb model, it wasn’t too bad actually. And I’m getting used to cad now. My next update would be probably cleaning up my code and organizing my repository for this
Ships:
Building a smart “DeskPet” companion with Arduino & Python! It tracks my daily water intake, monitors room temperature and humidity to tell me when to open a window, and keeps my desk healthy....
|
1793324859.1231637
|
1793411259.1231637
|
|
57727
|
Time waster by @JAME | Stardance
|
JAME
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-02T10:26:24Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a silly little python game! Throughout the process I learnt so much more about python and I’m so much more confident now. Enjoy!", "repo": "https://github.com/OneJame/time-waster", "demo": "https://github.com/OneJame/time-waster/releases/tag/v1"}]...
|
[{"post_id": 76103, "ts": "202 [{"post_id": 76103, "ts": "2026-10-02T10:12:21Z", "hours": 1.6097, "text": "I finished it! After hours of work on this silly little game idea, I finally have it at a state I’m happy to ship it in. There is five different sections so far, each taking an obnoxiously long time to figure out. I did a lot of text styling for this, I learnt a lot about python!"}, {"post_id": 69402, "ts": "2026-09-16T23:57:34Z", "hours": 1.5128, "text": "Some Styling! I’ve mainly been working on styling text for my time wasting python script. I’m still not sure how much I like it but I’ll keep working on it for now."}, {"post_id": 62804, "ts": "2026-09-06T10:10:39Z", "hours": 0.5869, "text": "Some charecter development / lore?? Yeah, I can’t think of anything else to add so i’m currently adding more of a story to the program. I should be bug fixing, but bug fixing sucks."}, {"post_id": 60677, "ts": "2026-09-03T06:09:12Z", "hours": 1.4417, "text": "Moved to stardance! I’ve been working on this simple python program for quite a while, mainly just to practice different parts of python. I think it’s actually pretty fun to play though so I decided to start fully developing it. It currently has a random number roller, fake loading screens, a CAPTCHA and math. Today I finished the finish the lyrics section, its completely random and is pretty much just a 50% chance you get it right. I’m not sure if I love it though so I might change it later on. :)"}]...
|
Title: Time waster by @JAME | Stardance
Devlogs:
Title: Time waster by @JAME | Stardance
Devlogs:
Moved to stardance! I’ve been working on this simple python program for quite a while, mainly just to practice different parts of python. I think it’s actually pretty fun to play though so I decided to start fully developing it. It currently has a random number roller, fake loading screens, a CAPTCHA and math. Today I finished the finish the lyrics section, its completely random and is pretty much just a 50% chance you get it right. I’m not sure if I love it though so I might change it later on. :)
Some charecter development / lore?? Yeah, I can’t think of anything else to add so i’m currently adding more of a story to the program. I should be bug fixing, but bug fixing sucks.
Some Styling! I’ve mainly been working on styling text for my time wasting python script. I’m still not sure how much I like it but I’ll keep working on it for now.
I finished it! After hours of work on this silly little game idea, I finally have it at a state I’m happy to ship it in. There is five different sections so far, each taking an obnoxiously long time to figure out. I did a lot of text styling for this, I learnt a lot about python!
Ships:
I made a silly little python game! Throughout the process I learnt so much more about python and I’m so much more confident now. Enjoy!...
|
1793350222.205441
|
1793436622.205441
|
|
63248
|
My own site! by @gurliv | Stardance
|
gurliv
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-08T15:12:27Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made my personal site! this is my very first website, I don’t have any experience, but it was super fun to learn. I had problems with making the link on Github, and I ended up trying a total of 8 times (yikes) but thats honestly kind of funny. I did eventually get it so that is great. In the end, all I want to say is that this was a fun build.", "repo": "https://github.com/gurliv0330/site", "demo": "https://gurliv0330.github.io/site/"}]...
|
[{"post_id": 76100, "ts": "202 [{"post_id": 76100, "ts": "2026-10-02T10:09:16Z", "hours": 0.3528, "text": "HEYY OKAY SO I FINALLYYY FINISHED ITTTT. WAITING FOR MY ID TO BE VERIFIEDD. YIPPEEEEEE."}, {"post_id": 73311, "ts": "2026-09-24T20:26:10Z", "hours": 1.4717, "text": "okay so ig im facing a few problems. it keeps showing this. i tired 4 times on github, and 2 times on vercel. im cooked bruh"}, {"post_id": 72256, "ts": "2026-09-22T15:19:20Z", "hours": 0.6972, "text": "working on my personal site"}]...
|
Title: My own site! by @gurliv | Stardance
Devlog Title: My own site! by @gurliv | Stardance
Devlogs:
working on my personal site
okay so ig im facing a few problems. it keeps showing this. i tired 4 times on github, and 2 times on vercel. im cooked bruh
HEYY OKAY SO I FINALLYYY FINISHED ITTTT. WAITING FOR MY ID TO BE VERIFIEDD. YIPPEEEEEE.
Ships:
I made my personal site! this is my very first website, I don’t have any experience, but it was super fun to learn. I had problems with making the link on Github, and I ended up trying a total of 8 times (yikes) but thats honestly kind of funny. I did eventually get it so that is great. In the end, all I want to say is that this was a fun build....
|
1793213252.7208471
|
1793299652.7208471
|
|
67056
|
Focus by @bigkhanfsnewnew | Stardance
|
bigkhanfsnewnew
|
0
|
5.04
|
0
|
[]
|
[{"post_id": 76094, "ts": "202 [{"post_id": 76094, "ts": "2026-10-02T09:47:09Z", "hours": 0.7914, "text": "Focus is starting to feel like an actual app now 👀Today I spent most of my time turning the basic study dashboard from my first devlog into a more complete study flow. I worked on the focus timer quite a bit. It now supports preset session lengths as well as custom durations, and I added proper Start, Pause, Reset and Change Duration controls. The analogue clock also changes with the countdown, and when a session reaches zero it stops automatically and shows a completion message. I also expanded the Study page. Each subject now has separate options for reviewing notes, doing practice questions or starting a focus session. I built the navigation between these different areas and made sure you can move back through the app properly without losing the overall flow. A lot of this session was also visual polishing. I redesigned the subject cards, improved the Today section and navigation bar, and added responsive styling so the layout still works when the browser gets much narrower. There were a few annoying CSS problems along the way, especially getting the timer clock layers and study cards to behave properly, but debugging those was probably where I learned the most. I think Focus is at a good point to leave for now. There are definitely things I could expand later, especially the notes and practice-question sections, but the main study experience is working and I’d rather keep it focused than keep adding random features."}, {"post_id": 76008, "ts": "2026-10-02T00:59:48Z", "hours": 4.2447, "text": "This is my first devlog and somehow it’s already around 4 hours 😭. I was still waiting to get verified for Stardance and didn’t really understand how the devlogs worked yet, so I kept coding before making one. This is also pretty much my first time properly building something with React, so a lot of this session was me learning as I went.I started building Focus, a study dashboard that I actually want to use for school. I set up the main dashboard and navigation, added my subjects, made a Today section, and then started building the Study page. The biggest thing I worked on was the study timer. I got preset options for 25, 45 and 60 minutes working, added a custom duration option, and made the timer switch into the actual study view once a duration is chosen. I also added Start, Pause, Reset and Change Duration controls.I then worked on an analogue clock to sit alongside the timer, including a digital time display and a moving clock hand. Getting everything to actually behave and look right took a fair bit of trial and error, especially since I’m still getting used to React and CSS. There’s still heaps I want to improve, especially the overall design because I want Focus to feel way more polished, but I’m genuinely pretty proud seeing it actually work. A few hours ago most of this stuff was completely new to me, and now I’ve got a real interactive study dashboard running in the browser. Pretty sick start for my first project/devlog :)"}]...
|
Title: Focus by @bigkhanfsnewnew | Stardance
Devl Title: Focus by @bigkhanfsnewnew | Stardance
Devlogs:
This is my first devlog and somehow it’s already around 4 hours 😭. I was still waiting to get verified for Stardance and didn’t really understand how the devlogs worked yet, so I kept coding before making one. This is also pretty much my first time properly building something with React, so a lot of this session was me learning as I went.I started building Focus, a study dashboard that I actually want to use for school. I set up the main dashboard and navigation, added my subjects, made a Today section, and then started building the Study page. The biggest thing I worked on was the study timer. I got preset options for 25, 45 and 60 minutes working, added a custom duration option, and made the timer switch into the actual study view once a duration is chosen. I also added Start, Pause, Reset and Change Duration controls.I then worked on an analogue clock to sit alongside the timer, including a digital time display and a moving clock hand. Getting everything to actually behave and look right took a fair bit of trial and error, especially since I’m still getting used to React and CSS. There’s still heaps I want to improve, especially the overall design because I want Focus to feel way more polished, but I’m genuinely pretty proud seeing it actually work. A few hours ago most of this stuff was completely new to me, and now I’ve got a real interactive study dashboard running in the browser. Pretty sick start for my first project/devlog :)
Focus is starting to feel like an actual app now 👀Today I spent most of my time turning the basic study dashboard from my first devlog into a more complete study flow. I worked on the focus timer quite a bit. It now supports preset session lengths as well as custom durations, and I added proper Start, Pause, Reset and Change Duration controls. The analogue clock also changes with the countdown, and when a session reaches zero it stops automatically and shows a completion message. I also expanded the Study page. Each subject now has separate options for reviewing notes, doing practice questions or starting a focus session. I built the navigation between these different areas and made sure you can move back through the app properly without losing the overall flow. A lot of this session was also visual polishing. I redesigned the subject cards, improved the Today section and navigation bar, and added responsive styling so the layout still works when the browser gets much narrower. There were a few annoying CSS problems along the way, especially getting the timer clock layers and study cards to behave properly, but debugging those was probably where I learned the most. I think Focus is at a good point to leave for now. There are definitely things I could expand later, especially the notes and practice-question sections, but the main study experience is working and I’d rather keep it focused than keep adding random features....
|
1793105609.4912212
|
1793710409.4912212
|
|
66719
|
MY-PERSONAL-WEBSITE by @ArchitCode2744 | Stardance
|
ArchitCode2744
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-02T09:49:10Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I have made a personal website which tell about me. The challenging part was connecting js to html , but I figured it out. I am proud that I have completed the project.", "repo": "https://github.com/ArchCodingHub/MY-PERSONAL-WEBSITE", "demo": "https://archcodinghub.github.io/MY-PERSONAL-WEBSITE/"}]...
|
[{"post_id": 76086, "ts": "202 [{"post_id": 76086, "ts": "2026-10-02T09:36:19Z", "hours": 2.7194, "text": "MY-PERSONAL-WEBSITE . This project is about my personal likings, my projects and some fun facts about me. This site has been made using HTML and CSS. Also, it has been completed."}]...
|
Title: MY-PERSONAL-WEBSITE by @ArchitCode2744 | St Title: MY-PERSONAL-WEBSITE by @ArchitCode2744 | Stardance
Devlogs:
MY-PERSONAL-WEBSITE . This project is about my personal likings, my projects and some fun facts about me. This site has been made using HTML and CSS. Also, it has been completed.
Ships:
I have made a personal website which tell about me. The challenging part was connecting js to html , but I figured it out. I am proud that I have completed the project....
|
1793216997.45909
|
1793303397.45909
|
|
67295
|
Anmol-website by @Anmolgotskills | Stardance
|
Anmolgotskills
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-02T09:41:34Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "i made a simple and clean modern website and i am proud that it is my first personal website which i am really glad", "repo": "https://github.com/anmolsingh01204-byte/anmol-website", "demo": "https://anmolsingh01204-byte.github.io/anmol-website/"}]...
|
[{"post_id": 76084, "ts": "202 [{"post_id": 76084, "ts": "2026-10-02T09:30:27Z", "hours": 1.3825, "text": "#devlog 1: i made simple personal website and i made it using only html,css and js and i copied many lines from the real life interenet webisite and portpolio pages and i wanted make it simple and clean nothing fancy"}]...
|
Title: Anmol-website by @Anmolgotskills | Stardanc Title: Anmol-website by @Anmolgotskills | Stardance
Devlogs:
#devlog 1: i made simple personal website and i made it using only html,css and js and i copied many lines from the real life interenet webisite and portpolio pages and i wanted make it simple and clean nothing fancy
Ships:
i made a simple and clean modern website and i am proud that it is my first personal website which i am really glad...
|
1793217076.3046768
|
1793303476.3046768
|
|
15301
|
AuriaOS by @AidenHammy | Stardance
|
AidenHammy
|
3
|
33.0
|
123
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-02T09:26:41Z", "hours": 8.0, "multiplier": 12.28, "payout": 94, "blessing": "neutral", "text": "This ship finishes off every placeholder app and adds two real interface upgrades. Calculator does immediate-execution arithmetic with full keyboard support. Mood Lamp applies a real ambient color wash across the whole desktop and not just its own window (fortunately). Fortune Cookie cracks open into an actual paper slip with a fortune and six lucky numbers. The Browser now has a working address bar with back/forward/reload and typed URLs load inline. Searches open in a new tab since search engines block being framed no matter what you do. Right-click also does something everywhere now including titlebars, taskbar and desktop and also including a new “Always on Top” pin. And the taskbar clock isn’t static anymore! Click it for a small calendar with today marked and leap years are handled correctly without any special-case code. Current apps → Fully functional: Settings, Notepad, Terminal, Calculator, Mood Lamp, Browser, Fortune Cookie Placeholder apps → None remaining!", "repo": "https://github.com/AidenHammy/auria-os", "demo": "https://aidenhammy.github.io/auria-os/"}, {"ship_num": 2, "ts": "2026-07-04T04:21:36Z", "hours": 3.0, "multiplier": 9.22, "payout": 29, "blessing": "neutral", "text": "AuriaOS is a browser-based desktop environment built entirely with vanilla HTML, CSS and JavaScript. It features a complete window manager with dragging, resizing, edge snapping, maximizing and minimizing alongside a Start Menu with live search, pinning, recent apps and full keyboard navigation. It also includes a functional Terminal where commands like theme, pin, darkmode and shutdown interact with the operating system itself. Settings, notes, pinned apps and recent activity are all persisted using localStorage. The biggest challenge wasn’t adding features. It was making them work together reliably. I spent a lot of time debugging Javascript, tracing unexpected behaviour and reworking functions until interactions felt consistent across the entire desktop. I also kept the scope manageable by building the OS incrementally. I treated each subsystem as its own milestone instead of trying to create everything at once. One of the parts I’m happiest with is that AuriaOS behaves like a single, connected system rather than a collection of isolated apps. The Start Menu, Settings and Terminal all share the same state so changes made in one place are reflected everywhere else. The terminal is fully functional too! It isn’t just a visual prop. Current apps -> Fully functional (Mentioned below) Window Manager, Start Menu, Settings, Notepad, Terminal Placeholder apps Browser, Calculator, Mood Lamp, Fortune Cookie", "repo": "https://github.com/AidenHammy/auria-os", "demo": "https://aidenhammy.github.io/auria-os/"}, {"ship_num": 3, "ts": "2026-06-28T18:44:15Z", "hours": 22.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "AuriaOS is a browser-based web OS built entirely with vanilla HTML, CSS and JavaScript. It includes a full window manager (drag, resize, edge snapping, maximize), a Start Menu with live search, pinning, recent apps and keyboard navigation, plus a Terminal where commands like theme, pin, darkmode and shutdown actually control the OS. Settings, notes, pinned apps and recent activity all persist through localStorage. The hardest part wasn’t writing new features. It was debugging them. The JavaScript logic itself was just as challenging. I spent a lot of time debugging, reworking functions and figuring out why seemingly correct code behaved unexpectedly. I got stuck plenty of times but I decided to stick with it until everything finally clicked. Keeping the project’s scope under control was another challenge so I broke large features into smaller phases instead of trying to build an entire desktop at once. I’m proud that AuriaOS feels like one coherent system instead of separate features glued together. The Start Menu, Settings and Terminal all share the same underlying state so changing something in one place updates the rest of the desktop automatically. I’m also proud that the Terminal is genuinely functional rather than decorative. The window manager, Start Menu, Settings, Notepad and Terminal are fully functional. Browser, Calculator, Mood Lamp and Fortune Cookie are still placeholder apps. Things worth trying: Drag a window to a screen edge to snap it Open the Start Menu and use “/” to search or navigate entirely with the keyboard Right-click an app to pin or unpin it Open Terminal and run help then try pin calculator or theme #4ecdc4 Refresh the page to verify that settings, notes and pinned apps persist", "repo": "https://github.com/AidenHammy/auria-os", "demo": "https://aidenhammy.github.io/auria-os/"}]...
|
[{"post_id": 76071, "ts": "202 [{"post_id": 76071, "ts": "2026-10-02T07:43:42Z", "hours": 1.5942, "text": "Devlog: building the browser interface Every other app in AuriaOS gave me something real and had bugs that behaved normally. The browser gave me two completely different problems, each one hiding behind the last. Problem one: search engines don’t want to be embedded With the real browser wired up, the address bar, back/forward/reload/home and an actual iframe, it looked done. Typing a URL worked but typing a search term did not. Every search just sat there, blank. I got to know why that was very soon from the console: textFraming 'https://html.duckduckgo.com/' violates the following ContentSecurity Policy directive: \"frame-ancestors 'self'\". The request hasbeen blocked. DuckDuckGo sends a header that basically says “don’t let anyone put me inside another page” but that’s not just a DuckDuckGo thing though, it’s standard for basically every search engine because a framed search results page is a classic clickjacking setup. No amount of JavaScript on my end changes an HTTP header the other server is sending. Well, this can’t be considered a bug, it was like a wall and every search engine has the same one. So the fix wasn’t really a fix, it was about rethinking the whole situation. I had to stop trying to show search results inside the embedded view and just open them in a real new tab instead where framing rules don’t apply. Direct URLs still load inside the app like before since plenty of ordinary sites don’t block framing, it’s the search engines specifically. Problem two: it worked but it didn’t feel like it worked Search now actually functioned since New tab pops open with real results every time. And the very next thing I thought of was “it acts like a separate window opener instead of being part of the browser app” and it was a fair thought. What I really wanted was to show search results inside the iframe which loops straight back to problem one. I didn’t have much choice. I pushed back on that hard. Everything else in AuriaOS does what it claims to do. The terminal runs real commands, the calculator does real math and I didn’t want the browser to be the one app quietly faking it. But I eventually decided to keep the new tab. Added a small toast inside the browser window itself. “Opened search in a new tab” that fades in for about two seconds and back out. Doesn’t change where the search happens it just closes the feedback gap. Something visibly happens inside the app the moment you hit Go instead of the window just sitting there while a tab opens somewhere else on screen"}, {"post_id": 69933, "ts": "2026-09-18T02:56:22Z", "hours": 3.8267, "text": "Devlog: Right-clicks, calendars and… a fortune cookie?! Fresh update to AuriaOS. Two new interface features, one new app and a bug that crashed the entire desktop before it got fixed. Right-clicking finally does something! Before this, right-clicking almost anything in AuriaOS just opened the browser’s own menu (“Reload / Inspect”) which ruined the illusion of a real little operating system. Now right-clicking gives you a proper menu where it should: A window’s title bar -> Minimize, Maximize/Restore, Always on Top, Close An app in the taskbar -> Restore/Minimize, Close Empty taskbar space -> Show Desktop, Close All Windows, Settings Empty desktop space -> Personalize, Open a Terminal, Refresh A desktop icon -> Open The genuinely new trick is “Always on Top”. Pin a window and it stays above every other window, no matter what else you click instead of getting buried like normal windows. The clock finally does something! The taskbar clock used to just show the time. Now you can click it and get a small calendar for the current month just like on a real computer. The calendar handles the fiddly stuff automatically. It knows how many days are in each month, accounts for February 29 in leap years and always lines up with Sunday as the start of the week. The faded days at the beginning and end fill out the grid so it doesn’t have awkward gaps. And if you leave the calendar open when midnight hits, it updates itself and moves the highlight to the new day without needing to be closed and reopened. Actually building the Fortune Cookie App It’s basically what it sounds like. A fortune cookie that you click to crack open. It shrinks and fades as if it’s actually being cracked,then a little paper slip slides into view with a fortune and six “lucky numbers” underneath just like a real fortune cookie. The bug that broke everything This was the messy part. It wasn’t really one bug but two bugs back to back both caused by the same basic mistake. Bug one: the crash. To make the calendar auto-update, the clock code runs every second and checks whether the calendar popup is open. The problem was an ordering mistake. That check ran before the calendar popup had actually been set up. Because the error happened near the top of the file, everything after it never got initialized including the taskbar and Start Menu click handlers. From the outside, the whole desktop looked dead. Frozen clock, dead Start Menu and an unresponsive taskbar. Bug two: After fixing the crash, the calendar still wouldn’t open. Turns out I’d written all the code for the popup but forgotten to actually add the popup to the page. Most of the code quietly ignored the missing element but one part wasn’t so forgiving and could throw an error on every click anywhere in the app. Adding the missing element fixed it and I added safety checks around similar code so missing elements can’t cause the same mess again"}, {"post_id": 64213, "ts": "2026-09-08T13:28:36Z", "hours": 2.2125, "text": "Devlog: giving AuriaOS two real apps (and finding out neither of them worked) Calculator and Mood Lamp had been placeholders since day one. A folder icon and a div that said “🧮 Calculator app” and nothing else. A window opened, technically. Nothing else did. For the second submission I finally built them for real. Building them Calculator got a real display and button grid, doing immediate-execution math on purpose: 6 + 3 × 2 = gives 18 not 12 because that’s how an actual physical calculator behaves and a proper order-of-operations parser felt like solving a problem nobody asked for. Divide by zero gives Error like it should. Keyboard input works too but only while the calculator window is actually focused so it can’t hijack typing elsewhere. Mood Lamp got more ambition! Instead of a “click a button, see a color” toy, it’s a global ambient tint over the whole desktop not just its own window. Four presets pulled from the existing accent palette, plus a real color picker and intensity slider for anyone who wants to go off-menu. Wrote the CSS, wrote the JS, wired both in, called it done. It was not done. The buttons that did nothing. Time for the First bug! Mood Lamp’s buttons didn’t work. No errors, no visual change, just silence..which is a specific kind of bug since broken JS usually throws. Silence like that means the code never actually ran. That’s exactly what happened. wireCalculator() and wireMoodLamp() were both fully written and correct and never called from anywhere. openWindow() still had the old dispatch list from before either app existed so every button in both apps existed in the DOM with zero listeners attached. Not a typo, just two lines I never wrote. The command that lied about itself From the previous reviews, I got to know that typing lightmode on in the terminal printed darkmode turned on . The Dark Mode → Light Mode rename happened everywhere except one spot. The shared toggleBooleanSetting() helper used the internal state key (darkmode, which still has to exist since the actual effect is a literal CSS invert) for the confirmation message too. I split those apart so the message reflects what you actually typed not the plumbing underneath it. The mood lamp that had no mood Once the wiring was fixed, buttons visibly responded but the desktop itself looked exactly the same. Sampling the actual rendered pixel before/after at max intensity confirmed it. The shift was small enough to round to nothing. The overlay used mix-blend-mode: soft-light which was picked for subtlety. Except soft-light scales toward zero as the base color approaches black and AuriaOS’s desktop is about as close to black as a color gets (almost). The mode I chose for subtlety was almost mathematically guaranteed to do nothing on this exact theme. I switched it to screen, which always adds light regardless of how dark the base is. Same 30% intensity setting, suddenly an actual visible wash instead of a rounding error. The actual lesson? None of these three were exotic bugs. A missing function call, a copy mismatch, a blend mode never checked against the theme it’d run on. All three shipped unnoticed because each one failed quietly instead of throwing. Worth remembering “it’s not doing anything” isn’t a shrug, it’s a symptom!"}, {"post_id": 21937, "ts": "2026-07-04T04:10:49Z", "hours": 3.1672, "text": "Devlog: Reworking AuriaOS’s Visual Identity I thought AuriaOS was ready to ship. The window manager was working, apps launched, windows could be dragged, resized, minimized and restored. And the logic was solid. Then the project got flagged as AI-generated, well I wouldn’t say AI-generated but maybe traits similar to that of one. It wasn’t because of the code but because of the UI. Looking back, I understood why. The dark navy background, teal accents, frosted glass, soft glows and identical rounded corners looked a lot like the visual style that’s become common in AI-generated interface concepts. Those chosen elements together, they unintentionally resembled that aesthetic. So I decided to redesign the visual system without touching the underlying functionality! Redesigning the UI The HTML and Javascript mostly stayed the same but most of the CSS was reworked. Replaced the glassy navy and teal theme with a warmer ink and brass palette Split the single border radius into multiple sizes so controls, windows and tiles each have their own geometry Removed glow-heavy styling in favor of flat panels, subtle borders and offset shadows Simplified typography by using JetBrains Mono for the interface with Fraunces reserved for the Start menu greeting Replaced decorative gradients with a subtle SVG grain texture Added small details like a window seal, custom text selection and distinct hover treatments across different UI regions Swapped macOS-style traffic-light controls for simpler outlined window buttons My goal was simple, it wasn’t to make the UI less polished, it was to give it a clearer identity. Bugs I Found Along the Way Rewriting and going through every CSS rule also uncovered a few real bugs Broken resize handles Some resize handle selectors accidentally used descendant selectors instead of grouped selectors so several resize directions silently stopped working Invisible desktop Adding overflow: hidden exposed another issue: #desktop never had an explicit height. Because every child was absolutely positioned, the container collapsed to zero height and clipped everything inside it. Restoring width: 100% and height: 100% fixed it immediately A backwards theme toggle The old “Dark Mode” toggle now made the already-dark interface lighter so i renamed the user-facing option to Light Mode while keeping the internal setting unchanged Looking Back Getting the project flagged was frustrating but it pushed me to reconsider the design instead of just accepting my first version. The redesign gave AuriaOS a stronger visual identity and the careful review of the stylesheet ended up revealing several bugs that had gone unnoticed during the rewrite. In the end, the project became better both visually and technically"}, {"post_id": 17634, "ts": "2026-06-28T14:49:11Z", "hours": 2.1547, "text": "Devlog 5 Picked up right where Devlog 4 left off. It was finally time to touch something nobody had looked at since day one, the Terminal. Before any of that though, I had a genuinely interesting detour into why I can’t just load real websites in an iframe . It turns out most sites send headers specifically designed to stop other pages from embedding them. That’s also the real secret behind those slick “browser inside a browser” demos we sometimes see online. They’re either fully staged or quietly running an actual browser on a server somewhere and just streaming a picture of it back to you, good to know. Also good to know I’m not building a server anytime soon. Future Aiden can deal with that one… if he ever does. The Terminal ended up being the most satisfying thing I’ve built so far. Real command parsing, arrow keys cycling through history and commands that genuinely do things instead of just printing text back at you. The command pin calculator actually pins an app. theme #ff6b6b actually repaints the whole OS live. It’s one of those features that finally makes the desktop feel interactive rather than just clickable And then, almost immediately, the most expected yet unexpected bug. I’d spent all that time getting the commands working, the history system behaving and everything feeling right.. only to forget the single line that actually connects the Terminal to its window when it opens. Fully built but completely silent because of one missing function call I closed it out by fixing a bug that’s been sitting in plain sight since the very first day of this project. Maximizing a window always left a thin strip of empty space hovering just above the taskbar because the math was quietly subtracting the taskbar’s height twice instead of once Hopefully my last devlog before shipping… ..for now sigh…"}, {"post_id": 17074, "ts": "2026-06-27T18:37:22Z", "hours": 8.1842, "text": "Devlog 4 - The Start Menu Ate My Week I js wanted to give the start menu some real attention instead of leaving it as a sad little list forever. I did NOT expect that to become the biggest sprint of the whole project but here we are… Built a proper pin/unpin system. My first version was a bit problematic so I sat with it for a while then rebuilt it the right way with an actual right-click context menu and everything. It felt genuinely satisfying once it finally clicked. Then I somehow convinced myself to add six more features to give the start menu a new life: greeting header, search bar, pinned grid, recent activity, system widgets and a whole user profile footer. Small moments of panic…? Definitely.. then I broke it into phases so I didn’t drown trying to build an entire desktop in one sitting. What nobody tells you about “just redesign the start menu” is how many times you’ll open the same file and stare at the same fifteen lines wondering why they look right and behave wrong. Trial and error ate most of my time which is fair enough. I also gave every icon its own little color badge, wired up a real “/” keyboard shortcut to match the hint I’d put in the search bar then made the whole thing Tab-and-Enter navigable since none of it was there before. Every “small fix” somehow turned into reopening three different files and rechecking things I was already convinced were correct which… more often than not, they weren’t. But that part actually felt rewarding. Little by little, the menu finally started feeling alive. And then, the bugs… I found out my own Start button was secretly broken, well… not heartbroken like me, at least. Clicking it did nothing at all because an old line of code was quietly fighting a newer one inside the same click handler. THAT took way TOO long to spot. The sneakiest ones weren’t even logic bugs.. a single missing dash in a CSS variable. A class name one word off from the real HTML. Completely invisible unless you go hunting line by line, just quietly doing nothing the whole time. The JavaScript is by far the most nerve-wracking, head-splitting experience ever. Absolute horror. I don’t wanna touch that file ever again. My eyes are bloodshot. The amount of time I spent just staring at the code, hunting down errors one by one is honestly concerning.. The menu actually works now, start to finish. Search, pinning, keyboard navigation and all. It cost way more blood than a start menu has any right to. Genuinely proud of this one precisely because of how much it fought back. Terminal’s turn next. And it should be VERY afraid. Note: Snuck localStorage into the project too! Turns out users generally prefer their settings, notes and pinned apps to exist for longer than five seconds. Weird bunch."}, {"post_id": 14623, "ts": "2026-06-23T20:05:40Z", "hours": 2.3447, "text": "Devlog 3 - Window Manager Upgrade Came back to the window manager because it was bugging me. Windows could be dragged anywhere including straight off the edge of the screen with no way to get them back short of refreshing. No resizing at all. No snapping. All the stuff that makes an OS feel like an OS instead of a box you can shove around. So this was the sprint where I tried to fix that and it took way longer than I thought, mostly because of bugs I caused myself. First up was resize handles, eight invisible strips around each window’s edges and corners so you can grab any side and resize from there. First try did nothing. Not an error, just nothing. Turned out my windows have overflow: hidden for the rounded corners and I’d put the handles slightly outside the window’s box so the browser was just clipping them out of existence along with their mouse events. Moved them inside the edge instead and they worked. Then, while retyping some of it by hand, I wrote .querySelectorAll(\".resize-handle\".forEach(...)) instead of .querySelectorAll(\".resize-handle\").forEach(...) . One parenthesis in the wrong spot and I was calling .forEach on a plain string instead of on the actual list of elements. Broke resizing AND window-opening at the same time since the error happened before the window even got added to the page. Bounds clamping was a smaller fix but it’s the one I’m most relieved about. Windows can hang halfway off an edge now but they physically can’t disappear off-screen anymore, there’s always a grabbable strip of titlebar left no matter how far you drag. And then snapping, the one I was most excited for. Drag a window to the left or right edge and a ghost preview shows up where it’ll land, let go and it snaps into half the screen. Drag to the top and it maximizes. I almost skipped the detail where dragging a snapped window away from the edge pops it back to its old size first instead of just dragging the half-screen shape around looking weird but glad I didn’t, that’s the part that actually sells it. Then dragging itself went completely haywire right after snapping started working, windows flying way faster than my mouse was moving, snapping in the wrong spots, clamping not holding. Assumed snapping broke it. It hadn’t. Found a line where I was adding the drag delta twice, once to calculate the clamped position and then again by accident when actually setting it. Double-clicking a titlebar now maximizes/restores too, it felt wrong not having that once snapping existed. Window manager finally feels solid instead of held together with tape. Small wins matter! even the ones that take an embarrassingly long time to find."}, {"post_id": 13865, "ts": "2026-06-22T18:39:18Z", "hours": 3.0808, "text": "Devlog 2 — Things Finally Started Moving Picked this back up today and this was basically the point where I started adding JavaScript and making things actually work. Up until now everything was just static UI. At first, I was building app content directly inside JavaScript strings… which worked but got messy really fast. The big breakthrough was moving all of that into proper HTML <template> tags instead. Sounds small but it made the code way easier to manage. Don’t have to squint at quotation marks trying to understand layout and styles. Got the window manager fully working! open, close, minimize, maximize, drag around. Each window now gets a taskbar button that reflects its state. Clicking a minimized window restores it, clicking an active one minimizes it. The Start menu can launch apps now and desktop icons work too. You can double-click an icon to open an app which is a small thing but makes it feel a lot more real. Also wired up the Settings panel. Toggles switch between ON/OFF, accent colors update the theme live and dark mode works (kind of a hack using CSS filters but it works). The Apps folder opens in its own window and can launch other apps from inside it. It’s all small features but they’re finally connected. Spent way too long debugging why desktop icons weren’t responding. Turned out to be a typo in a template ID (“windows-template” vs “window-template”) combined with the script running before the DOM loaded. Very classic… huh? Wrapped everything in DOMContentLoaded and double-checked all IDs after that. Most of the apps (Browser, Terminal, Calculator, Mood Lamp, Fortune Cookie) are still just placeholders with static content. But the system around them feels solid now. Next step is making at least one of them actually do something interesting.. probably either a fake-command Terminal or a Mood Lamp with real color interaction. Also: the Start button didn’t even have an icon before. Just an empty button sitting there. Fixed that. Small wins matter!"}, {"post_id": 12694, "ts": "2026-06-20T18:48:08Z", "hours": 5.7383, "text": "Devlog 1 — Starting Somewhere Started working on AuriaOS today. Honestly, it’s pretty rough right now. I didn’t really try to build anything complex yet. Mostly just figuring out how to structure everything. Got a basic desktop layout in place with some icons (browser, terminal, notes, etc.), a taskbar and a start menu. None of it actually does much yet. Spent a lot more time than expected just on CSS. Things like spacing, colors, trying to make it not look completely off. I set up a dark theme with variables so I don’t have to keep rewriting stuff later, which feels like it’ll help. Also added a window template system so I can reuse it when I actually start making apps. Right now it’s just sitting there but I think it’ll make things easier later. There’s a settings page UI and an apps folder too but they’re basically just placeholders. Buttons don’t really do anything yet. Overall, it doesn’t look like much for a full day but I guess this is just the setup phase. Still trying to understand how everything should fit together."}]...
|
Title: AuriaOS by @AidenHammy | Stardance
Devlogs Title: AuriaOS by @AidenHammy | Stardance
Devlogs:
Devlog 1 — Starting Somewhere Started working on AuriaOS today. Honestly, it’s pretty rough right now. I didn’t really try to build anything complex yet. Mostly just figuring out how to structure everything. Got a basic desktop layout in place with some icons (browser, terminal, notes, etc.), a taskbar and a start menu. None of it actually does much yet. Spent a lot more time than expected just on CSS. Things like spacing, colors, trying to make it not look completely off. I set up a dark theme with variables so I don’t have to keep rewriting stuff later, which feels like it’ll help. Also added a window template system so I can reuse it when I actually start making apps. Right now it’s just sitting there but I think it’ll make things easier later. There’s a settings page UI and an apps folder too but they’re basically just placeholders. Buttons don’t really do anything yet. Overall, it doesn’t look like much for a full day but I guess this is just the setup phase. Still trying to understand how everything should fit together.
Devlog 2 — Things Finally Started Moving Picked this back up today and this was basically the point where I started adding JavaScript and making things actually work. Up until now everything was just static UI. At first, I was building app content directly inside JavaScript strings… which worked but got messy really fast. The big breakthrough was moving all of that into proper HTML <template> tags instead. Sounds small but it made the code way easier to manage. Don’t have to squint at quotation marks trying to understand layout and styles. Got the window manager fully working! open, close, minimize, maximize, drag around. Each window now gets a taskbar button that reflects its state. Clicking a minimized window restores it, clicking an active one minimizes it. The Start menu can launch apps now and desktop icons work too. You can double-click an icon to open an app which is a small thing but makes it feel a lot more real. Also wired up the Settings panel. Toggles switch between ON/OFF, accent colors update the theme live and dark mode works (kind of a hack using CSS filters but it works). The Apps folder opens in its own window and can launch other apps from inside it. It’s all small features but they’re finally connected. Spent way too long debugging why desktop icons weren’t responding. Turned out to be a typo in a template ID (“windows-template” vs “window-template”) combined with the script running before the DOM loaded. Very classic… huh? Wrapped everything in DOMContentLoaded and double-checked all IDs after that. Most of the apps (Browser, Terminal, Calculator, Mood Lamp, Fortune Cookie) are still just placeholders with static content. But the system around them feels solid now. Next step is making at least one of them actually do something interesting.. probably either a fake-command Terminal or a Mood Lamp with real color interaction. Also: the Start button didn’t even have an icon before. Just an empty button sitting there. Fixed that. Small wins matter!
Devlog 3 - Window Manager Upgrade Came back to the window manager because it was bugging me. Windows could be dragged anywhere including straight off the edge of the screen with no way to get them back short of refreshing. No resizing at all. No snapping. All the stuff that makes an OS feel like an OS instead of a box you can shove around. So this was the sprint where I tried to fix that and it took way longer than I thought, mostly because of bugs I caused myself. First up was resize handles, eight invisible strips around each window’s edges and corners so you can grab any side and resize from there. First try did nothing. Not an error, just nothing. Turned out my windows have overflow: hidden for the rounded corners and I’d put the handles slightly outside the window’s box so the browser was just clipping them out of existence along with their mouse events. Moved them inside the edge instead and they worked. Then, while retyping some of it by hand, I wrote .querySelectorAll(".resize-handle".forEach(...)) instead of .querySelectorAll(".resize-handle").forEach(...) . One parenthesis in the wrong spot and I was calling .forEach on a plain string instead of on the actual list of elements. Broke resizing AND window-opening at the same time since the error happened before the window even got added to the page. Bounds clamping was a smaller fix but it’s the one I’m most relieved about. Windows can hang halfway off an edge now but they physically can’t disappear off-screen anymore, there’s always a grabbable strip of titlebar left no matter how far you drag. And then snapping, the one I was most excited for. Drag a window to the left or right edge and a ghost preview shows up where it’ll land, let go and it snaps into half the screen. Drag to the top and it maximizes. I almost skipped the detail where dragging a snapped window away from the edge pops it back to its old size first instead of just dragging the half-screen shape around looking weird but glad I didn’t, that’s the part that actually sells it. Then dragging itself went completely haywire right after snapping started working, windows flying way faster than my mouse was moving, snapping in the wrong spots, clamping not holding. Assumed snapping broke it. It hadn’t. Found a line where I was adding the drag delta twice, once to calculate the clamped position and then again by accident when actually setting it. Double-clicking a titlebar now maximizes/restores too, it felt wrong not having that once snapping existed. Window manager finally feels solid instead of held together with tape. Small wins matter! even the ones that take an embarrassingly long time to find.
Devlog 4 - The Start Menu Ate My Week I js wanted to give the start menu some real attention instead of leaving it as a sad little list forever. I did NOT expect that to become the biggest sprint of the whole project but here we are… Built a proper pin/unpin system. My first version was a bit problematic so I sat with it for a while then rebuilt it the right way with an actual right-click context menu and everything. It felt genuinely satisfying once it finally clicked. Then I somehow convinced myself to add six more features to give the start menu a new life: greeting header, search bar, pinned grid, recent activity, system widgets and a whole user profile footer. Small moments of panic…? Definitely.. then I broke it into phases so I didn’t drown trying to build an entire desktop in one sitting. What nobody tells you about “just redesign the start menu” is how many times you’ll open the same file and stare at the same fifteen lines wondering why they look right and behave wrong. Trial and error ate most of my time which is fair enough. I also gave every icon its own little color badge, wired up a real “/” keyboard shortcut to match the hint I’d put in the search bar then made the whole thing Tab-and-Enter navigable since none of it was there before. Every “small fix” somehow turned into reopening three different files and rechecking things I was already convinced were correct which… more often than not, they weren’t. But that part actually felt rewarding. Little by little, the menu finally started feeling alive. And then, the bugs… I found out my own Start button was secretly broken, well… not heartbroken like me, at least. Clicking it did nothing at all because an old line of code was quietly fighting a newer one inside the same click handler. THAT took way TOO long to spot. The sneakiest ones weren’t even logic bugs.. a single missing dash in a CSS variable. A class name one word off from the real HTML. Completely invisible unless you go hunting line by line, just quietly doing nothing the whole time. The JavaScript is by far the most nerve-wracking, head-splitting experience ever. Absolute horror. I don’t wanna touch that file ever again. My eyes are bloodshot. The amount of time I spent just staring at the code, hunting down errors one by one is honestly concerning.. The menu actually works now, start to finish. Search, pinning, keyboard navigation and all. It cost way more blood than a start menu has any right to. Genuinely proud of this one precisely because of how much it fought back. Terminal’s turn next. And it should be VERY afraid. Note: Snuck localStorage into the project too! Turns out users generally prefer their settings, notes and pinned apps to exist for longer than five seconds. Weird bunch.
Devlog 5 Picked up right where Devlog 4 left off. It was finally time to touch something nobody had looked at since day one, the Terminal. Before any of that though, I had a genuinely interesting detour into why I can’t just load real websites in an iframe . It turns out most sites send headers specifically designed to stop other pages from embedding them. That’s also the real secret behind those slick “browser inside a browser” demos we sometimes see online. They’re either fully staged or quietly running an actual browser on a server somewhere and just streaming a picture of it back to you, good to know. Also good to know I’m not building a server anytime soon. Future Aiden can deal with that one… if he ever does. The Terminal ended up being the most satisfying thing I’ve built so far. Real command parsing, arrow keys cycling through history and commands that genuinely do things instead of just printing text back at you. The command pin calculator actually pins an app. theme #ff6b6b actually repaints the whole OS live. It’s one of those features that finally makes the desktop feel interactive rather than just clickable And then, almost immediately, the most expected yet unexpected bug. I’d spent all that time getting the commands working, the history system behaving and everything feeling right.. only to forget the single line that actually connects the Terminal to its window when it opens. Fully built but completely silent because of one missing function call I closed it out by fixing a bug that’s been sitting in plain sight since the very first day of this project. Maximizing a window always left a thin strip of empty space hovering just above the taskbar because the math was quietly subtracting the taskbar’s height twice instead of once Hopefully my last devlog before shipping… ..for now sigh…
Devlog: Reworking AuriaOS’s Visual Identity I thought AuriaOS was ready to ship. The window manager was working, apps launched, windows could be dragged, resized, minimized and restored. And the logic was solid. Then the project got flagged as AI-generated, well I wouldn’t say AI-generated but maybe traits similar to that of one. It wasn’t because of the code but because of the UI. Looking back, I understood why. The dark navy background, teal accents, frosted glass, soft glows and identical rounded corners looked a lot like the visual style that’s become common in AI-generated interface concepts. Those chosen elements together, they unintentionally resembled that aesthetic. So I decided to redesign the visual system without touching the underlying functionality! Redesigning the UI The HTML and Javascript mostly stayed the same but most of the CSS was reworked. Replaced the glassy navy and teal theme with a warmer ink and brass palette Split the single border radius into multiple sizes so controls, windows and tiles each have their own geometry Removed glow-heavy styling in favor of flat panels, subtle borders and offset shadows Simplified typography by using JetBrains Mono for the interface with Fraunces reserved for the Start menu greeting Replaced decorative gradients with a subtle SVG grain texture Added small details like a window seal, custom text selection and distinct hover treatments across different UI regions Swapped macOS-style traffic-light controls for simpler outlined window buttons My goal was simple, it wasn’t to make the UI less polished, it was to give it a clearer identity. Bugs I Found Along the Way Rewriting and going through every CSS rule also uncovered a few real bugs Broken resize handles Some resize handle selectors accidentally used descendant selectors instead of grouped selectors so several resize directions silently stopped working Invisible desktop Adding overflow: hidden exposed another issue: #desktop never had an explicit height. Because every child was absolutely positioned, the container collapsed to zero height and clipped everything inside it. Restoring width: 100% and height: 100% fixed it immediately A backwards theme toggle The old “Dark Mode” toggle now made the already-dark interface lighter so i renamed the user-facing option to Light Mode while keeping the internal setting unchanged Looking Back Getting the project flagged was frustrating but it pushed me to reconsider the design instead of just accepting my first version. The redesign gave AuriaOS a stronger visual identity and the careful review of the stylesheet ended up revealing several bugs that had gone unnoticed during the rewrite. In the end, the project became better both visually and technically
Devlog: giving AuriaOS two real apps (and finding out neither of them worked) Calculator and Mood Lamp had been placeholders since day one. A folder icon and a div that said “🧮 Calculator app” and nothing else. A window opened, technically. Nothing else did. For the second submission I finally built them for real. Building them Calculator got a real display and button grid, doing immediate-execution math on purpose: 6 + 3 × 2 = gives 18 not 12 because that’s how an actual physical calculator behaves and a proper order-of-operations parser felt like solving a problem nobody asked for. Divide by zero gives Error like it should. Keyboard input works too but only while the calculator window is actually focused so it can’t hijack typing elsewhere. Mood Lamp got more ambition! Instead of a “click a button, see a color” toy, it’s a global ambient tint over the whole desktop not just its own window. Four presets pulled from the existing accent palette, plus a real color picker and intensity slider for anyone who wants to go off-menu. Wrote the CSS, wrote the JS, wired both in, called it done. It was not done. The buttons that did nothing. Time for the First bug! Mood Lamp’s buttons didn’t work. No errors, no visual change, just silence..which is a specific kind of bug since broken JS usually throws. Silence like that means the code never actually ran. That’s exactly what happened. wireCalculator() and wireMoodLamp() were both fully written and correct and never called from anywhere. openWindow() still had the old dispatch list from before either app existed so every button in both apps existed in the DOM with zero listeners attached. Not a typo, just two lines I never wrote. The command that lied about itself From the previous reviews, I got to know that typing lightmode on in the terminal printed darkmode turned on . The Dark Mode → Light Mode rename happened everywhere except one spot. The shared toggleBooleanSetting() helper used the internal state key (darkmode, which still has to exist since the actual effect is a literal CSS invert) for the confirmation message too. I split those apart so the message reflects what you actually typed not the plumbing underneath it. The mood lamp that had no mood Once the wiring was fixed, buttons visibly responded but the desktop itself looked exactly the same. Sampling the actual rendered pixel before/after at max intensity confirmed it. The shift was small enough to round to nothing. The overlay used mix-blend-mode: soft-light which was picked for subtlety. Except soft-light scales toward zero as the base color approaches black and AuriaOS’s desktop is about as close to black as a color gets (almost). The mode I chose for subtlety was almost mathematically guaranteed to do nothing on this exact theme. I switched it to screen, which always adds light regardless of how dark the base is. Same 30% intensity setting, suddenly an actual visible wash instead of a rounding error. The actual lesson? None of these three were exotic bugs. A missing function call, a copy mismatch, a blend mode never checked against the theme it’d run on. All three shipped unnoticed because each one failed quietly instead of throwing. Worth remembering “it’s not doing anything” isn’t a shrug, it’s a symptom!
Devlog: Right-clicks, calendars and… a fortune cookie?! Fresh update to AuriaOS. Two new interface features, one new app and a bug that crashed the entire desktop before it got fixed. Right-clicking finally does something! Before this, right-clicking almost anything in AuriaOS just opened the browser’s own menu (“Reload / Inspect”) which ruined the illusion of a real little operating system. Now right-clicking gives you a proper menu where it should: A window’s title bar -> Minimize, Maximize/Restore, Always on Top, Close An app in the taskbar -> Restore/Minimize, Close Empty taskbar space -> Show Desktop, Close All Windows, Settings Empty desktop space -> Personalize, Open a Terminal, Refresh A desktop icon -> Open The genuinely new trick is “Always on Top”. Pin a window and it stays above every other window, no matter what else you click instead of getting buried like normal windows. The clock finally does something! The taskbar clock used to just show the time. Now you can click it and get a small calendar for the current month just like on a real computer. The calendar handles the fiddly stuff automatically. It knows how many days are in each month, accounts for February 29 in leap years and always lines up with Sunday as the start of the week. The faded days at the beginning and end fill out the grid so it doesn’t have awkward gaps. And if you leave the calendar open when midnight hits, it updates itself and moves the highlight to the new day without needing to be closed and reopened. Actually building the Fortune Cookie App It’s basically what it sounds like. A fortune cookie that you click to crack open. It shrinks and fades as if it’s actually being cracked,then a little paper slip slides into view with a fortune and six “lucky numbers” underneath just like a real fortune cookie. The bug that broke everything This was the messy part. It wasn’t really one bug but two bugs back to back both caused by the same basic mistake. Bug one: the crash. To make the calendar auto-update, the clock code runs every second and checks whether the calendar popup is open. The problem was an ordering mistake. That check ran before the calendar popup had actually been set up. Because the error happened near the top of the file, everything after it never got initialized including the taskbar and Start Menu click handlers. From the outside, the whole desktop looked dead. Frozen clock, dead Start Menu and an unresponsive taskbar. Bug two: After fixing the crash, the calendar still wouldn’t open. Turns out I’d written all the code for the popup but forgotten to actually add the popup to the page. Most of the code quietly ignored the missing element but one part wasn’t so forgiving and could throw an error on every click anywhere in the app. Adding the missing element fixed it and I added safety checks around similar code so missing elements can’t cause the same mess again
Devlog: building the browser interface Every other app in AuriaOS gave me something real and had bugs that behaved normally. The browser gave me two completely different problems, each one hiding behind the last. Problem one: search engines don’t want to be embedded With the real browser wired up, the address bar, back/forward/reload/home and an actual iframe, it looked done. Typing a URL worked but typing a search term did not. Every search just sat there, blank. I got to know why that was very soon from the console: textFraming 'https://html.duckduckgo.com/' violates the following ContentSecurity Policy directive: "frame-ancestors 'self'". The request hasbeen blocked. DuckDuckGo sends a header that basically says “don’t let anyone put me inside another page” but that’s not just a DuckDuckGo thing though, it’s standard for basically every search engine because a framed search results page is a classic clickjacking setup. No amount of JavaScript on my end changes an HTTP header the other server is sending. Well, this can’t be considered a bug, it was like a wall and every search engine has the same one. So the fix wasn’t really a fix, it was about rethinking the whole situation. I had to stop trying to show search results inside the embedded view and just open them in a real new tab instead where framing rules don’t apply. Direct URLs still load inside the app like before since plenty of ordinary sites don’t block framing, it’s the search engines specifically. Problem two: it worked but it didn’t feel like it worked Search now actually functioned since New tab pops open with real results every time. And the very next thing I thought of was “it acts like a separate window opener instead of being part of the browser app” and it was a fair thought. What I really wanted was to show search results inside the iframe which loops straight back to problem one. I didn’t have much choice. I pushed back on that hard. Everything else in AuriaOS does what it claims to do. The terminal runs real commands, the calculator does real math and I didn’t want the browser to be the one app quietly faking it. But I eventually decided to keep the new tab. Added a small toast inside the browser window itself. “Opened search in a new tab” that fades in for about two seconds and back out. Doesn’t change where the search happens it just closes the feedback gap. Something visibly happens inside the app the moment you hit Go instead of the window just sitting there while a tab opens somewhere else on screen
Ships:
AuriaOS is a browser-based web OS built entirely with vanilla HTML, CSS and JavaScript. It includes a full window manager (drag, resize, edge snapping, maximize), a Start Menu with live search, pinning, recent apps and keyboard navigation, plus a Terminal where commands like theme, pin, darkmode and shutdown actually control the OS. Settings, notes, pinned apps and recent activity all persist through localStorage. The hardest part wasn’t writing new features. It was debugging them. The JavaScript logic itself was just as challenging. I spent a lot of time debugging, reworking functions and figuring out why seemingly correct code behaved unexpectedly. I got stuck plenty of times but I decided to stick with it until everything finally clicked. Keeping the project’s scope under control was another challenge so I broke large features into smaller phases instead of trying to build an entire desktop at once. I’m proud that AuriaOS feels like one coherent system instead of separate features glued together. The Start Menu, Settings and Terminal all share the same underlying state so changing something in one place updates the rest of the desktop automatically. I’m also proud that the Terminal is genuinely functional rather than decorative. The window manager, Start Menu, Settings, Notepad and Terminal are fully functional. Browser, Calculator, Mood Lamp and Fortune Cookie are still placeholder apps. Things worth trying: Drag a window to a screen edge to snap it Open the Start Menu and use “/” to search or navigate entirely with the keyboard Right-click an app to pin or unpin it Open Terminal and run help then try pin calculator or theme #4ecdc4 Refresh the page to verify that settings, notes and pinned apps persist
AuriaOS is a browser-based desktop environment built entirely with vanilla HTML, CSS and JavaScript. It features a complete window manager with dragging, resizing, edge snapping, maximizing and minimizing alongside a Start Menu with live search, pinning, recent apps and full keyboard navigation. It also includes a functional Terminal where commands like theme, pin, darkmode and shutdown interact with the operating system itself. Settings, notes, pinned apps and recent activity are all persisted using localStorage. The biggest challenge wasn’t adding features. It was making them work together reliably. I spent a lot of time debugging Javascript, tracing unexpected behaviour and reworking functions until interactions felt consistent across the entire desktop. I also kept the scope manageable by building the OS incrementally. I treated each subsystem as its own milestone instead of trying to create everything at once. One of the parts I’m happiest with is that AuriaOS behaves like a single, connected system rather than a collection of isolated apps. The Start Menu, Settings and Terminal all share the same state so changes made in one place are reflected everywhere else. The terminal is fully functional too! It isn’t just a visual prop. Current apps -> Fully functional (Mentioned below) Window Manager, Start Menu, Settings, Notepad, Terminal Placeholder apps Browser, Calculator, Mood Lamp, Fortune Cookie
This ship finishes off every placeholder app and adds two real interface upgrades. Calculator does immediate-execution arithmetic with full keyboard support. Mood Lamp applies a real ambient color wash across the whole desktop and not just its own window (fortunately). Fortune Cookie cracks open into an actual paper slip with a fortune and six lucky numbers. The Browser now has a working address bar with back/forward/reload and typed URLs load inline. Searches open in a new tab since search engines block being framed no matter what you do. Right-click also does something everywhere now including titlebars, taskbar and desktop and also including a new “Always on Top” pin. And the taskbar clock isn’t static anymore! Click it for a small calendar with today marked and leap years are handled correctly without any special-case code. Current apps → Fully functional: Settings, Notepad, Terminal, Calculator, Mood Lamp, Browser, Fortune Cookie Placeholder apps → None remaining!...
|
1793220952.7896574
|
1793307352.7896574
|
|
65641
|
Keylogger for Windows by @kingvon | Stardance
|
kingvon
|
0
|
3.94
|
0
|
[]
|
[{"post_id": 76070, "ts": "202 [{"post_id": 76070, "ts": "2026-10-02T07:40:52Z", "hours": 0.5486, "text": "Moved to JSONL keystrokes output cuz the previous one looked good but it was not the best when it comes to parsing lol now it stores like this: {\"ts\":\"2026-10-02 08:27\", \"window\":\"*Untitled - Notepad\", \"keys\":\"[RETURN][RETURN][RETURN]\"} and stuff i am not using any json library for this, hardcoded some json escape characters too to protect against keys like \""}, {"post_id": 75942, "ts": "2026-10-01T17:44:16Z", "hours": 2.7575, "text": "Storing key logs in temp file with some info hell yeah we can consider this a proper keylogger already, now its not printing in console but it creates a file in temp dir, named MicrosoftUpdate-ipc.tmp (muehehehe) and saves the strokes there in format: [date time] [window name] key presses this took a lot of time, got a lot of problems like proper function and shared state so i can append the key presses string in main file and save the text, and also handling special keys like CTRL, and also about safely reading and modifying the same buffer at same time so i had to lock the buffer too that was a pain cuz its my first time in windows API and weird data types too _ it does NOT send anything yet"}, {"post_id": 73682, "ts": "2026-09-25T17:56:18Z", "hours": 0.6358, "text": "Receving key presses pls dont judge, first time making stuff for windows lmao i have only made malwares for linux _ anyways, i used SetWindowsHookEx to set a “low level keyboard hook” which gets key stroke through out the system (with some security exceptions) this genuinely weirded me out that we can get key strokes almost system wide without even needing admin lol"}]...
|
Title: Keylogger for Windows by @kingvon | Stardan Title: Keylogger for Windows by @kingvon | Stardance
Devlogs:
Receving key presses pls dont judge, first time making stuff for windows lmao i have only made malwares for linux _ anyways, i used SetWindowsHookEx to set a “low level keyboard hook” which gets key stroke through out the system (with some security exceptions) this genuinely weirded me out that we can get key strokes almost system wide without even needing admin lol
Storing key logs in temp file with some info hell yeah we can consider this a proper keylogger already, now its not printing in console but it creates a file in temp dir, named MicrosoftUpdate-ipc.tmp (muehehehe) and saves the strokes there in format: [date time] [window name] key presses this took a lot of time, got a lot of problems like proper function and shared state so i can append the key presses string in main file and save the text, and also handling special keys like CTRL, and also about safely reading and modifying the same buffer at same time so i had to lock the buffer too that was a pain cuz its my first time in windows API and weird data types too _ it does NOT send anything yet
Moved to JSONL keystrokes output cuz the previous one looked good but it was not the best when it comes to parsing lol now it stores like this: {"ts":"2026-10-02 08:27", "window":"*Untitled - Notepad", "keys":"[RETURN][RETURN][RETURN]"} and stuff i am not using any json library for this, hardcoded some json escape characters too to protect against keys like "...
|
1793090909.9730637
|
1793695709.9730637
|
|
66733
|
DevDesk AI by @akshay369 | Stardance
|
akshay369
|
0
|
19.56
|
0
|
[]
|
[{"post_id": 76069, "ts": "202 [{"post_id": 76069, "ts": "2026-10-02T07:40:12Z", "hours": 1.2711, "text": "Now the user can view the details of the selected project"}, {"post_id": 75901, "ts": "2026-10-01T15:24:52Z", "hours": 1.9781, "text": "Added add project feature, Now a user able to add their own project. I do not think I can ship this because in the designing I used AI heavily for this project, so currently I did not decided to ship this. This project is only to enhance my Django + React skills. May be in the future(before 20th October). I will update the details guys. See you in the next devlog"}, {"post_id": 75159, "ts": "2026-09-29T10:03:00Z", "hours": 16.3144, "text": "DevDesk AI It is an AI-powered developer workspace designed to help developers understand, debug, improve, and manage their code in one place. Instead of switching between different AI tools and development utilities, DevDesk brings common developer workflows together into a single workspace. Current features include: AI Chat — Ask coding and development questions. Code Explainer — Get clear explanations of how code works. Bug Finder — Identify bugs, understand why they occur, and get possible fixes. Code Improver — Improve code readability. Project Management — Create and manage development projects with project-specific context. GitHub Authentication — Securely sign in using GitHub. The long-term goal of DevDesk AI is to become a project-aware AI development workspace, where developers can organise their projects, files, and conversations and give the AI relevant project context when working on their code. DevDesk AI is built using Django REST Framework, React and Python. I have been working in this project for a quite long, so I thought of sharing this to my peers, that’s why the logged hours is too long and did not has much devlog and this is the first devlog"}]...
|
Title: DevDesk AI by @akshay369 | Stardance
Devlo Title: DevDesk AI by @akshay369 | Stardance
Devlogs:
DevDesk AI It is an AI-powered developer workspace designed to help developers understand, debug, improve, and manage their code in one place. Instead of switching between different AI tools and development utilities, DevDesk brings common developer workflows together into a single workspace. Current features include: AI Chat — Ask coding and development questions. Code Explainer — Get clear explanations of how code works. Bug Finder — Identify bugs, understand why they occur, and get possible fixes. Code Improver — Improve code readability. Project Management — Create and manage development projects with project-specific context. GitHub Authentication — Securely sign in using GitHub. The long-term goal of DevDesk AI is to become a project-aware AI development workspace, where developers can organise their projects, files, and conversations and give the AI relevant project context when working on their code. DevDesk AI is built using Django REST Framework, React and Python. I have been working in this project for a quite long, so I thought of sharing this to my peers, that’s why the logged hours is too long and did not has much devlog and this is the first devlog
Added add project feature, Now a user able to add their own project. I do not think I can ship this because in the designing I used AI heavily for this project, so currently I did not decided to ship this. This project is only to enhance my Django + React skills. May be in the future(before 20th October). I will update the details guys. See you in the next devlog
Now the user can view the details of the selected project...
|
1793101912.0449007
|
1793965912.0449007
|
|
53406
|
Iris by @Hamna | Stardance
|
Hamna
|
2
|
145.0
|
1620
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-28T05:53:02Z", "hours": 14.0, "multiplier": 7.22, "payout": 99, "blessing": "neutral", "text": "I built a RAG chatbot that mimics my friends behaviour and attitude You can talk to her :)", "repo": "https://github.com/lilithCode/Iris_ChatBot", "demo": "https://iris-chat-bot-lac.vercel.app/"}, {"ship_num": 2, "ts": "2026-09-18T22:02:27Z", "hours": 131.0, "multiplier": 13.36, "payout": 1521, "blessing": "neutral", "text": "This is my booking website for wellness (my family hotel). There’s a public site, online checkout, a Reception console and a Management console The most difficult part to stop double bookings btw the website and the front desk,I fixed this by making a hold time of 10 mints on suites I’m really so proud of this project as this was something I was planning to make for my family and it turned out to so amazing and I got to learn so much about security (P.S , This is my last project on Hackclub , I really had the cool experience here, This platform really motivated me to make this project)", "repo": "https://github.com/lilithCode/Iris_ChatBot", "demo": "https://iris-chat-bot-lac.vercel.app/"}]...
|
[{"post_id": 76064, "ts": "202 [{"post_id": 76064, "ts": "2026-10-02T07:21:18Z", "hours": 6.8922, "text": "Changed the UI a bit"}, {"post_id": 73916, "ts": "2026-09-26T09:52:32Z", "hours": 2.9411, "text": "There were some UI erros in the git pages file i made, so this is the last final verison for this project for the demo link: hope you’ll like this : )"}, {"post_id": 71239, "ts": "2026-09-20T14:41:31Z", "hours": 3.8447, "text": "Fixed it today! I replaced ChatInterface in the Space with a gr.Interface that takes the history as a JSON input, so the conversation actually reaches the model now. I also added a history count to the logs so I can see it arriving with every message. This fixes Amadeus too, since they share the same Space. Iris finally remembers what we’re talking about, and that feels like the right place to call this project complete"}, {"post_id": 70295, "ts": "2026-09-18T21:53:46Z", "hours": 4.7014, "text": "Spent today debugging the memory problem. The frontend was sending the chat history and the router was clearly using it, but the model was answering like every message was the first one. I asked “what did I just ask?” and got a totally random reply. Then I checked the Space’s API info and found the problem: Gradio 6’s ChatInterface hides the history from the API, so it was silently throwing the whole conversation away"}, {"post_id": 69607, "ts": "2026-09-17T12:20:33Z", "hours": 5.0708, "text": "Tested the new pipeline today. I asked “who won the last cricket world cup?” and it searched, found the facts and answered “Australia” correctly. Iris knowing current events feels like a huge upgrade. But while chatting normally I noticed something weird: it kept saying “Hai haii” to everything and had no idea what we’d been talking about"}, {"post_id": 69182, "ts": "2026-09-16T15:25:12Z", "hours": 4.86, "text": "Big backend day. I made Iris use the exact same backend as my other project, Amadeus: the same Hugging Face ZeroGPU Space, plus a RAG pipeline. Now a small router model on Hack Club AI rewrites the question, decides whether it needs a web search, and remembers facts about the user. If it needs current info, it searches the web with Exa and passes verified facts to the model. The UI stayed exactly the same"}, {"post_id": 67350, "ts": "2026-09-13T13:00:04Z", "hours": 8.9375, "text": "Tried Modal as another hosting option today, to compare it with ZeroGPU. I switched the route to call a Modal endpoint with an API key. It worked, but managing two setups for two projects (Iris and Amadeus) was getting messy, and I started thinking about putting both on the same backend"}, {"post_id": 66168, "ts": "2026-09-11T20:25:17Z", "hours": 11.0492, "text": "Came back to Iris after a while because responses were way too slow on free CPU hosting. Today I moved the model to Hugging Face ZeroGPU, so it actually runs on a GPU now. I rewrote the backend route to call the Space through the Gradio API, with retries and fallback messages in case something fail"}, {"post_id": 65771, "ts": "2026-09-11T04:17:48Z", "hours": 6.2706, "text": "Final UI touches today. I polished the About modal, updated the project links and rewrote the README with the whole training pipeline. Then I deployed it on Vercel. Iris is officially live and I shared the link with everyone"}, {"post_id": 65244, "ts": "2026-09-10T07:34:11Z", "hours": 8.7197, "text": "Today I connected the frontend to the real Hugging Face backend instead of the placeholder. Seeing Iris reply on my own website, in Senpai’s style, felt unreal. Responses were slow, but it was talking, and I spent way too long just chatting with it"}, {"post_id": 64336, "ts": "2026-09-08T17:12:01Z", "hours": 3.4358, "text": "I replaced the old playlist with songs that match the vibe better and made new covers for each track. Some of the song links broke right after, so I fixed those, and one mp3 was way too big, so I compressed it. Small stuff, but the radio station panel feels complete now"}, {"post_id": 64109, "ts": "2026-09-08T09:37:59Z", "hours": 4.6706, "text": "I didn’t like how the UI looked yesterday, so today I redesigned almost all of it. I went with a soft lavender pastel theme that feels more like Iris, removed the cyber cursor and added a cute Senpai avatar that pops up with little messages. I also made the whole thing responsive so it works on phones too"}, {"post_id": 63712, "ts": "2026-09-07T17:27:59Z", "hours": 9.7992, "text": "Started the frontend today with Next.js and Tailwind. I built the main layout: a chat panel in the middle, a music player on the left, and a side panel on the right. I also added a loading screen and little send/receive sound effects, because a chatbot without sounds feels lifeless. Pushed the first commit with the UI, routing and model connection all together"}, {"post_id": 62439, "ts": "2026-09-05T19:40:06Z", "hours": 11.1208, "text": "Training ran for 1000 steps today and I watched the loss drop from about 2.5 to 0.3. When I tested it, it replied with “Kk” and an eye roll emoji, and that’s literally how Senpai texts. I sent screenshots to my friends and they were all shocked. That was the best moment of the project so far"}, {"post_id": 61489, "ts": "2026-09-04T13:05:44Z", "hours": 22.205, "text": "Set up my Kaggle notebook today with Unsloth and Llama-3 8B as the base model. Most of the day went into fighting configs and memory errors on the T4 x2 GPUs. After a lot of trial and error I settled on a 2048 sequence length and a 5e-5 learning rate. It finally started training without crashing, and I almost cried"}, {"post_id": 59161, "ts": "2026-08-31T19:49:02Z", "hours": 12.4886, "text": "Today I turned the cleaned chats into proper training data. Senpai sends five short messages in a row instead of one long one, so I grouped consecutive messages together to keep that natural texting flow. I ended up with 12,613 dialogue samples. Seeing that number made it feel like a real project for the first time"}, {"post_id": 56717, "ts": "2026-08-28T16:11:34Z", "hours": 7.4811, "text": "Spent the whole day cleaning the WhatsApp export. It was around 81,000 lines of pure chaos: timestamps, “media omitted”, deleted messages, random links. I wrote a script to strip all the junk out and kept only the actual conversations. My eyes hurt, but the data finally looks usable"}, {"post_id": 54957, "ts": "2026-08-26T12:02:23Z", "hours": 9.8514, "text": "Today I finally started something I’d been thinking about for a while. Every AI chatbot I’ve used feels so polite and robotic, like it has zero aura. So I decided to make one that talks like a real person, specifically my friend “Senpai”. I exported our WhatsApp chats and just stared at them for a bit, wondering what I’d gotten myself into"}]...
|
Title: Iris by @Hamna | Stardance
Devlogs:
Today Title: Iris by @Hamna | Stardance
Devlogs:
Today I finally started something I’d been thinking about for a while. Every AI chatbot I’ve used feels so polite and robotic, like it has zero aura. So I decided to make one that talks like a real person, specifically my friend “Senpai”. I exported our WhatsApp chats and just stared at them for a bit, wondering what I’d gotten myself into
Spent the whole day cleaning the WhatsApp export. It was around 81,000 lines of pure chaos: timestamps, “media omitted”, deleted messages, random links. I wrote a script to strip all the junk out and kept only the actual conversations. My eyes hurt, but the data finally looks usable
Today I turned the cleaned chats into proper training data. Senpai sends five short messages in a row instead of one long one, so I grouped consecutive messages together to keep that natural texting flow. I ended up with 12,613 dialogue samples. Seeing that number made it feel like a real project for the first time
Set up my Kaggle notebook today with Unsloth and Llama-3 8B as the base model. Most of the day went into fighting configs and memory errors on the T4 x2 GPUs. After a lot of trial and error I settled on a 2048 sequence length and a 5e-5 learning rate. It finally started training without crashing, and I almost cried
Training ran for 1000 steps today and I watched the loss drop from about 2.5 to 0.3. When I tested it, it replied with “Kk” and an eye roll emoji, and that’s literally how Senpai texts. I sent screenshots to my friends and they were all shocked. That was the best moment of the project so far
Started the frontend today with Next.js and Tailwind. I built the main layout: a chat panel in the middle, a music player on the left, and a side panel on the right. I also added a loading screen and little send/receive sound effects, because a chatbot without sounds feels lifeless. Pushed the first commit with the UI, routing and model connection all together
I didn’t like how the UI looked yesterday, so today I redesigned almost all of it. I went with a soft lavender pastel theme that feels more like Iris, removed the cyber cursor and added a cute Senpai avatar that pops up with little messages. I also made the whole thing responsive so it works on phones too
I replaced the old playlist with songs that match the vibe better and made new covers for each track. Some of the song links broke right after, so I fixed those, and one mp3 was way too big, so I compressed it. Small stuff, but the radio station panel feels complete now
Today I connected the frontend to the real Hugging Face backend instead of the placeholder. Seeing Iris reply on my own website, in Senpai’s style, felt unreal. Responses were slow, but it was talking, and I spent way too long just chatting with it
Final UI touches today. I polished the About modal, updated the project links and rewrote the README with the whole training pipeline. Then I deployed it on Vercel. Iris is officially live and I shared the link with everyone
Came back to Iris after a while because responses were way too slow on free CPU hosting. Today I moved the model to Hugging Face ZeroGPU, so it actually runs on a GPU now. I rewrote the backend route to call the Space through the Gradio API, with retries and fallback messages in case something fail
Tried Modal as another hosting option today, to compare it with ZeroGPU. I switched the route to call a Modal endpoint with an API key. It worked, but managing two setups for two projects (Iris and Amadeus) was getting messy, and I started thinking about putting both on the same backend
Big backend day. I made Iris use the exact same backend as my other project, Amadeus: the same Hugging Face ZeroGPU Space, plus a RAG pipeline. Now a small router model on Hack Club AI rewrites the question, decides whether it needs a web search, and remembers facts about the user. If it needs current info, it searches the web with Exa and passes verified facts to the model. The UI stayed exactly the same
Tested the new pipeline today. I asked “who won the last cricket world cup?” and it searched, found the facts and answered “Australia” correctly. Iris knowing current events feels like a huge upgrade. But while chatting normally I noticed something weird: it kept saying “Hai haii” to everything and had no idea what we’d been talking about
Spent today debugging the memory problem. The frontend was sending the chat history and the router was clearly using it, but the model was answering like every message was the first one. I asked “what did I just ask?” and got a totally random reply. Then I checked the Space’s API info and found the problem: Gradio 6’s ChatInterface hides the history from the API, so it was silently throwing the whole conversation away
Fixed it today! I replaced ChatInterface in the Space with a gr.Interface that takes the history as a JSON input, so the conversation actually reaches the model now. I also added a history count to the logs so I can see it arriving with every message. This fixes Amadeus too, since they share the same Space. Iris finally remembers what we’re talking about, and that feels like the right place to call this project complete
There were some UI erros in the git pages file i made, so this is the last final verison for this project for the demo link: hope you’ll like this : )
Changed the UI a bit
Ships:
This is my booking website for wellness (my family hotel). There’s a public site, online checkout, a Reception console and a Management console The most difficult part to stop double bookings btw the website and the front desk,I fixed this by making a hold time of 10 mints on suites I’m really so proud of this project as this was something I was planning to make for my family and it turned out to so amazing and I got to learn so much about security (P.S , This is my last project on Hackclub , I really had the cool experience here, This platform really motivated me to make this project)
I built a RAG chatbot that mimics my friends behaviour and attitude You can talk to her :)...
|
1793350427.3832102
|
1793436827.3832102
|
|
59904
|
REACTOR by @mindstormpro3 | Stardance
|
mindstormpro3
|
1
|
12.58
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-01T06:13:17Z", "hours": 12.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Reactor is a special python TUI tool for running bots made for the hack club defector event 100% locally. Gone are the days of uploading your bot to the defector website just to see if there is a bug! Now you can test your bot locally, even against the top 20 leaderboard bots! This project made me relearn python, and also learn a bit about the internal workings of javascript, and most importantly, taught me how to publish a python package to PyPi. If you want to try out Reactor for yourself, download it with pip install reactor_mindstormpro3 or check out my github for more instructions! once downloaded all you gotta do is restart your terminal and run Reactor in it to start it up!", "repo": "https://github.com/mindstormpro/Reactor", "demo": "https://pypi.org/project/reactor-mindstormpro3/"}]...
|
[{"post_id": 76056, "ts": "202 [{"post_id": 76056, "ts": "2026-10-02T06:46:33Z", "hours": 0.5822, "text": "REACTOR DEVLOG #3.5! This is a very speedy devlog, since it’s only like 30 mins of bugfixing so I can reship, but Ill give some details: So basically, when I wrote the error handling in the last devlog, turns out I was trying to write to a dictionary (the bot’s data dictionary) without actually initializing it first, causing a silent crash. I just did a little switcharoo to move the init statement (which was right after ) to run first and now it works fine! I also just added some more error logging with the textual notification system in case something goes wrong and bumped up the PyPi python package version to 1.0.4 instead of 1.0.3 . Also, for the shipwrights, I just want to clarify that it only loads files if they are .js or if they have no extension at all, so no .txt or any other file."}, {"post_id": 75267, "ts": "2026-09-29T16:26:12Z", "hours": 1.5125, "text": "Reactor Devlog #3! Hello guys! Ive been a little busy the past week, but I finally got around to making some progress, and so here’s what I have to show for it: WE’RE ON PYPI! I managed to upload Reactor to pypi under the name reactor_mindstormpro3 ( Check it out here! ) It took a while to get everything set up but basically I just used hatchling to build and twine to upload, with a pyproject.toml I borrowed from some guide and modified to require some dependencies like py_mini_racer . ( Hippity Hoppity Your Code Is Now My Property ) A Lot of Bug Fixing And Changes! I fixed the following issues: Invalid bots that throw errors when loaded now throw an error as a push notification but doesnt crash the app. Made refreshing more reliable Moved loading bots at boot to a separate thread to not impair loading time of the app."}, {"post_id": 71867, "ts": "2026-09-21T17:52:41Z", "hours": 3.9761, "text": "Reactor Devlog #2! What changed? A lot has happened since my last devlog! I locked in and implemented a bunch of new features, such as: error handling!!! a WORKING request system to fetch the latest reactor bots to test your bot against A bot selector system to add any bot in the CWD or sub-directories into the runner, so you can test your own bot! Better UI!! Woah thats a lot of changes, lemme break it down… First, the Error Handling! This one is kinda the most self-explanitory. Basically, The mini_racer engine for python uses an old version of javascript, so some features, like table.at() isnt supported. For table.at() I just added a filler script to the front of the src that defines it, but I can’t realistically catch everything so I a segment in the loading of the bot that runs the code once and checks for a crash or parsing error from the engine and if it fails then it doesn’t import the bot into the bot table. (AI wrote the filler script, but I originally found the bug and also made the error handling section) Secondly, The Request System! The request system is arguably the coolest part of this project, but I feel obligated to also explain that some of the request system was assisted by AI (meaning that AI wrote code, I read it, and then reimplemented it with the same general idea) and also ai DID write the leaderboard grabber which just grabs all of the bots’ id’s that I can use to find their links and grab the src, but ONLY the leaderboard parser, not the bot page parser. Ok, with that out of the way, how does this really work? well basically I take and parse the current leaderboard stream at defector.hackclub.com/_app/remote/1jsclqx/leaderboardData . Then with that info, I manually take the bot IDs given with that and shove them into this template: https://defector.hackclub.com/bot/(bot ID here) . That spits out an HTML page, so I use BeautifulSoup to parse it with this absolute horror of a line: BeautifulSoup(response.text, \"html.parser\").find_all(\"pre\")[-1].get_text() and extract the source code, before writing them into a file in the botCache folder in the CWD. Then I load the file as normal, just like any other bot. Thirdly, The Bot Selection System! The bot selection system works by just replacing the normal leaderboard widget with a DirectoryTree widget and then setting it to show the current working directory, or CWD. I then use a custom sorter script to show only folders and .js files. whenever a JS script is clicked, it just imports it as a normal bot. Finally, we have UI Improvements! I added zebra tiling to the leaderboard to make it more readable, made buttons disable themselves during certain actions like disabling the run button when refreshing, and fixed a few little UI bugs. What’s Next? well after this I’m going to try to ship, with only 9 days left in Stardance. I Just need to package it with PyPi and I’m done!"}, {"post_id": 65635, "ts": "2026-09-10T21:54:24Z", "hours": 6.5558, "text": "Reactor Devlog 1! Wait…. So what is Reactor? Reactor is a tool to test bots made for Defector without having to publish your bot to the website and go through all that hassle. What I’ve done in the first 6 hours Installed mini_racer for python and wrote a basic function to take a .js script and run the bot function inside it. Fixed a but with mini_racer lacking array.at() due to mini_racer using an outdated version of js by just defining it myself :) Learned the basics of Textual for making TUIs in python Made a cool TUI that allows you to start the reactor and then shows the statistics of the sim in a table. (see attached image) fixed some misc bugs Ok, now how does it actually work? So basically, whenever I want to to play two bots against each other, I define a new mini_racer context with a modified version of their src (changed the export default with export default\", \"globalThis.botFunc = because otherwise mini_racer wouldnt be able to see it, and added a polyfill to the front of the script to define table.prototype.at() ) and then evaluate the bot () function for both bots and simulate a match between them! I then just made a function to loop through each possible robot matchup and run the game of 100-150 rounds, and then delegated the whole thing to a thread so the UI could still render while it runs. So What’s next? Add the ability to get the bots on the leaderboard and play against them Make some more simple bots add misc features like better UI and the ability to select extra bots to add instead of just ones in the cache folder See Ya Later! - Elio :3"}]...
|
Title: REACTOR by @mindstormpro3 | Stardance
Devl Title: REACTOR by @mindstormpro3 | Stardance
Devlogs:
Reactor Devlog 1! Wait…. So what is Reactor? Reactor is a tool to test bots made for Defector without having to publish your bot to the website and go through all that hassle. What I’ve done in the first 6 hours Installed mini_racer for python and wrote a basic function to take a .js script and run the bot function inside it. Fixed a but with mini_racer lacking array.at() due to mini_racer using an outdated version of js by just defining it myself :) Learned the basics of Textual for making TUIs in python Made a cool TUI that allows you to start the reactor and then shows the statistics of the sim in a table. (see attached image) fixed some misc bugs Ok, now how does it actually work? So basically, whenever I want to to play two bots against each other, I define a new mini_racer context with a modified version of their src (changed the export default with export default", "globalThis.botFunc = because otherwise mini_racer wouldnt be able to see it, and added a polyfill to the front of the script to define table.prototype.at() ) and then evaluate the bot () function for both bots and simulate a match between them! I then just made a function to loop through each possible robot matchup and run the game of 100-150 rounds, and then delegated the whole thing to a thread so the UI could still render while it runs. So What’s next? Add the ability to get the bots on the leaderboard and play against them Make some more simple bots add misc features like better UI and the ability to select extra bots to add instead of just ones in the cache folder See Ya Later! - Elio :3
Reactor Devlog #2! What changed? A lot has happened since my last devlog! I locked in and implemented a bunch of new features, such as: error handling!!! a WORKING request system to fetch the latest reactor bots to test your bot against A bot selector system to add any bot in the CWD or sub-directories into the runner, so you can test your own bot! Better UI!! Woah thats a lot of changes, lemme break it down… First, the Error Handling! This one is kinda the most self-explanitory. Basically, The mini_racer engine for python uses an old version of javascript, so some features, like table.at() isnt supported. For table.at() I just added a filler script to the front of the src that defines it, but I can’t realistically catch everything so I a segment in the loading of the bot that runs the code once and checks for a crash or parsing error from the engine and if it fails then it doesn’t import the bot into the bot table. (AI wrote the filler script, but I originally found the bug and also made the error handling section) Secondly, The Request System! The request system is arguably the coolest part of this project, but I feel obligated to also explain that some of the request system was assisted by AI (meaning that AI wrote code, I read it, and then reimplemented it with the same general idea) and also ai DID write the leaderboard grabber which just grabs all of the bots’ id’s that I can use to find their links and grab the src, but ONLY the leaderboard parser, not the bot page parser. Ok, with that out of the way, how does this really work? well basically I take and parse the current leaderboard stream at defector.hackclub.com/_app/remote/1jsclqx/leaderboardData . Then with that info, I manually take the bot IDs given with that and shove them into this template: https://defector.hackclub.com/bot/(bot ID here) . That spits out an HTML page, so I use BeautifulSoup to parse it with this absolute horror of a line: BeautifulSoup(response.text, "html.parser").find_all("pre")[-1].get_text() and extract the source code, before writing them into a file in the botCache folder in the CWD. Then I load the file as normal, just like any other bot. Thirdly, The Bot Selection System! The bot selection system works by just replacing the normal leaderboard widget with a DirectoryTree widget and then setting it to show the current working directory, or CWD. I then use a custom sorter script to show only folders and .js files. whenever a JS script is clicked, it just imports it as a normal bot. Finally, we have UI Improvements! I added zebra tiling to the leaderboard to make it more readable, made buttons disable themselves during certain actions like disabling the run button when refreshing, and fixed a few little UI bugs. What’s Next? well after this I’m going to try to ship, with only 9 days left in Stardance. I Just need to package it with PyPi and I’m done!
Reactor Devlog #3! Hello guys! Ive been a little busy the past week, but I finally got around to making some progress, and so here’s what I have to show for it: WE’RE ON PYPI! I managed to upload Reactor to pypi under the name reactor_mindstormpro3 ( Check it out here! ) It took a while to get everything set up but basically I just used hatchling to build and twine to upload, with a pyproject.toml I borrowed from some guide and modified to require some dependencies like py_mini_racer . ( Hippity Hoppity Your Code Is Now My Property ) A Lot of Bug Fixing And Changes! I fixed the following issues: Invalid bots that throw errors when loaded now throw an error as a push notification but doesnt crash the app. Made refreshing more reliable Moved loading bots at boot to a separate thread to not impair loading time of the app.
REACTOR DEVLOG #3.5! This is a very speedy devlog, since it’s only like 30 mins of bugfixing so I can reship, but Ill give some details: So basically, when I wrote the error handling in the last devlog, turns out I was trying to write to a dictionary (the bot’s data dictionary) without actually initializing it first, causing a silent crash. I just did a little switcharoo to move the init statement (which was right after ) to run first and now it works fine! I also just added some more error logging with the textual notification system in case something goes wrong and bumped up the PyPi python package version to 1.0.4 instead of 1.0.3 . Also, for the shipwrights, I just want to clarify that it only loads files if they are .js or if they have no extension at all, so no .txt or any other file.
Ships:
Reactor is a special python TUI tool for running bots made for the hack club defector event 100% locally. Gone are the days of uploading your bot to the defector website just to see if there is a bug! Now you can test your bot locally, even against the top 20 leaderboard bots! This project made me relearn python, and also learn a bit about the internal workings of javascript, and most importantly, taught me how to publish a python package to PyPi. If you want to try out Reactor for yourself, download it with pip install reactor_mindstormpro3 or check out my github for more instructions! once downloaded all you gotta do is restart your terminal and run Reactor in it to start it up!...
|
1793206292.982315
|
1793292692.982315
|
|
45946
|
Digital Library by @Anshhh | Stardance
|
Anshhh
|
1
|
6.0
|
22
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-02T06:48:25Z", "hours": 6.0, "multiplier": 3.43, "payout": 22, "blessing": "neutral", "text": "I created a digital catalogue for my library, where students could search if the book they want is available in the library and if its issued or not at the moment. Adding the search and filter function was new to me, and was fun to create.", "repo": "https://github.com/Mai-Anshhh/digi_library", "demo": "https://mai-anshhh.github.io/digi_library/"}]...
|
[{"post_id": 76053, "ts": "202 [{"post_id": 76053, "ts": "2026-10-02T06:43:15Z", "hours": 0.4328, "text": "I wrapped up the project today, Also I archived the book specific page and admin page, I got busy with some other projects and wasn’t able to work on this one, so now I am just clearing it up so it can be used as a display for now and the status of books could be changed through the codebase, I will update this with my library’s actual catalogue after they agree to it."}, {"post_id": 43853, "ts": "2026-08-09T09:17:20Z", "hours": 6.0394, "text": "A library? Made a base for the website, added some “tags” which can be used to filter out genre of books you are looking for, and a search bar where you search (XD) For books, I have added these cards with all the needed details for them, a short desc, author’s name and is the book is available or not right now (main purpose of the website) Right now if I have to add new books or change availability or do any changes in them, I need to edit it in the json file where it is all stored T0T To solve that, I am adding an admin page, through which editing each card could get way easier… Also after that I am planning to make a seperate page for each book, I will add a book.html and update the content for each book through js. I was initially shipping this project to Horizons but now imma do it here :3"}]...
|
Title: Digital Library by @Anshhh | Stardance
Dev Title: Digital Library by @Anshhh | Stardance
Devlogs:
A library? Made a base for the website, added some “tags” which can be used to filter out genre of books you are looking for, and a search bar where you search (XD) For books, I have added these cards with all the needed details for them, a short desc, author’s name and is the book is available or not right now (main purpose of the website) Right now if I have to add new books or change availability or do any changes in them, I need to edit it in the json file where it is all stored T0T To solve that, I am adding an admin page, through which editing each card could get way easier… Also after that I am planning to make a seperate page for each book, I will add a book.html and update the content for each book through js. I was initially shipping this project to Horizons but now imma do it here :3
I wrapped up the project today, Also I archived the book specific page and admin page, I got busy with some other projects and wasn’t able to work on this one, so now I am just clearing it up so it can be used as a display for now and the status of books could be changed through the codebase, I will update this with my library’s actual catalogue after they agree to it.
Ships:
I created a digital catalogue for my library, where students could search if the book they want is available in the library and if its issued or not at the moment. Adding the search and filter function was new to me, and was fun to create....
|
1793346681.8608203
|
1793433081.8608203
|
|
67402
|
personality quiz by @decaydelirium | Stardance
|
decaydelirium
|
0
|
0.93
|
0
|
[]
|
[{"post_id": 76048, "ts": "202 [{"post_id": 76048, "ts": "2026-10-02T05:45:18Z", "hours": 0.9308, "text": "Hey guys, Working on this, I’ve realized how repetitive the code can be. I’ve used methods to print out the answer choices automatically without manually writing the code, however, I’m stuck on how to asses the answer choices I’ll figure that out tomorrow, I’m heading to bed Anyway, that’s all peace"}]...
|
Title: personality quiz by @decaydelirium | Starda Title: personality quiz by @decaydelirium | Stardance
Devlogs:
Hey guys, Working on this, I’ve realized how repetitive the code can be. I’ve used methods to print out the answer choices automatically without manually writing the code, however, I’m stuck on how to asses the answer choices I’ll figure that out tomorrow, I’m heading to bed Anyway, that’s all peace...
|
1793109202.3974981
|
1793714002.3974981
|
|
63330
|
EvergreenTab by @kas_kadiia | Stardance
|
kas_kadiia
|
1
|
9.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-02T05:10:55Z", "hours": 9.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I created a nature-themed new tab page. This new tab page is functional with: a search bar, the ability to choose a different engine, five shortcuts, and local time and date. There is also an hourly change in background through the Pexels API filtered by greenery. What was most challenging is the integration of an API midway through the project and having to deal with Vite’s installation. But after nine hours, I created a functional product that I think looks pleasing, which I am happy with.", "repo": "https://github.com/kaskadiia/EvergreenTab", "demo": "https://kaskadiia.github.io/EvergreenTab/"}]...
|
[{"post_id": 76044, "ts": "202 [{"post_id": 76044, "ts": "2026-10-02T05:02:18Z", "hours": 1.5044, "text": "Devlog #5 This one is probably going to be a bit of a mess. Firstly, I spent time adjusting the CSS styles to look more pleasing. Then, I had to figure out why the API didn’t work on GitHub Pages, and the solution was simply just reading the guide!!! I should do that more. Then the images were failing to load in GitHub Pages, which required further debugging. The last thing I made were five shortcuts relevant to me, and probably others too if I had to guess."}, {"post_id": 74594, "ts": "2026-09-27T18:18:07Z", "hours": 4.1072, "text": "Devlog #4 Figuring out APIs took a long time as this is my first time using one and using Vite… Before all of that, I spent almost an hour changing the search button to an icon and wondering why it was misaligning the search engine selector and search bar, and then I added the foundation for a settings menu. Now over three hours were spent on figuring out Pexels API. I installed Vite midway through this project, so I had to sift through what was unnecessary. Okay, then came the image API. I bounced between Unsplash and Pexels and landed with Pexels. I had no clue how to integrate an API key at this point, so that took me a long time. Actually getting fetching images to work was a hell of a lot of debugging on my own. Eventually I got it to work after a lot of time… I decided to make the background images randomized per hour, but for now it is per minute for testing. I will need to adjust styles further later. It’s also bugged with the GitHub Pages deployment, so I’ll need to figure that out too… oh well."}, {"post_id": 73463, "ts": "2026-09-25T04:26:59Z", "hours": 1.7553, "text": "Devlog #3 I burned an hour and 45 minutes on making the search engines switchable… :D I spent around an hour trying to make a functioning drop down menu, first with CSS :hover pseudo-class but to no avail, before moving to a button with JS to toggle it. Then I had to fight the positioning for maybe ten minutes. Getting it to work was much easier, but still took me some time as I needed to figure out how I could more easily add click event listeners to all options without separately getting each element. I’ll add more engines later, but I want to make a shortcut dock for preferred or most visited sites next."}, {"post_id": 72931, "ts": "2026-09-24T02:09:51Z", "hours": 1.1658, "text": "Devlog #2 I spent time adding CSS styles to the search bar and added a clock. I experimented with more pseudo-classes so that there is a slight glow effect when you select or hover over the search buttons. The clock was simple but the first JS I used in this project. I also added another font to use for the time and search bar text itself, still using Google Fonts."}, {"post_id": 72062, "ts": "2026-09-22T03:11:08Z", "hours": 0.7683, "text": "A nature-themed New Tab page I’m now working on the New Tab mission. I have started with making a basic search query that does function along with a basic design. It took me some time to figure out how to make the search bar actually work, all because I put name=\"q\" in the wrong place… I decided to experiment with custom fonts using the Google Font API. I spent some time trying to figure out how to get it to work with a .ttf file and other ways, before I realized how Google makes it very simple by providing the HTML links."}]...
|
Title: EvergreenTab by @kas_kadiia | Stardance
De Title: EvergreenTab by @kas_kadiia | Stardance
Devlogs:
A nature-themed New Tab page I’m now working on the New Tab mission. I have started with making a basic search query that does function along with a basic design. It took me some time to figure out how to make the search bar actually work, all because I put name="q" in the wrong place… I decided to experiment with custom fonts using the Google Font API. I spent some time trying to figure out how to get it to work with a .ttf file and other ways, before I realized how Google makes it very simple by providing the HTML links.
Devlog #2 I spent time adding CSS styles to the search bar and added a clock. I experimented with more pseudo-classes so that there is a slight glow effect when you select or hover over the search buttons. The clock was simple but the first JS I used in this project. I also added another font to use for the time and search bar text itself, still using Google Fonts.
Devlog #3 I burned an hour and 45 minutes on making the search engines switchable… :D I spent around an hour trying to make a functioning drop down menu, first with CSS :hover pseudo-class but to no avail, before moving to a button with JS to toggle it. Then I had to fight the positioning for maybe ten minutes. Getting it to work was much easier, but still took me some time as I needed to figure out how I could more easily add click event listeners to all options without separately getting each element. I’ll add more engines later, but I want to make a shortcut dock for preferred or most visited sites next.
Devlog #4 Figuring out APIs took a long time as this is my first time using one and using Vite… Before all of that, I spent almost an hour changing the search button to an icon and wondering why it was misaligning the search engine selector and search bar, and then I added the foundation for a settings menu. Now over three hours were spent on figuring out Pexels API. I installed Vite midway through this project, so I had to sift through what was unnecessary. Okay, then came the image API. I bounced between Unsplash and Pexels and landed with Pexels. I had no clue how to integrate an API key at this point, so that took me a long time. Actually getting fetching images to work was a hell of a lot of debugging on my own. Eventually I got it to work after a lot of time… I decided to make the background images randomized per hour, but for now it is per minute for testing. I will need to adjust styles further later. It’s also bugged with the GitHub Pages deployment, so I’ll need to figure that out too… oh well.
Devlog #5 This one is probably going to be a bit of a mess. Firstly, I spent time adjusting the CSS styles to look more pleasing. Then, I had to figure out why the API didn’t work on GitHub Pages, and the solution was simply just reading the guide!!! I should do that more. Then the images were failing to load in GitHub Pages, which required further debugging. The last thing I made were five shortcuts relevant to me, and probably others too if I had to guess.
Ships:
I created a nature-themed new tab page. This new tab page is functional with: a search bar, the ability to choose a different engine, five shortcuts, and local time and date. There is also an hourly change in background through the Pexels API filtered by greenery. What was most challenging is the integration of an API midway through the project and having to deal with Vite’s installation. But after nine hours, I created a functional product that I think looks pleasing, which I am happy with....
|
1793213282.7921953
|
1793299682.7921953
|
|
6789
|
The Flying Card! by @miranda | Stardance
|
miranda
|
0
|
4.28
|
0
|
[]
|
[{"post_id": 76031, "ts": "202 [{"post_id": 76031, "ts": "2026-10-02T03:43:04Z", "hours": 1.6297, "text": "Time for the game! Learned basic Unity 2D & 3D, embeded the First Sight Starter Asset and created a basic background with textures."}, {"post_id": 73806, "ts": "2026-09-26T01:47:29Z", "hours": 0.6397, "text": "Tested out the force and angle needed when flying a card, added buzzing sound to the card-flying movement."}, {"post_id": 63307, "ts": "2026-09-07T01:54:29Z", "hours": 2.0133, "text": "Finished the hardware part 1.0 of the handle"}]...
|
Title: The Flying Card! by @miranda | Stardance
D Title: The Flying Card! by @miranda | Stardance
Devlogs:
Finished the hardware part 1.0 of the handle
Tested out the force and angle needed when flying a card, added buzzing sound to the card-flying movement.
Time for the game! Learned basic Unity 2D & 3D, embeded the First Sight Starter Asset and created a basic background with textures....
|
1793382802.0973647
|
1793987602.0973647
|
|
66962
|
BLOG BATCH (by OS) by @TXJ_PROGRAMER | Stardance
|
TXJ_PROGRAMER
|
0
|
3.47
|
0
|
[]
|
[{"post_id": 76030, "ts": "202 [{"post_id": 76030, "ts": "2026-10-02T03:40:37Z", "hours": 2.4669, "text": "Dev Vlog #2 — Built the Blog Page! Hey everyone, welcome back to another BLOG BATCH update! This time I started working on the Blog page . I added a proper blog section where users can browse blog posts and open them to read the full article. Some code to make the blog post structure work, like: const post = { title : \" Building My First Next.js Project \" , category : \" Development \" , description : \" What I learned while building my first project with Next.js. \" , content : \" ... \" , }; I also added a separate page for the actual blog post so it doesn’t just show everything on the main blog page. There are still a lot of things I want to improve, but the basic blog page and first post are working now"}, {"post_id": 75515, "ts": "2026-09-30T10:36:45Z", "hours": 0.9986, "text": "Dev Vlog #1 — Started BLOG BATCH! Hey everyone, welcome to the first BLOG BATCH update! This time I started working on my own blogging platform, BLOG BATCH. For now, I have mainly been working on the home page and getting the basic Next.js project structure set up. I wanted the homepage to have a clean developer-focused design, with sections for the latest articles, featured content, and navigation. Some basic code for the homepage looks like: export default function Home () { return ( < main className = \"min-h-screen bg-zinc-950 text-white\" > < nav > < Link href = \"/\" > BLOG < span className = \"text-blue-500\" > BATCH </ span > </ Link > </ nav > < section > < h1 > Build. < br /> Learn. < br /> < span > Share. </ span > </ h1 > < p > A place for developers, makers, and curious minds to learn, experiment, and share what they build. </ p > </ section > </ main > ); } The homepage is looking pretty good so far, but there is still a LOT left to build. I haven’t finished the blog system, accounts, posting, editing, deleting, or all the other features yet. For now, I’m just focusing on getting the foundation and design right before moving on to the bigger features. It’s only the beginning, but BLOG BATCH is officially started! 😋🔥 bye…."}]...
|
Title: BLOG BATCH (by OS) by @TXJ_PROGRAMER | Star Title: BLOG BATCH (by OS) by @TXJ_PROGRAMER | Stardance
Devlogs:
Dev Vlog #1 — Started BLOG BATCH! Hey everyone, welcome to the first BLOG BATCH update! This time I started working on my own blogging platform, BLOG BATCH. For now, I have mainly been working on the home page and getting the basic Next.js project structure set up. I wanted the homepage to have a clean developer-focused design, with sections for the latest articles, featured content, and navigation. Some basic code for the homepage looks like: export default function Home () { return ( < main className = "min-h-screen bg-zinc-950 text-white" > < nav > < Link href = "/" > BLOG < span className = "text-blue-500" > BATCH </ span > </ Link > </ nav > < section > < h1 > Build. < br /> Learn. < br /> < span > Share. </ span > </ h1 > < p > A place for developers, makers, and curious minds to learn, experiment, and share what they build. </ p > </ section > </ main > ); } The homepage is looking pretty good so far, but there is still a LOT left to build. I haven’t finished the blog system, accounts, posting, editing, deleting, or all the other features yet. For now, I’m just focusing on getting the foundation and design right before moving on to the bigger features. It’s only the beginning, but BLOG BATCH is officially started! 😋🔥 bye….
Dev Vlog #2 — Built the Blog Page! Hey everyone, welcome back to another BLOG BATCH update! This time I started working on the Blog page . I added a proper blog section where users can browse blog posts and open them to read the full article. Some code to make the blog post structure work, like: const post = { title : " Building My First Next.js Project " , category : " Development " , description : " What I learned while building my first project with Next.js. " , content : " ... " , }; I also added a separate page for the actual blog post so it doesn’t just show everything on the main blog page. There are still a lot of things I want to improve, but the basic blog page and first post are working now...
|
1793105466.161497
|
1793710266.161497
|
|
56644
|
स्याउOS by @Kantarajluitel | Stardance
|
Kantarajluitel
|
1
|
22.79
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-03T02:23:16Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Project Name: स्याउ OS (Syau OS) Creator: Kantaraj Luitel (Susant) Mission Guidelines Confirmation: Working Webpage with Draggable Windows: Full client-side desktop environment with multi-window support. Windows support 8 direction resizing, dragging, minimize, maximize, and z-index depth stacking. Original & Distinct Design: Custom visual identity combining bilingual typography (Noto Sans Devanagari + Space Grotesk + Inter) with a glassmorphism aesthetic. Features dual Dark and White Light themes, dynamic particle boot sequence with a Web Audio API chime, and canvas-based cursor trail. Devlogs (3+ Included): Embedded native “Devlogs” application inside the OS covering: Devlog 1: Architecture, Windowing Mathematics, and Non-blocking State. Devlog 2: Dual Light/Dark Theme Engine & Bilingual Typography Integration. Devlog 3: Canvas Performance, Responsive Layouts, and Mobile Adaptations. Unique Features Beyond the Guide: Pixel Cat Desktop Pet: Interactive canvas sprite with animation states (walk, idle, sleep, happy, blink) following the cursor. Custom Terminal Shell (syau-sh): Over 20 interactive commands including neofetch, matrix, cowsay, weather, and easter eggs. Embedded Spotify Music Player Hub with curated genres and custom link loader. Spotlight Search (Cmd+K / Ctrl+K), canvas-rendered analog clock widget, and Bikram Sambat date converter. Accessibility: No passwords or authentication walls; all applications and features are immediately accessible to test.", "repo": "https://github.com/susantedit/shayu-OS", "demo": "https://shyau.vercel.app/"}]...
|
[{"post_id": 76018, "ts": "202 [{"post_id": 76018, "ts": "2026-10-02T02:26:52Z", "hours": 1.8689, "text": "I broke down the stylesheet from one big file into clean, modular CSS files per component and app (src/styles/ and component-level CSS files like BaghChal.css, SyauType.css, FocusAudio.css). Removed redundant rules and cleaned up the class structure. Ready for re-review!"}, {"post_id": 72569, "ts": "2026-09-23T07:54:47Z", "hours": 3.9692, "text": "updates 3 feature for web os 2 1Handcrafted Vanilla CSS Window Manager 2Nepali Cultural Tools and Games 3coode editor"}, {"post_id": 67482, "ts": "2026-09-13T16:28:24Z", "hours": 6.3981, "text": "Wasted too much time on this i added nepali things convertor also go check it out cursor i added is just a image that i love and use on my pc always if you feel bad with it you can change it on the site :( sorry for late submission i was quiet busy and done this week now"}, {"post_id": 62576, "ts": "2026-09-06T01:19:07Z", "hours": 0.5533, "text": "UPdated the site in own taste"}, {"post_id": 60139, "ts": "2026-09-02T10:01:27Z", "hours": 8.3356, "text": "Shipped स्याउ OS (Syau OS) v1.3 for the WebOS Jam! 🚀 I wanted to make a web OS that feels alive, developer-friendly, and authentic to Nepal 🇳🇵. Here is what is new in v1.3: What I Built: • Syau Studio — Live in-browser Web IDE (HTML/CSS/JS sandbox with hot-reloading & retro templates) • Meo (स्याउ साथी) — AI OS Copilot (Groq Llama 3.3 / Gemini) + an interactive desktop pixel cat you can pet! • स्याउ Capture Studio — Screen recorder, canvas snip & markup tool, photo booth filters, and Web Audio waveform memo • Hardware Telemetry — Real battery status, power modes, and live Cloudflare DNS ping testing • Dual Theme Engine — Dark Glass & White Light mode + Nepali Bikram Sambat (BS) date converter • 100% Mobile Responsive — Works smoothly on phones, tablets, and desktops! Built with React 19, TypeScript, Vite, Tailwind CSS, Zustand & Framer Motion. Check it out on GitHub: https://github.com/susantedit/shayu-OS"}, {"post_id": 58805, "ts": "2026-08-31T12:01:56Z", "hours": 0.3556, "text": "🚀 Devlog #2: Making स्याउ OS Fully Responsive Across Web, Tablets & Mobile! 💡 The Big Update Simulating a full desktop operating system inside a browser comes with a major challenge: desktop windowing systems are typically built for large monitors and mouse pointers. But we know hackathon judges, contributors, and friends often open projects directly on smartphones, iPads, and split screens . Today, we officially rolled out v1.1.0-responsive , making स्याउ OS (Syau OS) adapt seamlessly across any device while keeping its signature frosted glass aesthetic and fluid Devanagari typography intact! 📱 What We Built & Optimized 1. 🪟 Adaptive Viewport Clamping & Auto-Maximized Windows On small screens (<768px), windows automatically adapt their width ( calc(100vw - 16px) ) and auto-maximize to fit the viewport. Bounding boxes are clamped so window titlebars and close controls never get pushed off-screen. 2. 🌊 Touch-Optimized Floating Dock Dock icons dynamically scale down and adjust spacing on smaller screens. Added smooth horizontal scroll with hidden scrollbars for mobile screens with high app density. Enlarged hitboxes so icons are easy to tap with a finger. 3. ⏱️ Responsive TopBar & Nepali BS Calendar Re-architected TopBar flex priorities: keeps the स्याउ OS brand logo, live Bikram Sambat (२०८३ BS) date widget, and Dark/Light mode switcher cleanly visible without overflowing on narrow screens. 4. 🍱 Fluid Bento Grids Across All Native Apps Creator Profile App (Kantaraj Luitel / Susant) : Bio, certifications, and Buy Me a Coffee button seamlessly collapse into single-column cards on phones. Drive Photo Gallery : 33 photos now arrange into an adaptive responsive masonry grid with touch-friendly lightbox previews. Devlog Viewer & Settings : Left sidebar and detail panes switch to a mobile-friendly view. 🛠️ Tech Stack & Implementation Highlights Framework : React 18 + TypeScript + Vite Styling : Tailored CSS Glassmorphism + Dynamic CSS Variables (Dark & Light White mode) State & Motion : Zustand + Framer Motion (touch drag bounds clamping) Typography : Noto Sans Devanagari 600 ( स्याउ ) + Space Grotesk 700 ( OS ) + Inter 👉 Check it out live and try resizing your browser or opening it on your phone! 🎉"}, {"post_id": 58716, "ts": "2026-08-31T08:04:32Z", "hours": 1.7383, "text": "स्याउ OS is a fast, web-based desktop OS built with React, TypeScript & Framer Motion for Hack Club Stardance. Features a window manager with 4 workspaces, Spotify Hub (Nepali, Bhajan, Phonk playlists), interactive terminal, store apps, devlogs viewer, and dual themes. Created by Kantaraj Luitel (Susant) 🇳🇵."}]...
|
Title: स्याउOS by @Kantarajluitel | Stardance
Dev Title: स्याउOS by @Kantarajluitel | Stardance
Devlogs:
स्याउ OS is a fast, web-based desktop OS built with React, TypeScript & Framer Motion for Hack Club Stardance. Features a window manager with 4 workspaces, Spotify Hub (Nepali, Bhajan, Phonk playlists), interactive terminal, store apps, devlogs viewer, and dual themes. Created by Kantaraj Luitel (Susant) 🇳🇵.
🚀 Devlog #2: Making स्याउ OS Fully Responsive Across Web, Tablets & Mobile! 💡 The Big Update Simulating a full desktop operating system inside a browser comes with a major challenge: desktop windowing systems are typically built for large monitors and mouse pointers. But we know hackathon judges, contributors, and friends often open projects directly on smartphones, iPads, and split screens . Today, we officially rolled out v1.1.0-responsive , making स्याउ OS (Syau OS) adapt seamlessly across any device while keeping its signature frosted glass aesthetic and fluid Devanagari typography intact! 📱 What We Built & Optimized 1. 🪟 Adaptive Viewport Clamping & Auto-Maximized Windows On small screens (<768px), windows automatically adapt their width ( calc(100vw - 16px) ) and auto-maximize to fit the viewport. Bounding boxes are clamped so window titlebars and close controls never get pushed off-screen. 2. 🌊 Touch-Optimized Floating Dock Dock icons dynamically scale down and adjust spacing on smaller screens. Added smooth horizontal scroll with hidden scrollbars for mobile screens with high app density. Enlarged hitboxes so icons are easy to tap with a finger. 3. ⏱️ Responsive TopBar & Nepali BS Calendar Re-architected TopBar flex priorities: keeps the स्याउ OS brand logo, live Bikram Sambat (२०८३ BS) date widget, and Dark/Light mode switcher cleanly visible without overflowing on narrow screens. 4. 🍱 Fluid Bento Grids Across All Native Apps Creator Profile App (Kantaraj Luitel / Susant) : Bio, certifications, and Buy Me a Coffee button seamlessly collapse into single-column cards on phones. Drive Photo Gallery : 33 photos now arrange into an adaptive responsive masonry grid with touch-friendly lightbox previews. Devlog Viewer & Settings : Left sidebar and detail panes switch to a mobile-friendly view. 🛠️ Tech Stack & Implementation Highlights Framework : React 18 + TypeScript + Vite Styling : Tailored CSS Glassmorphism + Dynamic CSS Variables (Dark & Light White mode) State & Motion : Zustand + Framer Motion (touch drag bounds clamping) Typography : Noto Sans Devanagari 600 ( स्याउ ) + Space Grotesk 700 ( OS ) + Inter 👉 Check it out live and try resizing your browser or opening it on your phone! 🎉
Shipped स्याउ OS (Syau OS) v1.3 for the WebOS Jam! 🚀 I wanted to make a web OS that feels alive, developer-friendly, and authentic to Nepal 🇳🇵. Here is what is new in v1.3: What I Built: • Syau Studio — Live in-browser Web IDE (HTML/CSS/JS sandbox with hot-reloading & retro templates) • Meo (स्याउ साथी) — AI OS Copilot (Groq Llama 3.3 / Gemini) + an interactive desktop pixel cat you can pet! • स्याउ Capture Studio — Screen recorder, canvas snip & markup tool, photo booth filters, and Web Audio waveform memo • Hardware Telemetry — Real battery status, power modes, and live Cloudflare DNS ping testing • Dual Theme Engine — Dark Glass & White Light mode + Nepali Bikram Sambat (BS) date converter • 100% Mobile Responsive — Works smoothly on phones, tablets, and desktops! Built with React 19, TypeScript, Vite, Tailwind CSS, Zustand & Framer Motion. Check it out on GitHub: https://github.com/susantedit/shayu-OS
UPdated the site in own taste
Wasted too much time on this i added nepali things convertor also go check it out cursor i added is just a image that i love and use on my pc always if you feel bad with it you can change it on the site :( sorry for late submission i was quiet busy and done this week now
updates 3 feature for web os 2 1Handcrafted Vanilla CSS Window Manager 2Nepali Cultural Tools and Games 3coode editor
I broke down the stylesheet from one big file into clean, modular CSS files per component and app (src/styles/ and component-level CSS files like BaghChal.css, SyauType.css, FocusAudio.css). Removed redundant rules and cleaned up the class structure. Ready for re-review!
Ships:
Project Name: स्याउ OS (Syau OS) Creator: Kantaraj Luitel (Susant) Mission Guidelines Confirmation: Working Webpage with Draggable Windows: Full client-side desktop environment with multi-window support. Windows support 8 direction resizing, dragging, minimize, maximize, and z-index depth stacking. Original & Distinct Design: Custom visual identity combining bilingual typography (Noto Sans Devanagari + Space Grotesk + Inter) with a glassmorphism aesthetic. Features dual Dark and White Light themes, dynamic particle boot sequence with a Web Audio API chime, and canvas-based cursor trail. Devlogs (3+ Included): Embedded native “Devlogs” application inside the OS covering: Devlog 1: Architecture, Windowing Mathematics, and Non-blocking State. Devlog 2: Dual Light/Dark Theme Engine & Bilingual Typography Integration. Devlog 3: Canvas Performance, Responsive Layouts, and Mobile Adaptations. Unique Features Beyond the Guide: Pixel Cat Desktop Pet: Interactive canvas sprite with animation states (walk, idle, sleep, happy, blink) following the cursor. Custom Terminal Shell (syau-sh): Over 20 interactive commands including neofetch, matrix, cowsay, weather, and easter eggs. Embedded Spotify Music Player Hub with curated genres and custom link loader. Spotlight Search (Cmd+K / Ctrl+K), canvas-rendered analog clock widget, and Bikram Sambat date converter. Accessibility: No passwords or authentication walls; all applications and features are immediately accessible to test....
|
1792846552.2506664
|
1793710552.2506664
|
|
66080
|
Waseeby's site by @Waseeby | Stardance
|
Waseeby
|
1
|
4.64
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-26T22:02:50Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Made a super basic website about a few things about me, added navigation links, images, headers, and used HTML and CSS.", "repo": "https://github.com/Waseeby/the-web-of-DOOM", "demo": "https://waseeby.github.io/the-web-of-DOOM/#shenanigans"}]...
|
[{"post_id": 76015, "ts": "202 [{"post_id": 76015, "ts": "2026-10-02T01:51:36Z", "hours": 0.8933, "text": "Dev Log #3 : Its up and running!! Ok guys, my project got shipped and accepted, so with my hard earned 11 dollar grant, I got myself my domain, waseefali.com go check it out! It took a bit of struggle with cloudflare to get it to work ( mostly my ignorance ) but now its here for the public to see. First things first, things did NOT scale, so I did some tweaking with the HTML and scaled the boxs, as well as used allignment to make it SO much better. Next, I added a few boxes about me, changed the titles, and added bullet points! These bullet points took me like 10 minutes for some reason. After nearly failing my math quiz because of working on this, what did i do next, of course im risking my chemistry quiz to tweak this! Kind of a problem, but not here! Now, this actually feels like a site, you get info from me, and next time, there will be ALL the boxes, some ANIMATIONS ( hopefully ) loads of images, a few corny jokes, all held together by hopes and dreams."}, {"post_id": 75062, "ts": "2026-09-29T01:03:48Z", "hours": 1.7453, "text": "Dev log #2 Electric Boogaloo! The pretty stuff! After getting (not so ) BRUTALLY REJECTED, I decided to spruce things up. First things first, chopper. and oh boy was he hard to implement. With my awful skills and even worse efficiency, It took a hot minute for me to customize image size, fortunately, I got it ( barely ) so chopper is now a gif! Before, there was basically zero CSS, which I have to admit, made it the worst website in the world ( or close to it ) so I fiddled around with borders and colors ( which was suprisingly easy ) to make this resemble a website. The HTML was practically untouched compared to the CSS, which was COMPLETELY revamped ( a bit of a dramatization), and everything is more organized in general, feel free to take a look . PLEASE give me some constructive criticism. https://waseeby.github.io/the-web-of-DOOM/"}, {"post_id": 74194, "ts": "2026-09-26T21:59:11Z", "hours": 1.8756, "text": "First draft of my website!"}]...
|
Title: Waseeby's site by @Waseeby | Stardance
Title: Waseeby's site by @Waseeby | Stardance
Devlogs:
First draft of my website!
Dev log #2 Electric Boogaloo! The pretty stuff! After getting (not so ) BRUTALLY REJECTED, I decided to spruce things up. First things first, chopper. and oh boy was he hard to implement. With my awful skills and even worse efficiency, It took a hot minute for me to customize image size, fortunately, I got it ( barely ) so chopper is now a gif! Before, there was basically zero CSS, which I have to admit, made it the worst website in the world ( or close to it ) so I fiddled around with borders and colors ( which was suprisingly easy ) to make this resemble a website. The HTML was practically untouched compared to the CSS, which was COMPLETELY revamped ( a bit of a dramatization), and everything is more organized in general, feel free to take a look . PLEASE give me some constructive criticism. https://waseeby.github.io/the-web-of-DOOM/
Dev Log #3 : Its up and running!! Ok guys, my project got shipped and accepted, so with my hard earned 11 dollar grant, I got myself my domain, waseefali.com go check it out! It took a bit of struggle with cloudflare to get it to work ( mostly my ignorance ) but now its here for the public to see. First things first, things did NOT scale, so I did some tweaking with the HTML and scaled the boxs, as well as used allignment to make it SO much better. Next, I added a few boxes about me, changed the titles, and added bullet points! These bullet points took me like 10 minutes for some reason. After nearly failing my math quiz because of working on this, what did i do next, of course im risking my chemistry quiz to tweak this! Kind of a problem, but not here! Now, this actually feels like a site, you get info from me, and next time, there will be ALL the boxes, some ANIMATIONS ( hopefully ) loads of images, a few corny jokes, all held together by hopes and dreams.
Ships:
Made a super basic website about a few things about me, added navigation links, images, headers, and used HTML and CSS....
|
1793216882.9614546
|
1793303282.9614546
|
|
67368
|
AlgoLLM by @BlueScreen | Stardance
|
BlueScreen
|
0
|
0.48
|
0
|
[]
|
[{"post_id": 76007, "ts": "202 [{"post_id": 76007, "ts": "2026-10-02T00:56:06Z", "hours": 0.4847, "text": "Started designing the structure for the writing format."}]...
|
Title: AlgoLLM by @BlueScreen | Stardance
Devlogs Title: AlgoLLM by @BlueScreen | Stardance
Devlogs:
Started designing the structure for the writing format....
|
1793109137.4543252
|
1793713937.4543252
|
|
37093
|
Soundboard by @rishan | Stardance
|
rishan
|
0
|
8.41
|
0
|
[]
|
[{"post_id": 76004, "ts": "202 [{"post_id": 76004, "ts": "2026-10-02T00:50:39Z", "hours": 2.1114, "text": "So first I changed the C++ function a little and made it return the available capture device names in an array using the OpenPropertyStore function. Since now the function had a different return type I also had to change the wrapper for it so it would work in js. Then I created a dropdown in html. In main.js I had to make a call to IPCRenderer instead of it being the other way around which was new since I need the renderer to replace the dropdown options after the applications loaded in. I did all this so that when I create the virtual driver I know which capture device to take input from and combine the mp3 files with since it can’t use the default device since that would be the virtual driver itself."}, {"post_id": 75443, "ts": "2026-09-30T03:39:47Z", "hours": 2.6944, "text": "Ok so I started using the windows Core Audios APIs and learned how to read its documentation. Currently I’ve created only 1 function that enumerates all available devices and lists them in console logs. In addition to using the windows API, I also connected my C++ files to JS. While doing this I ran into a number of errors which took up majority of the time. So the errors were: The include for napi.h in my cpp file that acted as my bridge didn’t work so to fix it I added a json file in the .vscode file that had paths for the napi file which ended up working. Though it seems like a simple fix I was searching for a file in my computer that didn’t exist. I was expecting there to be a node-gyp folder in my appdata folder but there wasn’t so I looked in other spots and tryed finding roundabout methods but then I found a command that allowed me to easily get that node-gyp folder where I needed it to be. The other problem was that I kept getting an error when trying to build through node-gyp. I didn’t feel like reading the console output so I just put it into AI which kept giving me wrong answers. Eventually I decided to read it myself and found that the AI I was using was targeting the wrong file path and my node-gyp folder in appdata that I created earlier was missing some files. So lesson learned: read the console before asking AI so it doesn’t waste my time 😭 Now after getting all this done I went to run my code and then ran into another error and I don’t feel like looking into that right now so I’m just gonna do that later."}, {"post_id": 35472, "ts": "2026-07-26T22:40:13Z", "hours": 1.0303, "text": "I made the audio file come out of the speaker so that the soundboard user can hear what everyone else does. Now I need to figure out how to make a virtual microphone which i still haven’t done"}, {"post_id": 35012, "ts": "2026-07-26T05:08:59Z", "hours": 0.49, "text": "I renamed some of the event variable since before I had them named as tests, I added more buttons and event handlers for all of those."}, {"post_id": 31569, "ts": "2026-07-20T02:24:41Z", "hours": 0.8111, "text": "So I added a file dialog pop up when you press the button so that the user can choose the file they want to play and use in the soundboard. I made it so that the chosen file is copied into the local app directory so that it isn’t dependent on the external file."}, {"post_id": 31051, "ts": "2026-07-19T04:06:22Z", "hours": 1.2714, "text": "Made the project file layout stuff, added basic code, and started experimenting with electron. Mainly figured out how IPC works"}]...
|
Title: Soundboard by @rishan | Stardance
Devlogs: Title: Soundboard by @rishan | Stardance
Devlogs:
Made the project file layout stuff, added basic code, and started experimenting with electron. Mainly figured out how IPC works
So I added a file dialog pop up when you press the button so that the user can choose the file they want to play and use in the soundboard. I made it so that the chosen file is copied into the local app directory so that it isn’t dependent on the external file.
I renamed some of the event variable since before I had them named as tests, I added more buttons and event handlers for all of those.
I made the audio file come out of the speaker so that the soundboard user can hear what everyone else does. Now I need to figure out how to make a virtual microphone which i still haven’t done
Ok so I started using the windows Core Audios APIs and learned how to read its documentation. Currently I’ve created only 1 function that enumerates all available devices and lists them in console logs. In addition to using the windows API, I also connected my C++ files to JS. While doing this I ran into a number of errors which took up majority of the time. So the errors were: The include for napi.h in my cpp file that acted as my bridge didn’t work so to fix it I added a json file in the .vscode file that had paths for the napi file which ended up working. Though it seems like a simple fix I was searching for a file in my computer that didn’t exist. I was expecting there to be a node-gyp folder in my appdata folder but there wasn’t so I looked in other spots and tryed finding roundabout methods but then I found a command that allowed me to easily get that node-gyp folder where I needed it to be. The other problem was that I kept getting an error when trying to build through node-gyp. I didn’t feel like reading the console output so I just put it into AI which kept giving me wrong answers. Eventually I decided to read it myself and found that the AI I was using was targeting the wrong file path and my node-gyp folder in appdata that I created earlier was missing some files. So lesson learned: read the console before asking AI so it doesn’t waste my time 😭 Now after getting all this done I went to run my code and then ran into another error and I don’t feel like looking into that right now so I’m just gonna do that later.
So first I changed the C++ function a little and made it return the available capture device names in an array using the OpenPropertyStore function. Since now the function had a different return type I also had to change the wrapper for it so it would work in js. Then I created a dropdown in html. In main.js I had to make a call to IPCRenderer instead of it being the other way around which was new since I need the renderer to replace the dropdown options after the applications loaded in. I did all this so that when I create the virtual driver I know which capture device to take input from and combine the mp3 files with since it can’t use the default device since that would be the virtual driver itself....
|
1793177746.6923196
|
1793782546.6923196
|
|
66874
|
LawlietSky-portfolio by @LawlietSky | Stardance
|
LawlietSky
|
1
|
1.27
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-01T18:42:21Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a very simple and small portfolio of mine, nothing that big but it was indeed my first website ever. it was a very fun project to say the least.", "repo": "https://github.com/Retrox112/personal-website", "demo": "https://retrox112.github.io/personal-website/"}]...
|
[{"post_id": 75999, "ts": "202 [{"post_id": 75999, "ts": "2026-10-02T00:00:59Z", "hours": 0.2733, "text": "seems the images i picked out for my bg were ai gen, who would’ve known, well, the website has been updated with a better read me. (that was on me, i forgot to update it..) hope you check it out!"}, {"post_id": 75595, "ts": "2026-09-30T15:01:52Z", "hours": 1.3772, "text": "Finally finished making my website. it was a reallly fun project to do, and was kinda hard until it wasnt. this is a really cool project, and quite intresting to work on. i love it."}]...
|
Title: LawlietSky-portfolio by @LawlietSky | Stard Title: LawlietSky-portfolio by @LawlietSky | Stardance
Devlogs:
Finally finished making my website. it was a reallly fun project to do, and was kinda hard until it wasnt. this is a really cool project, and quite intresting to work on. i love it.
seems the images i picked out for my bg were ai gen, who would’ve known, well, the website has been updated with a better read me. (that was on me, i forgot to update it..) hope you check it out!
Ships:
I made a very simple and small portfolio of mine, nothing that big but it was indeed my first website ever. it was a very fun project to say the least....
|
1793217026.1868076
|
1793303426.1868076
|
|
67357
|
hi-lo c++ game by @decaydelirium | Stardance
|
decaydelirium
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-01T23:23:06Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "’Sup everyone, I fixed some bugs in the github repo, have no idea what happened now. Should be shipping soon peace!", "repo": "https://github.com/decayingdelirium/Game_HiLo", "demo": "https://www.onlinegdb.com/Km13rdQlJ"}]...
|
[{"post_id": 75995, "ts": "202 [{"post_id": 75995, "ts": "2026-10-01T23:22:17Z", "hours": 1.2114, "text": "‘Sup everyone,Today, I finally figured out how to fix the “infinite bug”- as I like to call it. When a user input anything that wasn’t an integer, the bug would init. Since I’m quite new to C++, I was struggling. Fortunately, I figured it out and fixed the “infinite bug”That’s all for now, peace!"}]...
|
Title: hi-lo c++ game by @decaydelirium | Stardanc Title: hi-lo c++ game by @decaydelirium | Stardance
Devlogs:
‘Sup everyone,Today, I finally figured out how to fix the “infinite bug”- as I like to call it. When a user input anything that wasn’t an integer, the bug would init. Since I’m quite new to C++, I was struggling. Fortunately, I figured it out and fixed the “infinite bug”That’s all for now, peace!
Ships:
’Sup everyone, I fixed some bugs in the github repo, have no idea what happened now. Should be shipping soon peace!...
|
1793217080.4389489
|
1793303480.4389489
|
|
15385
|
StarShipOS by @Harsh_S | Stardance
|
Harsh_S
|
0
|
5.68
|
0
|
[]
|
[{"post_id": 7599, "ts": "2026 [{"post_id": 7599, "ts": "2026-06-12T18:22:46Z", "hours": 2.6794, "text": "So today I fully changed all the colors of pretty much everything because it kind of looked bad and the colors right now look so much better. I also changed the fonts to something more space-like, since it’s literally called space mono. I also did part two of the guide adding the clock and the basic window parts. I added a lot of space looking stuff to really match the theme but right now it’s looking kind of cramped so I still have to fix that. I messed around with the colors and tried to get the buttons in the right places, get the sizes right and all that which is why this took a lot longer than it was supposed to. Just trying to make it look good, you know."}, {"post_id": 6627, "ts": "2026-06-11T03:34:55Z", "hours": 3.0036, "text": "Overview: So today I started creating StarShipOS which is a webOS that is themed around a spaceship/cockpit type feel. For step 1 of the building thing based on the guide I made a pretty detailed welcome screen inside an index.html file. To go beyond the basics of the mission I tried using things like and to really make the welcome screen look welcoming. It kinda took a long time to get the fonts, sizings, and colors right but it good in the end. A big problem: It was that I tried to use GitHub Codespace but there were many issues with that and I couldn’t actually run the page through that easily. I also didn’t have wakatime in that already so it was kind of annoying. That’s why I just moved over to VSCode because I already had everything set up and had experience with it. So what I made in detail: I built a custom web design to make the screen look like a legit sci-fi computer. The background is super dark with neon colors andi n the middle there is a profile picture of a rocket ship that actually looks really good."}]...
|
Title: StarShipOS by @Harsh_S | Stardance
Devlogs Title: StarShipOS by @Harsh_S | Stardance
Devlogs:
Overview: So today I started creating StarShipOS which is a webOS that is themed around a spaceship/cockpit type feel. For step 1 of the building thing based on the guide I made a pretty detailed welcome screen inside an index.html file. To go beyond the basics of the mission I tried using things like and to really make the welcome screen look welcoming. It kinda took a long time to get the fonts, sizings, and colors right but it good in the end. A big problem: It was that I tried to use GitHub Codespace but there were many issues with that and I couldn’t actually run the page through that easily. I also didn’t have wakatime in that already so it was kind of annoying. That’s why I just moved over to VSCode because I already had everything set up and had experience with it. So what I made in detail: I built a custom web design to make the screen look like a legit sci-fi computer. The background is super dark with neon colors andi n the middle there is a profile picture of a rocket ship that actually looks really good.
So today I fully changed all the colors of pretty much everything because it kind of looked bad and the colors right now look so much better. I also changed the fonts to something more space-like, since it’s literally called space mono. I also did part two of the guide adding the clock and the basic window parts. I added a lot of space looking stuff to really match the theme but right now it’s looking kind of cramped so I still have to fix that. I messed around with the colors and tried to get the buttons in the right places, get the sizes right and all that which is why this took a lot longer than it was supposed to. Just trying to make it look good, you know....
|
1792759850.1419616
|
1793364650.1419616
|
|
66386
|
My personal mp3-player by @Tor_ahlqvist | Stardanc My personal mp3-player by @Tor_ahlqvist | Stardance...
|
Tor_ahlqvist
|
0
|
5.83
|
0
|
[]
|
[{"post_id": 75985, "ts": "202 [{"post_id": 75985, "ts": "2026-10-01T20:44:46Z", "hours": 1.1167, "text": "Silly me i forgot to add buttons, potentiometer and headphone jack so i decided on a minimalist design using only one button and a potentiometer. I added the parts to my kicad schematic and decided what potentiometer I will use."}, {"post_id": 75709, "ts": "2026-09-30T20:10:06Z", "hours": 1.2833, "text": "I finished wiring and troubleshooting in the schematic and dealt with ERC My goal is btw to work 1h+ every day til stardance ends"}, {"post_id": 75324, "ts": "2026-09-29T19:09:40Z", "hours": 1.15, "text": "Wiring the scematic components in kicad. It’s a bit messy since im a beginner. Not done yet there is a bit more wiring to do."}, {"post_id": 75004, "ts": "2026-09-28T20:33:03Z", "hours": 1.0, "text": "I have assigned all of the footprint and values for all the parts that i have right now I’m a beginner so the progress is a bit slow :)"}, {"post_id": 74965, "ts": "2026-09-28T18:33:09Z", "hours": 1.2833, "text": "I am currently developing my idea and exploring what parts i need i also started adding parts in kicad"}]...
|
Title: My personal mp3-player by @Tor_ahlqvist | S Title: My personal mp3-player by @Tor_ahlqvist | Stardance
Devlogs:
I am currently developing my idea and exploring what parts i need i also started adding parts in kicad
I have assigned all of the footprint and values for all the parts that i have right now I’m a beginner so the progress is a bit slow :)
Wiring the scematic components in kicad. It’s a bit messy since im a beginner. Not done yet there is a bit more wiring to do.
I finished wiring and troubleshooting in the schematic and dealt with ERC My goal is btw to work 1h+ every day til stardance ends
Silly me i forgot to add buttons, potentiometer and headphone jack so i decided on a minimalist design using only one button and a potentiometer. I added the parts to my kicad schematic and decided what potentiometer I will use....
|
1792460934.832278
|
1793324934.832278
|
|
52895
|
Bench Power Supply by @julianh | Stardance
|
julianh
|
0
|
1.7
|
0
|
[]
|
[{"post_id": 75983, "ts": "202 [{"post_id": 75983, "ts": "2026-10-01T20:41:45Z", "hours": 0.2833, "text": "Tried to make a circuit diagram, still learning electronics and how to diagram. It was difficult because most of the components aren’t standard."}, {"post_id": 55718, "ts": "2026-08-27T18:09:27Z", "hours": 0.8358, "text": "Measurements & CAD: Created the initial design for the housing with ports for an AC plug and switch (back) + 2 bannana jacks, 2 potentiometers, and a digital multimeter (front)."}, {"post_id": 55641, "ts": "2026-08-27T16:31:08Z", "hours": 0.5839, "text": "Disassembly: Opened up the CR-10 control box and had a look at the insides. Removed the power supply and all relevant wiring including some fans. Then set up a simple test circuit with an Arduino and stepper motor to make sure everything still worked. Spent around 2 hrs working, still don’t really understand how the time tracking works."}]...
|
Title: Bench Power Supply by @julianh | Stardance
Title: Bench Power Supply by @julianh | Stardance
Devlogs:
Disassembly: Opened up the CR-10 control box and had a look at the insides. Removed the power supply and all relevant wiring including some fans. Then set up a simple test circuit with an Arduino and stepper motor to make sure everything still worked. Spent around 2 hrs working, still don’t really understand how the time tracking works.
Measurements & CAD: Created the initial design for the housing with ports for an AC plug and switch (back) + 2 bannana jacks, 2 potentiometers, and a digital multimeter (front).
Tried to make a circuit diagram, still learning electronics and how to diagram. It was difficult because most of the components aren’t standard....
|
1792727542.3183703
|
1793332342.3183703
|
|
36627
|
Crystal OS by @kuba_ch101 | Stardance
|
kuba_ch101
|
0
|
23.2
|
0
|
[]
|
[{"post_id": 75975, "ts": "202 [{"post_id": 75975, "ts": "2026-10-01T19:55:50Z", "hours": 1.2864, "text": "I added this cool animation when you open a window, I came up with it by myself. It is pretty straight forward, you just multiply the position vectors; I also added a real time clock so it looks more like an OS."}, {"post_id": 74032, "ts": "2026-09-26T15:48:49Z", "hours": 3.6783, "text": "I switched to instanced rendering which made everything faster and reduced memory use so I hope the will work on smartphones. I also added this exploding animation which triggers when you open an app, I got inspired by that one tony stark meme where he makes a big sphere out of holograms."}, {"post_id": 39779, "ts": "2026-08-02T23:35:58Z", "hours": 3.5822, "text": "I made the calculator and timer logic, the notepad needs a little bit of work but is mostly done. Then I tried to style everything to fit the theme."}, {"post_id": 33215, "ts": "2026-07-22T22:22:29Z", "hours": 1.8053, "text": "Started making the notepad and calculator"}, {"post_id": 32628, "ts": "2026-07-21T22:18:57Z", "hours": 4.6233, "text": "I finnished the windows! Needed to rework the logic and this time I followed the tutorial. It really helped me especially with organizing the functions."}, {"post_id": 31678, "ts": "2026-07-20T09:00:59Z", "hours": 1.4744, "text": "I started on some OS things, for now I’ve done some style and logic for the windows but I still need to make the icons open them. icon source: https://www.svgrepo.com"}, {"post_id": 31134, "ts": "2026-07-19T09:14:11Z", "hours": 1.5031, "text": "I fixed the rendering artifacts and started making the desktop."}, {"post_id": 30897, "ts": "2026-07-18T21:24:40Z", "hours": 3.6961, "text": "I almost finnished the background. The only things left are those random giant triangles and I cant figure out what is the cause."}, {"post_id": 30616, "ts": "2026-07-18T10:33:54Z", "hours": 1.5528, "text": "Hello, I just started making my web OS. Today I made the back groud rendering pipeline. The render will be quite basic and I took some code from my other projects so it took me less time than ussual. The background will be made randomly positioned, low-polly shapes(like this in the screen). I want them to look like crystals. I want to finnish the render and then make the actual site, but I still need to make random shape generation and add some movement"}]...
|
Title: Crystal OS by @kuba_ch101 | Stardance
Devl Title: Crystal OS by @kuba_ch101 | Stardance
Devlogs:
Hello, I just started making my web OS. Today I made the back groud rendering pipeline. The render will be quite basic and I took some code from my other projects so it took me less time than ussual. The background will be made randomly positioned, low-polly shapes(like this in the screen). I want them to look like crystals. I want to finnish the render and then make the actual site, but I still need to make random shape generation and add some movement
I almost finnished the background. The only things left are those random giant triangles and I cant figure out what is the cause.
I fixed the rendering artifacts and started making the desktop.
I started on some OS things, for now I’ve done some style and logic for the windows but I still need to make the icons open them. icon source: https://www.svgrepo.com
I finnished the windows! Needed to rework the logic and this time I followed the tutorial. It really helped me especially with organizing the functions.
Started making the notepad and calculator
I made the calculator and timer logic, the notepad needs a little bit of work but is mostly done. Then I tried to style everything to fit the theme.
I switched to instanced rendering which made everything faster and reduced memory use so I hope the will work on smartphones. I also added this exploding animation which triggers when you open an app, I got inspired by that one tony stark meme where he makes a big sphere out of holograms.
I added this cool animation when you open a window, I came up with it by myself. It is pretty straight forward, you just multiply the position vectors; I also added a real time clock so it looks more like an OS....
|
1792788630.0846155
|
1793393430.0846155
|
|
67150
|
NINJA BATTLES by @Guilherme | Stardance
|
Guilherme
|
0
|
14.8
|
0
|
[]
|
[{"post_id": 75969, "ts": "202 [{"post_id": 75969, "ts": "2026-10-01T19:41:24Z", "hours": 14.8, "text": "Hi! (: Compared to the last version, we now have a “fire-breathing” ability and “trail” effects when moving. The game is online and hosted via PUN 2; hitboxes aren’t working yet, but getting the game running online was a HUGE undertaking."}]...
|
Title: NINJA BATTLES by @Guilherme | Stardance
De Title: NINJA BATTLES by @Guilherme | Stardance
Devlogs:
Hi! (: Compared to the last version, we now have a “fire-breathing” ability and “trail” effects when moving. The game is online and hosted via PUN 2; hitboxes aren’t working yet, but getting the game running online was a HUGE undertaking....
|
1793105749.9803202
|
1793710549.9803202
|
|
51943
|
Conlang Classifier by @ElffawIThink | Stardance
|
ElffawIThink
|
0
|
21.02
|
0
|
[]
|
[{"post_id": 75966, "ts": "202 [{"post_id": 75966, "ts": "2026-10-01T19:14:12Z", "hours": 12.0031, "text": "There’s a storage system now! almost… Anyway. I’ve been working pretty hard on building a pretty cool storage system for storing your language. I wanted it to be: platform agnostic, easily human modifiable, efficient, and future-proof. I achieved platform agnostic by using the lovely directories crate. For human-modifiable, I used toml, also making each word into a separate file for ease of use. For efficiency, I implemented a system for only writing to modified words when the program closes, rather than re-adding every single word. Finally, for future-proof, I made sure to leave space for more fields in the future."}, {"post_id": 57812, "ts": "2026-08-30T03:27:08Z", "hours": 9.02, "text": "This is my first devlog. I’ve been working on a program called conlang classifier for a while, which is a tool to help create and classify your constructed languages (or non-constructed languages). The current set of features isn’t particularly comprehensive, but I aim to expand it. The topic of this devlog is the search bar. I’ve written code for a search feature before, but I wanted this one to be a lot faster. I would say I got closer, but there are still improvements to be made. Some re-computations are uneeded. I feel like I’ve done enough for now though. Thanks for reading, Waffle"}]...
|
Title: Conlang Classifier by @ElffawIThink | Stard Title: Conlang Classifier by @ElffawIThink | Stardance
Devlogs:
This is my first devlog. I’ve been working on a program called conlang classifier for a while, which is a tool to help create and classify your constructed languages (or non-constructed languages). The current set of features isn’t particularly comprehensive, but I aim to expand it. The topic of this devlog is the search bar. I’ve written code for a search feature before, but I wanted this one to be a lot faster. I would say I got closer, but there are still improvements to be made. Some re-computations are uneeded. I feel like I’ve done enough for now though. Thanks for reading, Waffle
There’s a storage system now! almost… Anyway. I’ve been working pretty hard on building a pretty cool storage system for storing your language. I wanted it to be: platform agnostic, easily human modifiable, efficient, and future-proof. I achieved platform agnostic by using the lovely directories crate. For human-modifiable, I used toml, also making each word into a separate file for ease of use. For efficiency, I implemented a system for only writing to modified words when the program closes, rather than re-adding every single word. Finally, for future-proof, I made sure to leave space for more fields in the future....
|
1792688129.3461933
|
1793292929.3461933
|
|
51570
|
Lantern-o-Nine by @DhyaanK11 | Stardance
|
DhyaanK11
|
0
|
0.79
|
0
|
[]
|
[{"post_id": 75965, "ts": "202 [{"post_id": 75965, "ts": "2026-10-01T19:11:05Z", "hours": 0.7864, "text": "Finished Lantern-O-Nine Macropad Project Finished the full hardware and CAD design for my 9 key macropad, Lantern-o-Nine! Used Seed XIAO RP2040 with 9 Cherry MX Switches , an EC11 volume Knob , a 0.91” OLED Display , and RGB underglow Designed the 2-layer PCB in Kicad (96x99.5 mm) with a 3 x 3 diode matrix Modeled a 3D printable case with honeycomb vent and name in it Wrote CircuitPython + KMK firmware for featuring 3 switchable modes: Spotify,Git macros, and Code shortcuts All files on github for hackpad review !!"}]...
|
Title: Lantern-o-Nine by @DhyaanK11 | Stardance
D Title: Lantern-o-Nine by @DhyaanK11 | Stardance
Devlogs:
Finished Lantern-O-Nine Macropad Project Finished the full hardware and CAD design for my 9 key macropad, Lantern-o-Nine! Used Seed XIAO RP2040 with 9 Cherry MX Switches , an EC11 volume Knob , a 0.91” OLED Display , and RGB underglow Designed the 2-layer PCB in Kicad (96x99.5 mm) with a 3 x 3 diode matrix Modeled a 3D printable case with honeycomb vent and name in it Wrote CircuitPython + KMK firmware for featuring 3 switchable modes: Spotify,Git macros, and Code shortcuts All files on github for hackpad review !!...
|
1793397114.0783408
|
1794001914.0783408
|
|
65976
|
Digital Storage Oscilloscope by @HexFud | Stardanc Digital Storage Oscilloscope by @HexFud | Stardance...
|
HexFud
|
0
|
11.9
|
0
|
[]
|
[{"post_id": 75963, "ts": "202 [{"post_id": 75963, "ts": "2026-10-01T18:58:38Z", "hours": 4.6667, "text": "Devlog #03 Finally the PCB is completely routed and i also mad the 3d model for my project. Now i need to upload everything on github and write a BOM"}, {"post_id": 75294, "ts": "2026-09-29T17:32:09Z", "hours": 2.0, "text": "Devlog #02 I have done the final checks of the shematic and now it is all set to become a pcb! I did some changes in the meanwhile. In the first place I have added a 40 pin flat display connector and a 4 pin one for the touch I added loop stabilizing I fixed the anti-aliasing filter to bring the cut at 33MHz I did some important changes regarding the power supply. Before I used 10V for some components but that tension have vould burned them! So i added a new label that brings 5V into the cricuit"}, {"post_id": 74640, "ts": "2026-09-27T20:40:53Z", "hours": 5.2336, "text": "Devlog #01 This is my brand new (and by far most complex) hardware project. This is a Digital Storage Oscilloscope on a single PCB and powered entirely by USB-C. I have almost finished designing the schematic but it surely needs improvments! Key Specifications Analog Bandwidth: 20 MHz (-3dB). Real-Time Sampling: 100 MS/s at 8 Bit Full Analog Front-End (AFE): Standard 1 MΩ // 30 pF BNC input with ESD diode clamps, high-Z FET input buffer (ADA4817), programmable gain amplifier for Volts/Div scaling (OPA820 + Mux), DC offset injection, and a 30 MHz Sallen-Key anti-aliasing filter. Hardware Capture Engine: A dedicated 100 MSPS pipeline that wirtes samples as fast as 10ns async SRAM. MCU & UI: An STM32H7 (480 MHz Cortex-M7) reads the captured data via an FMC bus, handling waveform math, rotary encoders, and rendering to a 7-inch touchscreen display. Clean Power Delivery: All dual low-noise analog rails (+10V / -10V) and digital rails (3.3V and 1.2V core) are generated on-board from a single 5V USB-C input. Now I need to do some final checks on the shcematic and then straight to the PCB"}]...
|
Title: Digital Storage Oscilloscope by @HexFud | S Title: Digital Storage Oscilloscope by @HexFud | Stardance
Devlogs:
Devlog #01 This is my brand new (and by far most complex) hardware project. This is a Digital Storage Oscilloscope on a single PCB and powered entirely by USB-C. I have almost finished designing the schematic but it surely needs improvments! Key Specifications Analog Bandwidth: 20 MHz (-3dB). Real-Time Sampling: 100 MS/s at 8 Bit Full Analog Front-End (AFE): Standard 1 MΩ // 30 pF BNC input with ESD diode clamps, high-Z FET input buffer (ADA4817), programmable gain amplifier for Volts/Div scaling (OPA820 + Mux), DC offset injection, and a 30 MHz Sallen-Key anti-aliasing filter. Hardware Capture Engine: A dedicated 100 MSPS pipeline that wirtes samples as fast as 10ns async SRAM. MCU & UI: An STM32H7 (480 MHz Cortex-M7) reads the captured data via an FMC bus, handling waveform math, rotary encoders, and rendering to a 7-inch touchscreen display. Clean Power Delivery: All dual low-noise analog rails (+10V / -10V) and digital rails (3.3V and 1.2V core) are generated on-board from a single 5V USB-C input. Now I need to do some final checks on the shcematic and then straight to the PCB
Devlog #02 I have done the final checks of the shematic and now it is all set to become a pcb! I did some changes in the meanwhile. In the first place I have added a 40 pin flat display connector and a 4 pin one for the touch I added loop stabilizing I fixed the anti-aliasing filter to bring the cut at 33MHz I did some important changes regarding the power supply. Before I used 10V for some components but that tension have vould burned them! So i added a new label that brings 5V into the cricuit
Devlog #03 Finally the PCB is completely routed and i also mad the 3d model for my project. Now i need to upload everything on github and write a BOM...
|
1793094514.9632356
|
1793699314.9632356
|
|
55633
|
EL Futuro by @Evangel | Stardance
|
Evangel
|
0
|
16.03
|
0
|
[]
|
[{"post_id": 75961, "ts": "202 [{"post_id": 75961, "ts": "2026-10-01T18:57:49Z", "hours": 1.5819, "text": "Finished the code a long time ago; I forgot to devlog it. I DO NOT know what I did. I got a lot of help from people, Google, and courses, so do not ask me. As long as I didn’t use AI, it’s fine ig. That time lapse only worked twice a week, so I didn’t bother to record because I wanted to get it done already, since I had been procrastinating due to schoolwork. I did run into a bunch of problems and did use AI twice to fix it (NOT CODING PROBLEMS) i tried to uplaod it once but it turns out I had to install this one thing, etc etc."}, {"post_id": 67699, "ts": "2026-09-13T21:48:00Z", "hours": 2.0869, "text": "Just finished working on the case, although I believe I ran into a problem that I’m supposed to fix, but I really don’t want to redo the PCB for the 6th time. The pin headers stick out of the case. I thought I could just ignore it, but it wouldn’t make sense. Im not sure what to do. I think my only option is to redo the pcb"}, {"post_id": 66225, "ts": "2026-09-11T22:25:33Z", "hours": 1.7211, "text": "Almost done with the case. I am not 100% sure if the dimensions are correct, infact I think I’m doing this all wrong, but I guess it’s all part of the learning process. Like I said in my last devlog, I’m trying to make the case TV-inspired. I’m not sure how the antennas will print, but let’s just trust the process. I might change the color palette later on too, but for now it’s set like this."}, {"post_id": 66162, "ts": "2026-09-11T20:09:36Z", "hours": 3.3686, "text": "I just realized it has been a very long time since I last wrote a devlog. I have been working on my other projects and redesigned the CAD twice. My initial plan was to create a simple digital clock, but I realized it’d be way too boring, so I decided to go with an antique TV model as inspiration. I am having some trouble with the CAD dimensions and symmetry, so I’m holding off for now. If it ever becomes a problem, then honestly I don’t even care anymore."}, {"post_id": 61058, "ts": "2026-09-03T19:26:10Z", "hours": 3.0189, "text": "Redesigned the PCB for the 1000th time (I’m not even joking; I redesigned it 6 times and it still looks bad) because I messed up the layout. Found the keycaps and the XIAO ESP32 C3 (I haven’t added it yet). And started with the case (not shown). I can now rest"}, {"post_id": 60570, "ts": "2026-09-03T00:22:57Z", "hours": 2.0858, "text": "Spent forever trying to find the .step model for the keycaps and failed miserably. Went on a break, so I paused the lapse came back, and I forgot to unpause it. How much worse can this day really get."}, {"post_id": 60394, "ts": "2026-09-02T18:12:33Z", "hours": 2.1697, "text": "Just finished the PCB for my digital clock. I redesigned it completely. It took me forever to make the wires look neat. Now i need to export my files and start with the CAD."}]...
|
Title: EL Futuro by @Evangel | Stardance
Devlogs: Title: EL Futuro by @Evangel | Stardance
Devlogs:
Just finished the PCB for my digital clock. I redesigned it completely. It took me forever to make the wires look neat. Now i need to export my files and start with the CAD.
Spent forever trying to find the .step model for the keycaps and failed miserably. Went on a break, so I paused the lapse came back, and I forgot to unpause it. How much worse can this day really get.
Redesigned the PCB for the 1000th time (I’m not even joking; I redesigned it 6 times and it still looks bad) because I messed up the layout. Found the keycaps and the XIAO ESP32 C3 (I haven’t added it yet). And started with the case (not shown). I can now rest
I just realized it has been a very long time since I last wrote a devlog. I have been working on my other projects and redesigned the CAD twice. My initial plan was to create a simple digital clock, but I realized it’d be way too boring, so I decided to go with an antique TV model as inspiration. I am having some trouble with the CAD dimensions and symmetry, so I’m holding off for now. If it ever becomes a problem, then honestly I don’t even care anymore.
Almost done with the case. I am not 100% sure if the dimensions are correct, infact I think I’m doing this all wrong, but I guess it’s all part of the learning process. Like I said in my last devlog, I’m trying to make the case TV-inspired. I’m not sure how the antennas will print, but let’s just trust the process. I might change the color palette later on too, but for now it’s set like this.
Just finished working on the case, although I believe I ran into a problem that I’m supposed to fix, but I really don’t want to redo the PCB for the 6th time. The pin headers stick out of the case. I thought I could just ignore it, but it wouldn’t make sense. Im not sure what to do. I think my only option is to redo the pcb
Finished the code a long time ago; I forgot to devlog it. I DO NOT know what I did. I got a lot of help from people, Google, and courses, so do not ask me. As long as I didn’t use AI, it’s fine ig. That time lapse only worked twice a week, so I didn’t bother to record because I wanted to get it done already, since I had been procrastinating due to schoolwork. I did run into a bunch of problems and did use AI twice to fix it (NOT CODING PROBLEMS) i tried to uplaod it once but it turns out I had to install this one thing, etc etc....
|
1793336079.2014148
|
1793940879.2014148
|
|
65322
|
Super Rocket Man by @brandon | Stardance
|
brandon
|
0
|
0.45
|
0
|
[]
|
[{"post_id": 75957, "ts": "202 [{"post_id": 75957, "ts": "2026-10-01T18:47:32Z", "hours": 0.4489, "text": "New project! I am currently testing out the lookout app to track my hours designing the levels and other stuff outside of coding, since I just found out I was able to track my hours working on designing the games as well. In my new project, I am barely starting my first level!"}]...
|
Title: Super Rocket Man by @brandon | Stardance
D Title: Super Rocket Man by @brandon | Stardance
Devlogs:
New project! I am currently testing out the lookout app to track my hours designing the levels and other stuff outside of coding, since I just found out I was able to track my hours working on designing the games as well. In my new project, I am barely starting my first level!...
|
1793087248.6498735
|
1793692048.6498735
|
|
67322
|
YadavPad by @yadavtejas1947 | Stardance
|
yadavtejas1947
|
0
|
1.04
|
0
|
[]
|
[{"post_id": 75956, "ts": "202 [{"post_id": 75956, "ts": "2026-10-01T18:44:09Z", "hours": 1.0436, "text": "Day:02-10-2026 Things I did today:- 1.Created the GitHub Repo and setup KiCad 2.Designed the Schematics and PCB in KiCad 3.Tried to design the enclosure , but hell Fusion . I am done with 3d design ."}]...
|
Title: YadavPad by @yadavtejas1947 | Stardance
De Title: YadavPad by @yadavtejas1947 | Stardance
Devlogs:
Day:02-10-2026 Things I did today:- 1.Created the GitHub Repo and setup KiCad 2.Designed the Schematics and PCB in KiCad 3.Tried to design the enclosure , but hell Fusion . I am done with 3d design ....
|
1793109074.5725102
|
1793713874.5725102
|
|
8917
|
ha-mediawiki by @jpeisach | Stardance
|
jpeisach
|
0
|
5.45
|
0
|
[]
|
[{"post_id": 7595, "ts": "2026 [{"post_id": 7595, "ts": "2026-06-12T18:17:45Z", "hours": 2.2728, "text": "Phew, another dev log! For me, I had to figure out, what code should be part of the API, and what is the purpose of the coordinator? I compared to ha-wiiu ( https://github.com/wiiu-smarthome/ha-wiiu/blob/main/custom_components/nintendo_wiiu_ristretto/coordinator.py ) as an example, and decided that: The “API” is the equivalent of “ha-wiiu” coordinator’s “Wii” object - it contains the methods for actually doing the requests. (For this project, Pywikibot does not use asyncio, so the “API” is our “wrapper” so the API calls do not interrupt the main loop) The “coordinator” is.. well, now it makes more sense to say it is a coordinator. It will poll the API when needed, but store data that is actually relevant. So once I figured that out, it was off to me playing around with pywikibot to see how I could get site-specific user contributions. It seems that I will just have to count items in the contribution list, but for global site info (so, like all Wikimedia projects), it has its own accessible field. So now I have a “0” in the sensor reading “Contributions”, which is correct because I have not made any edits to Test Wikipedia. I should soon be able to hook things up to other MediaWiki instances and see actual values!"}, {"post_id": 5011, "ts": "2026-06-08T17:35:08Z", "hours": 1.1578, "text": "Another small victory, but worth logging - turned out sign in is easier than I expected! (It only took me an hour to see if I wanted OAuth options, which I was going to use but I think basic client login will work)"}, {"post_id": 4917, "ts": "2026-06-08T14:43:57Z", "hours": 2.015, "text": "Started taking the integration blueprint and did, something with it. The MediaWiki API can take requests, which may be easier to code, but then the results have to be parsed. So I’ve decided to use the pywikibot library results, which sends things in a nicer way. However, Home Assistant expects integrations to not make blocking calls.. and I think that actual network requests are made when you call for the operation. So if you make a page object, I don’t think it actually gets anything until you call page.extracts(). So the entity can’t call that, otherwise you get a blocking call. The coordinator needs to manage things specifically. So this will eventually tie into making appropriate entities and representations of data - which, may be difficult, because HA does not expect entities to store the entire text of a Wikipedia article. But things like feeds are in RSS, so they may need separate handling - so basically, a bit of work to do of how this can be put into practice. I imagine a “Today’s featured article” kind of thing, but maybe that can be done simply with RSS feeds.. but I don’t think pywikibot handles that (it expects JSON responses). So, much more to dive into!"}]...
|
Title: ha-mediawiki by @jpeisach | Stardance
Devl Title: ha-mediawiki by @jpeisach | Stardance
Devlogs:
Started taking the integration blueprint and did, something with it. The MediaWiki API can take requests, which may be easier to code, but then the results have to be parsed. So I’ve decided to use the pywikibot library results, which sends things in a nicer way. However, Home Assistant expects integrations to not make blocking calls.. and I think that actual network requests are made when you call for the operation. So if you make a page object, I don’t think it actually gets anything until you call page.extracts(). So the entity can’t call that, otherwise you get a blocking call. The coordinator needs to manage things specifically. So this will eventually tie into making appropriate entities and representations of data - which, may be difficult, because HA does not expect entities to store the entire text of a Wikipedia article. But things like feeds are in RSS, so they may need separate handling - so basically, a bit of work to do of how this can be put into practice. I imagine a “Today’s featured article” kind of thing, but maybe that can be done simply with RSS feeds.. but I don’t think pywikibot handles that (it expects JSON responses). So, much more to dive into!
Another small victory, but worth logging - turned out sign in is easier than I expected! (It only took me an hour to see if I wanted OAuth options, which I was going to use but I think basic client login will work)
Phew, another dev log! For me, I had to figure out, what code should be part of the API, and what is the purpose of the coordinator? I compared to ha-wiiu ( https://github.com/wiiu-smarthome/ha-wiiu/blob/main/custom_components/nintendo_wiiu_ristretto/coordinator.py ) as an example, and decided that: The “API” is the equivalent of “ha-wiiu” coordinator’s “Wii” object - it contains the methods for actually doing the requests. (For this project, Pywikibot does not use asyncio, so the “API” is our “wrapper” so the API calls do not interrupt the main loop) The “coordinator” is.. well, now it makes more sense to say it is a coordinator. It will poll the API when needed, but store data that is actually relevant. So once I figured that out, it was off to me playing around with pywikibot to see how I could get site-specific user contributions. It seems that I will just have to count items in the contribution list, but for global site info (so, like all Wikimedia projects), it has its own accessible field. So now I have a “0” in the sensor reading “Contributions”, which is correct because I have not made any edits to Test Wikipedia. I should soon be able to hook things up to other MediaWiki instances and see actual values!...
|
1793379300.2939122
|
1793984100.2939122
|
|
61454
|
linuxanywhere by @codeeleven | Stardance
|
codeeleven
|
1
|
6.0
|
49
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-01T18:17:06Z", "hours": 6.0, "multiplier": 8.52, "payout": 49, "blessing": "neutral", "text": "this is linuxanywhere (or a bochs version optimized for browser environments with x64 linux booting capabilities). it can run VMs on the browser (but really slowly). check it out! will improve it more and will add the features i wrote on my github page! i hope you enjoy this :)", "repo": "https://github.com/codeeleven0/linuxanywhere", "demo": "https://codeeleven0.github.io/linuxanywhere/dist/"}]...
|
[{"post_id": 75948, "ts": "202 [{"post_id": 75948, "ts": "2026-10-01T18:14:11Z", "hours": 0.2947, "text": "last devlog before shipping. i have added the project to github and i will take a break from it to focus on more projects and school (obviously!)"}, {"post_id": 75668, "ts": "2026-09-30T18:09:46Z", "hours": 0.3644, "text": "linux is really anywhere! i added link time optimizations with -O3 and -flto, the boot takes 2 minutes on a generic x86_64 kernel in firefox. will minify the kernel and the os to have an actually usable system"}, {"post_id": 73227, "ts": "2026-09-24T17:00:12Z", "hours": 0.3047, "text": "switched to tinycore (or just ‘core’ x64 port), fixed stack sizes (both emscripten and asyncify), and pings to non-restricted and websocket enabled domains work now. the only thing left is implementing an interconnect daemon with a web proxy"}, {"post_id": 72732, "ts": "2026-09-23T16:41:50Z", "hours": 0.4706, "text": "dynamic heap resize works, finally got the network adapter to compile and we can finally see OpenRC booting!"}, {"post_id": 70182, "ts": "2026-09-18T17:07:19Z", "hours": 0.3158, "text": "fixed compiling flags, replaced the BIOS implementation and now we can boot alpine linux 64-bit on a tab!"}, {"post_id": 67336, "ts": "2026-09-13T12:30:32Z", "hours": 1.3339, "text": "working?"}, {"post_id": 67270, "ts": "2026-09-13T10:39:35Z", "hours": 1.2314, "text": "bugs and bugs, got bochs to compile and load files properly but stack size and recursion is a problem right now"}, {"post_id": 66901, "ts": "2026-09-12T21:04:43Z", "hours": 1.4203, "text": "closing the day, added a building system and fixes will publish repo tmrw"}]...
|
Title: linuxanywhere by @codeeleven | Stardance
D Title: linuxanywhere by @codeeleven | Stardance
Devlogs:
closing the day, added a building system and fixes will publish repo tmrw
bugs and bugs, got bochs to compile and load files properly but stack size and recursion is a problem right now
working?
fixed compiling flags, replaced the BIOS implementation and now we can boot alpine linux 64-bit on a tab!
dynamic heap resize works, finally got the network adapter to compile and we can finally see OpenRC booting!
switched to tinycore (or just ‘core’ x64 port), fixed stack sizes (both emscripten and asyncify), and pings to non-restricted and websocket enabled domains work now. the only thing left is implementing an interconnect daemon with a web proxy
linux is really anywhere! i added link time optimizations with -O3 and -flto, the boot takes 2 minutes on a generic x86_64 kernel in firefox. will minify the kernel and the os to have an actually usable system
last devlog before shipping. i have added the project to github and i will take a break from it to focus on more projects and school (obviously!)
Ships:
this is linuxanywhere (or a bochs version optimized for browser environments with x64 linux booting capabilities). it can run VMs on the browser (but really slowly). check it out! will improve it more and will add the features i wrote on my github page! i hope you enjoy this :)...
|
1793209726.137175
|
1793296126.137175
|
|
45623
|
App Launcher by @Samyak | Stardance
|
Samyak
|
1
|
11.0
|
117
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-01T18:37:56Z", "hours": 11.0, "multiplier": 10.96, "payout": 117, "blessing": "neutral", "text": "App Launcher helps in finding and launching apps with ease. Many PC’s which are budget, running experimental versions of windows or general may find that Start Menu would lag sometimes. App Launcher is Instant, very minimal resource consumption, Modern Light/Dark Mode, fuzzy search which Start doesn’t support and clear icon view and navigation with arrow keys in the launcher. Its made in Python and compiled using pyinstaller and Setup made using Inno Setup. It essentially replaces the start menu in some way. Its hotkey to launch is Alt+X which is easily accessible. It has a priority system as well as soon as you open the Launcher, the list you see is the recently launched apps by it. Comparitively its much lighter to 99% of other launchers too. I had a lot of difficulty and lot pf googling for this latest update in which i include better quality icons(had do dive into ctypes and stuff) uwp icons(more advanced logics and stuff) and small but good to have UI Changes, theme switcher based on windows modes and much more", "repo": "https://github.com/SpaceCoderPro/App-Launcher", "demo": "https://github.com/SpaceCoderPro/App-Launcher/releases"}]...
|
[{"post_id": 75941, "ts": "202 [{"post_id": 75941, "ts": "2026-10-01T17:43:26Z", "hours": 0.6683, "text": "Just did some minor UI Changes like now 7 rows instead of 6, improved window size, removed scroll bar while maintaining scroll functionality and globalized some variables…"}, {"post_id": 75869, "ts": "2026-10-01T13:00:40Z", "hours": 10.0175, "text": "I worked on improving it. Its now much better.: Stability Improvements, Better Quality Icons, UWP Icons, Finally- An App Icon, Better Performance, Better Alt + X Capturing, Arrow Key Functionality. It wasn’t easy but not that hard. I definitely had to do a lot of googling. And i finally got Git working properly for the Repo with assistance from Gemini. I worked like 2hr and 30min(From i think 28 Sep), the 10h is just my past Macondo data btw…"}]...
|
Title: App Launcher by @Samyak | Stardance
Devlog Title: App Launcher by @Samyak | Stardance
Devlogs:
I worked on improving it. Its now much better.: Stability Improvements, Better Quality Icons, UWP Icons, Finally- An App Icon, Better Performance, Better Alt + X Capturing, Arrow Key Functionality. It wasn’t easy but not that hard. I definitely had to do a lot of googling. And i finally got Git working properly for the Repo with assistance from Gemini. I worked like 2hr and 30min(From i think 28 Sep), the 10h is just my past Macondo data btw…
Just did some minor UI Changes like now 7 rows instead of 6, improved window size, removed scroll bar while maintaining scroll functionality and globalized some variables…
Ships:
App Launcher helps in finding and launching apps with ease. Many PC’s which are budget, running experimental versions of windows or general may find that Start Menu would lag sometimes. App Launcher is Instant, very minimal resource consumption, Modern Light/Dark Mode, fuzzy search which Start doesn’t support and clear icon view and navigation with arrow keys in the launcher. Its made in Python and compiled using pyinstaller and Setup made using Inno Setup. It essentially replaces the start menu in some way. Its hotkey to launch is Alt+X which is easily accessible. It has a priority system as well as soon as you open the Launcher, the list you see is the recently launched apps by it. Comparitively its much lighter to 99% of other launchers too. I had a lot of difficulty and lot pf googling for this latest update in which i include better quality icons(had do dive into ctypes and stuff) uwp icons(more advanced logics and stuff) and small but good to have UI Changes, theme switcher based on windows modes and much more...
|
1793346605.65679
|
1793433005.65679
|
|
64095
|
Openblock C++ by @Rohit_Biswas | Stardance
|
Rohit_Biswas
|
0
|
39.34
|
0
|
[]
|
[{"post_id": 75940, "ts": "202 [{"post_id": 75940, "ts": "2026-10-01T17:42:23Z", "hours": 9.2058, "text": "This time i almost 3x optimized block generation system"}, {"post_id": 73926, "ts": "2026-09-26T10:47:12Z", "hours": 0.7142, "text": "Day 7 My project had become messy,buggy and poorly optimized but i did learned a lot. I had new ideas for improving performance and adding some really cool features. so i decided to start from scratch again. for the next 7 days, iam going to try building minecraft clone again better,cleaner and more optimized this time.if i can’t finish it, i’ll delete the project completely."}, {"post_id": 73634, "ts": "2026-09-25T15:30:37Z", "hours": 4.4053, "text": "Day 6 I made chunk loading system with simple multithreading."}, {"post_id": 73029, "ts": "2026-09-24T07:36:49Z", "hours": 3.3083, "text": "Day 5 today,i added textures and optimized block face generating system."}, {"post_id": 72638, "ts": "2026-09-23T12:32:06Z", "hours": 3.1672, "text": "Day 4 today, i work on world cpp/h and creating multiple chunk in heap"}, {"post_id": 72275, "ts": "2026-09-22T15:48:33Z", "hours": 5.7428, "text": "Day 3 finally i made a chunk of blocks! oh my gosh i faced so many memory allocation problem when i was making it"}, {"post_id": 71687, "ts": "2026-09-21T09:51:06Z", "hours": 2.1708, "text": "Day 2 I made a block! today, i made quad rendering system and vertex color system (lighting)"}, {"post_id": 71207, "ts": "2026-09-20T13:24:07Z", "hours": 10.625, "text": "Day 1 I learned basics of C++ and i made a triangle!"}]...
|
Title: Openblock C++ by @Rohit_Biswas | Stardance
Title: Openblock C++ by @Rohit_Biswas | Stardance
Devlogs:
Day 1 I learned basics of C++ and i made a triangle!
Day 2 I made a block! today, i made quad rendering system and vertex color system (lighting)
Day 3 finally i made a chunk of blocks! oh my gosh i faced so many memory allocation problem when i was making it
Day 4 today, i work on world cpp/h and creating multiple chunk in heap
Day 5 today,i added textures and optimized block face generating system.
Day 6 I made chunk loading system with simple multithreading.
Day 7 My project had become messy,buggy and poorly optimized but i did learned a lot. I had new ideas for improving performance and adding some really cool features. so i decided to start from scratch again. for the next 7 days, iam going to try building minecraft clone again better,cleaner and more optimized this time.if i can’t finish it, i’ll delete the project completely.
This time i almost 3x optimized block generation system...
|
1793058624.1457005
|
1793663424.1457005
|
|
67208
|
hospital_dashboard by @aaditya064 | Stardance
|
aaditya064
|
0
|
1.32
|
0
|
[]
|
[{"post_id": 75934, "ts": "202 [{"post_id": 75934, "ts": "2026-10-01T17:17:41Z", "hours": 1.3217, "text": "Working on hospital management system with data visualization of the patients and prediction of disease on the basis of data trained (PS. this is just a model, not an actual software to be used in Hospital atp). I’m using MERN stack for the website and Python for the data analysis and ML part. What I did: I just made required models for this project. As I didn’t have proper knowledge about the requirements, I took help from LLM and implemented that in my node.js model. After the model is planned, I will go to working with dataset and training it."}]...
|
Title: hospital_dashboard by @aaditya064 | Stardan Title: hospital_dashboard by @aaditya064 | Stardance
Devlogs:
Working on hospital management system with data visualization of the patients and prediction of disease on the basis of data trained (PS. this is just a model, not an actual software to be used in Hospital atp). I’m using MERN stack for the website and Python for the data analysis and ML part. What I did: I just made required models for this project. As I didn’t have proper knowledge about the requirements, I took help from LLM and implemented that in my node.js model. After the model is planned, I will go to working with dataset and training it....
|
1793108907.749683
|
1793713707.749683
|
|
19054
|
Frictionless by @tejasv | Stardance
|
tejasv
|
1
|
5.14
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-29T19:25:15Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What did you make? I made TidyUp, a simple productivity tool for people who feel overwhelmed or stuck. It helps users clear their head, choose one small task, and start a short focus timer without needing an account. What was challenging? The hardest part was making productivity feel less stressful. I wanted TidyUp to guide users without overwhelming them with another complicated task system. What are you proud of? I’m proud that TidyUp is actually usable. Users can capture tasks, choose one next action, run a timer, save distractions for later, and track their progress. I’m also proud of the friendly, playful design and the idea that starting counts as progress How can people test it? Choose a mood, start a reset, add a few loose ends, select one task, and run the 5-minute timer. You can also test the history keyboard shortcuts, local storage, and curated video library. TidyUp works locally and does not require an account. To test it: 1.Open the app. Choose SCATTERED or AVOIDING. Click START A 3-MINUTE RESET. 4.Continue through the breathing step, or choose the 5-4-3-2-1 grounding alternative. Paste several loose ends into the capture box. 6.Select one item and turn it into a small visible action. 7.Choose a 5-minute timer. 8.Pause the timer and park a distraction. Resume the timer or move to the completion screen. 10Select I STARTED, PARTLY, or NOT YET. 11 Open HISTORY to see the result.", "repo": "https://github.com/tejasvswipe/tidy-up", "demo": "https://tidy-up-one.vercel.app"}]...
|
[{"post_id": 75931, "ts": "202 [{"post_id": 75931, "ts": "2026-10-01T17:02:11Z", "hours": 1.8519, "text": "COMPLETED THE PORBLEM RESOLVED THE QUERY , AND MOST INTERSETINGLY I GOT A GIRLFRIENDDDD!!!"}, {"post_id": 75494, "ts": "2026-09-30T08:53:04Z", "hours": 0.2833, "text": "i was working to prove the less use of ai . plz forgive me , i want stardust ,i just used 10% ai"}, {"post_id": 75314, "ts": "2026-09-29T18:49:31Z", "hours": 0.4189, "text": "The CSS refactor and special quirk is completed"}, {"post_id": 75305, "ts": "2026-09-29T18:08:36Z", "hours": 0.6333, "text": "Yeppiee , it’s working and the things are working , checkout : tidy-up-one.vercel.app"}, {"post_id": 75214, "ts": "2026-09-29T14:33:56Z", "hours": 0.5667, "text": "completed the ui changed and made it genz worthy"}, {"post_id": 73632, "ts": "2026-09-25T15:23:20Z", "hours": 0.5244, "text": "new features – with new look"}, {"post_id": 70573, "ts": "2026-09-19T11:51:29Z", "hours": 0.3569, "text": "TidyUp calms anxiety, captures loose ends, and guides one small focus action so you can start."}]...
|
Title: Frictionless by @tejasv | Stardance
Devlog Title: Frictionless by @tejasv | Stardance
Devlogs:
TidyUp calms anxiety, captures loose ends, and guides one small focus action so you can start.
new features – with new look
completed the ui changed and made it genz worthy
Yeppiee , it’s working and the things are working , checkout : tidy-up-one.vercel.app
The CSS refactor and special quirk is completed
i was working to prove the less use of ai . plz forgive me , i want stardust ,i just used 10% ai
COMPLETED THE PORBLEM RESOLVED THE QUERY , AND MOST INTERSETINGLY I GOT A GIRLFRIENDDDD!!!
Ships:
What did you make? I made TidyUp, a simple productivity tool for people who feel overwhelmed or stuck. It helps users clear their head, choose one small task, and start a short focus timer without needing an account. What was challenging? The hardest part was making productivity feel less stressful. I wanted TidyUp to guide users without overwhelming them with another complicated task system. What are you proud of? I’m proud that TidyUp is actually usable. Users can capture tasks, choose one next action, run a timer, save distractions for later, and track their progress. I’m also proud of the friendly, playful design and the idea that starting counts as progress How can people test it? Choose a mood, start a reset, add a few loose ends, select one task, and run the 5-minute timer. You can also test the history keyboard shortcuts, local storage, and curated video library. TidyUp works locally and does not require an account. To test it: 1.Open the app. Choose SCATTERED or AVOIDING. Click START A 3-MINUTE RESET. 4.Continue through the breathing step, or choose the 5-4-3-2-1 grounding alternative. Paste several loose ends into the capture box. 6.Select one item and turn it into a small visible action. 7.Choose a 5-minute timer. 8.Pause the timer and park a distraction. Resume the timer or move to the completion screen. 10Select I STARTED, PARTLY, or NOT YET. 11 Open HISTORY to see the result....
|
1793008447.91982
|
1793872447.91982
|
|
60756
|
Vision by @Paachu | Stardance
|
Paachu
|
0
|
5.1
|
0
|
[]
|
[{"post_id": 75928, "ts": "202 [{"post_id": 75928, "ts": "2026-10-01T16:58:38Z", "hours": 0.5761, "text": "Vision The work is done that means Ready to SHIP but, I feel empty cuz its just feels like a Vibe coded one even though i did myself Should i try to reprogram frontend ?"}, {"post_id": 72159, "ts": "2026-09-22T10:33:31Z", "hours": 1.3106, "text": "Making Vision to be Complete Powerfull (the secret behind it will be exposed at next DevLog)"}, {"post_id": 71114, "ts": "2026-09-20T09:58:56Z", "hours": 2.6567, "text": "Still evolving"}, {"post_id": 65488, "ts": "2026-09-10T17:33:20Z", "hours": 0.5553, "text": "Vision If you are a MCU Fan , You dont need any explanation. I have made a Jarvis , (Varvis actually) , Making its 2.0 , Evolving with my new knowledge Who said Youtube shorts is useless !!! My Ui Tricks are from yt shorts , if needed i will add them to refs,…"}]...
|
Title: Vision by @Paachu | Stardance
Devlogs:
Vis Title: Vision by @Paachu | Stardance
Devlogs:
Vision If you are a MCU Fan , You dont need any explanation. I have made a Jarvis , (Varvis actually) , Making its 2.0 , Evolving with my new knowledge Who said Youtube shorts is useless !!! My Ui Tricks are from yt shorts , if needed i will add them to refs,…
Still evolving
Making Vision to be Complete Powerfull (the secret behind it will be exposed at next DevLog)
Vision The work is done that means Ready to SHIP but, I feel empty cuz its just feels like a Vibe coded one even though i did myself Should i try to reprogram frontend ?...
|
1793037007.535152
|
1793641807.535152
|
|
67057
|
Tejas.in by @tejasv | Stardance
|
tejasv
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-01T17:51:10Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I SOLVED REIMANN HYPOTHESIS .LOL . ITS A PERSONAL SITE , OBV . SO THE CHALLENGING PART IS THAT , FIGURE I MADE IT THE CORNER AND DOING THE REALIZIATION THAT I DIDINT POSTED A DEVLOG , ITS RELLY MESSY ,ATP . BUT THE SITE IS A CLEAN POLISHED HUAMN MADE , MF ITS HUMAN AND A BIT QUIRK OF AI , IT HAVE 4 SECTIONS , GO AND SEE THE LINK IS BELOW.HAHAHA , I FELT THE MOST FUCKIN’ ASS PART IS nothing its ezzzz , a notmal website ,yk that strip i made is a bit tough and all good , plz dont fuck me approve it in one time ,ahm ,csorry take ur time", "repo": "https://github.com/tejasvswipe/tejas", "demo": "https://tejas-pink.vercel.app"}]...
|
[{"post_id": 75926, "ts": "202 [{"post_id": 75926, "ts": "2026-10-01T16:54:04Z", "hours": 3.5447, "text": "its partially comppleted . yepiee , hardest to set the config , mann… it takes hours sadly doesnt counts in coding time"}]...
|
Title: Tejas.in by @tejasv | Stardance
Devlogs:
i Title: Tejas.in by @tejasv | Stardance
Devlogs:
its partially comppleted . yepiee , hardest to set the config , mann… it takes hours sadly doesnt counts in coding time
Ships:
I SOLVED REIMANN HYPOTHESIS .LOL . ITS A PERSONAL SITE , OBV . SO THE CHALLENGING PART IS THAT , FIGURE I MADE IT THE CORNER AND DOING THE REALIZIATION THAT I DIDINT POSTED A DEVLOG , ITS RELLY MESSY ,ATP . BUT THE SITE IS A CLEAN POLISHED HUAMN MADE , MF ITS HUMAN AND A BIT QUIRK OF AI , IT HAVE 4 SECTIONS , GO AND SEE THE LINK IS BELOW.HAHAHA , I FELT THE MOST FUCKIN’ ASS PART IS nothing its ezzzz , a notmal website ,yk that strip i made is a bit tough and all good , plz dont fuck me approve it in one time ,ahm ,csorry take ur time...
|
1793051344.3503225
|
1793915344.3503225
|
|
38042
|
VoidSeed by @otzpt | Stardance
|
otzpt
|
1
|
12.53
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-15T13:29:08Z", "hours": 11.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "My aim was never been to create a useful replacement for ChatGPT; instead, I decided to understand what goes on inside a language model and so I created the transformer, the training loop, the tokenizer/data pipeline, and the retrieval layer myself. It went through two phases: 24M parameters trained on TinyStories as the starter experiment 155M parameters trained on ~2B tokens of security documentation Full-text retrieval using SQLite FTS5 A custom training pipeline that includes the use of mixed precision, checkpointing, and cosine LR scheduling, etc. The model is awful at actually answering questions ; that’s basically the whole point. While they are able to generate coherent text and the more extensive model can make use of the security documentation that has been retrieved, don’t expect anything like frontier-model level reasoning; it’s a small model designed to learn from existing models rather than to replace those which cost millions to train. From this project I learned more regarding transformers, training, data, retrieval, and the actual situation with small models than I would have if I had just used an existing framework.", "repo": "https://github.com/otzpt/VOIDSEED", "demo": "https://llmwebsite-pink.vercel.app/"}]...
|
[{"post_id": 75917, "ts": "202 [{"post_id": 75917, "ts": "2026-10-01T16:34:14Z", "hours": 1.5283, "text": "Fix for ship The Ship was rejected for AI readme (wrong banner and AI written AI usage declaration, but this is not smt that counts time towards devlog so it’s not going to be mentioned) which I had already re-written, so I thought what could maybe fix the ship issue, and an idea came to mind: if the readme sounds AI written then I will fully re-write the readme from scratch and only use AI to fix typos (ex: LMM to LLM or then to than), so that is what I did, I re-wrote the entire readme. The problem There was a big problem: it had been so long I didn’t remember the code well, so I had to study the entire code base because of the readme. In the process, I found a bug in chat.py , which luckily was a quick fix, just a if there. Extra If you are wondering why the devlog is 1h and 30m, I also don’t know. If I had to guess, it is that I re-wrote the readme a first time and didn’t make the devlog, so there is that extra that could also be why it got rejected for the same reason as before (AI readme)."}, {"post_id": 45247, "ts": "2026-08-11T16:19:57Z", "hours": 1.7969, "text": "tiny-llm: KV-cache, a public API, and shipping the whole thing Last devlog left off with the 100M model trained and RAG wired into chat.py , generating in ~50s per reply. This one covers making that fast, and getting the whole pipeline live on the internet. Understanding KV-cache Without a cache, every new token recalculates K/V for all tokens already processed, even though those values haven’t changed. The KV cache keeps them around and only computes K/V for the new token. Three real changes to model.py : CausalSelfAttention.forward now takes an optional kv_cache , concatenates new K/V onto it along the sequence dimension, and returns the updated cache. The causal mask only applies when there’s no cache. With a cache, the new token’s query attends over the entire K/V (past + new), and since generation only ever feeds one new token at a time once a cache exists, there’s no future position to accidentally see. “No mask” is the correct causal mask in that case, not an approximation. Position embeddings need to be absolute, not relative to the current call. With a cache, x is only the new tokens, so position 0 here is really past_length in the full sequence, pulled from the cached K’s sequence-length dimension. Before relying on the cache, I added a correctness check: run the whole sequence normally, then one token at a time through the cache, compare logits with torch.allclose . They matched. Wanted to confirm correctness before worrying about performance. Wiring it into generation chat.py and backend.py now do a prefill (whole prompt through the model once, building the initial cache) followed by decode steps that only pass the newest token plus the accumulated cache, instead of re-encoding a sliding window every step. Deploying: Nest, Vercel, and bugs that only show up live Backend/model : FastAPI on Hack Club Nest (Stardance’s rules don’t allow Hugging Face for hosting), running as a systemd service, bound to 127.0.0.1 behind Caddy for TLS. Frontend : static HTML/CSS/JS on Vercel, auto-deployed via GitHub Actions. Real bugs surfaced by going live: addMessage() never returned the div it created, so every successful reply crashed setting .textContent on undefined , landing in the catch block and showing an error even when the backend answered correctly. Live on the public demo before it got caught. The rate limiter keyed on a spoofable query parameter instead of the real client IP. Fixed by reading X-Forwarded-For ’s last hop, which only Caddy can set here. No protection against concurrent requests on a 2-vCPU, 1.5GB box with a documented prior OOM kill. Queuing behind a lock still pushed memory to the ceiling, so it became a 503 (fail fast) instead. A missing message field crashed inside search() . Now returns 400 first. The model’s sanity-check block ran on every import, not just direct execution. Gated behind if __name__ == \"__main__\": . The result /generate went from ~50s to ~4.0s, a ~12.5x speedup, same model, same box, real public HTTPS endpoint. Verified live, not assumed. What’s running now A GPT trained from scratch, retrieval-augmented over real security docs, served with KV-cache inference behind a rate-limited public API. Every piece went through a review pass that caught real, live bugs before calling it done. The model’s output quality at 100M params is the physical ceiling of this scale, not a bug to fix, that was always the outcome of training something this size from nothing. Getting the whole stack this far, correctly, is the milestone."}, {"post_id": 45049, "ts": "2026-08-11T09:30:36Z", "hours": 1.1694, "text": "tiny-llm: the 100M model is trained, and RAG is wired in The 100M parameter run is done. 976,562 steps on a 2B-token corpus, and chat.py now pulls retrieved passages before generating instead of relying on memorized weights. The problem, and the fix Started out wanting this model trained purely on security content (HackTricks, PayloadsAllTheThings, SecLists, GTFOBins, CheatSheetSeries, wstg). All of that combined comes to about 6.73M tokens. Compute-optimal for a 100M model is around 2B tokens, real security wikis just don’t reach that scale, and no amount of repo-hunting was going to fix that 300x gap. The solution i found was blend the 6.73M security tokens into a 2B-token corpus, topped up with FineWeb-Edu for general English coverage. The model gets real security-domain exposure plus enough general text to actually hold together grammatically, not by inventing security content that doesn’t exist, but by being upfront about what’s actually available. The training run d_model=768, n_heads=12, n_layer=12 4x the previous 24M config. Config changes were straightforward, getting a resumable 50-hour run right was the actual work: Checkpoint pruning — early on, checkpoints/ silently grew to 561GB before a torch.save call failed with a disk-full error mid-write. Fixed by keeping only the 5 most recent checkpoints on every save, removing older ones automatically. torch.compile ordering — resuming from a checkpoint failed with a state_dict key mismatch the first time, because model = torch.compile(model) was running before the resume logic loaded the weights. Compiled models get every parameter name prefixed with _orig_mod. , so loading a plain checkpoint into a compiled model (or vice versa) breaks. Fixed by moving the resume block to before the torch.compile call — load into the “bare” model first, compile after. Verified resume actually works — killed the process mid-run, restarted, confirmed it picked up exactly where it left off (same step, same loss) before trusting it for the full 50 hours unattended. Final loss landed around 3.5–3.8 (train and val tracking closely) — expected for a corpus this heterogeneous (security docs + general web text) compared to the tighter 1.4–1.8 range on TinyStories. Wiring in retrieval A 100M model isn’t going to reliably “know” security facts from 6.73M tokens seen once inside a 2B-token corpus — so instead of hoping the weights memorized it, chat.py now retrieves first: User’s prompt goes to a local SQLite FTS5 search index built over the same repos/ content used in training Top-k matching passages come back with source, heading, and BM25 relevance score Those passages get prepended to the prompt as context before the model generates Straightforward in concept, but ran into block_size=256 limits fast, retrieved passages plus the question can easily blow past what the model was trained to handle positionally. Fixed by truncating the encoded prompt to the last 256 tokens before generation, keeping the question and “Answer:” cue intact even if some of the retrieved context gets cut from the front. What actually happens now Asked “What is SQL injection?” — with retrieval wired in, the model opens with something closer to on-topic (“one of the most powerful tools available to attackers”) instead of pure noise, but drifts into plausible-sounding but fabricated details a few sentences in. That’s the honest result at this scale: retrieval gives it real information to start from, but staying faithful to that context for 100 generated tokens is past what 100M parameters can reliably do. Better than without retrieval, not a fix for the underlying scale limit."}, {"post_id": 42260, "ts": "2026-08-06T21:44:21Z", "hours": 1.7903, "text": "tiny-llm: 24M model trained, and it actually generates coherent stories Picked up from the last devlog — train.py was working (fp16, grad clipping, val loss, checkpointing), but only tested on 2000 steps. This one covers finishing the training setup, the real 4-hour run, and getting the model talking through a CLI. Cosine LR with warmup Added a proper learning rate schedule before committing to a long run: Warmup — LR ramps up linearly from 0 to the target (3e-4) over the first 2000 steps, instead of hitting the model with full LR while the weights are still random. Cosine decay — after warmup, LR follows a cosine curve down toward 0 over the rest of training, so the model settles into finer adjustments by the end instead of taking large steps the whole way through. Nothing exotic here — PyTorch doesn’t need a library for this, just a function that computes the right LR for the current step and gets applied to the optimizer’s param groups each iteration. The real run 474M tokens (the full TinyStories corpus), which comes out to ~231,445 steps at batch_size=8, block_size=256 . Ran for about 4 hours on the RTX 2080 Super: step 0: train loss 11.01 val loss 10.62 step 231000: train loss 1.48 val loss 1.49 step 231400: train loss 1.82 val loss 1.69 Train and val loss tracked closely the entire run — no overfitting. Loss in the 1.4–1.8 range by the end, a solid result for a from-scratch 24M model on this corpus. sample.py: watching it actually generate Wrote a script to load a checkpoint and generate text autoregressively — feed in a prompt, predict the next token, append it, repeat. Had to fix two small but important bugs along the way: torch.arange and torch.triu inside the model default to creating tensors on CPU even when everything else is on GPU — same device-mismatch class of bug as during training, fixed the same way ( device=x.device ). Loading the checkpoint failed at first because torch.compile prefixes every parameter name with _orig_mod. — stripped it with a quick dict comprehension before calling load_state_dict . First real generation, prompted with “once upon a time”: once upon a time, there was a fish named Fin. Fin was very brave and always had a big challenge to do. One day, Fin asked his friend, Sally, “Will you marry me?” Sally said, “Yes, Fin! Let’s go!” Fin and Sally had a big adventure in the ocean… Not perfect logic (fish swimming through an ocean “full of fish to eat” is a little off), but grammatically solid, consistent character names throughout, and a real narrative arc. Exactly what you’d expect from a well-trained 24M model on TinyStories. chat.py: a quick interactive loop Wrapped the generation code in a while True loop so the model loads once and takes prompts repeatedly instead of restarting for every single generation. Worth noting for anyone trying this themselves: this is a base model , not an instruction-tuned chat model — it doesn’t “answer” prompts, it just continues them as text. Say “hello” and it treats that as the opening of a story, not a greeting to respond to. That’s expected behavior at this stage, not a bug — instruction-following is a separate fine-tuning step for later. What’s next The full pipeline — prepare.py → train.py → sample.py/chat.py — is confirmed working end-to-end, from raw dataset to a model you can actually talk to (in the “continues your text” sense). Next up: scaling to the 100M-param run on a 2B-token corpus, this time blending real security-focused text (HackTricks, PayloadsAllTheThings, and others) with general web text, plus a retrieval index so the model can pull in relevant passages instead of relying purely on memorized weights."}, {"post_id": 40820, "ts": "2026-08-04T16:14:21Z", "hours": 1.0447, "text": "tiny-llm: train.py works, and the model is actually learning model.py and prepare.py were done, but nothing had actually been trained yet. This devlog covers train.py and the first real smoke test on the 24M-parameters config. Writing train.py Wrote the training loop the same way as the model piece by piece, understanding each part before moving on: get_batch — pulls random windows from the memmapped .bin files. x is a block of tokens, y is the same block shifted by one position (next-token prediction). Understanding why y is just x shifted by 1 was one of those small moments where next-token prediction actually clicked. Mixed precision (fp16 + GradScaler) — my GPU (RTX 2080 Super, Turing) doesn’t have real bf16 tensor cores, so fp16 with a GradScaler is the right call. The scaler exists because fp16 has a much narrower range than fp32 — small gradients can underflow to zero and silently vanish. The scaler multiplies the loss up before backward() and unscales before step() , so nothing gets lost in the process. Gradient clipping — caps the gradient norm at 1.0 before the optimizer step, to stop occasional exploding gradients from wrecking a good run. Validation loss — evaluates on a held-out batch from val.bin every 100 steps, wrapped in model.eval() + @torch.no_grad() , so I can actually tell if the model is generalizing instead of just memorizing. Checkpointing — saves model + optimizer state every 1000 steps. Training a real run for tens of hours without this would be a great way to lose everything to one crash. Debugging session Hit two device-mismatch errors early on — torch.arange and torch.triu both default to creating tensors on CPU, even when the rest of the model is on the GPU. Fixed by explicitly passing device=x.device wherever a new tensor gets created inside the model. Small bug, but a good reminder that PyTorch doesn’t infer device placement for you. First real run Ran the 24M-param smoke test ( n_layer=6, n_head=6, n_embd=384, block_size=256 ) on TinyStories, ~470M tokens, for 2000 steps on my RTX 2080 Super: step 0: train loss 11.01 val loss 10.62 step 1000: train loss 3.34 val loss 3.47 step 1900: train loss 2.89 val loss 3.10 Loss starts right around ln(50257) ≈ 10.8 , which is exactly what you’d expect from a model guessing uniformly over the vocabulary before it’s learned anything. Train and val loss track each other closely the whole way down — no sign of overfitting, which is what I wanted to confirm before committing to a much longer run. What’s next The full pipeline is confirmed working end-to-end: prepare.py → get_batch → model.py → train.py , all on my own hardware. Next step is adding a cosine learning rate schedule with warmup, then moving on to the actual 100M-param run. PS: train.py had some AI usage"}, {"post_id": 36434, "ts": "2026-07-28T15:39:08Z", "hours": 5.0886, "text": "tiny-llm: getting the data pipeline and model architecture in place Before writing any model code, I needed a way to actually get training data into a usable format. prepare.py handles that: it streams a dataset from HuggingFace (starting with TinyStories, ~470M tokens), tokenizes it with the GPT-2 BPE tokenizer via tiktoken , and writes it out as flat uint16 arrays split into train.bin and val.bin . A few details mattered here even though I didn’t write this part myself: Tokens are stored as uint16 instead of the more obvious int32 / int64 — GPT-2’s vocab is 50,257 tokens, which fits comfortably under 65,536, so uint16 cuts file size in half for free. The split between train/val happens per document , not per token. Each story gets an end-of-text token appended, and documents are randomly assigned to train or val as a whole — so a story never gets cut in half across the train/val boundary and leaks information. Files are written so they can be read later with np.memmap , meaning the corpus never has to fit in RAM — training just maps the file and reads slices from disk on demand. With the data pipeline sorted, I moved on to the part I actually wanted to understand deeply: the model itself. That’s model.py , CausalSelfAttention , MLP , Block , and GPT , all written and shape-tested from scratch. Having both pieces done means the two “boring but necessary” and “the actual point of the project” halves are finally connected: real tokenized text on one end, a transformer architecture ready to consume it on the other. Next: train.py — wiring prepare.py ’s output into model.py via memmap batching, cross-entropy loss, AdamW, and a training loop."}]...
|
Title: VoidSeed by @otzpt | Stardance
Devlogs:
ti Title: VoidSeed by @otzpt | Stardance
Devlogs:
tiny-llm: getting the data pipeline and model architecture in place Before writing any model code, I needed a way to actually get training data into a usable format. prepare.py handles that: it streams a dataset from HuggingFace (starting with TinyStories, ~470M tokens), tokenizes it with the GPT-2 BPE tokenizer via tiktoken , and writes it out as flat uint16 arrays split into train.bin and val.bin . A few details mattered here even though I didn’t write this part myself: Tokens are stored as uint16 instead of the more obvious int32 / int64 — GPT-2’s vocab is 50,257 tokens, which fits comfortably under 65,536, so uint16 cuts file size in half for free. The split between train/val happens per document , not per token. Each story gets an end-of-text token appended, and documents are randomly assigned to train or val as a whole — so a story never gets cut in half across the train/val boundary and leaks information. Files are written so they can be read later with np.memmap , meaning the corpus never has to fit in RAM — training just maps the file and reads slices from disk on demand. With the data pipeline sorted, I moved on to the part I actually wanted to understand deeply: the model itself. That’s model.py , CausalSelfAttention , MLP , Block , and GPT , all written and shape-tested from scratch. Having both pieces done means the two “boring but necessary” and “the actual point of the project” halves are finally connected: real tokenized text on one end, a transformer architecture ready to consume it on the other. Next: train.py — wiring prepare.py ’s output into model.py via memmap batching, cross-entropy loss, AdamW, and a training loop.
tiny-llm: train.py works, and the model is actually learning model.py and prepare.py were done, but nothing had actually been trained yet. This devlog covers train.py and the first real smoke test on the 24M-parameters config. Writing train.py Wrote the training loop the same way as the model piece by piece, understanding each part before moving on: get_batch — pulls random windows from the memmapped .bin files. x is a block of tokens, y is the same block shifted by one position (next-token prediction). Understanding why y is just x shifted by 1 was one of those small moments where next-token prediction actually clicked. Mixed precision (fp16 + GradScaler) — my GPU (RTX 2080 Super, Turing) doesn’t have real bf16 tensor cores, so fp16 with a GradScaler is the right call. The scaler exists because fp16 has a much narrower range than fp32 — small gradients can underflow to zero and silently vanish. The scaler multiplies the loss up before backward() and unscales before step() , so nothing gets lost in the process. Gradient clipping — caps the gradient norm at 1.0 before the optimizer step, to stop occasional exploding gradients from wrecking a good run. Validation loss — evaluates on a held-out batch from val.bin every 100 steps, wrapped in model.eval() + @torch.no_grad() , so I can actually tell if the model is generalizing instead of just memorizing. Checkpointing — saves model + optimizer state every 1000 steps. Training a real run for tens of hours without this would be a great way to lose everything to one crash. Debugging session Hit two device-mismatch errors early on — torch.arange and torch.triu both default to creating tensors on CPU, even when the rest of the model is on the GPU. Fixed by explicitly passing device=x.device wherever a new tensor gets created inside the model. Small bug, but a good reminder that PyTorch doesn’t infer device placement for you. First real run Ran the 24M-param smoke test ( n_layer=6, n_head=6, n_embd=384, block_size=256 ) on TinyStories, ~470M tokens, for 2000 steps on my RTX 2080 Super: step 0: train loss 11.01 val loss 10.62 step 1000: train loss 3.34 val loss 3.47 step 1900: train loss 2.89 val loss 3.10 Loss starts right around ln(50257) ≈ 10.8 , which is exactly what you’d expect from a model guessing uniformly over the vocabulary before it’s learned anything. Train and val loss track each other closely the whole way down — no sign of overfitting, which is what I wanted to confirm before committing to a much longer run. What’s next The full pipeline is confirmed working end-to-end: prepare.py → get_batch → model.py → train.py , all on my own hardware. Next step is adding a cosine learning rate schedule with warmup, then moving on to the actual 100M-param run. PS: train.py had some AI usage
tiny-llm: 24M model trained, and it actually generates coherent stories Picked up from the last devlog — train.py was working (fp16, grad clipping, val loss, checkpointing), but only tested on 2000 steps. This one covers finishing the training setup, the real 4-hour run, and getting the model talking through a CLI. Cosine LR with warmup Added a proper learning rate schedule before committing to a long run: Warmup — LR ramps up linearly from 0 to the target (3e-4) over the first 2000 steps, instead of hitting the model with full LR while the weights are still random. Cosine decay — after warmup, LR follows a cosine curve down toward 0 over the rest of training, so the model settles into finer adjustments by the end instead of taking large steps the whole way through. Nothing exotic here — PyTorch doesn’t need a library for this, just a function that computes the right LR for the current step and gets applied to the optimizer’s param groups each iteration. The real run 474M tokens (the full TinyStories corpus), which comes out to ~231,445 steps at batch_size=8, block_size=256 . Ran for about 4 hours on the RTX 2080 Super: step 0: train loss 11.01 val loss 10.62 step 231000: train loss 1.48 val loss 1.49 step 231400: train loss 1.82 val loss 1.69 Train and val loss tracked closely the entire run — no overfitting. Loss in the 1.4–1.8 range by the end, a solid result for a from-scratch 24M model on this corpus. sample.py: watching it actually generate Wrote a script to load a checkpoint and generate text autoregressively — feed in a prompt, predict the next token, append it, repeat. Had to fix two small but important bugs along the way: torch.arange and torch.triu inside the model default to creating tensors on CPU even when everything else is on GPU — same device-mismatch class of bug as during training, fixed the same way ( device=x.device ). Loading the checkpoint failed at first because torch.compile prefixes every parameter name with _orig_mod. — stripped it with a quick dict comprehension before calling load_state_dict . First real generation, prompted with “once upon a time”: once upon a time, there was a fish named Fin. Fin was very brave and always had a big challenge to do. One day, Fin asked his friend, Sally, “Will you marry me?” Sally said, “Yes, Fin! Let’s go!” Fin and Sally had a big adventure in the ocean… Not perfect logic (fish swimming through an ocean “full of fish to eat” is a little off), but grammatically solid, consistent character names throughout, and a real narrative arc. Exactly what you’d expect from a well-trained 24M model on TinyStories. chat.py: a quick interactive loop Wrapped the generation code in a while True loop so the model loads once and takes prompts repeatedly instead of restarting for every single generation. Worth noting for anyone trying this themselves: this is a base model , not an instruction-tuned chat model — it doesn’t “answer” prompts, it just continues them as text. Say “hello” and it treats that as the opening of a story, not a greeting to respond to. That’s expected behavior at this stage, not a bug — instruction-following is a separate fine-tuning step for later. What’s next The full pipeline — prepare.py → train.py → sample.py/chat.py — is confirmed working end-to-end, from raw dataset to a model you can actually talk to (in the “continues your text” sense). Next up: scaling to the 100M-param run on a 2B-token corpus, this time blending real security-focused text (HackTricks, PayloadsAllTheThings, and others) with general web text, plus a retrieval index so the model can pull in relevant passages instead of relying purely on memorized weights.
tiny-llm: the 100M model is trained, and RAG is wired in The 100M parameter run is done. 976,562 steps on a 2B-token corpus, and chat.py now pulls retrieved passages before generating instead of relying on memorized weights. The problem, and the fix Started out wanting this model trained purely on security content (HackTricks, PayloadsAllTheThings, SecLists, GTFOBins, CheatSheetSeries, wstg). All of that combined comes to about 6.73M tokens. Compute-optimal for a 100M model is around 2B tokens, real security wikis just don’t reach that scale, and no amount of repo-hunting was going to fix that 300x gap. The solution i found was blend the 6.73M security tokens into a 2B-token corpus, topped up with FineWeb-Edu for general English coverage. The model gets real security-domain exposure plus enough general text to actually hold together grammatically, not by inventing security content that doesn’t exist, but by being upfront about what’s actually available. The training run d_model=768, n_heads=12, n_layer=12 4x the previous 24M config. Config changes were straightforward, getting a resumable 50-hour run right was the actual work: Checkpoint pruning — early on, checkpoints/ silently grew to 561GB before a torch.save call failed with a disk-full error mid-write. Fixed by keeping only the 5 most recent checkpoints on every save, removing older ones automatically. torch.compile ordering — resuming from a checkpoint failed with a state_dict key mismatch the first time, because model = torch.compile(model) was running before the resume logic loaded the weights. Compiled models get every parameter name prefixed with _orig_mod. , so loading a plain checkpoint into a compiled model (or vice versa) breaks. Fixed by moving the resume block to before the torch.compile call — load into the “bare” model first, compile after. Verified resume actually works — killed the process mid-run, restarted, confirmed it picked up exactly where it left off (same step, same loss) before trusting it for the full 50 hours unattended. Final loss landed around 3.5–3.8 (train and val tracking closely) — expected for a corpus this heterogeneous (security docs + general web text) compared to the tighter 1.4–1.8 range on TinyStories. Wiring in retrieval A 100M model isn’t going to reliably “know” security facts from 6.73M tokens seen once inside a 2B-token corpus — so instead of hoping the weights memorized it, chat.py now retrieves first: User’s prompt goes to a local SQLite FTS5 search index built over the same repos/ content used in training Top-k matching passages come back with source, heading, and BM25 relevance score Those passages get prepended to the prompt as context before the model generates Straightforward in concept, but ran into block_size=256 limits fast, retrieved passages plus the question can easily blow past what the model was trained to handle positionally. Fixed by truncating the encoded prompt to the last 256 tokens before generation, keeping the question and “Answer:” cue intact even if some of the retrieved context gets cut from the front. What actually happens now Asked “What is SQL injection?” — with retrieval wired in, the model opens with something closer to on-topic (“one of the most powerful tools available to attackers”) instead of pure noise, but drifts into plausible-sounding but fabricated details a few sentences in. That’s the honest result at this scale: retrieval gives it real information to start from, but staying faithful to that context for 100 generated tokens is past what 100M parameters can reliably do. Better than without retrieval, not a fix for the underlying scale limit.
tiny-llm: KV-cache, a public API, and shipping the whole thing Last devlog left off with the 100M model trained and RAG wired into chat.py , generating in ~50s per reply. This one covers making that fast, and getting the whole pipeline live on the internet. Understanding KV-cache Without a cache, every new token recalculates K/V for all tokens already processed, even though those values haven’t changed. The KV cache keeps them around and only computes K/V for the new token. Three real changes to model.py : CausalSelfAttention.forward now takes an optional kv_cache , concatenates new K/V onto it along the sequence dimension, and returns the updated cache. The causal mask only applies when there’s no cache. With a cache, the new token’s query attends over the entire K/V (past + new), and since generation only ever feeds one new token at a time once a cache exists, there’s no future position to accidentally see. “No mask” is the correct causal mask in that case, not an approximation. Position embeddings need to be absolute, not relative to the current call. With a cache, x is only the new tokens, so position 0 here is really past_length in the full sequence, pulled from the cached K’s sequence-length dimension. Before relying on the cache, I added a correctness check: run the whole sequence normally, then one token at a time through the cache, compare logits with torch.allclose . They matched. Wanted to confirm correctness before worrying about performance. Wiring it into generation chat.py and backend.py now do a prefill (whole prompt through the model once, building the initial cache) followed by decode steps that only pass the newest token plus the accumulated cache, instead of re-encoding a sliding window every step. Deploying: Nest, Vercel, and bugs that only show up live Backend/model : FastAPI on Hack Club Nest (Stardance’s rules don’t allow Hugging Face for hosting), running as a systemd service, bound to 127.0.0.1 behind Caddy for TLS. Frontend : static HTML/CSS/JS on Vercel, auto-deployed via GitHub Actions. Real bugs surfaced by going live: addMessage() never returned the div it created, so every successful reply crashed setting .textContent on undefined , landing in the catch block and showing an error even when the backend answered correctly. Live on the public demo before it got caught. The rate limiter keyed on a spoofable query parameter instead of the real client IP. Fixed by reading X-Forwarded-For ’s last hop, which only Caddy can set here. No protection against concurrent requests on a 2-vCPU, 1.5GB box with a documented prior OOM kill. Queuing behind a lock still pushed memory to the ceiling, so it became a 503 (fail fast) instead. A missing message field crashed inside search() . Now returns 400 first. The model’s sanity-check block ran on every import, not just direct execution. Gated behind if __name__ == "__main__": . The result /generate went from ~50s to ~4.0s, a ~12.5x speedup, same model, same box, real public HTTPS endpoint. Verified live, not assumed. What’s running now A GPT trained from scratch, retrieval-augmented over real security docs, served with KV-cache inference behind a rate-limited public API. Every piece went through a review pass that caught real, live bugs before calling it done. The model’s output quality at 100M params is the physical ceiling of this scale, not a bug to fix, that was always the outcome of training something this size from nothing. Getting the whole stack this far, correctly, is the milestone.
Fix for ship The Ship was rejected for AI readme (wrong banner and AI written AI usage declaration, but this is not smt that counts time towards devlog so it’s not going to be mentioned) which I had already re-written, so I thought what could maybe fix the ship issue, and an idea came to mind: if the readme sounds AI written then I will fully re-write the readme from scratch and only use AI to fix typos (ex: LMM to LLM or then to than), so that is what I did, I re-wrote the entire readme. The problem There was a big problem: it had been so long I didn’t remember the code well, so I had to study the entire code base because of the readme. In the process, I found a bug in chat.py , which luckily was a quick fix, just a if there. Extra If you are wondering why the devlog is 1h and 30m, I also don’t know. If I had to guess, it is that I re-wrote the readme a first time and didn’t make the devlog, so there is that extra that could also be why it got rejected for the same reason as before (AI readme).
Ships:
My aim was never been to create a useful replacement for ChatGPT; instead, I decided to understand what goes on inside a language model and so I created the transformer, the training loop, the tokenizer/data pipeline, and the retrieval layer myself. It went through two phases: 24M parameters trained on TinyStories as the starter experiment 155M parameters trained on ~2B tokens of security documentation Full-text retrieval using SQLite FTS5 A custom training pipeline that includes the use of mixed precision, checkpointing, and cosine LR scheduling, etc. The model is awful at actually answering questions ; that’s basically the whole point. While they are able to generate coherent text and the more extensive model can make use of the security documentation that has been retrieved, don’t expect anything like frontier-model level reasoning; it’s a small model designed to learn from existing models rather than to replace those which cost millions to train. From this project I learned more regarding transformers, training, data, retrieval, and the actual situation with small models than I would have if I had just used an existing framework....
|
1793307054.1067615
|
1793393454.1067615
|
|
64244
|
GeethamSeniorSite by @geethamrevu | Stardance
|
geethamrevu
|
0
|
3.99
|
0
|
[]
|
[{"post_id": 75908, "ts": "202 [{"post_id": 75908, "ts": "2026-10-01T15:58:00Z", "hours": 0.4881, "text": "Uhh I aint done much lowk"}, {"post_id": 73431, "ts": "2026-09-25T02:30:51Z", "hours": 0.5306, "text": "WE MAKIN SOME DISTANCE YES SIRRRRR ALR first Ima explain I make the last a troll obby makin the game unwinnable"}, {"post_id": 73394, "ts": "2026-09-25T01:56:42Z", "hours": 1.0078, "text": "HEY An extension Now So made like a Big like Array Contianing all the platforms cus I aint remebrtiing them finally amde an endpoint but im changing it out for rn so"}, {"post_id": 72321, "ts": "2026-09-22T17:38:35Z", "hours": 1.3392, "text": "ALr I got lava and gravity now and i need to work on a platform so it stays on top"}, {"post_id": 71915, "ts": "2026-09-21T19:20:24Z", "hours": 0.6194, "text": "I Built a recctangle with red oclor a platform and currently making gravity"}]...
|
Title: GeethamSeniorSite by @geethamrevu | Stardan Title: GeethamSeniorSite by @geethamrevu | Stardance
Devlogs:
I Built a recctangle with red oclor a platform and currently making gravity
ALr I got lava and gravity now and i need to work on a platform so it stays on top
HEY An extension Now So made like a Big like Array Contianing all the platforms cus I aint remebrtiing them finally amde an endpoint but im changing it out for rn so
WE MAKIN SOME DISTANCE YES SIRRRRR ALR first Ima explain I make the last a troll obby makin the game unwinnable
Uhh I aint done much lowk...
|
1793058832.1749957
|
1793663632.1749957
|
|
49767
|
Raspberry Pi Laptop by @suklaasukkulayt | Stardanc Raspberry Pi Laptop by @suklaasukkulayt | Stardance...
|
suklaasukkulayt
|
0
|
6.81
|
0
|
[]
|
[{"post_id": 75907, "ts": "202 [{"post_id": 75907, "ts": "2026-10-01T15:54:51Z", "hours": 2.7492, "text": "Devlog 2 Next devlog I’m gonna start making the body for this. I took apart the PS4 controller and now it only has the touchpad, speaker, charging port and the headphone jack . I added the Raspberry Pi camera module 3 so I can use the camera. I also had to make a switch to disable the power to the monitor , because it was glitching when booting. I added a power button , because the Pi wouldn’t turn on when just turning the power on from the switch. The final laptop will also have a power bank functionality (when the Pi is not in use), because I will leave the usb port from the power bank exposed. That’s probably all for now!"}, {"post_id": 66574, "ts": "2026-09-12T12:32:59Z", "hours": 4.0656, "text": "Devlog 1 I wanted to make a small and portable laptop using parts I had at home . The laptop’s brain is a Raspberry Pi 5 powered with a power bank I found for just 1€ at a flea market. The capacity is 10 000mah . I connected a bluetooth keyboard I had like never used and a PS4 controller with stick drift. I’m gonna use the controller’s touch pad as a mouse and the headphone jack (and maybe the speaker if possible) for audio . (I’m gonna take the controller apart) It has a Dfrobot 7” touchscreen . It will also have HDMI output for an external display. It doesn’t have the body yet but I will start working on it soon !"}]...
|
Title: Raspberry Pi Laptop by @suklaasukkulayt | S Title: Raspberry Pi Laptop by @suklaasukkulayt | Stardance
Devlogs:
Devlog 1 I wanted to make a small and portable laptop using parts I had at home . The laptop’s brain is a Raspberry Pi 5 powered with a power bank I found for just 1€ at a flea market. The capacity is 10 000mah . I connected a bluetooth keyboard I had like never used and a PS4 controller with stick drift. I’m gonna use the controller’s touch pad as a mouse and the headphone jack (and maybe the speaker if possible) for audio . (I’m gonna take the controller apart) It has a Dfrobot 7” touchscreen . It will also have HDMI output for an external display. It doesn’t have the body yet but I will start working on it soon !
Devlog 2 Next devlog I’m gonna start making the body for this. I took apart the PS4 controller and now it only has the touchpad, speaker, charging port and the headphone jack . I added the Raspberry Pi camera module 3 so I can use the camera. I also had to make a switch to disable the power to the monitor , because it was glitching when booting. I added a power button , because the Pi wouldn’t turn on when just turning the power on from the switch. The final laptop will also have a power bank functionality (when the Pi is not in use), because I will leave the usb port from the power bank exposed. That’s probably all for now!...
|
1793303548.4891405
|
1793908348.4891405
|
|
17464
|
LocalSpot by @reyansh | Stardance
|
reyansh
|
0
|
0.83
|
0
|
[]
|
[{"post_id": 7590, "ts": "2026 [{"post_id": 7590, "ts": "2026-06-12T18:09:21Z", "hours": 0.8322, "text": "Im working on getting a domain grant"}]...
|
Title: LocalSpot by @reyansh | Stardance
Devlogs: Title: LocalSpot by @reyansh | Stardance
Devlogs:
Im working on getting a domain grant...
|
1793408216.566786
|
1794013016.566786
|
|
66837
|
SuperMarket BillingSystem by @Aayansh | Stardance
|
Aayansh
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-01T15:24:59Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "i made a super market billing system that wili help you organise your stocks and pull up bills out of it and the amount will be reduced from the database ….i got many errors and now i have finally done it so i am very proud of myself……", "repo": "https://github.com/Aayansh07-07-12/SuperMarketBillingSystem", "demo": "https://github.com/Aayansh07-07-12/SuperMarketBillingSystem/blob/main/SMBM/(1)supermarketbillingsystem.exe"}]...
|
[{"post_id": 75898, "ts": "202 [{"post_id": 75898, "ts": "2026-10-01T15:20:32Z", "hours": 0.4267, "text": "So, I have finally completed coding and now i am finally cleaning and giving it some finishing"}, {"post_id": 75850, "ts": "2026-10-01T10:38:55Z", "hours": 1.0761, "text": "Almost done with it……"}, {"post_id": 75833, "ts": "2026-10-01T09:01:56Z", "hours": 2.2486, "text": "I am working on a Super Market Management System that help ppl manage the price and amount of their stock."}]...
|
Title: SuperMarket BillingSystem by @Aayansh | Sta Title: SuperMarket BillingSystem by @Aayansh | Stardance
Devlogs:
I am working on a Super Market Management System that help ppl manage the price and amount of their stock.
Almost done with it……
So, I have finally completed coding and now i am finally cleaning and giving it some finishing
Ships:
i made a super market billing system that wili help you organise your stocks and pull up bills out of it and the amount will be reduced from the database ….i got many errors and now i have finally done it so i am very proud of myself……...
|
1793217017.1093934
|
1793303417.1093934
|
|
28817
|
PicoOS by @ZiDi | Stardance
|
ZiDi
|
1
|
51.46
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-16T14:56:59Z", "hours": 20.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I created an operating system for the Raspberry Pi Pico family. It is a shell-based OS written in MicroPython, designed to feel similar to Linux. While it does not include every Linux command, it introduces many familiar concepts, including a built-in text editor called Nano . PicoOS allows users to create their own apps and install them directly into the system. It supports SD cards, error logging, and one of its main features is the ability to write your own Python programs that can interact with the Raspberry Pi Pico hardware, including its GPIO pins. This project was challenging, but I managed to make it a reality, and the process was also a lot of fun. The original idea came from wanting to run Linux on a Raspberry Pi Pico. However, because of its limited RAM and flash storage, running a full Linux system was not possible. Instead, I decided to create my own lightweight, Linux-inspired operating system designed specifically for the Raspberry Pi Pico. I also created an installer that makes it easy to install and configure PicoOS on your device, allowing anyone to quickly set up their own Pico-based operating system. This is only the first release of PicoOS, with simple and basic features, but there is much more planned for the future. I recently got a Raspberry Pi Pico W, which will allow me to start working on WiFi support. With WiFi, PicoOS will be able to connect to the internet, download updates and install apps online, browse web content, and introduce new network features. I also want to create a lightweight version of something similar to SSH, allowing users to remotely connect to and control their Raspberry Pi Pico running PicoOS.", "repo": "https://github.com/patriq128/PicoOS", "demo": "https://picoos.dev/"}]...
|
[{"post_id": 75889, "ts": "202 [{"post_id": 75889, "ts": "2026-10-01T14:43:19Z", "hours": 3.9789, "text": "Devlog #10 Added users and remade website What I’m working on I wasn’t working on this project for a longer time (2 months), but I decided to continue working on it :). These are some of the things that I made: Users So, because in the old version the user was working in the system files, and that wasn’t very safe, I decided that I need to have something like this, also because I want this OS to feel like Linux. I added a new command called userman , and with this, you can create users, delete users, and also log in. I also added passwords, so I made an easy (for now) hashing system and saving system for them. Some safety features I found out that when you type \"rm /\" , it would, without any questions, delete all of the system files. I repaired it, and now when you type just \"rm /\" , it’s going to tell you that it can’t do it, but if you type \"rm / --no-preserve-root\" , it will firstly ask you, and when you type “y”, it will remove everything. Remade Website So, my ship request got denied because my website felt like it was vibecoded, and yeah, it was. Sooo, I decided that I want to get my Stardust XD and also make this project good, so I tried to remake it with my own hands. Yeah, I know it doesn’t look like before, but because I’m not good at graphics and website making, it looks as good as I can make it. Other things Small things like editing the README, repairing some bugs in the system, and also adding new things to the installer. What I want to do next Try to ship the project. This is my only mission for now because I am still trying, and I really want my Stardust to buy the T-shirt. So yeah, I think this is everything that I have on my mind. I know it’s not a really long devlog, but I think I said everything that I have on my mind. I’m gonna try to ship it, so wish me luck. Love u :3"}, {"post_id": 45675, "ts": "2026-08-12T10:01:51Z", "hours": 6.965, "text": "Devlog #9 This devlog is going to be shorter because I was on vacation and didn’t have much time. But I repaired the installer on Windows and added some things to the README and website. Installer on Windows I use Linux for my daily work, so the installer was originally tested only on Linux. I wanted it to work on every OS, but unfortunately, it didn’t.Someone tried to use PicoOS and sent me an issue saying that the installer wasn’t working on Windows. What was the problem? The problem was that the installer can flash the newest version of MicroPython onto the device and detect if the device is in boot mode.However, Linux shows the Pico’s mass storage device differently than Windows does, so the installer couldn’t find it on Windows. How I fixed it I knew where the bug was, so I managed to fix it.First, the installer detects which OS it is running on. If it is running on Windows, it uses subprocess and PowerShell to ask Windows if a Pico is connected in boot mode. If it finds one, it gets the directory of the device.I don’t have a Windows PC, so I asked the person who reported the issue to test it for me.And it worked! :3 Documentation The website and README were outdated, so I rewrote some of the sections to make sure they are up to date.And yeah… I don’t really like documenting my projects. Other things I tried to fix the problem where pressing Ctrl + C in PicoOS would crash the whole system. I managed to fix it, but then I noticed that it prevented mpremote from resetting the device. After that, I removed the fix for now. Fixed an app-running problem where apps wouldn’t start if you weren’t in the / directory. I managed to fix that too. Repaired error saving to the SD card again because one small change broke it. Added installed apps to the installer, so you can see which apps you already have installed. What I want to do next Documentation — Right now, the README only contains some basic information and nothing close to the actual system documentation for developers. I want to create full documentation for PicoOS and explain how the system actually works. Fix the crash problem in PicoOS — I know I already tried to fix it and failed, but I want to try again with a different approach. I don’t know exactly how yet, but I’ll figure it out. Contact me — Now that I know someone is actually trying to use this project, I want to add a section to the PicoOS website where people can send me questions, feedback, bug reports, and more Make the app system public — Right now, the apps are only mine. If someone wants to add their own app, they don’t really have a way to do it yet. I want to create a system where people can submit their apps, write the necessary documentation, and eventually make them publicly available. Below is the issue I received and the system I use to check whether an app is installed."}, {"post_id": 37519, "ts": "2026-07-30T10:23:36Z", "hours": 9.8975, "text": "Devlog #8 This is again a really huge update, and there are many things that I made, and they are crazy, so let’s go. What have I actually done? My own package system : So you know how Debian has .apt packages? I made something like this for this OS. It’s just a minimalistic version, but it’s working, and I like how I made it work. First I tried Zip, but MicroPython doesn’t really have a zip library, so I am not using this. I am packing my own file format that’s basically bytes with headers and other stuff, ending with \".pcs\" , yeah. New installation system : Made in two parts: Installer : The internet and local installer are now one file. If the Pico has internet and the user types \"app install app\" (no .pcs), it first searches the internet, and if it finds nothing, tries local files. If the user types \"app install app.pcs\" , it just searches local files. After this, the system extracts the \".pcs\" file into a folder using the Extractor , then reads the manifest and writes the app info and hash into \"conf/apps.conf\" . Extractor : Reads a “.pcs” file, checks the headers to see if it’s legitimate, then reads the manifest and extracts everything into \"/apps/\" . Image rendering app : I tried to run Bad Apple in PicoOS, and for this I needed something like image rendering, so I made this. It reads its own file format \".pxi\" , which has every line and the RGB color of every pixel in the line. It works line by line because the Pico doesn’t have a lot of RAM, and if I tried to load everything at once it wouldn’t handle it. The output is basically “██” — that ASCII block — colored using TrueColor. External tools : A new folder with every tool you need to: build an app : python build_app.py folder_path — takes the folder, reads every file, checks for main.py and manifest.json, and makes it into \"foldername.pcs\" and \"foldername.pcs.256\" extract an app : python extract_app.py app_name.pcs — makes a folder with the app name containing everything that was in the app pxi converter : python pxi_converter.py image — takes the image, scales it, reads every pixel and calculates its RGB value, and outputs \"image_name.pxi\" Installing apps in installer.py : You can now install apps externally using the PC installer, so you can install apps from the internet. It gives you a menu where you select the apps you want, then it downloads them onto the Pico and runs the installer there. Download apps from the website : I have the website https://picoos.dev , and I added an apps section where you can find all the apps and their descriptions, and if you click download you get the app. Small changes : You can now select whether you have an SD card, and if not it won’t try to mount it. I repaired the error-saving so it can now save errors to the SD card. I changed the app manifest so now it must have the hash and description. What I want to do next: README : outdated, need to add and change the info about PicoOS. Website : also outdated, must rewrite it. 2nd ship : because I’ve been waiting for feedback from the 1st ship for 11 days, I want to try shipping it a second time. So this is maybe all from this devlog. It’s a huge update, and I want to make it even better. Thanks for the support. Love u guys :3 Below you can see the image app in action, apps installing using the internet, and the website’s app section preview."}, {"post_id": 33167, "ts": "2026-07-22T20:34:58Z", "hours": 8.1675, "text": "Devlog #7 While I am waiting for my ship to be reviewed, I have made huge progress. This is mainly because I finally managed to get a Raspberry Pi Pico W, and with that, I was finally able to connect PicoOS to the internet. What have I actually done? WiFi driver I built this driver on top of the built-in network library. These are the functions it currently supports: - Auto connect - Network configuration - Network scanning - Status checking - Disconnecting Ping Yes, you guessed it right — PicoOS can now ping websites and IP addresses. Download system Because I have my own domain, “ https://picoos.dev” , and now an internet connection, I created a system where system files and apps are stored online at: “ https://picoos.dev/download/” System updates I created a system updater because it is much easier to download only the updated files using the internet. You can access it by typing the command: “update” After that, it downloads manifest.json, which contains every system file with its SHA-256 hash. PicoOS compares the local files with the online version and downloads only the files that are different. The manifest is stored here: “ https://picoos.dev/download/system/manifest.json” App installation and updates This works almost the same way as the system updater, but it uses: “ https://picoos.dev/download/apps/” When you install an app, PicoOS downloads it and installs it directly into the system. Update installer PicoOS already has its own installer that can install and update the system. However, now that I added support for both the classic Raspberry Pi Pico and Pico W, I need to improve the installer so it can detect the device and install only compatible packages. What I want to do next: I want to improve the code structure and make the interface look better because the current version was mainly just a test to see if everything works — and it does! :) I also want to add image-to-ASCII rendering, so maybe I can try running some interesting things on it. But that will be a surprise. I want to create something like an SSH / remote access system. This will probably be another project and will work as a downloadable app. However, before that, I need to create a system that can properly handle input and collect terminal output, so it doesn’t rely only on serial communication. I think that is everything for this devlog. Below you can see a preview of the system with some of the new commands. I also want to ask: does anyone know how long I usually have to wait for a project review? I reshiped this project about 5 days ago and still haven’t received any feedback. If anyone knows, please comment on this devlog. Thank you! Love you guys :3"}, {"post_id": 30230, "ts": "2026-07-17T17:22:36Z", "hours": 2.4494, "text": "Hopefully the Last Devlog Before Shipping XD After my first unsuccessful ship, I changed my project’s banner and completely rewrote the README. And yes, I used AI. I even used it this time to fix my grammar because I’m not the best at English. Everything else, however, was written by me. But hey, I hope it’s finally ready to be shipped. :3"}, {"post_id": 29525, "ts": "2026-07-16T14:42:41Z", "hours": 2.4317, "text": "PicoOS Devlog First Public Release After many hours of development, bug fixes, and improvements, I finally reached a milestone I’m really happy with. Over the past few weeks, I fixed numerous issues, created a dedicated installer, improved the GitHub repository, and built an official website for the project. Because of these improvements, I decided it was finally time to make the first public release of PicoOS. What’s New? Fixed numerous bugs and improved overall stability. Created a dedicated installer for easier setup. Improved the structure and design of the GitHub repository. Launched the official PicoOS website. Purchased the official domain: https://picoos.dev Preview Below you can see a preview of the website and the GitHub repository. Love u :3"}, {"post_id": 27887, "ts": "2026-07-13T20:00:45Z", "hours": 8.7733, "text": "PicoOS Devlog After many hours of coding, I finally decided to post my first devlog. What’s New? There are so many new things that I don’t even know where to start… Cleaner Code Structure I wanted to make the code much cleaner, so I split the project into smaller modules. This makes PicoOS easier to maintain, easier to read, and much more organized. Improvements Fixed the app installation system Nano is now working properly Improved the overall project structure New System Information Tool I added a new utility that displays useful information about your device, including: CPU information RAM usage Flash memory usage New Installer I’m getting PicoOS ready for everyone to try, so I created Installator.py . The installer can: Automatically download the latest version of MicroPython for your device Flash the firmware Connect using mpremote Upload all required PicoOS modules Let you configure your system before the first boot This makes installing PicoOS much easier. Plans for Tomorrow Here are a few things I want to work on next: Improve the GitHub repository Create a better README Build a website with installation tutorials and documentation Hopefully publish the first official release of PicoOS Preview Below you can see a preview of the new code structure and the installer. Love u :3"}, {"post_id": 23719, "ts": "2026-07-06T20:36:55Z", "hours": 2.3631, "text": "So today I finally added support for the SD card, and it’s one of the best features I’ve added to the OS. When you boot the OS, it automatically tries to mount the SD card, and then you can open it, add files, read files, and even unmount it whenever you want. I also added what I call the Light Debugger. It basically initializes the built-in LED or a NeoPixel, allowing you to debug things like boot status, errors, and other events even when you don’t have the serial monitor open. I also improved the app installation and app running system. You can now install apps directly from the SD card or run them without installing them first. I also tried writing a simple Snake game for testing, and it’s working pretty well. I also tried a little funny experiment: I sent the kernel code to Claude AI and asked it to rewrite it in Rust. And it actually did it! It wasn’t perfect—many things didn’t work—but hey, maybe one day I’ll rewrite the whole OS from MicroPython to Rust. Who knows? So that’s everything for today, and I hope you like the new updates! :) What do I want to do tomorrow? I want to make the OS look prettier, clean up the code to make it much easier to read and maintain, update the GitHub page, and maybe even create a simple website with a tutorial explaining how to run it on your own Raspberry Pi Pico. Love u :3"}, {"post_id": 23098, "ts": "2026-07-05T20:48:14Z", "hours": 4.9244, "text": "I’ve made significant progress on my project recently. One of the major features I implemented is support for installing and running external applications. You can install apps and execute them, and I’ve tested it with my “nano” app — everything is working quite well. I also took inspiration from Linux commands and added support for familiar ones such as touch, cd, ls, mv, cat, and mkdir, along with a few others. This makes the system feel more like a real command-line environment. In addition, I introduced .conf configuration files to manage system and app settings. I also created a module called trun.run, which allows programs to execute automatically on boot. Because of this, I implemented a system for enabling and disabling features, with all settings stored in /conf/configuration.conf. Next, I plan to add support for SD cards and some other improvements, but that’s a task for tomorrow. :) Love u"}, {"post_id": 19488, "ts": "2026-06-30T20:19:59Z", "hours": 1.9381, "text": "I’ve been making good progress on PicoOS today. I added a basic terminal with its own command system, started working on an application installation system, and built a simple terminal-based text editor that can create, edit, and save files.I also implemented a basic boot sequence, automatic startup support, and made a few improvements to the overall terminal experience. There’s still a lot to do, but it’s starting to feel like a real operating system instead of just a collection of scripts.The attached image is the actual output from PicoOS running on the hardware. At the moment I’m interacting with the system over the serial terminal while I continue developing new features."}]...
|
Title: PicoOS by @ZiDi | Stardance
Devlogs:
I’ve Title: PicoOS by @ZiDi | Stardance
Devlogs:
I’ve been making good progress on PicoOS today. I added a basic terminal with its own command system, started working on an application installation system, and built a simple terminal-based text editor that can create, edit, and save files.I also implemented a basic boot sequence, automatic startup support, and made a few improvements to the overall terminal experience. There’s still a lot to do, but it’s starting to feel like a real operating system instead of just a collection of scripts.The attached image is the actual output from PicoOS running on the hardware. At the moment I’m interacting with the system over the serial terminal while I continue developing new features.
I’ve made significant progress on my project recently. One of the major features I implemented is support for installing and running external applications. You can install apps and execute them, and I’ve tested it with my “nano” app — everything is working quite well. I also took inspiration from Linux commands and added support for familiar ones such as touch, cd, ls, mv, cat, and mkdir, along with a few others. This makes the system feel more like a real command-line environment. In addition, I introduced .conf configuration files to manage system and app settings. I also created a module called trun.run, which allows programs to execute automatically on boot. Because of this, I implemented a system for enabling and disabling features, with all settings stored in /conf/configuration.conf. Next, I plan to add support for SD cards and some other improvements, but that’s a task for tomorrow. :) Love u
So today I finally added support for the SD card, and it’s one of the best features I’ve added to the OS. When you boot the OS, it automatically tries to mount the SD card, and then you can open it, add files, read files, and even unmount it whenever you want. I also added what I call the Light Debugger. It basically initializes the built-in LED or a NeoPixel, allowing you to debug things like boot status, errors, and other events even when you don’t have the serial monitor open. I also improved the app installation and app running system. You can now install apps directly from the SD card or run them without installing them first. I also tried writing a simple Snake game for testing, and it’s working pretty well. I also tried a little funny experiment: I sent the kernel code to Claude AI and asked it to rewrite it in Rust. And it actually did it! It wasn’t perfect—many things didn’t work—but hey, maybe one day I’ll rewrite the whole OS from MicroPython to Rust. Who knows? So that’s everything for today, and I hope you like the new updates! :) What do I want to do tomorrow? I want to make the OS look prettier, clean up the code to make it much easier to read and maintain, update the GitHub page, and maybe even create a simple website with a tutorial explaining how to run it on your own Raspberry Pi Pico. Love u :3
PicoOS Devlog After many hours of coding, I finally decided to post my first devlog. What’s New? There are so many new things that I don’t even know where to start… Cleaner Code Structure I wanted to make the code much cleaner, so I split the project into smaller modules. This makes PicoOS easier to maintain, easier to read, and much more organized. Improvements Fixed the app installation system Nano is now working properly Improved the overall project structure New System Information Tool I added a new utility that displays useful information about your device, including: CPU information RAM usage Flash memory usage New Installer I’m getting PicoOS ready for everyone to try, so I created Installator.py . The installer can: Automatically download the latest version of MicroPython for your device Flash the firmware Connect using mpremote Upload all required PicoOS modules Let you configure your system before the first boot This makes installing PicoOS much easier. Plans for Tomorrow Here are a few things I want to work on next: Improve the GitHub repository Create a better README Build a website with installation tutorials and documentation Hopefully publish the first official release of PicoOS Preview Below you can see a preview of the new code structure and the installer. Love u :3
PicoOS Devlog First Public Release After many hours of development, bug fixes, and improvements, I finally reached a milestone I’m really happy with. Over the past few weeks, I fixed numerous issues, created a dedicated installer, improved the GitHub repository, and built an official website for the project. Because of these improvements, I decided it was finally time to make the first public release of PicoOS. What’s New? Fixed numerous bugs and improved overall stability. Created a dedicated installer for easier setup. Improved the structure and design of the GitHub repository. Launched the official PicoOS website. Purchased the official domain: https://picoos.dev Preview Below you can see a preview of the website and the GitHub repository. Love u :3
Hopefully the Last Devlog Before Shipping XD After my first unsuccessful ship, I changed my project’s banner and completely rewrote the README. And yes, I used AI. I even used it this time to fix my grammar because I’m not the best at English. Everything else, however, was written by me. But hey, I hope it’s finally ready to be shipped. :3
Devlog #7 While I am waiting for my ship to be reviewed, I have made huge progress. This is mainly because I finally managed to get a Raspberry Pi Pico W, and with that, I was finally able to connect PicoOS to the internet. What have I actually done? WiFi driver I built this driver on top of the built-in network library. These are the functions it currently supports: - Auto connect - Network configuration - Network scanning - Status checking - Disconnecting Ping Yes, you guessed it right — PicoOS can now ping websites and IP addresses. Download system Because I have my own domain, “ https://picoos.dev” , and now an internet connection, I created a system where system files and apps are stored online at: “ https://picoos.dev/download/” System updates I created a system updater because it is much easier to download only the updated files using the internet. You can access it by typing the command: “update” After that, it downloads manifest.json, which contains every system file with its SHA-256 hash. PicoOS compares the local files with the online version and downloads only the files that are different. The manifest is stored here: “ https://picoos.dev/download/system/manifest.json” App installation and updates This works almost the same way as the system updater, but it uses: “ https://picoos.dev/download/apps/” When you install an app, PicoOS downloads it and installs it directly into the system. Update installer PicoOS already has its own installer that can install and update the system. However, now that I added support for both the classic Raspberry Pi Pico and Pico W, I need to improve the installer so it can detect the device and install only compatible packages. What I want to do next: I want to improve the code structure and make the interface look better because the current version was mainly just a test to see if everything works — and it does! :) I also want to add image-to-ASCII rendering, so maybe I can try running some interesting things on it. But that will be a surprise. I want to create something like an SSH / remote access system. This will probably be another project and will work as a downloadable app. However, before that, I need to create a system that can properly handle input and collect terminal output, so it doesn’t rely only on serial communication. I think that is everything for this devlog. Below you can see a preview of the system with some of the new commands. I also want to ask: does anyone know how long I usually have to wait for a project review? I reshiped this project about 5 days ago and still haven’t received any feedback. If anyone knows, please comment on this devlog. Thank you! Love you guys :3
Devlog #8 This is again a really huge update, and there are many things that I made, and they are crazy, so let’s go. What have I actually done? My own package system : So you know how Debian has .apt packages? I made something like this for this OS. It’s just a minimalistic version, but it’s working, and I like how I made it work. First I tried Zip, but MicroPython doesn’t really have a zip library, so I am not using this. I am packing my own file format that’s basically bytes with headers and other stuff, ending with ".pcs" , yeah. New installation system : Made in two parts: Installer : The internet and local installer are now one file. If the Pico has internet and the user types "app install app" (no .pcs), it first searches the internet, and if it finds nothing, tries local files. If the user types "app install app.pcs" , it just searches local files. After this, the system extracts the ".pcs" file into a folder using the Extractor , then reads the manifest and writes the app info and hash into "conf/apps.conf" . Extractor : Reads a “.pcs” file, checks the headers to see if it’s legitimate, then reads the manifest and extracts everything into "/apps/" . Image rendering app : I tried to run Bad Apple in PicoOS, and for this I needed something like image rendering, so I made this. It reads its own file format ".pxi" , which has every line and the RGB color of every pixel in the line. It works line by line because the Pico doesn’t have a lot of RAM, and if I tried to load everything at once it wouldn’t handle it. The output is basically “██” — that ASCII block — colored using TrueColor. External tools : A new folder with every tool you need to: build an app : python build_app.py folder_path — takes the folder, reads every file, checks for main.py and manifest.json, and makes it into "foldername.pcs" and "foldername.pcs.256" extract an app : python extract_app.py app_name.pcs — makes a folder with the app name containing everything that was in the app pxi converter : python pxi_converter.py image — takes the image, scales it, reads every pixel and calculates its RGB value, and outputs "image_name.pxi" Installing apps in installer.py : You can now install apps externally using the PC installer, so you can install apps from the internet. It gives you a menu where you select the apps you want, then it downloads them onto the Pico and runs the installer there. Download apps from the website : I have the website https://picoos.dev , and I added an apps section where you can find all the apps and their descriptions, and if you click download you get the app. Small changes : You can now select whether you have an SD card, and if not it won’t try to mount it. I repaired the error-saving so it can now save errors to the SD card. I changed the app manifest so now it must have the hash and description. What I want to do next: README : outdated, need to add and change the info about PicoOS. Website : also outdated, must rewrite it. 2nd ship : because I’ve been waiting for feedback from the 1st ship for 11 days, I want to try shipping it a second time. So this is maybe all from this devlog. It’s a huge update, and I want to make it even better. Thanks for the support. Love u guys :3 Below you can see the image app in action, apps installing using the internet, and the website’s app section preview.
Devlog #9 This devlog is going to be shorter because I was on vacation and didn’t have much time. But I repaired the installer on Windows and added some things to the README and website. Installer on Windows I use Linux for my daily work, so the installer was originally tested only on Linux. I wanted it to work on every OS, but unfortunately, it didn’t.Someone tried to use PicoOS and sent me an issue saying that the installer wasn’t working on Windows. What was the problem? The problem was that the installer can flash the newest version of MicroPython onto the device and detect if the device is in boot mode.However, Linux shows the Pico’s mass storage device differently than Windows does, so the installer couldn’t find it on Windows. How I fixed it I knew where the bug was, so I managed to fix it.First, the installer detects which OS it is running on. If it is running on Windows, it uses subprocess and PowerShell to ask Windows if a Pico is connected in boot mode. If it finds one, it gets the directory of the device.I don’t have a Windows PC, so I asked the person who reported the issue to test it for me.And it worked! :3 Documentation The website and README were outdated, so I rewrote some of the sections to make sure they are up to date.And yeah… I don’t really like documenting my projects. Other things I tried to fix the problem where pressing Ctrl + C in PicoOS would crash the whole system. I managed to fix it, but then I noticed that it prevented mpremote from resetting the device. After that, I removed the fix for now. Fixed an app-running problem where apps wouldn’t start if you weren’t in the / directory. I managed to fix that too. Repaired error saving to the SD card again because one small change broke it. Added installed apps to the installer, so you can see which apps you already have installed. What I want to do next Documentation — Right now, the README only contains some basic information and nothing close to the actual system documentation for developers. I want to create full documentation for PicoOS and explain how the system actually works. Fix the crash problem in PicoOS — I know I already tried to fix it and failed, but I want to try again with a different approach. I don’t know exactly how yet, but I’ll figure it out. Contact me — Now that I know someone is actually trying to use this project, I want to add a section to the PicoOS website where people can send me questions, feedback, bug reports, and more Make the app system public — Right now, the apps are only mine. If someone wants to add their own app, they don’t really have a way to do it yet. I want to create a system where people can submit their apps, write the necessary documentation, and eventually make them publicly available. Below is the issue I received and the system I use to check whether an app is installed.
Devlog #10 Added users and remade website What I’m working on I wasn’t working on this project for a longer time (2 months), but I decided to continue working on it :). These are some of the things that I made: Users So, because in the old version the user was working in the system files, and that wasn’t very safe, I decided that I need to have something like this, also because I want this OS to feel like Linux. I added a new command called userman , and with this, you can create users, delete users, and also log in. I also added passwords, so I made an easy (for now) hashing system and saving system for them. Some safety features I found out that when you type "rm /" , it would, without any questions, delete all of the system files. I repaired it, and now when you type just "rm /" , it’s going to tell you that it can’t do it, but if you type "rm / --no-preserve-root" , it will firstly ask you, and when you type “y”, it will remove everything. Remade Website So, my ship request got denied because my website felt like it was vibecoded, and yeah, it was. Sooo, I decided that I want to get my Stardust XD and also make this project good, so I tried to remake it with my own hands. Yeah, I know it doesn’t look like before, but because I’m not good at graphics and website making, it looks as good as I can make it. Other things Small things like editing the README, repairing some bugs in the system, and also adding new things to the installer. What I want to do next Try to ship the project. This is my only mission for now because I am still trying, and I really want my Stardust to buy the T-shirt. So yeah, I think this is everything that I have on my mind. I know it’s not a really long devlog, but I think I said everything that I have on my mind. I’m gonna try to ship it, so wish me luck. Love u :3
Ships:
I created an operating system for the Raspberry Pi Pico family. It is a shell-based OS written in MicroPython, designed to feel similar to Linux. While it does not include every Linux command, it introduces many familiar concepts, including a built-in text editor called Nano . PicoOS allows users to create their own apps and install them directly into the system. It supports SD cards, error logging, and one of its main features is the ability to write your own Python programs that can interact with the Raspberry Pi Pico hardware, including its GPIO pins. This project was challenging, but I managed to make it a reality, and the process was also a lot of fun. The original idea came from wanting to run Linux on a Raspberry Pi Pico. However, because of its limited RAM and flash storage, running a full Linux system was not possible. Instead, I decided to create my own lightweight, Linux-inspired operating system designed specifically for the Raspberry Pi Pico. I also created an installer that makes it easy to install and configure PicoOS on your device, allowing anyone to quickly set up their own Pico-based operating system. This is only the first release of PicoOS, with simple and basic features, but there is much more planned for the future. I recently got a Raspberry Pi Pico W, which will allow me to start working on WiFi support. With WiFi, PicoOS will be able to connect to the internet, download updates and install apps online, browse web content, and introduce new network features. I also want to create a lightweight version of something similar to SSH, allowing users to remotely connect to and control their Raspberry Pi Pico running PicoOS....
|
1793253353.5303237
|
1793339753.5303237
|
|
65001
|
My very own WebOS by @Ishandhar | Stardance
|
Ishandhar
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-02T08:35:47Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "First of all i’m PROUD of myself that i could ship this Project cause i made my first OS in the web, although my toughest part of this project was to even make a MUSIC PLAYER i wasted my 2 hours trying to understand why my player was not working but i got it fixed i have to use a bit of AI but everything is working now and i had DEPLOYED my first PROJECT", "repo": "https://github.com/dracarys40/550A", "demo": "https://550a.antideploy.app/"}]...
|
[{"post_id": 75887, "ts": "202 [{"post_id": 75887, "ts": "2026-10-01T14:24:39Z", "hours": 0.3044, "text": "My Last Devlog for This PROJECT (finised the project with 24 bugs and js and 3 in css idk why and my animation is not smooth so im asking ai for solutions"}, {"post_id": 75156, "ts": "2026-09-29T09:53:55Z", "hours": 0.7269, "text": "Made My Own MUSIC PLAYER (i dont know why is it not playing in the browser) tried everything but still not working"}, {"post_id": 74941, "ts": "2026-09-28T17:25:23Z", "hours": 0.2783, "text": "AHHHH There Are So Many Problems !!!!!! (got confused how to make the calculator app i had to type out every thing one by one)"}, {"post_id": 74523, "ts": "2026-09-27T15:40:04Z", "hours": 4.5469, "text": "Making My First WebOS (i actually logged on for 7h but it is showing 4h)"}]...
|
Title: My very own WebOS by @Ishandhar | Stardance Title: My very own WebOS by @Ishandhar | Stardance
Devlogs:
Making My First WebOS (i actually logged on for 7h but it is showing 4h)
AHHHH There Are So Many Problems !!!!!! (got confused how to make the calculator app i had to type out every thing one by one)
Made My Own MUSIC PLAYER (i dont know why is it not playing in the browser) tried everything but still not working
My Last Devlog for This PROJECT (finised the project with 24 bugs and js and 3 in css idk why and my animation is not smooth so im asking ai for solutions
Ships:
First of all i’m PROUD of myself that i could ship this Project cause i made my first OS in the web, although my toughest part of this project was to even make a MUSIC PLAYER i wasted my 2 hours trying to understand why my player was not working but i got it fixed i have to use a bit of AI but everything is working now and i had DEPLOYED my first PROJECT...
|
1793213669.6511405
|
1793300069.6511405
|
|
28301
|
Irish DECA by @ngarnsworthy | Stardance
|
ngarnsworthy
|
1
|
9.71
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-01T15:26:17Z", "hours": 9.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I created the frontend for a LMS made for a DECA chapter. The backend still needs to be implemented. The frontend targets server side rendering whenever possible to allow for better caching!", "repo": "https://gitlab.com/ngarnsworthy/irish-deca-experiance", "demo": "https://deca.ngarnsworthy.dev"}]...
|
[{"post_id": 75884, "ts": "202 [{"post_id": 75884, "ts": "2026-10-01T14:09:35Z", "hours": 0.7106, "text": "Added a mockup register page and removed dead links"}, {"post_id": 59623, "ts": "2026-09-01T15:20:59Z", "hours": 0.3333, "text": "Added README.md and worked on a event view."}, {"post_id": 55131, "ts": "2026-08-26T16:23:18Z", "hours": 8.5639, "text": "Done Created some promotional content for the team Test taking and viewing frontend Test dashboard frontend TODO Event management More promo content User login Backend data store"}]...
|
Title: Irish DECA by @ngarnsworthy | Stardance
De Title: Irish DECA by @ngarnsworthy | Stardance
Devlogs:
Done Created some promotional content for the team Test taking and viewing frontend Test dashboard frontend TODO Event management More promo content User login Backend data store
Added README.md and worked on a event view.
Added a mockup register page and removed dead links
Ships:
I created the frontend for a LMS made for a DECA chapter. The backend still needs to be implemented. The frontend targets server side rendering whenever possible to allow for better caching!...
|
1793303832.4494326
|
1793390232.4494326
|
|
66631
|
What do I make for dinner? by @PahalDesai | Starda What do I make for dinner? by @PahalDesai | Stardance...
|
PahalDesai
|
1
|
4.31
|
4
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-30T11:27:53Z", "hours": 3.0, "multiplier": 2.82, "payout": 4, "blessing": "neutral", "text": "this tool solves a major problem in every household in the world - “what do I make for dinner?” to fix this I have made a tool that asks you a few questions and according to your answers, it generates recommendations. you can also see the recipes of the items it suggests at a single place. You can also ask the ai to suggest you recipes based on the ingredients you have at home. You can also ask the ai to suggest you recipes based on the type of cuisine you want to try. What I am proud of:- I used API for the first time in JavaScript (as I usually use it in my python projects). I have also made a dedicated tutorial page for dummies too :)", "repo": "https://github.com/pahal-desai/what-do-i-make-for-dinner", "demo": "https://pahal-desai.github.io/what-do-i-make-for-dinner/"}]...
|
[{"post_id": 75877, "ts": "202 [{"post_id": 75877, "ts": "2026-10-01T13:33:25Z", "hours": 0.7256, "text": "Hi. Today, i added 2 more features - a daily dinner planner and a reminder. This adds 2 more QoL for the Frictionless misson. It was not that hard to make this time as i knew the documentation and how to implement it. Previously, i didn’t know what to do and spent hours figuring out how to use api and all in js. 3 QoL Improvements automatic dinner sugestion - when you don’t know what yo make, you can get quick suggestions with recipes. Daily Dinner planner - you can now plan dinner for a whole week! Notifications - notifies what you have to make today so that you don’t forget!"}, {"post_id": 75715, "ts": "2026-09-30T20:43:16Z", "hours": 0.5847, "text": "added a hackclub api key option. I had to use very little ai for that as i couldnt figure out how to use it. and i had to set up a backend cloudflare worker for it too."}, {"post_id": 75522, "ts": "2026-09-30T11:06:44Z", "hours": 1.9217, "text": "sorry for not posting devlogs as i forgot to do so (it’s been a habbit ig). I locked tf in and completed this site. It’s ready to be shipped!!!"}, {"post_id": 75369, "ts": "2026-09-29T21:12:43Z", "hours": 0.8656, "text": "This is an ai based dinner suggestion website. It suggest you what to make for dinner. you only have to answer some question about the type of dinner you want. It requires an api key tho. Today, I have made the basic layout of the page, the tutorial (where they show you how to get an api key) and the page where they ask you your api key to continue to use the project."}]...
|
Title: What do I make for dinner? by @PahalDesai | Title: What do I make for dinner? by @PahalDesai | Stardance
Devlogs:
This is an ai based dinner suggestion website. It suggest you what to make for dinner. you only have to answer some question about the type of dinner you want. It requires an api key tho. Today, I have made the basic layout of the page, the tutorial (where they show you how to get an api key) and the page where they ask you your api key to continue to use the project.
sorry for not posting devlogs as i forgot to do so (it’s been a habbit ig). I locked tf in and completed this site. It’s ready to be shipped!!!
added a hackclub api key option. I had to use very little ai for that as i couldnt figure out how to use it. and i had to set up a backend cloudflare worker for it too.
Hi. Today, i added 2 more features - a daily dinner planner and a reminder. This adds 2 more QoL for the Frictionless misson. It was not that hard to make this time as i knew the documentation and how to implement it. Previously, i didn’t know what to do and spent hours figuring out how to use api and all in js. 3 QoL Improvements automatic dinner sugestion - when you don’t know what yo make, you can get quick suggestions with recipes. Daily Dinner planner - you can now plan dinner for a whole week! Notifications - notifies what you have to make today so that you don’t forget!
Ships:
this tool solves a major problem in every household in the world - “what do I make for dinner?” to fix this I have made a tool that asks you a few questions and according to your answers, it generates recommendations. you can also see the recipes of the items it suggests at a single place. You can also ask the ai to suggest you recipes based on the ingredients you have at home. You can also ask the ai to suggest you recipes based on the type of cuisine you want to try. What I am proud of:- I used API for the first time in JavaScript (as I usually use it in my python projects). I have also made a dedicated tutorial page for dummies too :)...
|
1793216983.6631699
|
1793303383.6631699
|