|
16851
|
DukeOS by @Lauren_hackalicious | Stardance
|
Lauren_hackalicious
|
1
|
19.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-18T22:19:40Z", "hours": 19.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I initially wanted to make the OS theme centered around the jazz artist, Laufey. It was going great at first, but something felt off. In this first iteration, I kept running into bugs and errors that I couldn’t work out. I seized this as an opportunity to scrap the web-OS and center the theme on Frutiger. Frutiger is a design aesthetic that dominated technology, branding, and user interfaces from roughly 2004 to 2013. The buttons are prominently glossy (shiny almost), the backgrounds are lively and lush, and often have blue skies. I preferred this design because it was bright and vibrant, unlike my previous design choice. In this second iteration of the web-OS, I took on challenges with pride and care because I wanted this to work; I wanted to see my vision come to life. As a result, it has. In the first iteration, I couldn’t figure out how to move the handle or figure out how I wanted to design it. By the second iteration, I could! To close the tabs, click the “X” button. The maximize and minimize buttons don’t work, but are simply there as decoration. In my second version of my web-based OS, I plan to add a function to those buttons. This repository uses HTML, CSS, and JavaScript for functionality.", "repo": "https://github.com/example0d1n/DukeOS", "demo": "https://example0d1n.github.io/DukeOS/"}]...
|
[{"post_id": 11612, "ts": "202 [{"post_id": 11612, "ts": "2026-06-18T22:12:27Z", "hours": 2.8869, "text": "FINAL devlog | 1. I created a fully functioning weather app using JavaScript. This took almost 3 hours because I’m new to JavaScript, so I followed a tutorial by BroCode, who is a coding tutorial creator. He doesn’t just make the program; he explains what each line of code does and how it connects to the HTML/CSS file. 2. The weather app and notes app icons are draggable. 3. The calculator app is not draggable for some reason that I cannot figure out. The weather app window is not draggable for the same reason. In my second version of my web-based OS, I plan to have all my windows draggable."}, {"post_id": 11012, "ts": "2026-06-18T01:18:15Z", "hours": 1.6011, "text": "UPDATE - I replaced the music icon with a weather app icon because I plan on creating a music player as a separate JavaScript project - I updated the main window to include my GitHub profile and READ.ME - Everything is now draggable - I added a doc section to the bottom of my screen, and I plan to make them function similar to the apps in the main section of the OS"}, {"post_id": 10884, "ts": "2026-06-17T20:52:28Z", "hours": 2.8267, "text": "i added the calculator app to the webOS! This took almost 3 hours to do because of a lot of bug fixes ,and asking copilot for help, which ended up making things worse. I had to code the calculator myself in a seperate CSS file, so all the styling woulndn’t be in one large file. I can move the calculator window around, but I can’t close it due to some overlapping JS and CSS names.. i think. the next update willl have this fixed! I also learned that I can embed a script file into a specific div element.I used AI to program the onclick +1 on the z-index on the window. this essentially means when a person clicks a window, it is on the top layer."}, {"post_id": 9554, "ts": "2026-06-15T22:39:36Z", "hours": 1.7125, "text": "smallllll update I implemented the Notes window and made it closable and draggable. I’m unfamiliar with JavaScript, which is the magic that makes everything on my website function, so I’ve been struggling to follow the WebOS jam. I’m going to look up some YouTube videos about JavaScript to see if that’ll help me out. Any progress is good progress. This devlog documents the 12th hour I’ve worked on this project!! crazy to think about."}, {"post_id": 9066, "ts": "2026-06-15T04:19:40Z", "hours": 1.5697, "text": "GREAT progress today! I got the welcome window up and completely working, and both of my handles are draggable. This is a huge step up from the first iteration of my webOS, as I am happy with the current results! I also added background audio to the page, but I want it to play on loop without the audio controls. That is something I will have to figure out in the next devlog. The welcome window is closable :D"}, {"post_id": 8869, "ts": "2026-06-14T19:22:16Z", "hours": 1.705, "text": "I updated the top bar!! My journey so far with my DukeOS with the Frutiger customization has been riveting! I made the top bar fit the current aesthetic and added a small icon at the beginning of the section to make the OS feel more like an OS. I’m still struggling with getting the handle to work :/."}, {"post_id": 8516, "ts": "2026-06-14T05:05:44Z", "hours": 0.9647, "text": "Quick upd before I turn in for the night!! I fixed the CSS error that was occurring at the top of the main window on my OS! Turns out I just had to utilize a div I completely forgot about (whoops). I just began working on the top menu of the webOS. I’ll edit the style to match the Frutiger aesthetic I’m going for."}, {"post_id": 8449, "ts": "2026-06-14T01:27:50Z", "hours": 3.1067, "text": "COMPLETE STYLE REVAMP: Frutiger Aero! I thought long and hard about my recent struggle with my original OS and realized I wasn’t quite happy where I was. There were bugs I couldn’t quite fix, so I figured the best way to fix them all was by starting from scratch. By doing this, I can catch any coding errors I missed the first time around and learn from them! I hope to end my first webOS happy and satisfied. As you can see, my tab isn’t complete, and that is due to some CSS styling I can’t quite figure out yet. I will post a devlog with it fixed and the main window complete!"}, {"post_id": 7567, "ts": "2026-06-12T17:28:28Z", "hours": 0.9061, "text": "The handle drag still doesn’t work for some reason. I looked over the code a few times, making sure the div id has the str “header” included, but it doesn’t work. I decided to ignore the problem for now and continued to customize the handle to look like Laufey’s “A Matter of Time: Final Hour”. I added a labeled figcaption with that title. I really do want to get the handle draggable to really make the website feel like an OS, but I’m not familiar with JavaScript. If anyone could help me, I would greatly appreciate it! I linked my GitHub repository below https://github.com/example0d1n/DukeOS"}, {"post_id": 7266, "ts": "2026-06-12T03:44:27Z", "hours": 1.3033, "text": "Progress on my WebOS mission! I decided to sidequest from my main web project since I was getting pretty stumped on the form data collection. Going into this, I thought it would be simple, which it has been, except for the whole JavaScript portion. I am extremely unfamiliar with the language, so copy&pasting from the Jam and hoping the code worked (with the necessary edits) was my best bet. Whilst I am reading through the explanation from the Code Jam, I can’t figure out what went wrong in my “handle” element. My welcome window works fine as displayed in the video, but the handle, the isolated picture of Laufey, doesn’t. The image is either selected by my mouse or has a ghost drag effect to it. I plan to fix it by the next develog."}, {"post_id": 7054, "ts": "2026-06-11T20:24:53Z", "hours": 0.6961, "text": "Started working on the webOS project! I just inserted the window on the start screen :D"}]...
|
Title: DukeOS by @Lauren_hackalicious | Stardance
Title: DukeOS by @Lauren_hackalicious | Stardance
Devlogs:
Started working on the webOS project! I just inserted the window on the start screen :D
Progress on my WebOS mission! I decided to sidequest from my main web project since I was getting pretty stumped on the form data collection. Going into this, I thought it would be simple, which it has been, except for the whole JavaScript portion. I am extremely unfamiliar with the language, so copy&pasting from the Jam and hoping the code worked (with the necessary edits) was my best bet. Whilst I am reading through the explanation from the Code Jam, I can’t figure out what went wrong in my “handle” element. My welcome window works fine as displayed in the video, but the handle, the isolated picture of Laufey, doesn’t. The image is either selected by my mouse or has a ghost drag effect to it. I plan to fix it by the next develog.
The handle drag still doesn’t work for some reason. I looked over the code a few times, making sure the div id has the str “header” included, but it doesn’t work. I decided to ignore the problem for now and continued to customize the handle to look like Laufey’s “A Matter of Time: Final Hour”. I added a labeled figcaption with that title. I really do want to get the handle draggable to really make the website feel like an OS, but I’m not familiar with JavaScript. If anyone could help me, I would greatly appreciate it! I linked my GitHub repository below https://github.com/example0d1n/DukeOS
COMPLETE STYLE REVAMP: Frutiger Aero! I thought long and hard about my recent struggle with my original OS and realized I wasn’t quite happy where I was. There were bugs I couldn’t quite fix, so I figured the best way to fix them all was by starting from scratch. By doing this, I can catch any coding errors I missed the first time around and learn from them! I hope to end my first webOS happy and satisfied. As you can see, my tab isn’t complete, and that is due to some CSS styling I can’t quite figure out yet. I will post a devlog with it fixed and the main window complete!
Quick upd before I turn in for the night!! I fixed the CSS error that was occurring at the top of the main window on my OS! Turns out I just had to utilize a div I completely forgot about (whoops). I just began working on the top menu of the webOS. I’ll edit the style to match the Frutiger aesthetic I’m going for.
I updated the top bar!! My journey so far with my DukeOS with the Frutiger customization has been riveting! I made the top bar fit the current aesthetic and added a small icon at the beginning of the section to make the OS feel more like an OS. I’m still struggling with getting the handle to work :/.
GREAT progress today! I got the welcome window up and completely working, and both of my handles are draggable. This is a huge step up from the first iteration of my webOS, as I am happy with the current results! I also added background audio to the page, but I want it to play on loop without the audio controls. That is something I will have to figure out in the next devlog. The welcome window is closable :D
smallllll update I implemented the Notes window and made it closable and draggable. I’m unfamiliar with JavaScript, which is the magic that makes everything on my website function, so I’ve been struggling to follow the WebOS jam. I’m going to look up some YouTube videos about JavaScript to see if that’ll help me out. Any progress is good progress. This devlog documents the 12th hour I’ve worked on this project!! crazy to think about.
i added the calculator app to the webOS! This took almost 3 hours to do because of a lot of bug fixes ,and asking copilot for help, which ended up making things worse. I had to code the calculator myself in a seperate CSS file, so all the styling woulndn’t be in one large file. I can move the calculator window around, but I can’t close it due to some overlapping JS and CSS names.. i think. the next update willl have this fixed! I also learned that I can embed a script file into a specific div element.I used AI to program the onclick +1 on the z-index on the window. this essentially means when a person clicks a window, it is on the top layer.
UPDATE - I replaced the music icon with a weather app icon because I plan on creating a music player as a separate JavaScript project - I updated the main window to include my GitHub profile and READ.ME - Everything is now draggable - I added a doc section to the bottom of my screen, and I plan to make them function similar to the apps in the main section of the OS
FINAL devlog | 1. I created a fully functioning weather app using JavaScript. This took almost 3 hours because I’m new to JavaScript, so I followed a tutorial by BroCode, who is a coding tutorial creator. He doesn’t just make the program; he explains what each line of code does and how it connects to the HTML/CSS file. 2. The weather app and notes app icons are draggable. 3. The calculator app is not draggable for some reason that I cannot figure out. The weather app window is not draggable for the same reason. In my second version of my web-based OS, I plan to have all my windows draggable.
Ships:
I initially wanted to make the OS theme centered around the jazz artist, Laufey. It was going great at first, but something felt off. In this first iteration, I kept running into bugs and errors that I couldn’t work out. I seized this as an opportunity to scrap the web-OS and center the theme on Frutiger. Frutiger is a design aesthetic that dominated technology, branding, and user interfaces from roughly 2004 to 2013. The buttons are prominently glossy (shiny almost), the backgrounds are lively and lush, and often have blue skies. I preferred this design because it was bright and vibrant, unlike my previous design choice. In this second iteration of the web-OS, I took on challenges with pride and care because I wanted this to work; I wanted to see my vision come to life. As a result, it has. In the first iteration, I couldn’t figure out how to move the handle or figure out how I wanted to design it. By the second iteration, I could! To close the tabs, click the “X” button. The maximize and minimize buttons don’t work, but are simply there as decoration. In my second version of my web-based OS, I plan to add a function to those buttons. This repository uses HTML, CSS, and JavaScript for functionality....
|
1792849952.672135
|
1792936352.672135
|
|
32657
|
my APOD site by @mbr | Stardance
|
mbr
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-11T11:37:36Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a website using HTML, CSS and JS that gets the NASA APOD with its explanation and showcases it in a cooler way. This was my first time using JS and I have to admit it was difficult. However, it turned out great. :)", "repo": "https://github.com/marcbr23/Give-Your-Website-a-Pulse", "demo": "https://marcbr23.github.io/Give-Your-Website-a-Pulse/"}]...
|
[{"post_id": 25903, "ts": "202 [{"post_id": 25903, "ts": "2026-07-10T12:12:51Z", "hours": 2.2058, "text": "Just finished it, great mission! This has been my first time coding in JS and I have to admit i has NOT been a pleasant experience. 😂 . However, sooner or later I’ll have to learn. I’m quite pleased with the final output. I’ll try to add mobile support so the website looks great on mobile before shipping."}]...
|
Title: my APOD site by @mbr | Stardance
Devlogs:
Title: my APOD site by @mbr | Stardance
Devlogs:
Just finished it, great mission! This has been my first time coding in JS and I have to admit i has NOT been a pleasant experience. 😂 . However, sooner or later I’ll have to learn. I’m quite pleased with the final output. I’ll try to add mobile support so the website looks great on mobile before shipping.
Ships:
I made a website using HTML, CSS and JS that gets the NASA APOD with its explanation and showcases it in a cooler way. This was my first time using JS and I have to admit it was difficult. However, it turned out great. :)...
|
1792849951.7980714
|
1792936351.7980714
|
|
24171
|
Nocturnal by @Devin | Stardance
|
Devin
|
1
|
3.0
|
11
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-23T23:24:07Z", "hours": 3.0, "multiplier": 3.72, "payout": 11, "blessing": "neutral", "text": "i made an ascii art displayer that focuses on star paintings like starry night, the hardest part was getting the paintings to look right. I originally wanted it to be animated but that was too hard.", "repo": "https://github.com/Melangert/Nocturnal", "demo": "https://github.com/Melangert/Nocturnal/releases/tag/Initital-release"}]...
|
[{"post_id": 14747, "ts": "202 [{"post_id": 14747, "ts": "2026-06-23T23:22:24Z", "hours": 0.3889, "text": "finished up with the render.js file that renders the colors and brightness of the art inside render.js instead of the painting files"}, {"post_id": 14714, "ts": "2026-06-23T22:24:13Z", "hours": 0.4578, "text": "Got color display on the paintings by encoding the brightness and color of the images and then rendering hundreds of these tiny colored characters like a CRT"}, {"post_id": 14601, "ts": "2026-06-23T19:26:39Z", "hours": 2.2275, "text": "Finally got Starry night to display in the terminal using jimp, no color yet"}]...
|
Title: Nocturnal by @Devin | Stardance
Devlogs:
F Title: Nocturnal by @Devin | Stardance
Devlogs:
Finally got Starry night to display in the terminal using jimp, no color yet
Got color display on the paintings by encoding the brightness and color of the images and then rendering hundreds of these tiny colored characters like a CRT
finished up with the render.js file that renders the colors and brightness of the art inside render.js instead of the painting files
Ships:
i made an ascii art displayer that focuses on star paintings like starry night, the hardest part was getting the paintings to look right. I originally wanted it to be animated but that was too hard....
|
1792849950.918981
|
1792936350.918981
|
|
56716
|
Galaxy_OS by @Dhruvin_07 | Stardance
|
Dhruvin_07
|
1
|
1.07
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-02T12:59:49Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "so till now i have completed making proper WebOS which contains welcome page, notepad, terminal, browser(connected with wikipedia),working calculator.", "repo": "https://github.com/Dhruvinp07/Galaxy_webOS", "demo": "https://dhruvinp07.github.io/Galaxy_webOS/"}]...
|
[{"post_id": 61915, "ts": "202 [{"post_id": 61915, "ts": "2026-09-05T02:46:32Z", "hours": 0.0675, "text": "A new cool all mixed updates in WebOS 2"}, {"post_id": 59529, "ts": "2026-09-01T12:13:39Z", "hours": 0.8869, "text": "I am working on a web_OS name Galaxy_OS."}]...
|
Title: Galaxy_OS by @Dhruvin_07 | Stardance
Devlo Title: Galaxy_OS by @Dhruvin_07 | Stardance
Devlogs:
I am working on a web_OS name Galaxy_OS.
A new cool all mixed updates in WebOS 2
Ships:
so till now i have completed making proper WebOS which contains welcome page, notepad, terminal, browser(connected with wikipedia),working calculator....
|
1792849950.0448806
|
1792936350.0448806
|
|
8007
|
Virgil Modular Audio Controller by @dapenguinguy | Virgil Modular Audio Controller by @dapenguinguy | Stardance...
|
dapenguinguy
|
1
|
18.46
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-09T21:50:11Z", "hours": 9.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I created a modular audio controller (with 6 different PCB designs). This has motorized faders, power monitoring, 8 full color screens, wired and wireless networking, and POE. I designed this to develop my Virgil network protocol in the future. Right now, I am shipping to get funding for PCBs. If you want to see this project go far and do well, please rate it well!", "repo": "https://github.com/da-penguin-guy/Virgil-Controller", "demo": ""}]...
|
[{"post_id": 28586, "ts": "202 [{"post_id": 28586, "ts": "2026-07-14T22:35:32Z", "hours": 9.1997, "text": "A lot has changed In the time since my last devlog, I have redesigned every single PCB and upended the entire project topology. So nothing that out of the ordinary CAN Bus Previously I was planning on using SPI as the primary data transfer method between the controller and the modules. However, after doing some math, that wouldn’t work at like above 100khz because reasons. So, now i’m switching over to a protocol that’s actually designed for being a Bus. There is a PIO library that supports CAN with an external transceiver for everything but bootloading, so I still need to keep the SWD lines around. Infinite expandability Because CAN doesn’t need interrupt or CS pins, this allows for you to add as many modules as you want. All you’ll need to do is plug in more backplanes! Removed features The only feature I removed is POE. The power module connector has all the pins required to make it available, but I decided that it isn’t worth the space or time for this first prototype Well, I do actually still need CS pins I lied earlier. While it is true that CAN Bus does not need CS pins, the design still needs them. This is because SWD is not a bus protocol, and so needs multiplexing for true control. While SWD does have a multi-device mode, the RP2040 and 2350 uses it to control each core, meaning it won’t work with more than 1 device connected at once. However, this is still a good thing, because the SWD CS lines can be much slower than SPI CS (for my application). This means that I can use GPIO expanders for these lines, and even use them for other module insert detection and module identification. Funding update I got rejected because I didn’t include a BOM, now I’ve resubmitted with a full BOM. Hopefuly I’ll get approved soon! Oops, I went to get a rendering of a PCB and I realized a part was backwards. Here is the fixed PCB"}, {"post_id": 9614, "ts": "2026-06-16T00:41:43Z", "hours": 0.2647, "text": "I am now under review for funding! Note for the people reviewing this The $400 is only for the PCBs, and that’s only about half. The PCB total is $730, and I can afford to pay the remaining out of pocket. The PCBs themselves are only $430, but because I live in the US the shipping and tax and customs is $300. The $430 is including assembly and component cost. I am unable to assemble them myself because I have chronic hand tremors, making it impossible to place rp2040s and rp2350s. This won’t just be a fantastic learning opportunity for me, but it also has the potential to change the live sound industry. I have designed this to be a sales-ready product, and at scale it would be at least $100 cheaper than the competition. In addition, the virgil controller will be used to develop the virgil protocol. For more information, seem y projects readme. Thank you for your time and concideration"}, {"post_id": 5903, "ts": "2026-06-09T21:34:42Z", "hours": 3.0481, "text": "Devlog #2 I have finished work on my PCBs. For real this time. Probably. I am now to the point where I am at a practical deadend until I get the boards, so this may be my last devlog before my first ship. So, I should probably fill you in on what this project is, and why it matters This project is built like a modular controller, complete with hot swap motorized faders and networking. While building anything modular is hard, that is not the main point of this project. The main point is for it to be a devboard for the Virgil protocol. The Virgil protocol is a network protocol I am designing to make the live sound industry more standardized and less dominated by singular brands. For more information, go to the Virgil Controller github, in the project information."}, {"post_id": 5081, "ts": "2026-06-08T19:22:22Z", "hours": 0.5428, "text": "Virgil Controller Devlog #1 I can proudly say that I have actually made progress during this challenge! I have updated my controller PCB to use the rp2350 chip without a carrier board for cost reasons, complete with a pretty 45 degree angle The kicad wakatime program just… isn’t working, so I completed this in an astonishing 15 min. Now onto making the modules use the bare chip."}, {"post_id": 3945, "ts": "2026-06-07T02:21:44Z", "hours": 0.6244, "text": "Virgil Controller Devlog #-1 I wrote a devlog #0.5, but it just didn’t post. It doesn’t really matter, because I have made negative progress since then, therefore devlog -1 I’ve decided that instead of using rp2040 modules, I’m going to make the PCBs have the bare chips on them. Which means it saves me money, but I’m needing to go back and redo a lot of work. It’s getting pretty late, so I’m gonna commit my partial readme and continue in the morning. Here’s my existing mainboard, so that you can see the darling that I’m killing. I saw someone doing quote of the day, so I’m gonna do a subtle variation of that Project insight of the day: “Get good at killing your darlings” P.S. How are yall doing that fancy markdown formatting?"}, {"post_id": 3734, "ts": "2026-06-06T19:38:31Z", "hours": 0.4728, "text": "Love JLCPCB. Hate Shipping and customs"}, {"post_id": 3490, "ts": "2026-06-06T13:34:06Z", "hours": 3.7778, "text": "Completed enclosure 3D Model! After fighting with Onshape for several days, I finally completed the enclosure. The only downside is that a couple of the parts are impossible to 3d print, but that’s a future me problem. Time to order the PCBs"}, {"post_id": 2821, "ts": "2026-06-05T17:24:21Z", "hours": 0.2881, "text": "Completed module backplane"}]...
|
Title: Virgil Modular Audio Controller by @dapengu Title: Virgil Modular Audio Controller by @dapenguinguy | Stardance
Devlogs:
Completed module backplane
Completed enclosure 3D Model! After fighting with Onshape for several days, I finally completed the enclosure. The only downside is that a couple of the parts are impossible to 3d print, but that’s a future me problem. Time to order the PCBs
Love JLCPCB. Hate Shipping and customs
Virgil Controller Devlog #-1 I wrote a devlog #0.5, but it just didn’t post. It doesn’t really matter, because I have made negative progress since then, therefore devlog -1 I’ve decided that instead of using rp2040 modules, I’m going to make the PCBs have the bare chips on them. Which means it saves me money, but I’m needing to go back and redo a lot of work. It’s getting pretty late, so I’m gonna commit my partial readme and continue in the morning. Here’s my existing mainboard, so that you can see the darling that I’m killing. I saw someone doing quote of the day, so I’m gonna do a subtle variation of that Project insight of the day: “Get good at killing your darlings” P.S. How are yall doing that fancy markdown formatting?
Virgil Controller Devlog #1 I can proudly say that I have actually made progress during this challenge! I have updated my controller PCB to use the rp2350 chip without a carrier board for cost reasons, complete with a pretty 45 degree angle The kicad wakatime program just… isn’t working, so I completed this in an astonishing 15 min. Now onto making the modules use the bare chip.
Devlog #2 I have finished work on my PCBs. For real this time. Probably. I am now to the point where I am at a practical deadend until I get the boards, so this may be my last devlog before my first ship. So, I should probably fill you in on what this project is, and why it matters This project is built like a modular controller, complete with hot swap motorized faders and networking. While building anything modular is hard, that is not the main point of this project. The main point is for it to be a devboard for the Virgil protocol. The Virgil protocol is a network protocol I am designing to make the live sound industry more standardized and less dominated by singular brands. For more information, go to the Virgil Controller github, in the project information.
I am now under review for funding! Note for the people reviewing this The $400 is only for the PCBs, and that’s only about half. The PCB total is $730, and I can afford to pay the remaining out of pocket. The PCBs themselves are only $430, but because I live in the US the shipping and tax and customs is $300. The $430 is including assembly and component cost. I am unable to assemble them myself because I have chronic hand tremors, making it impossible to place rp2040s and rp2350s. This won’t just be a fantastic learning opportunity for me, but it also has the potential to change the live sound industry. I have designed this to be a sales-ready product, and at scale it would be at least $100 cheaper than the competition. In addition, the virgil controller will be used to develop the virgil protocol. For more information, seem y projects readme. Thank you for your time and concideration
A lot has changed In the time since my last devlog, I have redesigned every single PCB and upended the entire project topology. So nothing that out of the ordinary CAN Bus Previously I was planning on using SPI as the primary data transfer method between the controller and the modules. However, after doing some math, that wouldn’t work at like above 100khz because reasons. So, now i’m switching over to a protocol that’s actually designed for being a Bus. There is a PIO library that supports CAN with an external transceiver for everything but bootloading, so I still need to keep the SWD lines around. Infinite expandability Because CAN doesn’t need interrupt or CS pins, this allows for you to add as many modules as you want. All you’ll need to do is plug in more backplanes! Removed features The only feature I removed is POE. The power module connector has all the pins required to make it available, but I decided that it isn’t worth the space or time for this first prototype Well, I do actually still need CS pins I lied earlier. While it is true that CAN Bus does not need CS pins, the design still needs them. This is because SWD is not a bus protocol, and so needs multiplexing for true control. While SWD does have a multi-device mode, the RP2040 and 2350 uses it to control each core, meaning it won’t work with more than 1 device connected at once. However, this is still a good thing, because the SWD CS lines can be much slower than SPI CS (for my application). This means that I can use GPIO expanders for these lines, and even use them for other module insert detection and module identification. Funding update I got rejected because I didn’t include a BOM, now I’ve resubmitted with a full BOM. Hopefuly I’ll get approved soon! Oops, I went to get a rendering of a PCB and I realized a part was backwards. Here is the fixed PCB
Ships:
I created a modular audio controller (with 6 different PCB designs). This has motorized faders, power monitoring, 8 full color screens, wired and wireless networking, and POE. I designed this to develop my Virgil network protocol in the future. Right now, I am shipping to get funding for PCBs. If you want to see this project go far and do well, please rate it well!...
|
1792849948.9249768
|
1792936348.9249768
|
|
21306
|
STARVEST by @JDG | Stardance
|
JDG
|
1
|
9.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-28T14:56:13Z", "hours": 9.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What did you make? Starvest is a satellite-driven trading signal for Frozen Concentrated Orange Juice (FCOJ) futures. It pulls 20 years of NASA MODIS satellite imagery to measure the health of Florida’s orange groves every January through March, then issues a directional prediction on OJ futures before the April expiry. The dashboard shows the full backtest, NDVI trend, yield vs. price history, and the current 2026 signal (LONG). What was challenging? Cleaning and aligning six independent data sources (NASA satellite data via Google Earth Engine, USDA crop stats, ICE futures prices, NOAA weather records, and Brazil production data) across 20 years without gaps or mismatches. Florida’s orange industry has shrunk 69% since 2005 due to citrus greening disease, so the signal had to account for a structurally collapsing baseline, not just year-to-year weather noise. What are you proud of? The backtest hits 62% directional accuracy (13/21 years) using only publicly available NASA data, no proprietary feeds. The whole pipeline runs on free APIs and the dashboard works without any setup for the judge. What should people know so they can test your project? The live dashboard is deployed and requires no setup, just click the link. If you want to run it locally, clone the repo and run streamlit run dashboard/app.py. The pre-built CSV is included so no API keys are needed.", "repo": "https://github.com/justindelgiudice/Starvest", "demo": "https://huggingface.co/spaces/JustinDG/Starvest"}]...
|
[{"post_id": 17332, "ts": "202 [{"post_id": 17332, "ts": "2026-06-28T02:21:36Z", "hours": 9.3883, "text": "Started with a question: can you predict whether OJ futures will go up or down before the harvest, using only satellite data? Built a full data pipeline pulling NASA MODIS MOD13Q1 satellite imagery (250m resolution) over the Florida citrus belt every January through March via Google Earth Engine. The core signal is NDVI surprise, how much greener or browner the groves are compared to their 3-year rolling average. Brown groves = stressed trees = lower yield = price goes up.Added five more data sources on top: USDA NASS for Florida orange production and bearing acreage, ICE OJ futures prices via yfinance, NOAA GHCN-Daily for hard freeze days and rainfall, and USDA FAS for Brazil production as a global supply check.Built a Streamlit dashboard with 6 tabs: Overview, NDVI Trend, Yield vs Price, Backtest, Signal, and Glossary. The Backtest tab lets you adjust a threshold slider and see cumulative P&L, hit rate, and a 3-tier signal comparison (NDVI only, plus Brazil confirmation, plus drought confirmation).Backtested across 2005 to 2025: 62% directional accuracy (13/21 years correct). Most commodity price prediction models rely on historical price patterns or economic indicators and typically land around 52 to 54% directional accuracy on out-of-sample data. Starvest gets its edge from reading the physical world directly via satellite before the supply shock shows up in any price data. The signal is issued in March, months before the market fully prices in the harvest outcome.The 2026 forward signal is LONG. Hard freeze in January (24.1°F, 2 days) plus drought stress pushed NDVI surprise to -0.0423. Outcome resolves in September."}]...
|
Title: STARVEST by @JDG | Stardance
Devlogs:
Star Title: STARVEST by @JDG | Stardance
Devlogs:
Started with a question: can you predict whether OJ futures will go up or down before the harvest, using only satellite data? Built a full data pipeline pulling NASA MODIS MOD13Q1 satellite imagery (250m resolution) over the Florida citrus belt every January through March via Google Earth Engine. The core signal is NDVI surprise, how much greener or browner the groves are compared to their 3-year rolling average. Brown groves = stressed trees = lower yield = price goes up.Added five more data sources on top: USDA NASS for Florida orange production and bearing acreage, ICE OJ futures prices via yfinance, NOAA GHCN-Daily for hard freeze days and rainfall, and USDA FAS for Brazil production as a global supply check.Built a Streamlit dashboard with 6 tabs: Overview, NDVI Trend, Yield vs Price, Backtest, Signal, and Glossary. The Backtest tab lets you adjust a threshold slider and see cumulative P&L, hit rate, and a 3-tier signal comparison (NDVI only, plus Brazil confirmation, plus drought confirmation).Backtested across 2005 to 2025: 62% directional accuracy (13/21 years correct). Most commodity price prediction models rely on historical price patterns or economic indicators and typically land around 52 to 54% directional accuracy on out-of-sample data. Starvest gets its edge from reading the physical world directly via satellite before the supply shock shows up in any price data. The signal is issued in March, months before the market fully prices in the harvest outcome.The 2026 forward signal is LONG. Hard freeze in January (24.1°F, 2 days) plus drought stress pushed NDVI surprise to -0.0423. Outcome resolves in September.
Ships:
What did you make? Starvest is a satellite-driven trading signal for Frozen Concentrated Orange Juice (FCOJ) futures. It pulls 20 years of NASA MODIS satellite imagery to measure the health of Florida’s orange groves every January through March, then issues a directional prediction on OJ futures before the April expiry. The dashboard shows the full backtest, NDVI trend, yield vs. price history, and the current 2026 signal (LONG). What was challenging? Cleaning and aligning six independent data sources (NASA satellite data via Google Earth Engine, USDA crop stats, ICE futures prices, NOAA weather records, and Brazil production data) across 20 years without gaps or mismatches. Florida’s orange industry has shrunk 69% since 2005 due to citrus greening disease, so the signal had to account for a structurally collapsing baseline, not just year-to-year weather noise. What are you proud of? The backtest hits 62% directional accuracy (13/21 years) using only publicly available NASA data, no proprietary feeds. The whole pipeline runs on free APIs and the dashboard works without any setup for the judge. What should people know so they can test your project? The live dashboard is deployed and requires no setup, just click the link. If you want to run it locally, clone the repo and run streamlit run dashboard/app.py. The pre-built CSV is included so no API keys are needed....
|
1792849947.8071022
|
1792936347.8071022
|
|
9853
|
Apogee by @Wirenux | Stardance
|
Wirenux
|
1
|
3.0
|
8
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-06T19:17:39Z", "hours": 3.0, "multiplier": 2.57, "payout": 8, "blessing": "neutral", "text": "I’ve make a pure C CLI tool to fetch and display the NASA Astronomy Picture of the Day. I’m very proud of the display part and the fetch part. Every things to know is on the Github repo https://github.com/wirenux/Apogee/", "repo": "https://github.com/wirenux/Apogee", "demo": "https://github.com/wirenux/Apogee/releases"}]...
|
[{"post_id": 3702, "ts": "2026 [{"post_id": 3702, "ts": "2026-06-06T19:12:33Z", "hours": 0.5736, "text": "Ready to Ship ! https://github.com/wirenux/Apogee/releases/tag/v1.0"}, {"post_id": 3669, "ts": "2026-06-06T18:30:15Z", "hours": 0.6444, "text": "Now i’ve metadata, fixed size + DEMO_KEYS mode with –demo flags"}, {"post_id": 3625, "ts": "2026-06-06T17:15:26Z", "hours": 0.3153, "text": "Now i can print image !!!!! (with the half-block char)"}, {"post_id": 3615, "ts": "2026-06-06T16:49:37Z", "hours": 0.3689, "text": "Now able to get the image and store it in RAM !"}, {"post_id": 3580, "ts": "2026-06-06T16:10:18Z", "hours": 1.1217, "text": "I’m able to fetch the NASA Daily Image End-Point in C with just the cURL lib"}]...
|
Title: Apogee by @Wirenux | Stardance
Devlogs:
I’ Title: Apogee by @Wirenux | Stardance
Devlogs:
I’m able to fetch the NASA Daily Image End-Point in C with just the cURL lib
Now able to get the image and store it in RAM !
Now i can print image !!!!! (with the half-block char)
Now i’ve metadata, fixed size + DEMO_KEYS mode with –demo flags
Ready to Ship ! https://github.com/wirenux/Apogee/releases/tag/v1.0
Ships:
I’ve make a pure C CLI tool to fetch and display the NASA Astronomy Picture of the Day. I’m very proud of the display part and the fetch part. Every things to know is on the Github repo https://github.com/wirenux/Apogee/...
|
1792849946.6061754
|
1792936346.6061754
|
|
34641
|
AccountantOS by @samarth_hota | Stardance
|
samarth_hota
|
2
|
4.0
|
6
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-04T21:27:19Z", "hours": 1.0, "multiplier": 11.11, "payout": 6, "blessing": "neutral", "text": "Accountant OS: What I made: I built Accountant OS, a lightweight, browser-based OS -type app for, get this… Accountants . It runs natively in the browser via one HTML file for a “lightweight experience.” What was challenging: Structuring the layout to feel like a true “operating system” rather than just a standard web page took some trial and error. Additionally, routing the logic for the accounting widgets and ensuring the interactive elements updated dynamically without breaking the UI required careful attention to the code structure. //Tryna make this part professional twin. What I am proud of: I am really proud of the user interface and the “retro” design. Taking standard HTML and turning it into a customized, app-like environment is a great milestone, and I’m happy with how nostalgic it looks. What users should know so they can test this: Testing is completely frictionless (Stardance pun intented) you don’t need to install any heavy software or databases. Just download the .html file and double-click it to open it in your preferred web browser. Keep in mind that because it is a localized browser app, your data will reset if you refresh the page. //basically it has no memory but trust the process.", "repo": "https://github.com/samarthhota-cyber/Accountant-os", "demo": "https://samarthhota-cyber.github.io/Accountant-os/"}, {"ship_num": 2, "ts": "2026-07-19T00:42:06Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made this my own webOS, accountant OS. This webOS, primarily built in html, is a standalone web operating system with draggable windows, apps and FYI this will be updated sometime in the future.", "repo": "https://github.com/samarthhota-cyber/Accountant-os", "demo": "https://samarthhota-cyber.github.io/Accountant-os/"}]...
|
[{"post_id": 31607, "ts": "202 [{"post_id": 31607, "ts": "2026-07-20T04:33:51Z", "hours": 0.5083, "text": "1 introdction of the Centralized Database Explorer (DATABASE.EXE)Then (v1.0): Text storage and calculation values operated on disconnected, static page inputs. There was no capability to organize, create, or navigate multiple independent documents.Now (v5.0): Added a multi-node Directory manager that functions as a virtual relational file-system stored in local memory. Users can categorize files by format (Documents or Sheets), monitor file metadata (bytes, edit times), delete nodes, and initiate new files which load into editing buffers upon double-clicking.2. Fully Functional Dynamic Spreadsheet Grid (SHEETS.EXE)Then (v1.0): The spreadsheet app was restricted to a static HTML table structure representing a fixed, hard-coded tax margin computation form.Now (v5.0): Transformed into an interactive, multi-document 4x6 grid with column headers (A–D) and row indices (1–6). Includes a dedicated Excel-style Formula Bar that reads active cells and parses custom math-reference strings (e.g., =A1+B1 or =B4-B3-B5). Changes are evaluated instantly.3. Custom Accountant OS Bookkeeping Theme & Mechanical Click SynthThen (v1.0): Styling was standard retro-grey, styled specifically around flat color panels. Keyboard interaction was silent.Now (v5.0): Polished the design with the warm parchment-colored Vintage Ledger theme, featuring custom margins and double-underlined ledger rules. Created a custom Web Audio API synthesizer that produces retro mechanical keyclick sound effects whenever the user types inside a document, spreadsheet cell, or terminal panel.4. Upgraded Multi-Document Buffer & File Association (DOCS.EXE)Then (v1.0): The notepad component supported editing only one single global string buffer without file associations.Now (v5.0): Fully integrated the text editor with the centralized directory database. The interface tracks active file-handling buffers, displays file state labels, and features a “Commit to DB” protocol to save edits back into the primary database.5. Interactive BIOS Boot loaderThen (v1.0): Accessing the page immediately showed the desktop environment with no startup stage.Now (v5.0): Implemented a classic AMI-style BIOS welcome sequence. The terminal tests RAM, registers system assets, and generates a boot chime using browser audio oscillators to ensure proper context registration before revealing the operating system.6. Refined Window Geometry with Viewport Clamping and Storage Save StateThen (v1.0): Draggable windows lacked boundary constraints, letting users pull elements entirely out of bounds. Window positions, sizes, and open/close states were lost on reload.Now (v5.0): Upgraded the dragging engine with boundary checks, clamping window positions within desktop margins. Window coordinates, width/height dimensions, minimization status, and active directories are saved to localStorage and recovered on bootup. Added a dynamic taskbar tabs manager that tracks window focus and supports minimize-to-tray switching.7. Real-Time Vector Sparklines & Sound VisualizerThen (v1.0): The asset simulation was limited to numeric text fields updating at fixed intervals. The audio synthesizer was a basic sound button with no graphic feedback.Now (v5.0): Integrated an HTML sparkline renderer inside the asset terminal, drawing historical market price lines for machinery (green) and T-bills (yellow). Additionally, added an animated equalizer visualizer inside the synth control applet that animates to procedural frequencies."}, {"post_id": 30990, "ts": "2026-07-19T00:36:09Z", "hours": 0.2892, "text": "Finished up a few touches and is ready for the world."}, {"post_id": 30960, "ts": "2026-07-18T23:40:10Z", "hours": 2.2033, "text": "I changed it to accountant os, and made drastic improvments with new apps and a retro looking desktop(which was pretty easy)."}, {"post_id": 28061, "ts": "2026-07-14T02:42:13Z", "hours": 0.3336, "text": "im making a referee os themed os"}]...
|
Title: AccountantOS by @samarth_hota | Stardance
Title: AccountantOS by @samarth_hota | Stardance
Devlogs:
im making a referee os themed os
I changed it to accountant os, and made drastic improvments with new apps and a retro looking desktop(which was pretty easy).
Finished up a few touches and is ready for the world.
1 introdction of the Centralized Database Explorer (DATABASE.EXE)Then (v1.0): Text storage and calculation values operated on disconnected, static page inputs. There was no capability to organize, create, or navigate multiple independent documents.Now (v5.0): Added a multi-node Directory manager that functions as a virtual relational file-system stored in local memory. Users can categorize files by format (Documents or Sheets), monitor file metadata (bytes, edit times), delete nodes, and initiate new files which load into editing buffers upon double-clicking.2. Fully Functional Dynamic Spreadsheet Grid (SHEETS.EXE)Then (v1.0): The spreadsheet app was restricted to a static HTML table structure representing a fixed, hard-coded tax margin computation form.Now (v5.0): Transformed into an interactive, multi-document 4x6 grid with column headers (A–D) and row indices (1–6). Includes a dedicated Excel-style Formula Bar that reads active cells and parses custom math-reference strings (e.g., =A1+B1 or =B4-B3-B5). Changes are evaluated instantly.3. Custom Accountant OS Bookkeeping Theme & Mechanical Click SynthThen (v1.0): Styling was standard retro-grey, styled specifically around flat color panels. Keyboard interaction was silent.Now (v5.0): Polished the design with the warm parchment-colored Vintage Ledger theme, featuring custom margins and double-underlined ledger rules. Created a custom Web Audio API synthesizer that produces retro mechanical keyclick sound effects whenever the user types inside a document, spreadsheet cell, or terminal panel.4. Upgraded Multi-Document Buffer & File Association (DOCS.EXE)Then (v1.0): The notepad component supported editing only one single global string buffer without file associations.Now (v5.0): Fully integrated the text editor with the centralized directory database. The interface tracks active file-handling buffers, displays file state labels, and features a “Commit to DB” protocol to save edits back into the primary database.5. Interactive BIOS Boot loaderThen (v1.0): Accessing the page immediately showed the desktop environment with no startup stage.Now (v5.0): Implemented a classic AMI-style BIOS welcome sequence. The terminal tests RAM, registers system assets, and generates a boot chime using browser audio oscillators to ensure proper context registration before revealing the operating system.6. Refined Window Geometry with Viewport Clamping and Storage Save StateThen (v1.0): Draggable windows lacked boundary constraints, letting users pull elements entirely out of bounds. Window positions, sizes, and open/close states were lost on reload.Now (v5.0): Upgraded the dragging engine with boundary checks, clamping window positions within desktop margins. Window coordinates, width/height dimensions, minimization status, and active directories are saved to localStorage and recovered on bootup. Added a dynamic taskbar tabs manager that tracks window focus and supports minimize-to-tray switching.7. Real-Time Vector Sparklines & Sound VisualizerThen (v1.0): The asset simulation was limited to numeric text fields updating at fixed intervals. The audio synthesizer was a basic sound button with no graphic feedback.Now (v5.0): Integrated an HTML sparkline renderer inside the asset terminal, drawing historical market price lines for machinery (green) and T-bills (yellow). Additionally, added an animated equalizer visualizer inside the synth control applet that animates to procedural frequencies.
Ships:
I made this my own webOS, accountant OS. This webOS, primarily built in html, is a standalone web operating system with draggable windows, apps and FYI this will be updated sometime in the future.
Accountant OS: What I made: I built Accountant OS, a lightweight, browser-based OS -type app for, get this… Accountants . It runs natively in the browser via one HTML file for a “lightweight experience.” What was challenging: Structuring the layout to feel like a true “operating system” rather than just a standard web page took some trial and error. Additionally, routing the logic for the accounting widgets and ensuring the interactive elements updated dynamically without breaking the UI required careful attention to the code structure. //Tryna make this part professional twin. What I am proud of: I am really proud of the user interface and the “retro” design. Taking standard HTML and turning it into a customized, app-like environment is a great milestone, and I’m happy with how nostalgic it looks. What users should know so they can test this: Testing is completely frictionless (Stardance pun intented) you don’t need to install any heavy software or databases. Just download the .html file and double-click it to open it in your preferred web browser. Keep in mind that because it is a localized browser app, your data will reset if you refresh the page. //basically it has no memory but trust the process....
|
1792849945.449854
|
1792936345.449854
|
|
31363
|
Paint App by @jow544445 | Stardance
|
jow544445
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-06T23:17:06Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Drawing App in JavaScript HTML CSS, how to draw on the canvas using mouse and pointer events, add a color picker input to select colors to draw with, add a slider range input to change the pen size, and add buttons with click handlers to clear and fill the canvas, and save/download the image that you have drawn.", "repo": "https://github.com/jow5445/paint-app", "demo": "https://jow5445.github.io/paint-app"}]...
|
[{"post_id": 23531, "ts": "202 [{"post_id": 23531, "ts": "2026-07-06T15:39:35Z", "hours": 1.1369, "text": "Drawing App in JavaScript HTML CSS. In this video, we go over how to draw on the canvas using mouse and pointer events, add a color picker input to select colors to draw with, add a slider range input to change the pen size, and add buttons with click handlers to clear and fill the canvas, and save/download the image that you have drawn."}]...
|
Title: Paint App by @jow544445 | Stardance
Devlog Title: Paint App by @jow544445 | Stardance
Devlogs:
Drawing App in JavaScript HTML CSS. In this video, we go over how to draw on the canvas using mouse and pointer events, add a color picker input to select colors to draw with, add a slider range input to change the pen size, and add buttons with click handlers to clear and fill the canvas, and save/download the image that you have drawn.
Ships:
Drawing App in JavaScript HTML CSS, how to draw on the canvas using mouse and pointer events, add a color picker input to select colors to draw with, add a slider range input to change the pen size, and add buttons with click handlers to clear and fill the canvas, and save/download the image that you have drawn....
|
1792849944.6041842
|
1792936344.6041842
|
|
43093
|
Bloop by @suprit | Stardance
|
suprit
|
1
|
6.35
|
73
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-12T15:46:21Z", "hours": 6.0, "multiplier": 12.11, "payout": 73, "blessing": "neutral", "text": "For now, I have added AI moderation within the Discord bot, an economy system for gaming, betting games (I dont know a lot about betting so I used the help of AI), music playback and random memes from Reddit using its API. This tools are quite helpful in managing a discord server, especially when AI can decide how someone’s action is harming someone else and can also decide whether to Kick, Ban, Mute or Timeout the person although you can remove those permissions from it anytime!", "repo": "https://github.com/supritpahari/bloop", "demo": "https://discord.gg/te2MYwzTVA"}]...
|
[{"post_id": 51113, "ts": "202 [{"post_id": 51113, "ts": "2026-08-20T16:42:44Z", "hours": 0.3503, "text": "For this new update, I added just some fun commands in the bot. The newly added commands include the /neko, /meme, /joke commands, each getting content from specific apis. I used the free APIs from different platforms and checked the commands a number of times to ensure the api requests work and I get some output data. Go try yourself!"}, {"post_id": 43790, "ts": "2026-08-09T06:50:57Z", "hours": 0.9839, "text": "Just completed my second mission: Make the Bot Sound and Moderate Today, I continued my work on my Discord bot Bloop, a friendly Discord bot that will include AI moderation and games for everyone! I coded it with Python. Today’s Objective- Add Music and Audio Playback from YouTube Add AI Moderation for better servers Fixed some errors in Economy Commands and Database Next Objective- Add AI Chat Support You can invite the bot in your discord to test out some features! I used Wisp byte to host it for free forever! Invite here: https://discord.com/oauth2/authorize?client_id=1533480410519048293"}, {"post_id": 42460, "ts": "2026-08-07T06:38:38Z", "hours": 5.0803, "text": "Just completed my first mission: Make the Bot Alive Today, I started my work on my Discord bot Bloop, a friendly Discord bot that will include AI moderation and games for everyone! I coded it with Python. Today’s Objective- Make the Bot Alive Add basic ban and kick commands Add economy commands Next Objective- Add Music Playback Support You can invite the bot in your discord to test out some features! I used Wisp byte to host it for free forever! Invite here: https://discord.com/oauth2/authorize?client_id=1533480410519048293"}]...
|
Title: Bloop by @suprit | Stardance
Devlogs:
Just Title: Bloop by @suprit | Stardance
Devlogs:
Just completed my first mission: Make the Bot Alive Today, I started my work on my Discord bot Bloop, a friendly Discord bot that will include AI moderation and games for everyone! I coded it with Python. Today’s Objective- Make the Bot Alive Add basic ban and kick commands Add economy commands Next Objective- Add Music Playback Support You can invite the bot in your discord to test out some features! I used Wisp byte to host it for free forever! Invite here: https://discord.com/oauth2/authorize?client_id=1533480410519048293
Just completed my second mission: Make the Bot Sound and Moderate Today, I continued my work on my Discord bot Bloop, a friendly Discord bot that will include AI moderation and games for everyone! I coded it with Python. Today’s Objective- Add Music and Audio Playback from YouTube Add AI Moderation for better servers Fixed some errors in Economy Commands and Database Next Objective- Add AI Chat Support You can invite the bot in your discord to test out some features! I used Wisp byte to host it for free forever! Invite here: https://discord.com/oauth2/authorize?client_id=1533480410519048293
For this new update, I added just some fun commands in the bot. The newly added commands include the /neko, /meme, /joke commands, each getting content from specific apis. I used the free APIs from different platforms and checked the commands a number of times to ensure the api requests work and I get some output data. Go try yourself!
Ships:
For now, I have added AI moderation within the Discord bot, an economy system for gaming, betting games (I dont know a lot about betting so I used the help of AI), music playback and random memes from Reddit using its API. This tools are quite helpful in managing a discord server, especially when AI can decide how someone’s action is harming someone else and can also decide whether to Kick, Ban, Mute or Timeout the person although you can remove those permissions from it anytime!...
|
1792849943.5058575
|
1792936343.5058575
|
|
41776
|
ryder's runnin' late! (⌒▽⌒)☆ by @rinimee | ryder's runnin' late! (⌒▽⌒)☆ by @rinimee | Stardance...
|
rinimee
|
1
|
9.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-10T18:29:36Z", "hours": 9.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a WarioWare inspired game complete with two separate levels: a platformer and a clicker. It was challenging to code because I wanted to introduce originality rather than copying what the tutorial said, and that led to many errors that took way too long to fix, such as errors with timers and display. Regardless, I am proud of the final result and I loved the story I introduced as well as the UI of the game. Test my project on itch.io! The first minigame should be played by using space and the left/right arrows. The second minigame should be played with the mouse to click. All buttons are navigation-friendly. Good luck, and don’t make Ryder late again!", "repo": "https://github.com/rinimee/riniwarioware", "demo": "https://rinimee.itch.io/ryders-runnin-late"}]...
|
[{"post_id": 44374, "ts": "202 [{"post_id": 44374, "ts": "2026-08-10T02:49:54Z", "hours": 1.5781, "text": "alright now im done ;) so update! apparently there was an error when i was testing my code: the winning scene wasn’t even loading after minigame 2! I had to change the global miniagme count to 2 since I only have 2 minigames. and I had to take too much time to fix it sighh, but now I’ll be publishing this goofy game so that you can finally help ryder get to nasa hq~ here’s a very hilarious ryder art for you guys while you wait for this ship!"}, {"post_id": 43700, "ts": "2026-08-09T03:16:00Z", "hours": 0.8242, "text": "ALL DONE!! finally! after a good 7 hours of coding, I have finished the game! there were a lot of errors along the way and a whole lot more crashouts, but now that the game is done, I’ll be testing it next, making a READme on my repo, and publishing the game! while i didn’t have the motivation to draw ryder showing up to NASA HQ as the winning/loosing scenes, you can see that I ended up drawing memes instead. here they are! PS: there’s also a bonus third pic of me playing the game hehe"}, {"post_id": 39791, "ts": "2026-08-03T00:11:42Z", "hours": 1.1094, "text": "HOLY CHEESE I FIXED IT!! with some awesome-sauce help from the hack-club slack, I finally fixed the first minigame!!!! YAYY!! it still says level 0 but i think i can fix that easily, now the second minigame is buggin a little but I’ll work on that! ill also need to make the winning and loosing scene (DRAWING!) later on. heres the snippet of the second minigame!"}, {"post_id": 39220, "ts": "2026-08-02T01:35:53Z", "hours": 3.1844, "text": "NEED GODOT VETS :( updates! I completed the first minigame and its working, but the level screen timer errors are still haunting me. It took a full 1:30 hours just to get the timer to work. I’m crashing out over these errors and I just hope they’ll get fixed soon ;-; while I have finished the first minigame, I’ll be doing the next one: a clicker. I hope to god I dont run into any errors this time…"}, {"post_id": 38521, "ts": "2026-07-31T23:01:44Z", "hours": 1.4608, "text": "MOVING TIME!! (literally) yep! after some annoying moments of me repeatedly crashing out before ryder wouldn’t move, but after enabling game inputs and making the velocity negative, ryder can finally jump around on fountains and telephone boxes (although in Ryder’s timeline I doubt he needs telephone boxes.) Here’s a quick snippet below, Ill update you all on the next things!"}, {"post_id": 38409, "ts": "2026-07-31T19:15:19Z", "hours": 0.7131, "text": "its comin together! first devlog! its been like 40 mins but I was able to get the title/timer screen done, working on the level itself now, the ryder sprite is so adorable! let me know if you want the plot drop, its pretty simple. Anyway, I’m creating barriers right now for the sprite but heres a couple snippets! I really love how the title screen turned out!"}]...
|
Title: ryder's runnin' late! (⌒▽⌒)☆ by @ri Title: ryder's runnin' late! (⌒▽⌒)☆ by @rinimee | Stardance
Devlogs:
its comin together! first devlog! its been like 40 mins but I was able to get the title/timer screen done, working on the level itself now, the ryder sprite is so adorable! let me know if you want the plot drop, its pretty simple. Anyway, I’m creating barriers right now for the sprite but heres a couple snippets! I really love how the title screen turned out!
MOVING TIME!! (literally) yep! after some annoying moments of me repeatedly crashing out before ryder wouldn’t move, but after enabling game inputs and making the velocity negative, ryder can finally jump around on fountains and telephone boxes (although in Ryder’s timeline I doubt he needs telephone boxes.) Here’s a quick snippet below, Ill update you all on the next things!
NEED GODOT VETS :( updates! I completed the first minigame and its working, but the level screen timer errors are still haunting me. It took a full 1:30 hours just to get the timer to work. I’m crashing out over these errors and I just hope they’ll get fixed soon ;-; while I have finished the first minigame, I’ll be doing the next one: a clicker. I hope to god I dont run into any errors this time…
HOLY CHEESE I FIXED IT!! with some awesome-sauce help from the hack-club slack, I finally fixed the first minigame!!!! YAYY!! it still says level 0 but i think i can fix that easily, now the second minigame is buggin a little but I’ll work on that! ill also need to make the winning and loosing scene (DRAWING!) later on. heres the snippet of the second minigame!
ALL DONE!! finally! after a good 7 hours of coding, I have finished the game! there were a lot of errors along the way and a whole lot more crashouts, but now that the game is done, I’ll be testing it next, making a READme on my repo, and publishing the game! while i didn’t have the motivation to draw ryder showing up to NASA HQ as the winning/loosing scenes, you can see that I ended up drawing memes instead. here they are! PS: there’s also a bonus third pic of me playing the game hehe
alright now im done ;) so update! apparently there was an error when i was testing my code: the winning scene wasn’t even loading after minigame 2! I had to change the global miniagme count to 2 since I only have 2 minigames. and I had to take too much time to fix it sighh, but now I’ll be publishing this goofy game so that you can finally help ryder get to nasa hq~ here’s a very hilarious ryder art for you guys while you wait for this ship!
Ships:
I made a WarioWare inspired game complete with two separate levels: a platformer and a clicker. It was challenging to code because I wanted to introduce originality rather than copying what the tutorial said, and that led to many errors that took way too long to fix, such as errors with timers and display. Regardless, I am proud of the final result and I loved the story I introduced as well as the UI of the game. Test my project on itch.io! The first minigame should be played by using space and the left/right arrows. The second minigame should be played with the mouse to click. All buttons are navigation-friendly. Good luck, and don’t make Ryder late again!...
|
1792849942.384247
|
1792936342.384247
|
|
2894
|
TariqGPT Website by @yumorange | Stardance
|
yumorange
|
2
|
16.0
|
77
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-07T21:17:40Z", "hours": 14.0, "multiplier": 4.59, "payout": 65, "blessing": "neutral", "text": "Tariq’s progress has come another step further! We’re trying new ways of developing the model to make him faster, which has been challenging due to model keys being stupidly hard with pytorch. If you want to get the full out of testing tariq, you should know these things: Tokens - They control how many characters/words tariq is able to use, in a sense, a token equals 1 of anything in his vocabulary Temp - controls tariq’s probabilities, how often he will decide against his training data, a good number for this is 0.8. saving - Although there is sessions, saving is not automatic, you must locally save your tariq conversations- and hey if you get a funny conversation, maybe share it with others!", "repo": "https://github.com/orangeTasteYummers/TariqGPTWebsite", "demo": "https://tariqgpt.duckdns.org"}, {"ship_num": 2, "ts": "2026-06-03T19:47:51Z", "hours": 2.0, "multiplier": 4.97, "payout": 12, "blessing": "neutral", "text": "Tariq Website that contains info on Tariq and allows you to talk to his models! (Models made by me and @poopypants on github). AI was used ONLY for help during debugging, helping to set up model_interpreter, and for info on different way to implement something I didn’t already know how to do.", "repo": "https://github.com/orangeTasteYummers/TariqGPTWebsite", "demo": "https://tariqgpt.duckdns.org"}]...
|
[{"post_id": 24348, "ts": "202 [{"post_id": 24348, "ts": "2026-07-07T21:11:21Z", "hours": 2.1144, "text": "More fixing again we tried to fix the next tt model, but yet again model keys screw me over and now I have to figure that out, regardless it’s really close to coming together and I’m just going to ship the project for now since so much has been done since the first ship anyway."}, {"post_id": 13905, "ts": "2026-06-22T20:03:16Z", "hours": 1.68, "text": "UI Update I moved the bot settings into a menu, which you can open by pressing the “settings” button above the input box. (volume temp tokens etc.) Fixed some major bugs that happen during first time set up, and fixed that weird bug for creating new sessions where the exp time was undefined/null. Overall not a whole lot but I really like how this looks on mobile now!"}, {"post_id": 9470, "ts": "2026-06-15T20:30:05Z", "hours": 6.5061, "text": "This update was really not that much for what I did. I decided to add session keys with cookies on the website, just incase for features later when this gets pushed as a mobile app or other format, it also tracks data like device type. I used SQLite for my db, and it was very fun to setup and make work with my server! sessions last 3 days and I plan to do SOMETHING with this in the future, especially when I start working in xcode on my macbook. Quick list of what I did: even MORE ui fixes Sessions that last 3 days (also tracks device type) Sqlite sessions.db so i can add data on users. Added a single fact to tariq Quick list of what I wanna do: Add a settings button instead of the cluttered menu above the text bar Update the readme to be a little more detailed and maybe have better instructions. New page? MAYBE add limited chat saving online for the published site? Below is an example session row: (ip will be changed to local location most likely or local location will be added ex: united states or canada)"}, {"post_id": 5210, "ts": "2026-06-08T22:22:01Z", "hours": 1.1786, "text": "Tariq GPT update I’m proud to say I was able to really quickly make the ui accessible to all devices with access to a network and browser without weird visual bugs! This should have been done sooner but I procrastinated it and I finally did it today and it was really easy, here are the changes: changed sizing for elements to fix overflow on mobile made side bar a collapsible overlay instead of part of the container flex fixed button icons to do: Fix Tsundere Tariq"}, {"post_id": 2452, "ts": "2026-06-04T23:03:47Z", "hours": 2.7497, "text": "Tariq GPT changes Updated Info page with a fun facts section (with a refresh button), and a “how it started” section (to be written still) Changed volume bar not to go crazy for no reason Changed volume bar’s appearance Tariq will no long speak automatically Added more css animations Changed some text to tabler icons Things to fix/add: Tsundere tariq 1.1 is bugged as hell so he isn’t up there right now. Make the website work well on mobile Make the side bar collapsable"}, {"post_id": 1653, "ts": "2026-06-03T19:43:19Z", "hours": 1.3117, "text": "Finished styling about page and added back button. I also added new entries."}, {"post_id": 1166, "ts": "2026-06-03T00:39:49Z", "hours": 1.1025, "text": "added tusndere tariq, started on info page (some info was added but no css) and fixed a lot of stuff wrong with github"}]...
|
Title: TariqGPT Website by @yumorange | Stardance
Title: TariqGPT Website by @yumorange | Stardance
Devlogs:
added tusndere tariq, started on info page (some info was added but no css) and fixed a lot of stuff wrong with github
Finished styling about page and added back button. I also added new entries.
Tariq GPT changes Updated Info page with a fun facts section (with a refresh button), and a “how it started” section (to be written still) Changed volume bar not to go crazy for no reason Changed volume bar’s appearance Tariq will no long speak automatically Added more css animations Changed some text to tabler icons Things to fix/add: Tsundere tariq 1.1 is bugged as hell so he isn’t up there right now. Make the website work well on mobile Make the side bar collapsable
Tariq GPT update I’m proud to say I was able to really quickly make the ui accessible to all devices with access to a network and browser without weird visual bugs! This should have been done sooner but I procrastinated it and I finally did it today and it was really easy, here are the changes: changed sizing for elements to fix overflow on mobile made side bar a collapsible overlay instead of part of the container flex fixed button icons to do: Fix Tsundere Tariq
This update was really not that much for what I did. I decided to add session keys with cookies on the website, just incase for features later when this gets pushed as a mobile app or other format, it also tracks data like device type. I used SQLite for my db, and it was very fun to setup and make work with my server! sessions last 3 days and I plan to do SOMETHING with this in the future, especially when I start working in xcode on my macbook. Quick list of what I did: even MORE ui fixes Sessions that last 3 days (also tracks device type) Sqlite sessions.db so i can add data on users. Added a single fact to tariq Quick list of what I wanna do: Add a settings button instead of the cluttered menu above the text bar Update the readme to be a little more detailed and maybe have better instructions. New page? MAYBE add limited chat saving online for the published site? Below is an example session row: (ip will be changed to local location most likely or local location will be added ex: united states or canada)
UI Update I moved the bot settings into a menu, which you can open by pressing the “settings” button above the input box. (volume temp tokens etc.) Fixed some major bugs that happen during first time set up, and fixed that weird bug for creating new sessions where the exp time was undefined/null. Overall not a whole lot but I really like how this looks on mobile now!
More fixing again we tried to fix the next tt model, but yet again model keys screw me over and now I have to figure that out, regardless it’s really close to coming together and I’m just going to ship the project for now since so much has been done since the first ship anyway.
Ships:
Tariq Website that contains info on Tariq and allows you to talk to his models! (Models made by me and @poopypants on github). AI was used ONLY for help during debugging, helping to set up model_interpreter, and for info on different way to implement something I didn’t already know how to do.
Tariq’s progress has come another step further! We’re trying new ways of developing the model to make him faster, which has been challenging due to model keys being stupidly hard with pytorch. If you want to get the full out of testing tariq, you should know these things: Tokens - They control how many characters/words tariq is able to use, in a sense, a token equals 1 of anything in his vocabulary Temp - controls tariq’s probabilities, how often he will decide against his training data, a good number for this is 0.8. saving - Although there is sessions, saving is not automatic, you must locally save your tariq conversations- and hey if you get a funny conversation, maybe share it with others!...
|
1792849941.2180912
|
1792936341.2180912
|
|
16064
|
Pistons by @EndLess9 | Stardance
|
EndLess9
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-25T00:19:16Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I’m proud to showcase my first CAD project for Hack club. I decided to make a piston since it’ beginner friendly and incorporates a lot of tools that I learned in my basic training for Onshape.", "repo": "https://github.com/EndLessDude/Onshape-Piston", "demo": "https://cad.onshape.com/documents/6b9c6c0743535657905d2399/w/5c75fbc38a07ae5a80378a6e/e/a781c21170eb18971778938e?renderMode=0&uiState=6a2d8ba4d621c391c3f06010"}]...
|
[{"post_id": 15368, "ts": "202 [{"post_id": 15368, "ts": "2026-06-24T23:59:47Z", "hours": 0.6569, "text": "Changes: Added the gudgeon pin Made a connecting rod carving for design Made the rod bearing Curved the sides of the rod bearing for better looks"}, {"post_id": 8179, "ts": "2026-06-13T17:01:28Z", "hours": 0.365, "text": "Made a cylinder Removed the inside of the cylinder Made the piston rings Created valve pockets"}]...
|
Title: Pistons by @EndLess9 | Stardance
Devlogs:
Title: Pistons by @EndLess9 | Stardance
Devlogs:
Made a cylinder Removed the inside of the cylinder Made the piston rings Created valve pockets
Changes: Added the gudgeon pin Made a connecting rod carving for design Made the rod bearing Curved the sides of the rod bearing for better looks
Ships:
I’m proud to showcase my first CAD project for Hack club. I decided to make a piston since it’ beginner friendly and incorporates a lot of tools that I learned in my basic training for Onshape....
|
1792849940.3275023
|
1792936340.3275023
|
|
37196
|
SCP WebOS by @superr | Stardance
|
superr
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-21T22:22:57Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "SCP themed WebOS. This was a fun way for me to learn more about CSS and also learn some JS. It was difficult at times to deal with CSS, but I ended up learning alot of stuff from that. In the future I’d like to add more pictures to the classified app, and I’ll also make a terminal app with lots of functionality.", "repo": "https://github.com/supe-r/superswebos", "demo": "https://supe-r.github.io/superswebos/"}]...
|
[{"post_id": 32623, "ts": "202 [{"post_id": 32623, "ts": "2026-07-21T22:10:48Z", "hours": 1.1994, "text": "added cool cats app behind classified security"}, {"post_id": 32020, "ts": "2026-07-20T21:48:33Z", "hours": 1.8144, "text": "Added SCP Directory with 4 SCPs. I’ll probably make the actual display of the files prettier later, so they aren’t just blocks of text :D"}, {"post_id": 31845, "ts": "2026-07-20T15:31:34Z", "hours": 3.47, "text": "Made “login” screen, made desktop, made a “text file” as a welcome thats draggable closeable and openable"}]...
|
Title: SCP WebOS by @superr | Stardance
Devlogs:
Title: SCP WebOS by @superr | Stardance
Devlogs:
Made “login” screen, made desktop, made a “text file” as a welcome thats draggable closeable and openable
Added SCP Directory with 4 SCPs. I’ll probably make the actual display of the files prettier later, so they aren’t just blocks of text :D
added cool cats app behind classified security
Ships:
SCP themed WebOS. This was a fun way for me to learn more about CSS and also learn some JS. It was difficult at times to deal with CSS, but I ended up learning alot of stuff from that. In the future I’d like to add more pictures to the classified app, and I’ll also make a terminal app with lots of functionality....
|
1792849939.2121618
|
1792936339.2121618
|
|
44042
|
cool homepage by @Aliexpress_enjoyer | Stardance
|
Aliexpress_enjoyer
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-05T18:03:56Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a custom homepage yay I am proud of how quickly did it, since this would have taken me much longer when I first started years ago.", "repo": "https://github.com/boredguywithacomputer/homepage", "demo": "https://boredguywithacomputer.github.io/homepage/"}]...
|
[{"post_id": 41447, "ts": "202 [{"post_id": 41447, "ts": "2026-08-05T17:38:18Z", "hours": 0.7875, "text": "Added a simple temperature reading from a weather api I tried stealing firefox’s sponsored weather api but couldnt figure it out so I just went with a random one"}, {"post_id": 41158, "ts": "2026-08-05T06:01:22Z", "hours": 0.6911, "text": "Added the spinning turtle using threejs and a suspiciously google colored text and other css things I was wondering why threejs was tweaking when I remembered webgl didnt work on my firefox installation for some reason, I think i’ll be fixing that right after posting this devlog"}, {"post_id": 41072, "ts": "2026-08-05T01:08:35Z", "hours": 0.3503, "text": "made a turtle in blender he will return later…"}, {"post_id": 41059, "ts": "2026-08-05T00:41:34Z", "hours": 0.2644, "text": "I made a basic Google search bar It allows you to type slash to focus on the input"}]...
|
Title: cool homepage by @Aliexpress_enjoyer | Star Title: cool homepage by @Aliexpress_enjoyer | Stardance
Devlogs:
I made a basic Google search bar It allows you to type slash to focus on the input
made a turtle in blender he will return later…
Added the spinning turtle using threejs and a suspiciously google colored text and other css things I was wondering why threejs was tweaking when I remembered webgl didnt work on my firefox installation for some reason, I think i’ll be fixing that right after posting this devlog
Added a simple temperature reading from a weather api I tried stealing firefox’s sponsored weather api but couldnt figure it out so I just went with a random one
Ships:
I made a custom homepage yay I am proud of how quickly did it, since this would have taken me much longer when I first started years ago....
|
1792849937.6858943
|
1792936337.6858943
|
|
53165
|
Bot by @leam | Stardance
|
leam
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-04T17:05:44Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Basic SlackBot", "repo": "https://github.com/G-WE/RegularBot", "demo": "https://github.com/G-WE"}]...
|
[{"post_id": 61636, "ts": "202 [{"post_id": 61636, "ts": "2026-09-04T17:04:18Z", "hours": 0.4533, "text": "Horrible start, need to be better…."}, {"post_id": 54578, "ts": "2026-08-25T16:31:34Z", "hours": 0.3039, "text": "Ladies and gentlemen, its not working… I guess ill fix it tomorrow"}, {"post_id": 54534, "ts": "2026-08-25T15:46:44Z", "hours": 0.4619, "text": "Updated the Bot! I made a few addons for people who want to tack their expenses using the bot! We can add our expenses and also income, see history and the balance!"}, {"post_id": 52865, "ts": "2026-08-23T07:26:59Z", "hours": 0.3306, "text": "My First Slackbot!"}]...
|
Title: Bot by @leam | Stardance
Devlogs:
My First Title: Bot by @leam | Stardance
Devlogs:
My First Slackbot!
Updated the Bot! I made a few addons for people who want to tack their expenses using the bot! We can add our expenses and also income, see history and the balance!
Ladies and gentlemen, its not working… I guess ill fix it tomorrow
Horrible start, need to be better….
Ships:
Basic SlackBot...
|
1792849936.550545
|
1792936336.550545
|
|
56705
|
KERNL Archives by @KERNL | Stardance
|
KERNL
|
2
|
15.0
|
71
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-18T03:55:14Z", "hours": 4.0, "multiplier": 12.48, "payout": 50, "blessing": "neutral", "text": "Ship #2 I have implemented the ability to view project details and also their links! I am so far enjoying how React.js works and the work flow but i am struggling how to efficiently write logic since i am not familiar with TypeScript but i am slowly learning how to understand its syntax!", "repo": "https://github.com/kxrnl/kernl-archives", "demo": "https://kernl-archives.vercel.app/"}, {"ship_num": 2, "ts": "2026-09-08T09:55:25Z", "hours": 11.0, "multiplier": 1.97, "payout": 21, "blessing": "neutral", "text": "KERNL Archives is a collection of my past and so future. I would like to store them in one place like a “year book” but also have my other things into it like Devlogs which i liked from Stardance. This website is a past project from a practice web page ported into React.js! Using Supabase it has been a little more convenient and more forgiving than Firebase since Supabase has more rules/policies to modify. Also, React.js has been fun for me coming from vanilla HTML it really is very efficient to use as a framework but I am also aware of how heavy it is to deploy but for efficiency I would say it is a fair trade.", "repo": "https://github.com/kxrnl/kernl-archives", "demo": "https://kernl-archives.vercel.app/"}]...
|
[{"post_id": 69951, "ts": "202 [{"post_id": 69951, "ts": "2026-09-18T03:49:07Z", "hours": 1.6458, "text": "9/18/26 - Devlog 7 I have been pretty busy with school works lately and haven’t updated this project in a while. But i have finished the card view overlay! You can now visit my projects and see their code (if i set it to public). Now you can roast my codebase! I am still gathering devlogs on other projects so that might take a while to implement fully sorry for taking long 😓"}, {"post_id": 66664, "ts": "2026-09-12T14:59:55Z", "hours": 2.3933, "text": "9/12/26 - Devlog 6 Just got home from school and immediately worked on fixing content on the website, since i get flagged for using too much ai? ANYWAYS I am currently planning on fixing the orders of the project cards and gathering devlogs and grouping them so its easier to browse! Another goal is for mobile responsive design! But for now i will currently focus on desktop since its easier to adjust (well for me) sooo thats all for today! Shoutout to very cool people"}, {"post_id": 64113, "ts": "2026-09-08T09:46:57Z", "hours": 1.6611, "text": "9/8/26 - Devlog 5 Card views is now on the work. Still figuring out how to connect it to Supabase via ids! Markdown for devlogs is also being added (thanks to ai jeez it would kill me if i did it manually) Just a quick update"}, {"post_id": 63626, "ts": "2026-09-07T15:35:35Z", "hours": 1.6778, "text": "9/7/26 - Devlog 4 Omygod its beautiful. ALSO! Its now hosted! So the about page has been ported now and improved! Heres the preview might change a little bit more but overall. i love it"}, {"post_id": 63526, "ts": "2026-09-07T13:10:40Z", "hours": 0.4914, "text": "9/7/26 - Devlog 3 I have fixed the image problem thing! I also renamed the “Games” to “Projects” since I might put more than just games in the site soo yea:) I’d say this project is 80% complete!"}, {"post_id": 62928, "ts": "2026-09-06T13:55:20Z", "hours": 1.5811, "text": "9/6/26 - Devlog 2 Games and Devlogs Database and display is now working. HOWEVER, my dashboard when adding them is kinda broken (bcos of the image) but overall I am getting closer to getting the archives finished :) Supabase experience so far: Ease of use: 8/10 Data management: 7/10 Solving errors: 4/10 (Still not used to its policy things but i kinda get it)"}, {"post_id": 62156, "ts": "2026-09-05T12:32:37Z", "hours": 1.1825, "text": "9/5/26 - Devlog 1 I have chosen Supabase as my backend than Firebase just experimentation :) I am feeling sick today so a few things has been only added"}, {"post_id": 61483, "ts": "2026-09-04T12:51:28Z", "hours": 0.8978, "text": "9/4/26 - Devlog After a few hours with React.js I find it fun and fast to use components and the idea of reusability and not having repetitive tags is great! It is coming together now from native HTML to React.js love it"}, {"post_id": 60903, "ts": "2026-09-03T15:40:15Z", "hours": 2.8069, "text": "9/3/26 - React.js Since i was originally planning on porting my RoFind project into React, I wanted to try and learn it a little more on this project to further expand my knowledge and easily port it in the shortest amount of time."}, {"post_id": 58848, "ts": "2026-08-31T13:01:53Z", "hours": 0.42, "text": "8/31/26 - KERNL ARCHIVES I remembered that i have a template website i have originally created as a practice. Inspired from ARKE’s website ( https://arke.gumroad.com/ ), I really liked the simple blank and white theme of it and the spacious design. KERNL ARCHIVES will house my previous & future projects. Devlogs are also included and about me :)"}]...
|
Title: KERNL Archives by @KERNL | Stardance
Devlo Title: KERNL Archives by @KERNL | Stardance
Devlogs:
8/31/26 - KERNL ARCHIVES I remembered that i have a template website i have originally created as a practice. Inspired from ARKE’s website ( https://arke.gumroad.com/ ), I really liked the simple blank and white theme of it and the spacious design. KERNL ARCHIVES will house my previous & future projects. Devlogs are also included and about me :)
9/3/26 - React.js Since i was originally planning on porting my RoFind project into React, I wanted to try and learn it a little more on this project to further expand my knowledge and easily port it in the shortest amount of time.
9/4/26 - Devlog After a few hours with React.js I find it fun and fast to use components and the idea of reusability and not having repetitive tags is great! It is coming together now from native HTML to React.js love it
9/5/26 - Devlog 1 I have chosen Supabase as my backend than Firebase just experimentation :) I am feeling sick today so a few things has been only added
9/6/26 - Devlog 2 Games and Devlogs Database and display is now working. HOWEVER, my dashboard when adding them is kinda broken (bcos of the image) but overall I am getting closer to getting the archives finished :) Supabase experience so far: Ease of use: 8/10 Data management: 7/10 Solving errors: 4/10 (Still not used to its policy things but i kinda get it)
9/7/26 - Devlog 3 I have fixed the image problem thing! I also renamed the “Games” to “Projects” since I might put more than just games in the site soo yea:) I’d say this project is 80% complete!
9/7/26 - Devlog 4 Omygod its beautiful. ALSO! Its now hosted! So the about page has been ported now and improved! Heres the preview might change a little bit more but overall. i love it
9/8/26 - Devlog 5 Card views is now on the work. Still figuring out how to connect it to Supabase via ids! Markdown for devlogs is also being added (thanks to ai jeez it would kill me if i did it manually) Just a quick update
9/12/26 - Devlog 6 Just got home from school and immediately worked on fixing content on the website, since i get flagged for using too much ai? ANYWAYS I am currently planning on fixing the orders of the project cards and gathering devlogs and grouping them so its easier to browse! Another goal is for mobile responsive design! But for now i will currently focus on desktop since its easier to adjust (well for me) sooo thats all for today! Shoutout to very cool people
9/18/26 - Devlog 7 I have been pretty busy with school works lately and haven’t updated this project in a while. But i have finished the card view overlay! You can now visit my projects and see their code (if i set it to public). Now you can roast my codebase! I am still gathering devlogs on other projects so that might take a while to implement fully sorry for taking long 😓
Ships:
KERNL Archives is a collection of my past and so future. I would like to store them in one place like a “year book” but also have my other things into it like Devlogs which i liked from Stardance. This website is a past project from a practice web page ported into React.js! Using Supabase it has been a little more convenient and more forgiving than Firebase since Supabase has more rules/policies to modify. Also, React.js has been fun for me coming from vanilla HTML it really is very efficient to use as a framework but I am also aware of how heavy it is to deploy but for efficiency I would say it is a fair trade.
Ship #2 I have implemented the ability to view project details and also their links! I am so far enjoying how React.js works and the work flow but i am struggling how to efficiently write logic since i am not familiar with TypeScript but i am slowly learning how to understand its syntax!...
|
1792849935.362561
|
1792936335.362561
|
|
56701
|
MIDL by @ibrahim- | Stardance
|
ibrahim-
|
2
|
14.0
|
228
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-08T15:22:22Z", "hours": 7.0, "multiplier": 16.78, "payout": 119, "blessing": "neutral", "text": "I present MIDL. I’ve always wanted to play old flash games from my childhood, but since 99% websites do not allow you to export save files, I would always lose my progress. MIDL aims to solve that. . All games were taken from InternetArchive, effort was made to ensure no site locked games were included (no site locks were bypassed). . Almost all of the features that the reviewers mentioned in the last ship have been implemented! . Features Flash emulation via Ruffle Downloading and loading of game save files Search function ANIMATIONS! Cloud save file storage (YOU CAN SAVE YOUR SAVE FILES IN THE CLOUD) Accounts system LEADERBOARD!! (with custom MIDL points, although not all games support our leaderboard) Player controls (play, pause fullscreen) Security (popup blocking) You can now upload your own SWF file! . Planned Features Game snapshot as a save file Emulators!", "repo": "https://github.com/ibfactor/midl", "demo": "https://midl.ibfr.org/"}, {"ship_num": 2, "ts": "2026-09-04T06:33:19Z", "hours": 7.0, "multiplier": 14.95, "payout": 109, "blessing": "neutral", "text": "I present MIDL. I’ve always wanted to play old flash games from my childhood, but since 99% websites do not allow you to export save files, I would always lose my progress. MIDL aims to solve that. . All games were taken from InternetArchive, effort was made to ensure no site locked games were included (no site locks were bypassed). . Features Flash emulation via Ruffle Downloading and loading of game save files Search function ANIMATIONS! Planned Features Saving game state (as it is) Cloud storage functionality Retro console emulators!", "repo": "https://github.com/ibfactor/midl", "demo": "https://midl.ibfr.org/"}]...
|
[{"post_id": 64264, "ts": "202 [{"post_id": 64264, "ts": "2026-09-08T15:19:16Z", "hours": 0.7286, "text": "Devlog #15 Added finishing touches, and more importantly (something I forgot to mention earlier), you can now upload and play your own .SWF files!"}, {"post_id": 64202, "ts": "2026-09-08T12:58:56Z", "hours": 0.4606, "text": "Devlog #14 Finally fixed the extra space issue and squashed a few visual bugs"}, {"post_id": 64107, "ts": "2026-09-08T09:34:56Z", "hours": 0.2803, "text": "Devlog #13 Need your advice I do not know what do to with this extra space. Experimented for like 15 minutes but idk atp, nothing looked good. or or or I could leave it as it is."}, {"post_id": 64061, "ts": "2026-09-08T06:07:13Z", "hours": 0.7936, "text": "Devlog #12 Leaderboards are here Fixed a bug that was introduced in the previous log (save feature was not working as expected)."}, {"post_id": 63710, "ts": "2026-09-07T17:24:51Z", "hours": 0.9033, "text": "Devlog #11 The my account page is finally complete. I also implemented max (high) score calculation, just need to make the leaderboard now. MP (MIDL points) are different from in-game points, and use a special algorithm for their calculation. (multiplying all high scores in all levels, by the number of levels, and multiplying that by the number of stars gained, all of these values depend on the game of course)"}, {"post_id": 63581, "ts": "2026-09-07T14:34:19Z", "hours": 0.2656, "text": "Devlog #10 I’ve added the following games (on the request of @NC and @Definitly-Not-Me ): Dragon Ball Z vs Naruto One Piece vs Naruto Learn to Fly"}, {"post_id": 63551, "ts": "2026-09-07T13:56:37Z", "hours": 1.4186, "text": "Devlog #9 Finally completed the cloud save feature! Used Express and LowDB in the backend. Next Up: add requested games, squash bugs, and most importantly, add a leaderboard!"}, {"post_id": 62212, "ts": "2026-09-05T14:01:31Z", "hours": 2.2394, "text": "Devlog #8 Finally created the authentication system using Express & LowDB, not committing to GitHub yet since I still have to set up the server. I’ve seen all the reviews and will implement them. Also added the close buttons to modals. The requested games will be added in the next devlog. :)"}, {"post_id": 60891, "ts": "2026-09-03T15:17:26Z", "hours": 0.3594, "text": "Devlog #7 Finally implemented the save manager"}, {"post_id": 60853, "ts": "2026-09-03T14:11:47Z", "hours": 2.2514, "text": "Devlog #6 I fixed a few bugs, added a few animations, and most importantly… Wasted 2 whole hours trying to get ruffle player state to restore after reloads…… which failed So plan B, we use the actual save files."}, {"post_id": 60299, "ts": "2026-09-02T16:00:31Z", "hours": 0.8422, "text": "Devlog #5 Done with the Ruffle player, added play/pause controls, fullscreen, and developed a custom solution for saving ruffle state (this is really exciting ), so now we can have flash games with cloud state saves :3"}, {"post_id": 60187, "ts": "2026-09-02T12:43:37Z", "hours": 1.2194, "text": "Devlog #4 Done with the game page and some animations <3 I need your help now, comment ANY obscure flash games you used to play so that they can be archived"}, {"post_id": 59766, "ts": "2026-09-01T18:13:57Z", "hours": 1.0086, "text": "Devlog #3 Finally done with some animations and the search bar"}, {"post_id": 59598, "ts": "2026-09-01T14:43:41Z", "hours": 1.3175, "text": "Devlog #2 Done with adding the games, the images, and styled the main home page. now I need your help, comment any obscure flash game you used to play so that it can be added and archived"}, {"post_id": 58977, "ts": "2026-08-31T15:32:12Z", "hours": 0.2656, "text": "I need YOUR help Do you know of any obscure flash games you used to play? Comment it so it can be added Done with the base styles and structure + created and filled the games database partially"}]...
|
Title: MIDL by @ibrahim- | Stardance
Devlogs:
I n Title: MIDL by @ibrahim- | Stardance
Devlogs:
I need YOUR help Do you know of any obscure flash games you used to play? Comment it so it can be added Done with the base styles and structure + created and filled the games database partially
Devlog #2 Done with adding the games, the images, and styled the main home page. now I need your help, comment any obscure flash game you used to play so that it can be added and archived
Devlog #3 Finally done with some animations and the search bar
Devlog #4 Done with the game page and some animations <3 I need your help now, comment ANY obscure flash games you used to play so that they can be archived
Devlog #5 Done with the Ruffle player, added play/pause controls, fullscreen, and developed a custom solution for saving ruffle state (this is really exciting ), so now we can have flash games with cloud state saves :3
Devlog #6 I fixed a few bugs, added a few animations, and most importantly… Wasted 2 whole hours trying to get ruffle player state to restore after reloads…… which failed So plan B, we use the actual save files.
Devlog #7 Finally implemented the save manager
Devlog #8 Finally created the authentication system using Express & LowDB, not committing to GitHub yet since I still have to set up the server. I’ve seen all the reviews and will implement them. Also added the close buttons to modals. The requested games will be added in the next devlog. :)
Devlog #9 Finally completed the cloud save feature! Used Express and LowDB in the backend. Next Up: add requested games, squash bugs, and most importantly, add a leaderboard!
Devlog #10 I’ve added the following games (on the request of @NC and @Definitly-Not-Me ): Dragon Ball Z vs Naruto One Piece vs Naruto Learn to Fly
Devlog #11 The my account page is finally complete. I also implemented max (high) score calculation, just need to make the leaderboard now. MP (MIDL points) are different from in-game points, and use a special algorithm for their calculation. (multiplying all high scores in all levels, by the number of levels, and multiplying that by the number of stars gained, all of these values depend on the game of course)
Devlog #12 Leaderboards are here Fixed a bug that was introduced in the previous log (save feature was not working as expected).
Devlog #13 Need your advice I do not know what do to with this extra space. Experimented for like 15 minutes but idk atp, nothing looked good. or or or I could leave it as it is.
Devlog #14 Finally fixed the extra space issue and squashed a few visual bugs
Devlog #15 Added finishing touches, and more importantly (something I forgot to mention earlier), you can now upload and play your own .SWF files!
Ships:
I present MIDL. I’ve always wanted to play old flash games from my childhood, but since 99% websites do not allow you to export save files, I would always lose my progress. MIDL aims to solve that. . All games were taken from InternetArchive, effort was made to ensure no site locked games were included (no site locks were bypassed). . Features Flash emulation via Ruffle Downloading and loading of game save files Search function ANIMATIONS! Planned Features Saving game state (as it is) Cloud storage functionality Retro console emulators!
I present MIDL. I’ve always wanted to play old flash games from my childhood, but since 99% websites do not allow you to export save files, I would always lose my progress. MIDL aims to solve that. . All games were taken from InternetArchive, effort was made to ensure no site locked games were included (no site locks were bypassed). . Almost all of the features that the reviewers mentioned in the last ship have been implemented! . Features Flash emulation via Ruffle Downloading and loading of game save files Search function ANIMATIONS! Cloud save file storage (YOU CAN SAVE YOUR SAVE FILES IN THE CLOUD) Accounts system LEADERBOARD!! (with custom MIDL points, although not all games support our leaderboard) Player controls (play, pause fullscreen) Security (popup blocking) You can now upload your own SWF file! . Planned Features Game snapshot as a save file Emulators!...
|
1792849934.1360517
|
1792936334.1360517
|
|
44021
|
wildfire by @Imtiaz | Stardance
|
Imtiaz
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-06T23:14:23Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "So, it’s a fun project of mine made by using NASA’s Firms software. NASA actually collects data from the space and puts it into FIRMS if any place is getting cooked. To see if you’re living in a great place, check it out!!", "repo": "https://github.com/imtua/wildfire", "demo": "https://imtua.github.io/wildfire/"}]...
|
[{"post_id": 42101, "ts": "202 [{"post_id": 42101, "ts": "2026-08-06T17:45:34Z", "hours": 0.3542, "text": "just wrote the scoring.js file, everythings working good, it scores."}, {"post_id": 42084, "ts": "2026-08-06T17:19:48Z", "hours": 0.2933, "text": "wrote the firms.js file"}, {"post_id": 41830, "ts": "2026-08-06T09:07:20Z", "hours": 1.2853, "text": "just wrote the app.js file, i used CARTO api for the map."}, {"post_id": 41605, "ts": "2026-08-05T22:12:30Z", "hours": 0.5072, "text": "just wrote the main.css file that gives my website a beautiful design."}, {"post_id": 41586, "ts": "2026-08-05T21:41:03Z", "hours": 0.9125, "text": "as you can see, the index.html is done here. whatever im doing is getting logged in the readme file."}]...
|
Title: wildfire by @Imtiaz | Stardance
Devlogs:
a Title: wildfire by @Imtiaz | Stardance
Devlogs:
as you can see, the index.html is done here. whatever im doing is getting logged in the readme file.
just wrote the main.css file that gives my website a beautiful design.
just wrote the app.js file, i used CARTO api for the map.
wrote the firms.js file
just wrote the scoring.js file, everythings working good, it scores.
Ships:
So, it’s a fun project of mine made by using NASA’s Firms software. NASA actually collects data from the space and puts it into FIRMS if any place is getting cooked. To see if you’re living in a great place, check it out!!...
|
1792849932.9909961
|
1792936332.9909961
|
|
44005
|
Travel Budget Planner by @Ombama | Stardance
|
Ombama
|
1
|
5.64
|
38
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-04T22:28:59Z", "hours": 5.0, "multiplier": 7.28, "payout": 38, "blessing": "neutral", "text": "I made a Travel Budget Planner that helps users estimate the full cost of a trip. Users enter their destination, number of days, travelers, hotel, food, transportation, activities, and emergency-budget percentage. The app calculates each expense category, total trip cost, cost per person, and average daily cost. It also labels the trip as Budget, Standard, or Expensive, saves the latest trip, and includes reset and print options. The most challenging parts were validating inputs, organizing the calculations, preventing incorrect results, and saving data with localStorage. I am most proud of the responsive design and visual budget breakdown. To test it, enter trip details and click Calculate Budget. Also try missing fields, zero or negative values, refreshing the page, resetting the form, and printing the summary.", "repo": "https://github.com/Om-Bhagat-prog/Travel-Budget-Planner", "demo": "https://travel-budget-planner-five.vercel.app/"}]...
|
[{"post_id": 41558, "ts": "202 [{"post_id": 41558, "ts": "2026-08-05T21:00:17Z", "hours": 0.6419, "text": "I changed the README.md file."}, {"post_id": 41019, "ts": "2026-08-04T22:25:53Z", "hours": 5.1947, "text": "The final project includes a responsive interface where users enter their destination, trip length, number of travelers, hotel cost, food cost, transportation, activities, and an extra emergency-budget percentage. JavaScript reads and validates the form, calculates each expense category, total trip cost, cost per person, and average daily cost. It also labels the trip as Budget, Standard, or Expensive and displays visual spending bars. I added currency formatting, clear error messages, reset and print buttons, and browser localStorage so the latest trip can be saved and restored after refreshing the page. The CSS includes cards, responsive layouts, mobile support, and print styles. The finished GitHub project also includes a detailed README explaining its features, calculations, technologies, file structure, and possible future improvements."}]...
|
Title: Travel Budget Planner by @Ombama | Stardanc Title: Travel Budget Planner by @Ombama | Stardance
Devlogs:
The final project includes a responsive interface where users enter their destination, trip length, number of travelers, hotel cost, food cost, transportation, activities, and an extra emergency-budget percentage. JavaScript reads and validates the form, calculates each expense category, total trip cost, cost per person, and average daily cost. It also labels the trip as Budget, Standard, or Expensive and displays visual spending bars. I added currency formatting, clear error messages, reset and print buttons, and browser localStorage so the latest trip can be saved and restored after refreshing the page. The CSS includes cards, responsive layouts, mobile support, and print styles. The finished GitHub project also includes a detailed README explaining its features, calculations, technologies, file structure, and possible future improvements.
I changed the README.md file.
Ships:
I made a Travel Budget Planner that helps users estimate the full cost of a trip. Users enter their destination, number of days, travelers, hotel, food, transportation, activities, and emergency-budget percentage. The app calculates each expense category, total trip cost, cost per person, and average daily cost. It also labels the trip as Budget, Standard, or Expensive, saves the latest trip, and includes reset and print options. The most challenging parts were validating inputs, organizing the calculations, preventing incorrect results, and saving data with localStorage. I am most proud of the responsive design and visual budget breakdown. To test it, enter trip details and click Calculate Budget. Also try missing fields, zero or negative values, refreshing the page, resetting the form, and printing the summary....
|
1792849931.8860552
|
1792936331.8860552
|
|
44004
|
AI APEX Trader by @alex4o | Stardance
|
alex4o
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-05T13:25:15Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What I made apex-trader — a fully autonomous crypto trend-following bot trading BTC-EUR and ETH-EUR on Revolut X. It enters only when three conditions align on daily candles: price breaks above a 30-day Donchian channel, Supertrend(10,3) points up, and price sits above the 200-day SMA. It exits when Supertrend flips, protected by a Chandelier hard stop (6xATR). Risk is rules-based: max 25% of equity per position, max 2 positions, 50% exposure cap, -5% daily circuit breaker. An LLM (4-model fallback chain: Groq -> OpenRouter) reviews each entry as a risk-off veto — it can block trades but never create them, and fails open if all models are down. It runs unattended in the cloud: a cron-job.org pinger triggers a GitHub Actions cycle every 15 minutes, the bot commits its own state and decision log back to the repo, and ntfy.sh pushes entry/exit alerts to my phone. Currently paper trading EUR 500. What was challenging The hardest part wasn’t the strategy — it was trusting it, then deploying it. My first backtests looked amazing until I learned to distrust them: I built proper out-of-sample validation (frozen parameters, last 30% of history, real fees + slippage) plus a robustness check across all 7 neighboring parameter combos. That process killed one exit rule — the Donchian lower band was silently cutting winners on ~100% of bars; removing it improved OOS Sharpe on both assets. On deployment, GitHub’s built-in 15-min cron proved unreliable (measured gaps of 76-204 minutes overnight), so I built an external metronome via cron-job.org + repository_dispatch — then debugged a misleading 404 that turned out to be GitHub’s response when a fine-grained PAT can’t see a repo (fixed with least-privilege token scoping). I also had to guarantee the local and cloud bots could never run simultaneously — shared git state means double-trade risk. What I’m proud of The discipline. Every number in my README carries its caveats: out-of-sample trade counts are below statistical significance and I say so; buy-and-hold actually beat the strategy on raw return in the bull window, and I publish that too — the real edge is drawdown survival (-11% vs -52% for holding). The bot runs itself for days with zero intervention, every decision logged to a public JSONL audit trail from cron ping to trade decision. The LLM is caged — used only where it’s defensible (a second opinion on risk) and locked out of creating trades. And the parity check: live bot logic vs backtest engine, 0 mismatches — the bot IS what was tested. How to test it out No UI — it’s headless — but everything is verifiable: Watch it live: the repo’s Actions tab shows a full trading cycle every 15 min (market data -> signals -> decision). Read its mind: apex_decisions.jsonl logs every decision it has ever made with reasoning; apex_state.json is its current portfolio. Reproduce my backtest: clone the repo, pip install -r requirements.txt, python backtest_apex.py — public Coinbase data, zero secrets needed; you should get the same numbers as the README table. Run it yourself: python apex_trader.py defaults to paper mode with zero secrets — it evaluates live market data and tells you what it WOULD do. It can’t place a real order unless you deliberately set LIVE_TRADING=true and add exchange credentials.", "repo": "https://github.com/alexgamingmax11-code/apex-trader", "demo": "https://github.com/alexgamingmax11-code/apex-trader/actions"}]...
|
[{"post_id": 41296, "ts": "202 [{"post_id": 41296, "ts": "2026-08-05T13:04:21Z", "hours": 0.3139, "text": "My very own trading automation project!"}]...
|
Title: AI APEX Trader by @alex4o | Stardance
Devl Title: AI APEX Trader by @alex4o | Stardance
Devlogs:
My very own trading automation project!
Ships:
What I made apex-trader — a fully autonomous crypto trend-following bot trading BTC-EUR and ETH-EUR on Revolut X. It enters only when three conditions align on daily candles: price breaks above a 30-day Donchian channel, Supertrend(10,3) points up, and price sits above the 200-day SMA. It exits when Supertrend flips, protected by a Chandelier hard stop (6xATR). Risk is rules-based: max 25% of equity per position, max 2 positions, 50% exposure cap, -5% daily circuit breaker. An LLM (4-model fallback chain: Groq -> OpenRouter) reviews each entry as a risk-off veto — it can block trades but never create them, and fails open if all models are down. It runs unattended in the cloud: a cron-job.org pinger triggers a GitHub Actions cycle every 15 minutes, the bot commits its own state and decision log back to the repo, and ntfy.sh pushes entry/exit alerts to my phone. Currently paper trading EUR 500. What was challenging The hardest part wasn’t the strategy — it was trusting it, then deploying it. My first backtests looked amazing until I learned to distrust them: I built proper out-of-sample validation (frozen parameters, last 30% of history, real fees + slippage) plus a robustness check across all 7 neighboring parameter combos. That process killed one exit rule — the Donchian lower band was silently cutting winners on ~100% of bars; removing it improved OOS Sharpe on both assets. On deployment, GitHub’s built-in 15-min cron proved unreliable (measured gaps of 76-204 minutes overnight), so I built an external metronome via cron-job.org + repository_dispatch — then debugged a misleading 404 that turned out to be GitHub’s response when a fine-grained PAT can’t see a repo (fixed with least-privilege token scoping). I also had to guarantee the local and cloud bots could never run simultaneously — shared git state means double-trade risk. What I’m proud of The discipline. Every number in my README carries its caveats: out-of-sample trade counts are below statistical significance and I say so; buy-and-hold actually beat the strategy on raw return in the bull window, and I publish that too — the real edge is drawdown survival (-11% vs -52% for holding). The bot runs itself for days with zero intervention, every decision logged to a public JSONL audit trail from cron ping to trade decision. The LLM is caged — used only where it’s defensible (a second opinion on risk) and locked out of creating trades. And the parity check: live bot logic vs backtest engine, 0 mismatches — the bot IS what was tested. How to test it out No UI — it’s headless — but everything is verifiable: Watch it live: the repo’s Actions tab shows a full trading cycle every 15 min (market data -> signals -> decision). Read its mind: apex_decisions.jsonl logs every decision it has ever made with reasoning; apex_state.json is its current portfolio. Reproduce my backtest: clone the repo, pip install -r requirements.txt, python backtest_apex.py — public Coinbase data, zero secrets needed; you should get the same numbers as the README table. Run it yourself: python apex_trader.py defaults to paper mode with zero secrets — it evaluates live market data and tells you what it WOULD do. It can’t place a real order unless you deliberately set LIVE_TRADING=true and add exchange credentials....
|
1792849930.8135438
|
1792936330.8135438
|
|
53150
|
Yashiro's JSON by @pksmkwe26 | Stardance
|
pksmkwe26
|
1
|
14.0
|
48
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-08T16:31:26Z", "hours": 14.0, "multiplier": 3.54, "payout": 48, "blessing": "neutral", "text": "I made an Programming Language that uses JSON (You heard it right, JSON!!!) I initially showed the idea to my friend and he was traumatized as hell, So i decided to go with it. And i decided to write the interpreter with Dart to add more spice to the wound. It is a real sucess!! tho i faced many issues with variable declaration and parser, it was solved thankfully. It has two types of variable assigning let and lete, Lete being the executed variable. Loop and Networking were the hardest to do, It also has a tests section to see if something breaks something or not. It has custom function definations too and Math’s Bitwise Operators and stdin support as well. It also has an exception view to see the code crash and i plan to expand this project more. I hope you all like this project as much as my other ones.", "repo": "https://github.com/kwe26/yajson", "demo": "https://github.com/kwe26/yajson/releases/tag/1.0.0"}]...
|
[{"post_id": 64307, "ts": "202 [{"post_id": 64307, "ts": "2026-09-08T16:25:50Z", "hours": 2.0317, "text": "Devlog - 5 (Finale Before Shipping) An Programming Language where Code is in JSON, YEAH LITERALLY JSON as a Programming Language Networking Added net.server net.server As it suggests it can now open full HTTP Server at designated ports now! You can check out the example in server.yaj in root of the repository. The First Beta and Ship is now READY!!! https://github.com/kwe26/yajson/releases/tag/1.0.0 Test and tinker around with it, Let’s goo!! THANKS, I LOVE YOU ALL >3.!!!"}, {"post_id": 61675, "ts": "2026-09-04T18:22:33Z", "hours": 1.0083, "text": "Devlog - 4 An Programming Language where Code is in JSON, YEAH LITERALLY JSON as a Programming Language Features added - Networking There are now Networking Modules too Networking Allows the User to do Networking tasks with --allow-network-access net.get net.post net.delete net.patch net.put It currently allows passing url, headers and body. Anyways, Thanks for reading Love you all 😘😘"}, {"post_id": 61002, "ts": "2026-09-03T18:17:09Z", "hours": 1.5583, "text": "Devlog - 3 An Programming Language where Code is in JSON, YEAH LITERALLY JSON as a Programming Language New Features Loops Include Multiple .yaj files in one. io.rename <-> io.move More Tests added in tests/ Tests There are now more tests included such as Lists (add,remove,indexOf,getAt,removeAt,set, etc.) I/O Tests Include yaj files Switch Tests VarInVar Tests YaJSON [ { \"func\" : \"print\" , \"$1\" : \"Hello World, love you all!\" } ] Info YaJSON’s interpreter is written in dart, weird isn’t it? Future Goal Networking Shell Access GUI Visualizer . Cya, everyone Love you all ❤️ , Have a nice day/night ahead depending on your timezone and when you are reading right now.!!!"}, {"post_id": 60800, "ts": "2026-09-03T12:15:14Z", "hours": 6.6206, "text": "Devlog - 2 An Programming Language where Code is in JSON, YEAH LITERALLY JSON as a Programming Language New Features Function Define and Calling Them Lists Manipulation File I/O Take Input from User Extended Permissions POE DUMP (Point of Execution my own term) Added Tests Changes lete can now execute and assign to variable and permissions of --allow-rw-access is required for File I/O Operations. The Variables can now be assigned like {hello: {b: 1}} and be accessed like ${hello.b} like this too. It’s too good looking now. - Variable Parser is now universal too. Tests It can conduct tests within the runtime and check for expected output. It also reports the pass percentage too. POE It’s an Counter of Total Executions Being made. It outputs the original parse value of the JSON so it could better used for predicting errors Thanks, Love you all"}, {"post_id": 54675, "ts": "2026-08-25T18:33:12Z", "hours": 2.4442, "text": "Devlog - 1 An Programming Language where Code is in JSON, YEAH LITERALLY JSON as a Programming Language What is Currently Has? Print/Console Clear Basic Arithmatic Operations Declaring Variable and Constants Future Plans Make it to have Tests Making the Interpreter More Stable. Also, i think i can also make an Drag-an-drop Programming Interface. yeah, i created this to traumatize the Internet. And obv, The Interpreter is Writtern in Dart!!"}]...
|
Title: Yashiro's JSON by @pksmkwe26 | Stardanc Title: Yashiro's JSON by @pksmkwe26 | Stardance
Devlogs:
Devlog - 1 An Programming Language where Code is in JSON, YEAH LITERALLY JSON as a Programming Language What is Currently Has? Print/Console Clear Basic Arithmatic Operations Declaring Variable and Constants Future Plans Make it to have Tests Making the Interpreter More Stable. Also, i think i can also make an Drag-an-drop Programming Interface. yeah, i created this to traumatize the Internet. And obv, The Interpreter is Writtern in Dart!!
Devlog - 2 An Programming Language where Code is in JSON, YEAH LITERALLY JSON as a Programming Language New Features Function Define and Calling Them Lists Manipulation File I/O Take Input from User Extended Permissions POE DUMP (Point of Execution my own term) Added Tests Changes lete can now execute and assign to variable and permissions of --allow-rw-access is required for File I/O Operations. The Variables can now be assigned like {hello: {b: 1}} and be accessed like ${hello.b} like this too. It’s too good looking now. - Variable Parser is now universal too. Tests It can conduct tests within the runtime and check for expected output. It also reports the pass percentage too. POE It’s an Counter of Total Executions Being made. It outputs the original parse value of the JSON so it could better used for predicting errors Thanks, Love you all
Devlog - 3 An Programming Language where Code is in JSON, YEAH LITERALLY JSON as a Programming Language New Features Loops Include Multiple .yaj files in one. io.rename <-> io.move More Tests added in tests/ Tests There are now more tests included such as Lists (add,remove,indexOf,getAt,removeAt,set, etc.) I/O Tests Include yaj files Switch Tests VarInVar Tests YaJSON [ { "func" : "print" , "$1" : "Hello World, love you all!" } ] Info YaJSON’s interpreter is written in dart, weird isn’t it? Future Goal Networking Shell Access GUI Visualizer . Cya, everyone Love you all ❤️ , Have a nice day/night ahead depending on your timezone and when you are reading right now.!!!
Devlog - 4 An Programming Language where Code is in JSON, YEAH LITERALLY JSON as a Programming Language Features added - Networking There are now Networking Modules too Networking Allows the User to do Networking tasks with --allow-network-access net.get net.post net.delete net.patch net.put It currently allows passing url, headers and body. Anyways, Thanks for reading Love you all 😘😘
Devlog - 5 (Finale Before Shipping) An Programming Language where Code is in JSON, YEAH LITERALLY JSON as a Programming Language Networking Added net.server net.server As it suggests it can now open full HTTP Server at designated ports now! You can check out the example in server.yaj in root of the repository. The First Beta and Ship is now READY!!! https://github.com/kwe26/yajson/releases/tag/1.0.0 Test and tinker around with it, Let’s goo!! THANKS, I LOVE YOU ALL >3.!!!
Ships:
I made an Programming Language that uses JSON (You heard it right, JSON!!!) I initially showed the idea to my friend and he was traumatized as hell, So i decided to go with it. And i decided to write the interpreter with Dart to add more spice to the wound. It is a real sucess!! tho i faced many issues with variable declaration and parser, it was solved thankfully. It has two types of variable assigning let and lete, Lete being the executed variable. Loop and Networking were the hardest to do, It also has a tests section to see if something breaks something or not. It has custom function definations too and Math’s Bitwise Operators and stdin support as well. It also has an exception view to see the code crash and i plan to expand this project more. I hope you all like this project as much as my other ones....
|
1792849929.6994693
|
1792936329.6994693
|
|
7145
|
Personal Portfolio Site by @smjp | Stardance
|
smjp
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-11T07:19:30Z", "hours": 6.0, "multiplier": 3.85, "payout": 0, "blessing": "neutral", "text": "I built a personal portfolio website from scratch to display my academic profile, community service, extra-curricular achievements, and my overall personality. It is a lightweight, static site built entirely with semantic HTML5, custom CSS3 layouts, and core JavaScript. The single biggest obstacle was working with responsive design and media queries. Getting the layouts—especially text blocks and complex section wraps—to look natural and scale down elegantly on mobile devices required a significant amount of layout debugging and trial and error. I’m really proud of grasping cleaner design principles and stylesheet architecture. Figuring out how to use the CSS :root class to store a global color palette and building a unified common CSS layout that cleanly links across separate pages felt like a huge leap forward in making my code maintainable. The site is entirely static, responsive, and ready to view. To test it: Open the project directly via its deployed link. Toggle your browser’s Developer Tools (F12) to responsive/mobile view to see how the media query breakpoints fluidly restructure the navigation menu, sections, and flex elements for smaller screens!", "repo": "https://github.com/Spirit62/Portfolio", "demo": "https://spirit62.github.io/Portfolio/"}]...
|
[{"post_id": 6702, "ts": "2026 [{"post_id": 6702, "ts": "2026-06-11T07:15:13Z", "hours": 0.5847, "text": "Devlog 4- Finished the designs for every single page, made research connect to my research paper and added cool visual effects in my social media page Also, media queries took me a lot of time which makes it look extremely clean on smaller devices"}, {"post_id": 4913, "ts": "2026-06-08T14:35:11Z", "hours": 3.4422, "text": "Devlog3- I added a navigation bar for all pages which looks really neat and it took me a lot of time to add media queries to make the website have a good UI in mobile phones or tablets. This taught me a lot and I’m starting to realize AI cannot replace humans after all. I feel its the same as mathematics, we have AI to do the math for us but we dont rely on it blindly. Moreover, I made individual pages for the websites with the same template idea and I also finished up on the experience page. This is my first project and I am so excited to share the end result which I will post in Devlog4."}, {"post_id": 2656, "ts": "2026-06-05T10:11:05Z", "hours": 1.56, "text": "Devlog -2 Hi again, Here is the second page of my portfolio site it took me a long time to get a clean site lmk if you have any feedbacks or suggestions!!"}, {"post_id": 2540, "ts": "2026-06-05T02:32:31Z", "hours": 0.8078, "text": "Devlog1- Hi! I’m Sam for short; I really fell in love with web designing a month ago and after learning HTML and CSS, I am currently learning JavaScript, yet I fear that I will lose my designing abilities hence, I am working on this personal portfolio site where I finished this main page in about 15 minutes, I find the design clean but if you have any feedbacks lmk! :>"}]...
|
Title: Personal Portfolio Site by @smjp | Stardanc Title: Personal Portfolio Site by @smjp | Stardance
Devlogs:
Devlog1- Hi! I’m Sam for short; I really fell in love with web designing a month ago and after learning HTML and CSS, I am currently learning JavaScript, yet I fear that I will lose my designing abilities hence, I am working on this personal portfolio site where I finished this main page in about 15 minutes, I find the design clean but if you have any feedbacks lmk! :>
Devlog -2 Hi again, Here is the second page of my portfolio site it took me a long time to get a clean site lmk if you have any feedbacks or suggestions!!
Devlog3- I added a navigation bar for all pages which looks really neat and it took me a lot of time to add media queries to make the website have a good UI in mobile phones or tablets. This taught me a lot and I’m starting to realize AI cannot replace humans after all. I feel its the same as mathematics, we have AI to do the math for us but we dont rely on it blindly. Moreover, I made individual pages for the websites with the same template idea and I also finished up on the experience page. This is my first project and I am so excited to share the end result which I will post in Devlog4.
Devlog 4- Finished the designs for every single page, made research connect to my research paper and added cool visual effects in my social media page Also, media queries took me a lot of time which makes it look extremely clean on smaller devices
Ships:
I built a personal portfolio website from scratch to display my academic profile, community service, extra-curricular achievements, and my overall personality. It is a lightweight, static site built entirely with semantic HTML5, custom CSS3 layouts, and core JavaScript. The single biggest obstacle was working with responsive design and media queries. Getting the layouts—especially text blocks and complex section wraps—to look natural and scale down elegantly on mobile devices required a significant amount of layout debugging and trial and error. I’m really proud of grasping cleaner design principles and stylesheet architecture. Figuring out how to use the CSS :root class to store a global color palette and building a unified common CSS layout that cleanly links across separate pages felt like a huge leap forward in making my code maintainable. The site is entirely static, responsive, and ready to view. To test it: Open the project directly via its deployed link. Toggle your browser’s Developer Tools (F12) to responsive/mobile view to see how the media query breakpoints fluidly restructure the navigation menu, sections, and flex elements for smaller screens!...
|
1792849928.531689
|
1792936328.531689
|
|
42785
|
Completing My Coursera Course by @abhi_lenkala | S Completing My Coursera Course by @abhi_lenkala | Stardance...
|
abhi_lenkala
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-02T18:21:33Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "there is a lot left im just trying to do this before i forget", "repo": "https://github.com/26lenkalaa/AI-ML-Models-and-Practice-", "demo": "https://github.com/26lenkalaa/AI-ML-Models-and-Practice-/issues"}]...
|
[{"post_id": 39607, "ts": "202 [{"post_id": 39607, "ts": "2026-08-02T18:17:00Z", "hours": 0.8339, "text": "I worked on completing my Coursera Microsoft AI/ML engineering course, learning how to build a convolutional neural network and a webscraper."}]...
|
Title: Completing My Coursera Course by @abhi_lenk Title: Completing My Coursera Course by @abhi_lenkala | Stardance
Devlogs:
I worked on completing my Coursera Microsoft AI/ML engineering course, learning how to build a convolutional neural network and a webscraper.
Ships:
there is a lot left im just trying to do this before i forget...
|
1792849925.5101674
|
1792936325.5101674
|
|
41496
|
My own site! by @akshara | Stardance
|
akshara
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-06T09:05:59Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Built a personal portfolio website to share a little about myself, showcase some of my projects, and include a small photo dump of my favorite cloud pictures. The most challenging part was designing the layout, especially positioning the cat GIFs without making the page feel messy. My favorite parts are the homepage and the side navigation—they turned out just the way I wanted. It’s live at https://akshara200829-lgtm.github.io/Personal-website/ . Just open the link—no setup required.", "repo": "https://github.com/akshara200829-lgtm/Personal-website", "demo": "https://akshara200829-lgtm.github.io/Personal-website/"}]...
|
[{"post_id": 41828, "ts": "202 [{"post_id": 41828, "ts": "2026-08-06T08:57:58Z", "hours": 4.55, "text": "Finally completed my personal website!! Added a little photo dump corner just to flex my cloud finds ;)"}, {"post_id": 41187, "ts": "2026-08-05T07:33:12Z", "hours": 1.8017, "text": "Working on index.html Saved some cute random cat gifs to add to make it a fun :)"}]...
|
Title: My own site! by @akshara | Stardance
Devlo Title: My own site! by @akshara | Stardance
Devlogs:
Working on index.html Saved some cute random cat gifs to add to make it a fun :)
Finally completed my personal website!! Added a little photo dump corner just to flex my cloud finds ;)
Ships:
Built a personal portfolio website to share a little about myself, showcase some of my projects, and include a small photo dump of my favorite cloud pictures. The most challenging part was designing the layout, especially positioning the cat GIFs without making the page feel messy. My favorite parts are the homepage and the side navigation—they turned out just the way I wanted. It’s live at https://akshara200829-lgtm.github.io/Personal-website/ . Just open the link—no setup required....
|
1792849924.6249838
|
1792936324.6249838
|
|
34096
|
Flappy Bird Game by @OggyW0ppy | Stardance
|
OggyW0ppy
|
1
|
7.0
|
11
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-03T04:01:26Z", "hours": 7.0, "multiplier": 1.72, "payout": 11, "blessing": "neutral", "text": "Flappy Bird Neuroevolution Flappy Bird clone where 100 birds controlled by a neural network learn to play the game over many generations of training. Each bird has 4 inputs leading to a hidden layer with 6 nodes and ending with a one node jump/wait output all starting with random weights. The more “fit” a bird is based on several factors, the more likely they will produce offspring with similar weights. Used Python + pygame-ce (no ML library) for the game Used pygbag to compile to WebAssembly to get it working live in the browser Play here Source Code", "repo": "https://github.com/OggyWoppy36/FlappyBirdAI", "demo": "https://oggywoppy36.github.io/FlappyBirdAI/"}]...
|
[{"post_id": 39855, "ts": "202 [{"post_id": 39855, "ts": "2026-08-03T03:42:30Z", "hours": 6.6317, "text": "Flappy Bird AI I started by creating a playable game with human input to play flappy bird. After that basic testing, I planned on training a population of computer-controlled birds too learn to play using evolution. I did this without using ML libraries because I felt like it :P (and I’ve never used python ML libs before). To start, I created a simple neural network for each birds “brain”, each with 4 input nodes (y position, y position offset from next pipe, y velocity, and distance to next pipe), 6 hidden nodes, and one output node that determines whether the bird should jump that frame (>0.5 jump, <=0.5 do nothing). They each have their own weights that determine A bird has a fitness score that is affected by time survived, distance from center of next pipe gap, and a bonus for passing through a pipe (this score is how birds are sorted for parent selection). I used a population of 100 birds and a simple genetic algorithm for each generation where the top few birds create offspring based on their brain’s weights, plus a little mutation for randomness & minor improvement. This allows for future generations’ weights to improve over time. One of the hardest parts to figure out was the fitness calculation. Initially, the birds had a relatively small reward for passing a pipe, so compared to the amount they got for just surviving, they didn’t actually learn to pass through the pipes and would instead just hover around the gap height without learning to thread the gap. I then made the bonus much larger which actually helped train better birds. Finally, when I was trying to get this working in the browser using pygbag to compile it to WebAssembly, I got a blank gray screen with NO errors O_O. I spent over an hour trying any fix I could find, and finally came to the conclusion that numpy was crashing the web assembly, and so I had to rewrite the neural network into base python. ToT Anyways, the results are pretty great! While I was training it once, I got a top score of ~9400 after 700 generations, but I forgot to screenshot it :(. Try the project here (no download necessary!) Press left/right to speed up/slow down Github Repo"}]...
|
Title: Flappy Bird Game by @OggyW0ppy | Stardance
Title: Flappy Bird Game by @OggyW0ppy | Stardance
Devlogs:
Flappy Bird AI I started by creating a playable game with human input to play flappy bird. After that basic testing, I planned on training a population of computer-controlled birds too learn to play using evolution. I did this without using ML libraries because I felt like it :P (and I’ve never used python ML libs before). To start, I created a simple neural network for each birds “brain”, each with 4 input nodes (y position, y position offset from next pipe, y velocity, and distance to next pipe), 6 hidden nodes, and one output node that determines whether the bird should jump that frame (>0.5 jump, <=0.5 do nothing). They each have their own weights that determine A bird has a fitness score that is affected by time survived, distance from center of next pipe gap, and a bonus for passing through a pipe (this score is how birds are sorted for parent selection). I used a population of 100 birds and a simple genetic algorithm for each generation where the top few birds create offspring based on their brain’s weights, plus a little mutation for randomness & minor improvement. This allows for future generations’ weights to improve over time. One of the hardest parts to figure out was the fitness calculation. Initially, the birds had a relatively small reward for passing a pipe, so compared to the amount they got for just surviving, they didn’t actually learn to pass through the pipes and would instead just hover around the gap height without learning to thread the gap. I then made the bonus much larger which actually helped train better birds. Finally, when I was trying to get this working in the browser using pygbag to compile it to WebAssembly, I got a blank gray screen with NO errors O_O. I spent over an hour trying any fix I could find, and finally came to the conclusion that numpy was crashing the web assembly, and so I had to rewrite the neural network into base python. ToT Anyways, the results are pretty great! While I was training it once, I got a top score of ~9400 after 700 generations, but I forgot to screenshot it :(. Try the project here (no download necessary!) Press left/right to speed up/slow down Github Repo
Ships:
Flappy Bird Neuroevolution Flappy Bird clone where 100 birds controlled by a neural network learn to play the game over many generations of training. Each bird has 4 inputs leading to a hidden layer with 6 nodes and ending with a one node jump/wait output all starting with random weights. The more “fit” a bird is based on several factors, the more likely they will produce offspring with similar weights. Used Python + pygame-ce (no ML library) for the game Used pygbag to compile to WebAssembly to get it working live in the browser Play here Source Code...
|
1792849923.5422409
|
1792936323.5422409
|
|
16683
|
Blur Stuff by @AbdurRehman | Stardance
|
AbdurRehman
|
1
|
126.53
|
826
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-15T15:46:55Z", "hours": 118.0, "multiplier": 14.02, "payout": 826, "blessing": "neutral", "text": "I made Blur Stuff, a privacy focused tool for safely sharing images, videos, GIFs, and documents. It automatically detects sensitive information such as faces, license plates, text, and PII, then lets you anonymize the detected areas with different anonymization effects. It also removes EXIF metadata so other sensitive information isn’t left hidden inside the file. The goal of this project is to make sharing media safely as easy as uploading it. Instead of manually searching through a file like a document or photo and manually covering stuff you don’t want others to see, Blur Stuff does this work for you. The hardest part of making this project was making anonymization work reliably across different types of media. Images were relatively simple, but videos and GIFs require frame by frame processing while keeping detections consistent over time. And to make things efficient and fast I also had to deal with things like tracking which were really tricky. Connecting the frontend and backend was also another challenge and then hosting everything also brought it’s problems with dependency conflicts which took quite a while to solve. The thing I am most proud of is that this became a real working and professional looking application rather than just a prototype type thing. It supports most of the commonly used media formats, has multiple customization options among other neat functionalities. Also I like how this project is privacy focused. Like it doesn’t store the user’s files ever. It just processes them, removing EXIF, and gives the result. Blur Stuff can be tested by uploading an image containing faces, text, or a license plate and let it detect the sensitive regions and then select what you want anonymized, and run the anonymization. The current deployment has limited memory and resources since I’m on a free plan, so larger videos and documents can take a while to process, and very large files may run into resource limitations. The app is also deployed using Railway’s serverless option, so the server may need a few seconds to start up if it hasn’t received a request recently. Also the selected region anonymization for videos is still a bit buggy but mostly it works. These are areas I will improve in the future.", "repo": "https://github.com/RealAbdurRehman/blur-stuff", "demo": "https://blurstuff.up.railway.app"}]...
|
[{"post_id": 50269, "ts": "202 [{"post_id": 50269, "ts": "2026-08-19T13:00:35Z", "hours": 8.5269, "text": "Since shipping Blur Stuff, I got feedback that the frontend felt too generic so I completely revamped the UI to give it a more intentional and fun style. I redesigned everything from colors to typography and everything else. Now the app has a more personal feel. I also cleaned up some small things here and there."}, {"post_id": 47548, "ts": "2026-08-15T14:59:59Z", "hours": 6.7497, "text": "Since the previous dev log, I have been focused on getting Blur Stuff ready for deployment. This ended up being much more painful than I expected. The biggest part was dealing with dependency issues. The project worked locally, but moving everything to a production environment exposed a bunch of problems with Python versions, PaddlePaddle, PaddleOCR, PaddleX, PyYAML, spaCy, OpenCV and other dependencies. I spent a lot of time testing different configurations, fixing dependency conflicts, debugging the production container, and figuring out why things that seemed to work okay locally were breaking during deployment. The biggest headache was PaddleOCR. I had to deal with missing system libraries, model downloading, Paddle initialization issues and eventually a oneDNN runtime error that was causing OCR requests to return 503s. After a lot of debugging and testing different configurations, I eventually got the OCR pipeline working properly in production. That was probably the one of the most frustrating parts of the entire project, but it is finally done. I also switched the spaCy model from en_core_web_lg to en_core_web_sm. The larger model was unnecessarily heavy for what Blur Stuff needs and was making deployments take way longer. Switching to the smaller model made deployment faster and also improved performance without having a noticeable impact on the PII detection quality. After successful deployment I finished the README and added the final assets, screenshots, logo and documentation. I added the MIT license, favicon, deployment related changes and generally cleaned up the entire repository. At this point, I think Blur Stuff is ready to ship. There are definitely still improvements I could make, especially improving performance, making video anonymization more reliable and efficient, and polishing various parts of the application but I don’t want to spend more time trying to make everything perfect. The current deployment is also running on Railway’s free plan, so there are some resource and memory limitations since Blur Stuff runs several machine learning models in the same process. For now, I’m okay with that rather than spending more time optimizing around the limitations of a free deployment. For now, I’m calling it finished and shipping it since the core functionality is working and the project is deployed. I’ll definitely come back to Blur Stuff later to improve it, but I think it’s time to move on to something new."}, {"post_id": 46326, "ts": "2026-08-13T13:59:24Z", "hours": 10.0189, "text": "Since the previous dev log, I worked on fixing the remaining issues in the anonymization workflow and finishing the frontend around the application. The biggest thing I worked on was selected video anonymization. There were still some problems where selected areas could stop being anonymized correctly or the anonymization could move away from the actual object as it moved through the video or retracking when something like a face was lost. I spent quite a lot of time testing different things, tracking down where the problems were coming from, and making the selected anonymization much more reliable across video frames. This ended up taking a lot more work than I initially expected, but the selected video workflow is now working much better. It still isn’t perfect and there are still some bugs and I think I probably need a lot more time to find and fix them but right now it is in a decent working state so I don’t plan to spend more time on achieving perfection because debugging and stuff is boring as hell. I also made some improvements to the overall frontend and added the remaining main pages. I added the about, arivacy, documentation pages and also did some other improvents around the frontend. The documentation now explains the available endpoints, detection targets, anonymization modes and other features. At this point, I feel like the main application is in a really good place. The core functionality is implemented, the main frontend workflow is complete, and the remaining work is mostly getting this thing hosted and stuff. Next, I plan to write the README file, host the application, and do a final round of testing and cleanup. After that, I think I’ll consider this project finished for a while (I will work on improving it further later) and move on to building something new."}, {"post_id": 45041, "ts": "2026-08-11T08:51:50Z", "hours": 10.0544, "text": "Since the previous dev log, I continued building the application workflow and have almost completed the anonymization process. I first worked on the anonymization routes and updated the backend so that the frontend can send detected regions back to the API and have them anonymized. This allows the user to choose which detections they want to anonymize instead of always having to process everything. I also added support for passing dynamic padding (and also made it so that other dynamic stuff is easy to add later) through the request so that the effects can be customized based on what the user wants. I also added client side file handling required for the results page. The original and processed files are kept available in the browser so they can be previewed and downloaded without needing to be stored on the server. Everything also handles missing files and stuff without breaking and I also added error handling with notifications which are displayed to the user. I also made a bunch of smaller UI improvements while connecting everything together. At this point, the main frontend workflow is coming together. Next I will fix small remaining issues and improve reliability rather than adding any major change. The next things I plan to work on are to mainly fix bugs in the code. Like GIFs still need some additional handling to make sure detections are applied across the animation rather than being treated like a normal image and the existing video tracking system is able to follow detections across frames, but during testing I noticed that the anonymization can drift away from the actual detected regions in videos. This is the major thing I need to fix. And I also plan to do some small changes to the UI and stuff and fix some bugs there before adding the remaining pages like the API and documentation pages."}, {"post_id": 44018, "ts": "2026-08-09T14:49:05Z", "hours": 8.77, "text": "Since the previous dev log, I continued building the application workflow and moved beyond the initial upload interface into review/customization functionality. I first worked on the file preview system so that uploaded files can be displayed correctly even when the browser cannot natively display them. Now a preview is generated for unsupported images and documents while keeping browser previews for files that are already supported. After that, I built the results page, which is where the user can review the detections found in their uploaded file and also customise stuff for anonymisation. The biggest addition was the detection review panel. Instead of simply processing everything automatically, the interface now shows the detected content which will allow users to review individual detections and choose which ones they want to work with. A lot of the work also went into the smaller UI/UX improvements. I also fixed a ton of issues that came up while connecting the different pieces together and handling the detection data and working with different file formats. At this point, the frontend is starting to really come together and look like a real app. The next step is to connect stuff to my anonymization API. The user will be able to to select specific detections, choose how they want them anonymized, and add other customizations."}, {"post_id": 43070, "ts": "2026-08-08T04:16:11Z", "hours": 7.8842, "text": "Since the previous dev log, I continued working on the frontend and have now finished the main landing page as well as the initial anonymize/file upload page. I first started by completing the remaining parts of the landing page by adding the footer, API description section, and some final component layout and CSS improvements. After that, I started building the anonymize page, which is where the actual application workflow begins. I implemented the complete upload interface with both file selection and drag and drop feature. I also added client side file handling so uploaded files can be passed from the landing page to the anonymize page without having to upload them to the server first. To do this, I implemented a small IndexedDB based file storage system in the browser. Uploaded files are temporarily stored locally with a timestamp allowing the anonymize page to retrieve the file when the user arrives there. The stored file automatically expires after a short period and is also removed once it has been retrieved. This keeps the upload flow client side and also avoids putting the file data into the URL or sending it to the backend before processing when not needed. The anonymize page now also handles different file types correctly and displays a preview based on their type. I also added different anonymization options making it straightforward to pass the processing preferences to the backend. I too spent time fixing bugs and adding small UX improvements across the new frontend functionality. Next I am going to connect the interface to the backend API and build the actual processing experience. Rather than anonymizing everything automatically, I will create a processing page where the user will be able to decide what to anonymize and I will probably add more customization."}, {"post_id": 41878, "ts": "2026-08-06T11:22:26Z", "hours": 9.1442, "text": "Since the previous dev log I’ve been completely focused on the frontend. I first set up the frontend stack by integrating Tailwind CSS for styles and Alpine.js for lightweight interactivity. I also created a reusable layout with shared components such as the header that future pages can be built consistently and easily. With that foundation in place, I began implementing the landing page. I designed and built the hero section, which consists of a cool drag and drop upload area, and an interactive before/after comparison slider that allows users to visually compare original and anonymized images, which makes the landing page looks awesome. Besides frontend work, I made a few backend improvements as well, including cleaning up temporary video files after processing to avoid leaving unnecessary files behind as originally they weren’t properly disposed of. Next I plan to continue working on the landing page for a bit by adding a footer and maybe some other useful section before connecting everything to the existing API and implementing the upload and processing workflow and building the remaining pages needed."}, {"post_id": 40707, "ts": "2026-08-04T12:12:59Z", "hours": 5.1222, "text": "I focused on preparing everything for the frontend rather than adding new features. I reorganized the API by moving all routes into a dedicated package and grouping every endpoint under /api/v1. This gives everything a much cleaner structure and makes everything look professional. I also added detection endpoints for all supported files. Before the project was primarily focused on anonymization, and even though I had a detection endpoint, it only supported images and was buggy. These new endpoints allows receiving detection results directly without applying any effects and serve as a foundation for selective anonymization that I will implement later. While implementing these endpoints, I refactored how detection IDs are handled across the application. Before they too were buggy but I got them to work. I not only worked on the backend but also worked on the frontend by laying out it’s initial structure that I will build upon. I also spent some time cleaning up the codebase by removing unused imports and simplifying parts of the project. Now I plan to really start working on building the frontend. Now that the API structure is in place, I want to focus on creating a professional looking interface that allows users to interact with all of the functionality that has been implemented so far plus more."}, {"post_id": 40104, "ts": "2026-08-03T14:28:55Z", "hours": 7.8764, "text": "I expanded the range of file types that the application supports. Image support now includes TIFF/TIF, HEIC/HEIF, and GIF files. HEIC/HEIF images are automatically converted to PNG after processing since they are not widely supported for encoding. I also added support for documents which include PDF, DOCX, PPTX, and XLSX files. Rather than building separate anonymization logic for every Office file format, they are first converted to PDF and then are annonymized the same way as PDFs which keeps the implementation much simpler. While working on adding support for these files, I noticed that I had a bunch of duplicated code. So I spent some time refactoring stuff and removing duplicated stuff. I also found that GIF processing was slow so I worked on making it faster by treating it the same as a video and using trackers on it rather than running detection on every frame. I also made few smaller improvements, including adjusting the confidence thresholds for some of the detectors since I was noticing a bunch of false positives and fixing several bugs that came along the way. The next thing I plan to work on are cleaning up the code by finding and removing unused stuff, and then building the frontend for the application."}, {"post_id": 39358, "ts": "2026-08-02T09:02:20Z", "hours": 4.3503, "text": "I focused on improving the performance and maintainability of the anonymization system rather than adding new features. The biggest change was a refactor of the video anonymization system. Instead of repeatedly creating new anonymization masks for every frame, the tracker now caches and reuses them wherever possible. This reduces unnecessary work during video processing and also makes it easier in the future to add further performance improvements. I also improved the applications behavior by preventing both full text anonymization and PII anonymization to be selected at the same time since these targets overlap and would produce redundant processing. I also cleaned up several parts of the codebase by removing unused code and making the everything a bit easier to maintain. I also spent a lot of time experimenting with more aggressive optimization techniques but after testing, I decided to postpone those changes because they added complexity without providing the improvement I was looking for (and they were kind of buggy and it would take a lot more time to fix them). Instead, I decided to focus on optimizations that are simpler. Right now I don’t plan to work on improving the performance (even though there probably are tons of improvements to be made) because that stuff is boring and difficult as hell. Instead I’m going to add support for more file types like PDF."}, {"post_id": 38921, "ts": "2026-08-01T14:49:34Z", "hours": 4.2206, "text": "I expanded the anonymization system by adding multiple anonymization modes instead of having only the pixelization effect. The application can now switch between anonymizing regions using blur, solid fill, noise, emoji overlay, and inpainting. The emoji overlay right now is pretty basic but I plan on improving it later. I also improved the quality of face anonymization by replacing rectangular masks with elliptical masks (for some of the effects), producing better looking results. I also refactored the anonymization pipeline to separate anonymization effects from overlay rendering making future additions even easier and also cleaned up and reorganized the existing image effect implementations to improve readability and consistency across the project. Next, I plan to improve the performance of the anonymization system by trying to reuse detection targets and effect masks wherever possible."}, {"post_id": 38713, "ts": "2026-08-01T08:01:59Z", "hours": 2.0572, "text": "I improved the overall quality and efficiency of the video anonymization system. I updated detection intervals to use the video’s frame rate instead of relying on a hard coded number of frames. This allows the system to adapt well to videos with different frame rates. I also evaluated several object tracking algorithms, including DaSiamRPN, to find a good one that balances accuracy and speed. After comparing the performance of a bunch of them, I switched to Nano Tracker which was faster than my original KCF and CSRT trackers while being more accurate. I made additional improvements to privacy by removing metadata from exported videos. I am now also applying EXIF orientation before processing ensuring that images taken from different devices are processed in their correct orientation. Next, I plan to introduce different anonymization modes like blur and solid black boxes."}, {"post_id": 38633, "ts": "2026-08-01T04:05:36Z", "hours": 6.9461, "text": "I focused on adding support for videos. I first implemented a basic video anonymization system so uploaded videos could be processed the same way as images. I also made sure that the audio for the video is preserved so that it carries over to the anonymized video being unchanged. After getting the basic system working, I improved how videos are processed by adding object tracking and scene change detection. Instead of running detections on every frame, the system can now follow previously detected objects across frames and automatically run detections again when needed (when a tracker is lost, or the scene changes drastically, or periodically after a set amount of frames). This provides a great performance boost while the result stays reliable. Next, I want to continue improving video processing by optimizing it further and making it more accurate."}, {"post_id": 37518, "ts": "2026-07-30T10:23:19Z", "hours": 3.8147, "text": "I focused on improving the entire OCR system, as the previous approach with EasyOCR was missing too much text and reducing the accuracy of the entire system. After spending quite a bit of time trying to improve it, I decided to replace it with PaddleOCR. Now more accurate text detections are being produced making the entire program more robust. After, I expanded the regex based detectors to also account for URLs in addition to emails, etc. I also improved the phone number detection logic to reduce false positives and improve overall accuracy. Then, I adjusted padding around blurred regions so that stuff is covered more consistently and without blurring unnecessary content. The last thing I did was optimizing PaddleOCR as it was much slower than EasyOCR. After a lot of tinkering I was able to significantly reduce its processing time. For some files it now performs at roughly the same speed as EasyOCR while being way more accurate. Next, I probably want to add support for more file types and ultimately videos. And later also support for multiple languages."}, {"post_id": 36966, "ts": "2026-07-29T12:14:19Z", "hours": 3.4994, "text": "I added a new way for the app to detect personal information by using named entity recognition. Previously, the app could only find structured information like emails and phone numbers, but it could not detect things like names. So I integrated Presidio to identify such information from the text extracted from images. These extractions are then combined with the existing PII detections done using regex for the structured stuff. This improves the accuracy of the entire system by combining multiple detection methods instead of relying on one single approach. Next, I will improve the detection process further as right now it isn’t too accurate, mostly because I think the OCR is missing some stuff from the text. So I might try replacing it or find some other way."}, {"post_id": 36365, "ts": "2026-07-28T13:10:24Z", "hours": 6.6581, "text": "I implemented PII detection, allowing the app to identify and blur sensitive information within the text extracted from images instead of blurring everything blindly. First I used regular expressions to detect structured data such as email addresses, phone numbers, etc. But OCR frequently omitted punctuation, causing many valid emails to be missed. To fix this, I redesigned the everything around an OCR token graph. Each token stores its bounding box, neighboring tokens, and line information, allowing the detections to be more accurate. I might switch to PaddleOCR again or someother ocr so that I get more accurate detections. I also spent time improving the overall design of the PII detection system. These changes make it easier to extend in the future while improving the accuracy of the detected regions that are blurred. Next, I will implement NER based detection to identify unstructured personal information such as names."}, {"post_id": 21527, "ts": "2026-07-03T15:19:19Z", "hours": 5.6331, "text": "I implemented OCR-based text detection, allowing the application to detect text within uploaded images. I initially used PaddleOCR, but found that it took over 30 seconds to process a single image. After spending a lot of time trying to optimize its performance, I decided to switch to EasyOCR, which reduced the processing time to around one second while maintaining the same detection quality. Switching the OCR engines was well worth it. I also tried to keep the OCR implementation consistent with the face and license plate detectors and also optimized them too. Next, I will implement detection of sensitive information within the extracted text using regular expressions and NER. This will allow the application to distinguish ordinary text from personal information such as names, emails, phone numbers, etc, and allow me to blur only the relevant regions (right now the the entirety of the detected text is blurred)."}, {"post_id": 20974, "ts": "2026-07-02T18:27:02Z", "hours": 3.4869, "text": "I expanded the application by adding support for license plate detection and blurring. The app can now detect both faces and license plates in an image and blur them. I also made the API more flexible by allowing users to choose what they want to anonymize. Instead of always processing everything, they can now select whether to detect faces, license plates, or both. This makes the application more efficient and easier to extend with new features in the future. I also improved the structure of the project so that adding new types of detections will require much less work. I also added unique ids to each detection, which will be useful for future features that let users blur individual detections. Next, I will implement detection of sensitive text within images. This will allow the app to identify information such as email addresses, phone numbers, and other personal details, then blur them."}, {"post_id": 20600, "ts": "2026-07-02T07:10:58Z", "hours": 1.7692, "text": "I focused on improving the backend rather than adding new features. I reorganized the API by splitting it into smaller, more focused endpoints. For example, there’s now a dedicated endpoint that only detects faces and returns their locations, while separate endpoints handle image anonymization and API health checks. This makes the API easier to use and gives me more flexibility as I add new features. I also reorganized the detection system so that all object detection goes through a single service. At the moment it only detects faces, but it’s now much easier to add support for other types, such as license plates, without having to redesign the rest of the application. Health check endpoints let the application report whether it’s running correctly and whether the AI models have loaded successfully. Next I’m going to add detection beyond faces by adding license plate detection. These changes are gonna make it much easier for me to do so."}, {"post_id": 20144, "ts": "2026-07-01T18:06:28Z", "hours": 2.2011, "text": "I spent some time refining the face anonymization system. The pixelation effect was completely reworked to produce smoother, better looking results while blurring the faces more accurately (using the previous blur you could sometimes make out the features of the people). I also cleaned up the implementation, making the blur functionality much simpler and easier to maintain and most importantly I made it more reusable for ease of use in the future for more features. Behind the scenes, I also reorganized the project’s Python environment by removing unused libraries and recreating the virtual environment. Next I am planning to either add support for videos or make the API better by creating more focused routes such as one that only detects faces and other that returns the blur image. I also want to add functionality where the user can select which people to anonymize instead of blurring everybody detected. After that, I’ll expand beyond simple face anonymization by adding support for automatically detecting and anonymizing other sensitive information, such as license plates, documents, and other personally identifiable content."}, {"post_id": 19929, "ts": "2026-07-01T11:30:11Z", "hours": 4.4158, "text": "Replaced the temporary grayscale filter with automatic face anonymization. Uploaded images are now scanned for faces, and every detected face is pixelated. I also improved detection accuracy to reduce missed faces by tweaking a bunch of stuff for a while and adding more functionality to my face detection like running the image at multiple sizes. A lot of my time was also spent making the pixelated effect look good. I first went for only blurring the faces but now the face is pixelated along with a smooth transition into the surrounding image making the effect look pretty good. Right now images with large crowds are correctly blurred, including people who are far away or appear very small in the image."}, {"post_id": 19370, "ts": "2026-06-30T17:34:05Z", "hours": 1.9744, "text": "Integrated OpenCV so uploaded images are now decoded, processed, and returned to the client. I also introduced modularity into the code by creating separate modules for each step. The grayscale filter is only a temporary placeholder before I implement functionality such as blurring faces."}, {"post_id": 19094, "ts": "2026-06-30T09:42:15Z", "hours": 0.4869, "text": "Added image upload functionality with validation for missing files and non image uploads. The API right now only returns basic metadata about the upload. Next I’ll integrate OpenCV to begin the image processing stage."}, {"post_id": 19079, "ts": "2026-06-30T08:42:18Z", "hours": 0.6667, "text": "Set up the project’s foundation by creating Flask application structure, initializing Git, creating a virtual environment, and organizing the codebase for future features. I also got the development server running to verify everything is wired up correctly. Next, I’ll implement image uploads."}]...
|
Title: Blur Stuff by @AbdurRehman | Stardance
Dev Title: Blur Stuff by @AbdurRehman | Stardance
Devlogs:
Set up the project’s foundation by creating Flask application structure, initializing Git, creating a virtual environment, and organizing the codebase for future features. I also got the development server running to verify everything is wired up correctly. Next, I’ll implement image uploads.
Added image upload functionality with validation for missing files and non image uploads. The API right now only returns basic metadata about the upload. Next I’ll integrate OpenCV to begin the image processing stage.
Integrated OpenCV so uploaded images are now decoded, processed, and returned to the client. I also introduced modularity into the code by creating separate modules for each step. The grayscale filter is only a temporary placeholder before I implement functionality such as blurring faces.
Replaced the temporary grayscale filter with automatic face anonymization. Uploaded images are now scanned for faces, and every detected face is pixelated. I also improved detection accuracy to reduce missed faces by tweaking a bunch of stuff for a while and adding more functionality to my face detection like running the image at multiple sizes. A lot of my time was also spent making the pixelated effect look good. I first went for only blurring the faces but now the face is pixelated along with a smooth transition into the surrounding image making the effect look pretty good. Right now images with large crowds are correctly blurred, including people who are far away or appear very small in the image.
I spent some time refining the face anonymization system. The pixelation effect was completely reworked to produce smoother, better looking results while blurring the faces more accurately (using the previous blur you could sometimes make out the features of the people). I also cleaned up the implementation, making the blur functionality much simpler and easier to maintain and most importantly I made it more reusable for ease of use in the future for more features. Behind the scenes, I also reorganized the project’s Python environment by removing unused libraries and recreating the virtual environment. Next I am planning to either add support for videos or make the API better by creating more focused routes such as one that only detects faces and other that returns the blur image. I also want to add functionality where the user can select which people to anonymize instead of blurring everybody detected. After that, I’ll expand beyond simple face anonymization by adding support for automatically detecting and anonymizing other sensitive information, such as license plates, documents, and other personally identifiable content.
I focused on improving the backend rather than adding new features. I reorganized the API by splitting it into smaller, more focused endpoints. For example, there’s now a dedicated endpoint that only detects faces and returns their locations, while separate endpoints handle image anonymization and API health checks. This makes the API easier to use and gives me more flexibility as I add new features. I also reorganized the detection system so that all object detection goes through a single service. At the moment it only detects faces, but it’s now much easier to add support for other types, such as license plates, without having to redesign the rest of the application. Health check endpoints let the application report whether it’s running correctly and whether the AI models have loaded successfully. Next I’m going to add detection beyond faces by adding license plate detection. These changes are gonna make it much easier for me to do so.
I expanded the application by adding support for license plate detection and blurring. The app can now detect both faces and license plates in an image and blur them. I also made the API more flexible by allowing users to choose what they want to anonymize. Instead of always processing everything, they can now select whether to detect faces, license plates, or both. This makes the application more efficient and easier to extend with new features in the future. I also improved the structure of the project so that adding new types of detections will require much less work. I also added unique ids to each detection, which will be useful for future features that let users blur individual detections. Next, I will implement detection of sensitive text within images. This will allow the app to identify information such as email addresses, phone numbers, and other personal details, then blur them.
I implemented OCR-based text detection, allowing the application to detect text within uploaded images. I initially used PaddleOCR, but found that it took over 30 seconds to process a single image. After spending a lot of time trying to optimize its performance, I decided to switch to EasyOCR, which reduced the processing time to around one second while maintaining the same detection quality. Switching the OCR engines was well worth it. I also tried to keep the OCR implementation consistent with the face and license plate detectors and also optimized them too. Next, I will implement detection of sensitive information within the extracted text using regular expressions and NER. This will allow the application to distinguish ordinary text from personal information such as names, emails, phone numbers, etc, and allow me to blur only the relevant regions (right now the the entirety of the detected text is blurred).
I implemented PII detection, allowing the app to identify and blur sensitive information within the text extracted from images instead of blurring everything blindly. First I used regular expressions to detect structured data such as email addresses, phone numbers, etc. But OCR frequently omitted punctuation, causing many valid emails to be missed. To fix this, I redesigned the everything around an OCR token graph. Each token stores its bounding box, neighboring tokens, and line information, allowing the detections to be more accurate. I might switch to PaddleOCR again or someother ocr so that I get more accurate detections. I also spent time improving the overall design of the PII detection system. These changes make it easier to extend in the future while improving the accuracy of the detected regions that are blurred. Next, I will implement NER based detection to identify unstructured personal information such as names.
I added a new way for the app to detect personal information by using named entity recognition. Previously, the app could only find structured information like emails and phone numbers, but it could not detect things like names. So I integrated Presidio to identify such information from the text extracted from images. These extractions are then combined with the existing PII detections done using regex for the structured stuff. This improves the accuracy of the entire system by combining multiple detection methods instead of relying on one single approach. Next, I will improve the detection process further as right now it isn’t too accurate, mostly because I think the OCR is missing some stuff from the text. So I might try replacing it or find some other way.
I focused on improving the entire OCR system, as the previous approach with EasyOCR was missing too much text and reducing the accuracy of the entire system. After spending quite a bit of time trying to improve it, I decided to replace it with PaddleOCR. Now more accurate text detections are being produced making the entire program more robust. After, I expanded the regex based detectors to also account for URLs in addition to emails, etc. I also improved the phone number detection logic to reduce false positives and improve overall accuracy. Then, I adjusted padding around blurred regions so that stuff is covered more consistently and without blurring unnecessary content. The last thing I did was optimizing PaddleOCR as it was much slower than EasyOCR. After a lot of tinkering I was able to significantly reduce its processing time. For some files it now performs at roughly the same speed as EasyOCR while being way more accurate. Next, I probably want to add support for more file types and ultimately videos. And later also support for multiple languages.
I focused on adding support for videos. I first implemented a basic video anonymization system so uploaded videos could be processed the same way as images. I also made sure that the audio for the video is preserved so that it carries over to the anonymized video being unchanged. After getting the basic system working, I improved how videos are processed by adding object tracking and scene change detection. Instead of running detections on every frame, the system can now follow previously detected objects across frames and automatically run detections again when needed (when a tracker is lost, or the scene changes drastically, or periodically after a set amount of frames). This provides a great performance boost while the result stays reliable. Next, I want to continue improving video processing by optimizing it further and making it more accurate.
I improved the overall quality and efficiency of the video anonymization system. I updated detection intervals to use the video’s frame rate instead of relying on a hard coded number of frames. This allows the system to adapt well to videos with different frame rates. I also evaluated several object tracking algorithms, including DaSiamRPN, to find a good one that balances accuracy and speed. After comparing the performance of a bunch of them, I switched to Nano Tracker which was faster than my original KCF and CSRT trackers while being more accurate. I made additional improvements to privacy by removing metadata from exported videos. I am now also applying EXIF orientation before processing ensuring that images taken from different devices are processed in their correct orientation. Next, I plan to introduce different anonymization modes like blur and solid black boxes.
I expanded the anonymization system by adding multiple anonymization modes instead of having only the pixelization effect. The application can now switch between anonymizing regions using blur, solid fill, noise, emoji overlay, and inpainting. The emoji overlay right now is pretty basic but I plan on improving it later. I also improved the quality of face anonymization by replacing rectangular masks with elliptical masks (for some of the effects), producing better looking results. I also refactored the anonymization pipeline to separate anonymization effects from overlay rendering making future additions even easier and also cleaned up and reorganized the existing image effect implementations to improve readability and consistency across the project. Next, I plan to improve the performance of the anonymization system by trying to reuse detection targets and effect masks wherever possible.
I focused on improving the performance and maintainability of the anonymization system rather than adding new features. The biggest change was a refactor of the video anonymization system. Instead of repeatedly creating new anonymization masks for every frame, the tracker now caches and reuses them wherever possible. This reduces unnecessary work during video processing and also makes it easier in the future to add further performance improvements. I also improved the applications behavior by preventing both full text anonymization and PII anonymization to be selected at the same time since these targets overlap and would produce redundant processing. I also cleaned up several parts of the codebase by removing unused code and making the everything a bit easier to maintain. I also spent a lot of time experimenting with more aggressive optimization techniques but after testing, I decided to postpone those changes because they added complexity without providing the improvement I was looking for (and they were kind of buggy and it would take a lot more time to fix them). Instead, I decided to focus on optimizations that are simpler. Right now I don’t plan to work on improving the performance (even though there probably are tons of improvements to be made) because that stuff is boring and difficult as hell. Instead I’m going to add support for more file types like PDF.
I expanded the range of file types that the application supports. Image support now includes TIFF/TIF, HEIC/HEIF, and GIF files. HEIC/HEIF images are automatically converted to PNG after processing since they are not widely supported for encoding. I also added support for documents which include PDF, DOCX, PPTX, and XLSX files. Rather than building separate anonymization logic for every Office file format, they are first converted to PDF and then are annonymized the same way as PDFs which keeps the implementation much simpler. While working on adding support for these files, I noticed that I had a bunch of duplicated code. So I spent some time refactoring stuff and removing duplicated stuff. I also found that GIF processing was slow so I worked on making it faster by treating it the same as a video and using trackers on it rather than running detection on every frame. I also made few smaller improvements, including adjusting the confidence thresholds for some of the detectors since I was noticing a bunch of false positives and fixing several bugs that came along the way. The next thing I plan to work on are cleaning up the code by finding and removing unused stuff, and then building the frontend for the application.
I focused on preparing everything for the frontend rather than adding new features. I reorganized the API by moving all routes into a dedicated package and grouping every endpoint under /api/v1. This gives everything a much cleaner structure and makes everything look professional. I also added detection endpoints for all supported files. Before the project was primarily focused on anonymization, and even though I had a detection endpoint, it only supported images and was buggy. These new endpoints allows receiving detection results directly without applying any effects and serve as a foundation for selective anonymization that I will implement later. While implementing these endpoints, I refactored how detection IDs are handled across the application. Before they too were buggy but I got them to work. I not only worked on the backend but also worked on the frontend by laying out it’s initial structure that I will build upon. I also spent some time cleaning up the codebase by removing unused imports and simplifying parts of the project. Now I plan to really start working on building the frontend. Now that the API structure is in place, I want to focus on creating a professional looking interface that allows users to interact with all of the functionality that has been implemented so far plus more.
Since the previous dev log I’ve been completely focused on the frontend. I first set up the frontend stack by integrating Tailwind CSS for styles and Alpine.js for lightweight interactivity. I also created a reusable layout with shared components such as the header that future pages can be built consistently and easily. With that foundation in place, I began implementing the landing page. I designed and built the hero section, which consists of a cool drag and drop upload area, and an interactive before/after comparison slider that allows users to visually compare original and anonymized images, which makes the landing page looks awesome. Besides frontend work, I made a few backend improvements as well, including cleaning up temporary video files after processing to avoid leaving unnecessary files behind as originally they weren’t properly disposed of. Next I plan to continue working on the landing page for a bit by adding a footer and maybe some other useful section before connecting everything to the existing API and implementing the upload and processing workflow and building the remaining pages needed.
Since the previous dev log, I continued working on the frontend and have now finished the main landing page as well as the initial anonymize/file upload page. I first started by completing the remaining parts of the landing page by adding the footer, API description section, and some final component layout and CSS improvements. After that, I started building the anonymize page, which is where the actual application workflow begins. I implemented the complete upload interface with both file selection and drag and drop feature. I also added client side file handling so uploaded files can be passed from the landing page to the anonymize page without having to upload them to the server first. To do this, I implemented a small IndexedDB based file storage system in the browser. Uploaded files are temporarily stored locally with a timestamp allowing the anonymize page to retrieve the file when the user arrives there. The stored file automatically expires after a short period and is also removed once it has been retrieved. This keeps the upload flow client side and also avoids putting the file data into the URL or sending it to the backend before processing when not needed. The anonymize page now also handles different file types correctly and displays a preview based on their type. I also added different anonymization options making it straightforward to pass the processing preferences to the backend. I too spent time fixing bugs and adding small UX improvements across the new frontend functionality. Next I am going to connect the interface to the backend API and build the actual processing experience. Rather than anonymizing everything automatically, I will create a processing page where the user will be able to decide what to anonymize and I will probably add more customization.
Since the previous dev log, I continued building the application workflow and moved beyond the initial upload interface into review/customization functionality. I first worked on the file preview system so that uploaded files can be displayed correctly even when the browser cannot natively display them. Now a preview is generated for unsupported images and documents while keeping browser previews for files that are already supported. After that, I built the results page, which is where the user can review the detections found in their uploaded file and also customise stuff for anonymisation. The biggest addition was the detection review panel. Instead of simply processing everything automatically, the interface now shows the detected content which will allow users to review individual detections and choose which ones they want to work with. A lot of the work also went into the smaller UI/UX improvements. I also fixed a ton of issues that came up while connecting the different pieces together and handling the detection data and working with different file formats. At this point, the frontend is starting to really come together and look like a real app. The next step is to connect stuff to my anonymization API. The user will be able to to select specific detections, choose how they want them anonymized, and add other customizations.
Since the previous dev log, I continued building the application workflow and have almost completed the anonymization process. I first worked on the anonymization routes and updated the backend so that the frontend can send detected regions back to the API and have them anonymized. This allows the user to choose which detections they want to anonymize instead of always having to process everything. I also added support for passing dynamic padding (and also made it so that other dynamic stuff is easy to add later) through the request so that the effects can be customized based on what the user wants. I also added client side file handling required for the results page. The original and processed files are kept available in the browser so they can be previewed and downloaded without needing to be stored on the server. Everything also handles missing files and stuff without breaking and I also added error handling with notifications which are displayed to the user. I also made a bunch of smaller UI improvements while connecting everything together. At this point, the main frontend workflow is coming together. Next I will fix small remaining issues and improve reliability rather than adding any major change. The next things I plan to work on are to mainly fix bugs in the code. Like GIFs still need some additional handling to make sure detections are applied across the animation rather than being treated like a normal image and the existing video tracking system is able to follow detections across frames, but during testing I noticed that the anonymization can drift away from the actual detected regions in videos. This is the major thing I need to fix. And I also plan to do some small changes to the UI and stuff and fix some bugs there before adding the remaining pages like the API and documentation pages.
Since the previous dev log, I worked on fixing the remaining issues in the anonymization workflow and finishing the frontend around the application. The biggest thing I worked on was selected video anonymization. There were still some problems where selected areas could stop being anonymized correctly or the anonymization could move away from the actual object as it moved through the video or retracking when something like a face was lost. I spent quite a lot of time testing different things, tracking down where the problems were coming from, and making the selected anonymization much more reliable across video frames. This ended up taking a lot more work than I initially expected, but the selected video workflow is now working much better. It still isn’t perfect and there are still some bugs and I think I probably need a lot more time to find and fix them but right now it is in a decent working state so I don’t plan to spend more time on achieving perfection because debugging and stuff is boring as hell. I also made some improvements to the overall frontend and added the remaining main pages. I added the about, arivacy, documentation pages and also did some other improvents around the frontend. The documentation now explains the available endpoints, detection targets, anonymization modes and other features. At this point, I feel like the main application is in a really good place. The core functionality is implemented, the main frontend workflow is complete, and the remaining work is mostly getting this thing hosted and stuff. Next, I plan to write the README file, host the application, and do a final round of testing and cleanup. After that, I think I’ll consider this project finished for a while (I will work on improving it further later) and move on to building something new.
Since the previous dev log, I have been focused on getting Blur Stuff ready for deployment. This ended up being much more painful than I expected. The biggest part was dealing with dependency issues. The project worked locally, but moving everything to a production environment exposed a bunch of problems with Python versions, PaddlePaddle, PaddleOCR, PaddleX, PyYAML, spaCy, OpenCV and other dependencies. I spent a lot of time testing different configurations, fixing dependency conflicts, debugging the production container, and figuring out why things that seemed to work okay locally were breaking during deployment. The biggest headache was PaddleOCR. I had to deal with missing system libraries, model downloading, Paddle initialization issues and eventually a oneDNN runtime error that was causing OCR requests to return 503s. After a lot of debugging and testing different configurations, I eventually got the OCR pipeline working properly in production. That was probably the one of the most frustrating parts of the entire project, but it is finally done. I also switched the spaCy model from en_core_web_lg to en_core_web_sm. The larger model was unnecessarily heavy for what Blur Stuff needs and was making deployments take way longer. Switching to the smaller model made deployment faster and also improved performance without having a noticeable impact on the PII detection quality. After successful deployment I finished the README and added the final assets, screenshots, logo and documentation. I added the MIT license, favicon, deployment related changes and generally cleaned up the entire repository. At this point, I think Blur Stuff is ready to ship. There are definitely still improvements I could make, especially improving performance, making video anonymization more reliable and efficient, and polishing various parts of the application but I don’t want to spend more time trying to make everything perfect. The current deployment is also running on Railway’s free plan, so there are some resource and memory limitations since Blur Stuff runs several machine learning models in the same process. For now, I’m okay with that rather than spending more time optimizing around the limitations of a free deployment. For now, I’m calling it finished and shipping it since the core functionality is working and the project is deployed. I’ll definitely come back to Blur Stuff later to improve it, but I think it’s time to move on to something new.
Since shipping Blur Stuff, I got feedback that the frontend felt too generic so I completely revamped the UI to give it a more intentional and fun style. I redesigned everything from colors to typography and everything else. Now the app has a more personal feel. I also cleaned up some small things here and there.
Ships:
I made Blur Stuff, a privacy focused tool for safely sharing images, videos, GIFs, and documents. It automatically detects sensitive information such as faces, license plates, text, and PII, then lets you anonymize the detected areas with different anonymization effects. It also removes EXIF metadata so other sensitive information isn’t left hidden inside the file. The goal of this project is to make sharing media safely as easy as uploading it. Instead of manually searching through a file like a document or photo and manually covering stuff you don’t want others to see, Blur Stuff does this work for you. The hardest part of making this project was making anonymization work reliably across different types of media. Images were relatively simple, but videos and GIFs require frame by frame processing while keeping detections consistent over time. And to make things efficient and fast I also had to deal with things like tracking which were really tricky. Connecting the frontend and backend was also another challenge and then hosting everything also brought it’s problems with dependency conflicts which took quite a while to solve. The thing I am most proud of is that this became a real working and professional looking application rather than just a prototype type thing. It supports most of the commonly used media formats, has multiple customization options among other neat functionalities. Also I like how this project is privacy focused. Like it doesn’t store the user’s files ever. It just processes them, removing EXIF, and gives the result. Blur Stuff can be tested by uploading an image containing faces, text, or a license plate and let it detect the sensitive regions and then select what you want anonymized, and run the anonymization. The current deployment has limited memory and resources since I’m on a free plan, so larger videos and documents can take a while to process, and very large files may run into resource limitations. The app is also deployed using Railway’s serverless option, so the server may need a few seconds to start up if it hasn’t received a request recently. Also the selected region anonymization for videos is still a bit buggy but mostly it works. These are areas I will improve in the future....
|
1792849922.2096336
|
1792936322.2096336
|
|
41476
|
Contango by @igowu | Stardance
|
igowu
|
2
|
83.0
|
1107
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-15T20:46:02Z", "hours": 58.0, "multiplier": 19.01, "payout": 1046, "blessing": "neutral", "text": "Contango I built a Python framework for quantitative research of trading strategies, whether it be backtesting them, tuning parameter combinations, or turning the results into graphs that can easily reveal profitability/risk in strategies. It started as solely a backtesting framework, but it has grown into an entire suite for optimization and analysis. The latest release, v0.1.1, is now on PyPI. What it is It is an event-driven trading framework with two ways to build strategies. Strategy gives you complete control over the framework, while RuleBasedStrategy provides a higher-level interface for expressing trading rules with less boilerplate. On top of that is the research tooling. Contango can run Cartesian parameter sweeps, evaluating every combination of selected parameters rather than forcing you to manually run a strategy over and over. That makes it possible to take a strategy idea and view a whole parameter space in one run. Market data is handled through a local repository that caches OHLCV data, so repeated experiments don’t need to keep downloading the same data. This permits for offline usage once data has previously been downloaded. Yfinance (a data provider) works without setup or an API key, while the data provider system is designed so additional providers can be added without touching codebase’s internals. Possibly the most important part is the graphs. Equity curves, drawdowns, trade-quality metrics, parameter distributions, risk/return views, and more can be generated from the results of a research run. However, the goal isn’t just to analyze the amount of profit the strategy returns. Instead, it’s to make the behavior of the strategy visible by exposing a variety of different risk/trading/drawdown metrics, revealed clearly in the generated graphs. What was hard I spent a lot of time separating components, defining cleaner interfaces (modularity), and deciding where abstraction was beneficial rather than just adding redundancy and boilerplate. The parameter optimization system was another massive difficulty to create. A Cartesian sweep sounds simple on paper; however, the question arises: how do you distinguish all of the strategies from each other? My initial solution was to display all of the parameters for each strategy, but this ended up with strategy names that were way too large to render. Lastly, documentation ended up being much more work than I expected. I wanted someone to be able to use Contango without having to understand how its internals work first, while still having enough documentation available for someone who actually wants to extend the framework. What I’m proud of The part I’m happiest with is that Contango now feels genuinely easy to use after a small learning curve. You can write a strategy, point it at market data, sweep its parameters, and get a collection of research results and visualizations without having to manually glue all of those pieces together. The other thing I’m proud of is the amount of attention that I put into making the project understandable. The public API is documented, the internal API is documented, components have been modularized, and there are now unit tests for essentially everything that needs them. It’s not finished in the sense that no software ever is, but it finally feels complete. How to test it Install it from PyPI: pip install contango Then run the included research demo: python -m contango.research.demo_strategies.cartesian_bollinger_strategy.runner The demo runs a Bollinger Band strategy across a Cartesian grid of parameters and generates performance and parameter-analysis graphs (HTML) that can be reviewed. I want to thank Stardance for this experience - the opportunity to build software while earning rewards and be in such a welcoming community is amazing to me. I’m looking forward to future work with Hackclub!", "repo": "https://github.com/igowuu/Contango", "demo": "https://pypi.org/project/contango/"}, {"ship_num": 2, "ts": "2026-07-30T16:02:17Z", "hours": 25.0, "multiplier": 6.1, "payout": 61, "blessing": "neutral", "text": "Contango Have you ever wanted to create strategies programmatically for the stock market, cryptocurrencies, or anything else related to trading?! Maybe not… But I have! So, what is Contango? Contango is a full trading engine that allows you to make strategies in Python without worrying about any potential biases in your workflow. Instead of focusing on simulation, metrics, results, and graphs, you can avert your focus solely to the quality of the strategies you create. Strategies - what do they look like? Strategies are a part of an event-driven engine. This means that they receive and react to events that are released from a “mode”. A “mode” is anything that handles the logic of the event bus and/or engine - backtesting, live trading, etc. An example of a strategy: class MyStrategy ( Strategy ): \"\"\" A very simple strategy outline - not all logic is included. \"\"\" def on_market_event ( self , event : MarketDataEvent ) -> None : # Strategy market logic here def on_end ( self ) -> None : ... Results Contango processes the raw events emitted from your strategy and converts them to metrics. These metrics are then used to produce seven unique graphs. Each of these graphs tell you something unique about the strategy, whether it be profitability, risk, drawdown, consistency, win rate, etc. For most modern workflows, this is enough; however, all modules are cleanly decoupled from each other, so raw events or raw metrics can be processed & analyzed however you would like. Challenges Challenges: A massive learning curve. I’ve spent probably 50 hours or more just researching and absorbing the information used in this project. Packaging was difficult to get right, whether it be “missing type stub” warnings or incorrect rendering of my README.md. Documentation was terrible to write. Spending large amounts of time writing English words instead of code that accomplishes something was extremely tedious, yet completely necessary for a shipped project like this. I’m proud of this project Genuinely, this is one of the first big project I’ve ever made. I have never released anything to PyPI, nor shipped something of this scale before. Hackatime only shows 22 hours since I set it up partway through, but Contango’s been my main project since June, and it’s the second largest thing I’ve built. Usage The GitHub has detailed instructions, demos, videos, and more; however, since it’s so short, here is how to install the project & run the built-in demo from any python IDE: pip install contango python -m contango.research.research_strategies.bollinger_band_mean_reversion.runner Final Notes I’ve had a lot of fun with this project, and I hope anyone who sees this enjoys it just as much as me. Happy coding!", "repo": "https://github.com/igowuu/Contango", "demo": "https://pypi.org/project/contango/"}]...
|
[{"post_id": 68711, "ts": "202 [{"post_id": 68711, "ts": "2026-09-15T16:17:49Z", "hours": 6.9347, "text": "Contango - Devlog #8 (final devlog?) The latest version of Contango (v. 0.1.1) been is released on PyPI. What Changed? Rule-based strategies and Cartesian Sweeps Strategies can be created using a rule-based system that allows them to be swept over all combinations in a Cartesian Search. This is especially useful for finding a broad spectrum of tuned parameters after creating & coding a strategy concept. Documentation The documentation has been expanded to give direct tutorials on how to set up strategies and make additions to the framework without touching any of its internals. Further, the documentation now has in-depth explanations on the public AND private API. Other The graphs now have a GraphType subclass - essentially, graphs can now be added to or removed by the user if this is desired. This eliminates the hardcoding and confusing behavior that the graphs had prior to this change. Unit tests created for just about everything that needs it. General maturing of the framework, whether that be creating modular components, exposing or hiding certain details from the user, or creating docstrings for the public and private API. That’s all. This will likely be my last devlog before shipping for the final time. I’m praying to the Gods of Stardance that I can get a 3d printer! We’ll see."}, {"post_id": 62560, "ts": "2026-09-06T00:29:54Z", "hours": 6.6617, "text": "Contango - Devlog #7 Research Research has been rough. I haven’t found any real edge with a calmar ratio above 1.0, nor a sharpe ratio that is statistically meaningful to suggest a somewhat profitable strategy. Cartesian Parameterized Grid Search This system was absolutely effective in what it did; however, I’ve concluded that using brute-force to generate strategies does not yield any genuine edge. The system was powerful, but honestly hard to use; hence, I came to the decision of deleting it as it did not have much use other than brute-forcing trading strategies. Rule-based Strategies Rule-based strategies, again, allow for strategies to be created with minimal and highly declarative code. The API has improved significantly with less unnecessary generics and more docstrings. It will be the intended system for backtesting strategies rather than using static strategies. They will both coexist, however; the static strategies will be intended to be used for live trading if implemented in the future. Graphs The graph system was relatively ad-hoc, hard to use, and hardcoded; therefore, I have restructured it to take a more composable approach to allow for the user to create & add graphs. The default graphs have not disappeared; however, they can be overridden. New graphs can be subclassed and the user can register & create custom graphs if desirable. Future Finish the graphing system. Fix all of the demo strategies for the new structure. Create new unit tests for the codebase. Publish to PyPI and commit to github. I’m beginning to wrap up the project to get it to a publishable state."}, {"post_id": 55673, "ts": "2026-08-27T17:10:44Z", "hours": 6.5972, "text": "I was wrong . …But that’s okay. Hyper-parameterized Cartesian grid search I built a system capable of searching an enormous strategy space, and the system worked. My original goal was to have computers literally generate trading strategies and hypothesize by themselves through testing all possible indicator combinations. However, simple strategies based on widely known indicators aren’t producing the profitability I was initially looking for. However , this isn’t necessarily bad news - it just means that the system should be used to help hypothesizing rather than automating it entirely. The same system can be used heavily for optimization of a concept. For example, it can completely automate the process of testing if ATR scaling or an RSI confirmation yields better results. Further, I can still find optimal parameters through the grid search for a given strategy. On Overfitting A grid search inherently will find “amazing” results - however, that doesn’t necessarily mean that it would actually perform well in the market. The parallel coordinate graphs, heatmap graphs, and manual walk-forward tests have made it genuinely easy to pick out overfit results, so this accepts part of my hypothesis in the earlier devlogs. Future I finished most of the work I wanted to do. I stress tested the suite, created unit tests, and created the hyper-parameterization system in its entirety. Now is finally the fun part - research. I’m genuinely curious if I’m able to find some profitable strategies with my system, so my future devlogs will likely be related to the research I’m going to conduct. That’s all. Have a great day!"}, {"post_id": 53484, "ts": "2026-08-24T01:40:11Z", "hours": 13.0403, "text": "Devlog #5 - Contango Hyperparameter Cartesian grid search Apparently this isn’t easy to design! Who could have thought? Not me! Jokes aside, this has been a miserable experience. I’ve created two different designs so far. The first one failed outright - far in, I realized that having mutable objects in a nested grid search breaks all of the results, and it wasn’t easy to integrate Callable types with what I had already created, so I scrapped it. Another massive hurdle was trying to find out how to parameterize the rules that indicators must follow (i.e. close crosses above middle bollinger band crosses). The idea here is to have a set of rules, and have each and every one of them parameterized amongst each other to find the best rules in the subset. My current design uses callables to generate fresh instances of both the parameters and indicators used in the hyperparameter grid search. However, another issue has become known to me - how do you derive unique, dynamically created names for each individual parameterized result? My thought is to derive the name of the indicators from the caller (which I have been doing), but on top of that, force all rule-based modules in my codebase to implement an ABC & override repr . This has not been formally implemented yet. Future Finish & finalize the hyperparameter Cartesian grid search strategy. Create unit tests for it. Genuinely take some time to look over the codebase, see what may be confusing for any users, & implement fixes for them (whether it be documentation, simplifying concepts, or creating abstractions for modules). Add quite a lot of documentation. Ship."}, {"post_id": 48243, "ts": "2026-08-16T15:24:07Z", "hours": 6.8711, "text": "Devlog #4 - Contango Rule-based Strategies I found a lot of issues and limitations with them. However, after working for hours coding them, I believe I’ve reached a point where I’m happy with how they’re looking. To summarize, every strategy is composed of rules, where a rule has a condition & action. If the condition is true, the action (intent) is released. In the case of this suite, intents express to buy, sell, create stoploss orders, etc. You can see the syntax in the attached screenshot. Unit testing Unit tests are completely finished! The suite has 290 passing unit tests as of now. Parameterization I’m going to give parameterization another try. Instead of creating another layer on rule-based strategies, I’m going to instead pass indicators (or “streams” as I call them) into a base strategy along with their parameters in an attempt to perform a Cartisan hyperparameter grid search for both the indicators and their parameters. That was a mouthful to say; however, I’ll demonstrate what I mean in the next devlog (hopefully). Future As always, I like to document what I want to accomplish before shipping: Start & finish the Cartisan hyperparameter grid search API, along with testing it. Fix up documentation (there are major gaps at this point in my development from alpha v.0.1.0). Release on PyPI. That’s it. Happy coding!"}, {"post_id": 46293, "ts": "2026-08-13T12:50:56Z", "hours": 7.9789, "text": "Devlog #3 - Contango Rule-based Strategies I completed the rule-based strategy engine, and it seems to be yielding correct results with integration tests. It allows for both Cartesian Parameterization & indicator parameterization, mentioned in the previous devlog. Unit tests I’ve noticed that as I make more changes, my unit tests have been lacking. The majority of the time for this devlog has been spent creating unit tests for my code. This has proved to be very time consuming and tedious (it always is), and has taken more than five hours at this point. However, I’m only halfway done, so this might take a while longer… Future I always like to make a list for what I want to do before shipping. Here’s where I’m at now: Finish unit tests & fix any issues they reveal Manually test everything myself by creating example strategies Document everything (at this point there are massive gaps in documentation from the changes I have made) Release v.0.1.1 on PyPI & then ship That’s all. Have a great rest of your day!"}, {"post_id": 42736, "ts": "2026-08-07T16:30:57Z", "hours": 10.1167, "text": "Devlog #2 - Contango Massive changes have been made relating to strategy creation & the capability of the framework. Creating a strategy An entire Bollinger Band Mean Reversion strategy now looks like this: indicators = { \" bb \" : BollingerBands ( period = period , k = num_std )} rules : Sequence [ Rule [ TradingContext , Intent ]] = [ Rule ( Predicate ( lambda ctx : ctx . event . close < ctx . indicators [ \" bb \" ]. value . lower ), Emit ( EnterLongIntent ( symbol = symbol )) ), Rule ( Predicate ( lambda ctx : ctx . event . close > ctx . indicators [ \" bb \" ]. value . upper ), Emit ( ExitIntent ( symbol = symbol )), ) ] super (). __init__ ( indicators = indicators , rules = rules , position_sizer = AllocationPositionSizer ( size ) ) With this structure, an entire trading strategy can be expressed with a few unequivocal rules. Further, because indicators and their parameters are major components, both can now be parameterized during optimization. That means grid searches can iterate over not only different parameter values, but entirely different indicator combinations. In a favorable environment, this means that with enough computing power, you can automate the creation and development of strategies. However, in practice, real markets make this significantly less straightforward due to overfitting; therefore, human analysis is still essential since larger search spaces dramatically increase the risk of these biases. Nonetheless, this gives a major advantage to manually creating code for each strategy individually. Other things I restructured the file tree to make the codebase easier for new future contributors (including myself) to make changes. I created a rule system for the backtester under the hood that doesn’t hard-code any limitations in preparation for full support of pyramiding, multiple tickers, & short selling. Future There are some things I want to do before shipping. I’ll list them here: Complete the indicator grid search mentioned above. Stress-test everything & create unit tests where necessary. Complete the documentation - especially with strategy creation, which is not definitely extensive enough as of now. Anyway, enough technical talk for this devlog - happy coding!"}, {"post_id": 37644, "ts": "2026-07-30T15:09:38Z", "hours": 24.5403, "text": "Devlog #1 - Contango I have finally released Contango on PyPI! What is Contango? Contango is a full trading engine that helps you build trading strategies. It does all of the heavy lifting - the results, metrics, and the entire trading engine behind the hood. I’ve never created a package on PyPI, so doing this was a massive learning experience - from uploading to TestPyPI to iterating multiple times before I got my pyproject.toml right. I sent one of the graphs generated after testing my project demo out using the package. See the package on PyPI here: https://pypi.org/project/contango/ Have a great rest of your day!"}]...
|
Title: Contango by @igowu | Stardance
Devlogs:
De Title: Contango by @igowu | Stardance
Devlogs:
Devlog #1 - Contango I have finally released Contango on PyPI! What is Contango? Contango is a full trading engine that helps you build trading strategies. It does all of the heavy lifting - the results, metrics, and the entire trading engine behind the hood. I’ve never created a package on PyPI, so doing this was a massive learning experience - from uploading to TestPyPI to iterating multiple times before I got my pyproject.toml right. I sent one of the graphs generated after testing my project demo out using the package. See the package on PyPI here: https://pypi.org/project/contango/ Have a great rest of your day!
Devlog #2 - Contango Massive changes have been made relating to strategy creation & the capability of the framework. Creating a strategy An entire Bollinger Band Mean Reversion strategy now looks like this: indicators = { " bb " : BollingerBands ( period = period , k = num_std )} rules : Sequence [ Rule [ TradingContext , Intent ]] = [ Rule ( Predicate ( lambda ctx : ctx . event . close < ctx . indicators [ " bb " ]. value . lower ), Emit ( EnterLongIntent ( symbol = symbol )) ), Rule ( Predicate ( lambda ctx : ctx . event . close > ctx . indicators [ " bb " ]. value . upper ), Emit ( ExitIntent ( symbol = symbol )), ) ] super (). __init__ ( indicators = indicators , rules = rules , position_sizer = AllocationPositionSizer ( size ) ) With this structure, an entire trading strategy can be expressed with a few unequivocal rules. Further, because indicators and their parameters are major components, both can now be parameterized during optimization. That means grid searches can iterate over not only different parameter values, but entirely different indicator combinations. In a favorable environment, this means that with enough computing power, you can automate the creation and development of strategies. However, in practice, real markets make this significantly less straightforward due to overfitting; therefore, human analysis is still essential since larger search spaces dramatically increase the risk of these biases. Nonetheless, this gives a major advantage to manually creating code for each strategy individually. Other things I restructured the file tree to make the codebase easier for new future contributors (including myself) to make changes. I created a rule system for the backtester under the hood that doesn’t hard-code any limitations in preparation for full support of pyramiding, multiple tickers, & short selling. Future There are some things I want to do before shipping. I’ll list them here: Complete the indicator grid search mentioned above. Stress-test everything & create unit tests where necessary. Complete the documentation - especially with strategy creation, which is not definitely extensive enough as of now. Anyway, enough technical talk for this devlog - happy coding!
Devlog #3 - Contango Rule-based Strategies I completed the rule-based strategy engine, and it seems to be yielding correct results with integration tests. It allows for both Cartesian Parameterization & indicator parameterization, mentioned in the previous devlog. Unit tests I’ve noticed that as I make more changes, my unit tests have been lacking. The majority of the time for this devlog has been spent creating unit tests for my code. This has proved to be very time consuming and tedious (it always is), and has taken more than five hours at this point. However, I’m only halfway done, so this might take a while longer… Future I always like to make a list for what I want to do before shipping. Here’s where I’m at now: Finish unit tests & fix any issues they reveal Manually test everything myself by creating example strategies Document everything (at this point there are massive gaps in documentation from the changes I have made) Release v.0.1.1 on PyPI & then ship That’s all. Have a great rest of your day!
Devlog #4 - Contango Rule-based Strategies I found a lot of issues and limitations with them. However, after working for hours coding them, I believe I’ve reached a point where I’m happy with how they’re looking. To summarize, every strategy is composed of rules, where a rule has a condition & action. If the condition is true, the action (intent) is released. In the case of this suite, intents express to buy, sell, create stoploss orders, etc. You can see the syntax in the attached screenshot. Unit testing Unit tests are completely finished! The suite has 290 passing unit tests as of now. Parameterization I’m going to give parameterization another try. Instead of creating another layer on rule-based strategies, I’m going to instead pass indicators (or “streams” as I call them) into a base strategy along with their parameters in an attempt to perform a Cartisan hyperparameter grid search for both the indicators and their parameters. That was a mouthful to say; however, I’ll demonstrate what I mean in the next devlog (hopefully). Future As always, I like to document what I want to accomplish before shipping: Start & finish the Cartisan hyperparameter grid search API, along with testing it. Fix up documentation (there are major gaps at this point in my development from alpha v.0.1.0). Release on PyPI. That’s it. Happy coding!
Devlog #5 - Contango Hyperparameter Cartesian grid search Apparently this isn’t easy to design! Who could have thought? Not me! Jokes aside, this has been a miserable experience. I’ve created two different designs so far. The first one failed outright - far in, I realized that having mutable objects in a nested grid search breaks all of the results, and it wasn’t easy to integrate Callable types with what I had already created, so I scrapped it. Another massive hurdle was trying to find out how to parameterize the rules that indicators must follow (i.e. close crosses above middle bollinger band crosses). The idea here is to have a set of rules, and have each and every one of them parameterized amongst each other to find the best rules in the subset. My current design uses callables to generate fresh instances of both the parameters and indicators used in the hyperparameter grid search. However, another issue has become known to me - how do you derive unique, dynamically created names for each individual parameterized result? My thought is to derive the name of the indicators from the caller (which I have been doing), but on top of that, force all rule-based modules in my codebase to implement an ABC & override repr . This has not been formally implemented yet. Future Finish & finalize the hyperparameter Cartesian grid search strategy. Create unit tests for it. Genuinely take some time to look over the codebase, see what may be confusing for any users, & implement fixes for them (whether it be documentation, simplifying concepts, or creating abstractions for modules). Add quite a lot of documentation. Ship.
I was wrong . …But that’s okay. Hyper-parameterized Cartesian grid search I built a system capable of searching an enormous strategy space, and the system worked. My original goal was to have computers literally generate trading strategies and hypothesize by themselves through testing all possible indicator combinations. However, simple strategies based on widely known indicators aren’t producing the profitability I was initially looking for. However , this isn’t necessarily bad news - it just means that the system should be used to help hypothesizing rather than automating it entirely. The same system can be used heavily for optimization of a concept. For example, it can completely automate the process of testing if ATR scaling or an RSI confirmation yields better results. Further, I can still find optimal parameters through the grid search for a given strategy. On Overfitting A grid search inherently will find “amazing” results - however, that doesn’t necessarily mean that it would actually perform well in the market. The parallel coordinate graphs, heatmap graphs, and manual walk-forward tests have made it genuinely easy to pick out overfit results, so this accepts part of my hypothesis in the earlier devlogs. Future I finished most of the work I wanted to do. I stress tested the suite, created unit tests, and created the hyper-parameterization system in its entirety. Now is finally the fun part - research. I’m genuinely curious if I’m able to find some profitable strategies with my system, so my future devlogs will likely be related to the research I’m going to conduct. That’s all. Have a great day!
Contango - Devlog #7 Research Research has been rough. I haven’t found any real edge with a calmar ratio above 1.0, nor a sharpe ratio that is statistically meaningful to suggest a somewhat profitable strategy. Cartesian Parameterized Grid Search This system was absolutely effective in what it did; however, I’ve concluded that using brute-force to generate strategies does not yield any genuine edge. The system was powerful, but honestly hard to use; hence, I came to the decision of deleting it as it did not have much use other than brute-forcing trading strategies. Rule-based Strategies Rule-based strategies, again, allow for strategies to be created with minimal and highly declarative code. The API has improved significantly with less unnecessary generics and more docstrings. It will be the intended system for backtesting strategies rather than using static strategies. They will both coexist, however; the static strategies will be intended to be used for live trading if implemented in the future. Graphs The graph system was relatively ad-hoc, hard to use, and hardcoded; therefore, I have restructured it to take a more composable approach to allow for the user to create & add graphs. The default graphs have not disappeared; however, they can be overridden. New graphs can be subclassed and the user can register & create custom graphs if desirable. Future Finish the graphing system. Fix all of the demo strategies for the new structure. Create new unit tests for the codebase. Publish to PyPI and commit to github. I’m beginning to wrap up the project to get it to a publishable state.
Contango - Devlog #8 (final devlog?) The latest version of Contango (v. 0.1.1) been is released on PyPI. What Changed? Rule-based strategies and Cartesian Sweeps Strategies can be created using a rule-based system that allows them to be swept over all combinations in a Cartesian Search. This is especially useful for finding a broad spectrum of tuned parameters after creating & coding a strategy concept. Documentation The documentation has been expanded to give direct tutorials on how to set up strategies and make additions to the framework without touching any of its internals. Further, the documentation now has in-depth explanations on the public AND private API. Other The graphs now have a GraphType subclass - essentially, graphs can now be added to or removed by the user if this is desired. This eliminates the hardcoding and confusing behavior that the graphs had prior to this change. Unit tests created for just about everything that needs it. General maturing of the framework, whether that be creating modular components, exposing or hiding certain details from the user, or creating docstrings for the public and private API. That’s all. This will likely be my last devlog before shipping for the final time. I’m praying to the Gods of Stardance that I can get a 3d printer! We’ll see.
Ships:
Contango Have you ever wanted to create strategies programmatically for the stock market, cryptocurrencies, or anything else related to trading?! Maybe not… But I have! So, what is Contango? Contango is a full trading engine that allows you to make strategies in Python without worrying about any potential biases in your workflow. Instead of focusing on simulation, metrics, results, and graphs, you can avert your focus solely to the quality of the strategies you create. Strategies - what do they look like? Strategies are a part of an event-driven engine. This means that they receive and react to events that are released from a “mode”. A “mode” is anything that handles the logic of the event bus and/or engine - backtesting, live trading, etc. An example of a strategy: class MyStrategy ( Strategy ): """ A very simple strategy outline - not all logic is included. """ def on_market_event ( self , event : MarketDataEvent ) -> None : # Strategy market logic here def on_end ( self ) -> None : ... Results Contango processes the raw events emitted from your strategy and converts them to metrics. These metrics are then used to produce seven unique graphs. Each of these graphs tell you something unique about the strategy, whether it be profitability, risk, drawdown, consistency, win rate, etc. For most modern workflows, this is enough; however, all modules are cleanly decoupled from each other, so raw events or raw metrics can be processed & analyzed however you would like. Challenges Challenges: A massive learning curve. I’ve spent probably 50 hours or more just researching and absorbing the information used in this project. Packaging was difficult to get right, whether it be “missing type stub” warnings or incorrect rendering of my README.md. Documentation was terrible to write. Spending large amounts of time writing English words instead of code that accomplishes something was extremely tedious, yet completely necessary for a shipped project like this. I’m proud of this project Genuinely, this is one of the first big project I’ve ever made. I have never released anything to PyPI, nor shipped something of this scale before. Hackatime only shows 22 hours since I set it up partway through, but Contango’s been my main project since June, and it’s the second largest thing I’ve built. Usage The GitHub has detailed instructions, demos, videos, and more; however, since it’s so short, here is how to install the project & run the built-in demo from any python IDE: pip install contango python -m contango.research.research_strategies.bollinger_band_mean_reversion.runner Final Notes I’ve had a lot of fun with this project, and I hope anyone who sees this enjoys it just as much as me. Happy coding!
Contango I built a Python framework for quantitative research of trading strategies, whether it be backtesting them, tuning parameter combinations, or turning the results into graphs that can easily reveal profitability/risk in strategies. It started as solely a backtesting framework, but it has grown into an entire suite for optimization and analysis. The latest release, v0.1.1, is now on PyPI. What it is It is an event-driven trading framework with two ways to build strategies. Strategy gives you complete control over the framework, while RuleBasedStrategy provides a higher-level interface for expressing trading rules with less boilerplate. On top of that is the research tooling. Contango can run Cartesian parameter sweeps, evaluating every combination of selected parameters rather than forcing you to manually run a strategy over and over. That makes it possible to take a strategy idea and view a whole parameter space in one run. Market data is handled through a local repository that caches OHLCV data, so repeated experiments don’t need to keep downloading the same data. This permits for offline usage once data has previously been downloaded. Yfinance (a data provider) works without setup or an API key, while the data provider system is designed so additional providers can be added without touching codebase’s internals. Possibly the most important part is the graphs. Equity curves, drawdowns, trade-quality metrics, parameter distributions, risk/return views, and more can be generated from the results of a research run. However, the goal isn’t just to analyze the amount of profit the strategy returns. Instead, it’s to make the behavior of the strategy visible by exposing a variety of different risk/trading/drawdown metrics, revealed clearly in the generated graphs. What was hard I spent a lot of time separating components, defining cleaner interfaces (modularity), and deciding where abstraction was beneficial rather than just adding redundancy and boilerplate. The parameter optimization system was another massive difficulty to create. A Cartesian sweep sounds simple on paper; however, the question arises: how do you distinguish all of the strategies from each other? My initial solution was to display all of the parameters for each strategy, but this ended up with strategy names that were way too large to render. Lastly, documentation ended up being much more work than I expected. I wanted someone to be able to use Contango without having to understand how its internals work first, while still having enough documentation available for someone who actually wants to extend the framework. What I’m proud of The part I’m happiest with is that Contango now feels genuinely easy to use after a small learning curve. You can write a strategy, point it at market data, sweep its parameters, and get a collection of research results and visualizations without having to manually glue all of those pieces together. The other thing I’m proud of is the amount of attention that I put into making the project understandable. The public API is documented, the internal API is documented, components have been modularized, and there are now unit tests for essentially everything that needs them. It’s not finished in the sense that no software ever is, but it finally feels complete. How to test it Install it from PyPI: pip install contango Then run the included research demo: python -m contango.research.demo_strategies.cartesian_bollinger_strategy.runner The demo runs a Bollinger Band strategy across a Cartesian grid of parameters and generates performance and parameter-analysis graphs (HTML) that can be reviewed. I want to thank Stardance for this experience - the opportunity to build software while earning rewards and be in such a welcoming community is amazing to me. I’m looking forward to future work with Hackclub!...
|
1792849921.0409572
|
1792936321.0409572
|
|
41467
|
#XOPAD by @myreester | Stardance
|
myreester
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-29T16:22:53Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I Wanted to make a macropad called #XOPAD.This macro pad take a whole week to make. Actually this project was a made i an another account due to a problem .", "repo": "https://github.com/the-projecter/macropad", "demo": ""}]...
|
[{"post_id": 37104, "ts": "202 [{"post_id": 37104, "ts": "2026-07-29T16:09:23Z", "hours": 0.2503, "text": "hello,I am a 14 year old from india.I mad this macropad called #XOPAD.I know it looks bad but my pc dont support blender and can you give suggestions how to make it look good."}]...
|
Title: #XOPAD by @myreester | Stardance
Devlogs:
Title: #XOPAD by @myreester | Stardance
Devlogs:
hello,I am a 14 year old from india.I mad this macropad called #XOPAD.I know it looks bad but my pc dont support blender and can you give suggestions how to make it look good.
Ships:
I Wanted to make a macropad called #XOPAD.This macro pad take a whole week to make. Actually this project was a made i an another account due to a problem ....
|
1792849920.1228619
|
1792936320.1228619
|
|
41460
|
Finger Tracking with TouchDesign by @wal | Stardan Finger Tracking with TouchDesign by @wal | Stardance...
|
wal
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-31T15:05:04Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A TouchDesigner project that detects my 2 thumbs and index fingers, and makes a “box” between them all, inside which there can be a specific effect. I went with pixelated style with cool colours. The cool thing is that its my first project on TouchDesigner overall, so im happy with the result.", "repo": "https://github.com/walterm4lon-coder/touchdesigner-strdance", "demo": "https://github.com/walterm4lon-coder/touchdesigner-strdance/releases/download/v1.0.0/MediaPipeTouchDesignerSetup.exe"}]...
|
[{"post_id": 38216, "ts": "202 [{"post_id": 38216, "ts": "2026-07-31T14:47:48Z", "hours": 1.3136, "text": "Finished my project! It was super fun, and ill for shure use touchdesigner for more projets, this tool is truly one of a kind for visuals."}, {"post_id": 38105, "ts": "2026-07-31T10:02:41Z", "hours": 2.5831, "text": "Managed to rig the hands and do the tracking of the fingers. For hand-tracking. i used this Git repo: https://github.com/torinmb/mediapipe-touchdesigner Now, the only thing thats left to do is create a cool effect inside it, ill play with the parameters, watch some more tutorials and then finish the project!"}, {"post_id": 37217, "ts": "2026-07-29T19:24:20Z", "hours": 0.9239, "text": "Created my second visual animation, getting the hang of all the nodes! The video did not attach sadly but at least you can see the screenshot from it:)"}, {"post_id": 37033, "ts": "2026-07-29T14:35:20Z", "hours": 0.8856, "text": "Welcome to my first TouchDesign project! I started with learning some basics of touchdesign using a yt tutorial: https://www.youtube.com/watch?v=qbupHTeJCeU&t=6516s Enjoying so far!"}]...
|
Title: Finger Tracking with TouchDesign by @wal | Title: Finger Tracking with TouchDesign by @wal | Stardance
Devlogs:
Welcome to my first TouchDesign project! I started with learning some basics of touchdesign using a yt tutorial: https://www.youtube.com/watch?v=qbupHTeJCeU&t=6516s Enjoying so far!
Created my second visual animation, getting the hang of all the nodes! The video did not attach sadly but at least you can see the screenshot from it:)
Managed to rig the hands and do the tracking of the fingers. For hand-tracking. i used this Git repo: https://github.com/torinmb/mediapipe-touchdesigner Now, the only thing thats left to do is create a cool effect inside it, ill play with the parameters, watch some more tutorials and then finish the project!
Finished my project! It was super fun, and ill for shure use touchdesigner for more projets, this tool is truly one of a kind for visuals.
Ships:
A TouchDesigner project that detects my 2 thumbs and index fingers, and makes a “box” between them all, inside which there can be a specific effect. I went with pixelated style with cool colours. The cool thing is that its my first project on TouchDesigner overall, so im happy with the result....
|
1792849919.2405438
|
1792936319.2405438
|
|
41459
|
IDO BOT! by @myreester | Stardance
|
myreester
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-29T16:37:06Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made slack bot which responds to me. it was kinda hard.", "repo": "https://github.com/PEAKAKAME/IDO-BOT_", "demo": "https://www.youtube.com/watch?v=H3I4fMrjelg"}]...
|
[{"post_id": 37118, "ts": "202 [{"post_id": 37118, "ts": "2026-07-29T16:32:53Z", "hours": 0.2667, "text": "MY slack bot"}]...
|
Title: IDO BOT! by @myreester | Stardance
Devlogs Title: IDO BOT! by @myreester | Stardance
Devlogs:
MY slack bot
Ships:
I made slack bot which responds to me. it was kinda hard....
|
1792849918.342283
|
1792936318.342283
|
|
16918
|
Aperture Online Store by @NexBlade-Studios | Stard Aperture Online Store by @NexBlade-Studios | Stardance...
|
NexBlade-Studios
|
1
|
24.0
|
284
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-20T18:58:19Z", "hours": 24.0, "multiplier": 11.69, "payout": 284, "blessing": "neutral", "text": "I have created Aperture Online store, which is a fictional website that sells items from the Portal franchise as if they were real products. I came up with this idea initially as part of a school project, but it slowly expanded beyond that and became a fully fledged website. I themed the website around the signature Aperture Science design, with its dull greys and bright white surfaces. I even made sure to add a custom cursor and favicon to match the design. I thought it would be more interesting if I add some humour and charm so I made sure to include lots of references to the Portal franchise throughout, especially in the reviews section where I have some of the characters from the game giving reviews on products. I also made sure to implement responsive design so whenever the page is resized or viewed on a different device, the key information is always visible. Overall, the experience was quite a fun one, since it not only improved my website design skills but I also got to research deeper into the backstory of the Portal franchise.", "repo": "https://github.com/NexBlade-Studios/Aperture-Online-Store", "demo": "https://nexblade-studios.github.io/Aperture-Online-Store/index.html"}]...
|
[{"post_id": 51207, "ts": "202 [{"post_id": 51207, "ts": "2026-08-20T18:48:52Z", "hours": 7.1514, "text": "The website is finally complete! This last chunk of progress has been about rounding out the final features. Particularly working on responsive design which is something that I am not very experienced with, so it was interesting to see the different strategies I had to use in order to best represent the information while also maintaining the visual style of the website. Getting the website to this point has been a really amazing opportunity to work on my website design skills which I hope to apply more in the future."}, {"post_id": 50388, "ts": "2026-08-19T15:36:16Z", "hours": 3.6647, "text": "I’m in the final stretch of development now, with the completion of the product pages and the about section. The website is really feeling like something that could be found in the Portal universe, but again if there’s anything you think I should add please let me know."}, {"post_id": 46265, "ts": "2026-08-13T11:48:17Z", "hours": 9.0111, "text": "The project has been moving along quite nicely, although it has been a while since I have made a devlog. I have been working on perfecting the aesthetic of the product page, which is the key part of the website. For that, I recreated the test chamber sign, making it act as the label for the product, with each of the symbols representing actions related to it. I have also added a short description taking inspirations and dialogue snippets from various Portal media. The main thing that has inspired this is the Aperture Investment Opportunity videos where some of the products I am “selling” were also shown. Please give some ideas on what I should add to the website!"}, {"post_id": 11590, "ts": "2026-06-18T21:34:01Z", "hours": 4.4481, "text": "This is my first devlog for Aperture Online Store, a website I am developing where the fictional items from the Portal universe are sold as if they were real commercial products. Before starting I already had the majority of the main homepage and top header created. What I aimed to add was a reviews page where you could really see the personality of characters like GLADOS and Wheatley. I kept Chell’s review blank because… well she can’t talk however it does look a bit empty so if you have any ideas how I could make it better let me know. I have some big plans for this website’s future, so be sure to send feedback and drop a follow."}]...
|
Title: Aperture Online Store by @NexBlade-Studios Title: Aperture Online Store by @NexBlade-Studios | Stardance
Devlogs:
This is my first devlog for Aperture Online Store, a website I am developing where the fictional items from the Portal universe are sold as if they were real commercial products. Before starting I already had the majority of the main homepage and top header created. What I aimed to add was a reviews page where you could really see the personality of characters like GLADOS and Wheatley. I kept Chell’s review blank because… well she can’t talk however it does look a bit empty so if you have any ideas how I could make it better let me know. I have some big plans for this website’s future, so be sure to send feedback and drop a follow.
The project has been moving along quite nicely, although it has been a while since I have made a devlog. I have been working on perfecting the aesthetic of the product page, which is the key part of the website. For that, I recreated the test chamber sign, making it act as the label for the product, with each of the symbols representing actions related to it. I have also added a short description taking inspirations and dialogue snippets from various Portal media. The main thing that has inspired this is the Aperture Investment Opportunity videos where some of the products I am “selling” were also shown. Please give some ideas on what I should add to the website!
I’m in the final stretch of development now, with the completion of the product pages and the about section. The website is really feeling like something that could be found in the Portal universe, but again if there’s anything you think I should add please let me know.
The website is finally complete! This last chunk of progress has been about rounding out the final features. Particularly working on responsive design which is something that I am not very experienced with, so it was interesting to see the different strategies I had to use in order to best represent the information while also maintaining the visual style of the website. Getting the website to this point has been a really amazing opportunity to work on my website design skills which I hope to apply more in the future.
Ships:
I have created Aperture Online store, which is a fictional website that sells items from the Portal franchise as if they were real products. I came up with this idea initially as part of a school project, but it slowly expanded beyond that and became a fully fledged website. I themed the website around the signature Aperture Science design, with its dull greys and bright white surfaces. I even made sure to add a custom cursor and favicon to match the design. I thought it would be more interesting if I add some humour and charm so I made sure to include lots of references to the Portal franchise throughout, especially in the reviews section where I have some of the characters from the game giving reviews on products. I also made sure to implement responsive design so whenever the page is resized or viewed on a different device, the key information is always visible. Overall, the experience was quite a fun one, since it not only improved my website design skills but I also got to research deeper into the backstory of the Portal franchise....
|
1792849917.2143445
|
1792936317.2143445
|
|
39425
|
My own site! by @ag525 | Stardance
|
ag525
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-04T03:31:50Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "i made my site a little bit better with the css, i looked at guides and was playing around and found my style. i also added a bit more stuff about myself", "repo": "https://github.com/gnay2f/my-personal-site", "demo": "https://gnay2f.github.io/my-personal-site/"}]...
|
[{"post_id": 35843, "ts": "202 [{"post_id": 35843, "ts": "2026-07-27T15:20:50Z", "hours": 0.4019, "text": "i am working on my website and it explains stuff/facts about me :D"}]...
|
Title: My own site! by @ag525 | Stardance
Devlogs Title: My own site! by @ag525 | Stardance
Devlogs:
i am working on my website and it explains stuff/facts about me :D
Ships:
i made my site a little bit better with the css, i looked at guides and was playing around and found my style. i also added a bit more stuff about myself...
|
1792849916.3367815
|
1792936316.3367815
|
|
32292
|
Cozy cafè demo by @dragoncat404 | Stardance
|
dragoncat404
|
2
|
69.0
|
623
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-07T20:10:23Z", "hours": 34.0, "multiplier": 5.4, "payout": 183, "blessing": "neutral", "text": "Hi, this is the second ship for my game cozy cafe. This version adds a lot of features, and bug fixes, altough it’s more boring compared to the last one because of some drastic changes I made that will benefit the game in the next version. The most challenging thing in this version was making the shift system that makes the player able to play the game for an undefined amount of time. The most time consuming thing to do was the new drink since the way I made drinks work sucks, it’s very unnecessary complicated. The thing I’m very proud of is the end of shift summary sequence and the drawing, I can’t even describe with words how much I’m proud of it (especially the drawing) Before you play the project and rate it you should know that I’m aware that the game-loop is boring, in the next version I’m gonna change the game loop so that your view is from behing the counter and change a lot of things (kinda like in great pizza good pizza). If you would like to leave feedback of any kind like what you would like to see in the next version, suggestion on new drinks or upgrades feel free to tell them I’ll try to implement all of them as best as I can. In the next version I’m gonna try to also do a tutorial but I can’t promise anything. I don’t have any screenshots that can represent the project in action, so here you go the GIF from github and a picture of cozy, the games mascot", "repo": "https://github.com/Dragon-cat98/Cozy-cafe-demo", "demo": "https://dragoncat420.itch.io/cozy-cafe-demo"}, {"ship_num": 2, "ts": "2026-08-04T18:54:08Z", "hours": 35.0, "multiplier": 12.47, "payout": 440, "blessing": "neutral", "text": "I made a cozy game where you manage a coffe shop in the forest. The most challenging part of making the game was the coffe making mechanic and everything related to it, because there was a lot of problems and there weren’t many tutorials that were useful, so I had to think of ideas and re-think those ideas when they didn’t work. The thing I’m the most proud of is the game art since I’m not the best at drawing, and I think it turned out really well, but the main menu Background is my favourite that I made. This game is a demo and has a really short gameplay(10 min), for the next version I have a lot of things I want to add they’re all written in my notebook, and since the core mechanics are already made adding new features is gonna be easier. The project can be both played in browser on itch.io and be downloaded on itch.io(the instructions on how to install are both on itch and the github readme). Since the controls are mouse and click it can be kinda played on mobile, just that the resolution isn’t made for mobile, but it’s playable", "repo": "https://github.com/Dragon-cat98/Cozy-cafe-demo", "demo": "https://dragoncat420.itch.io/cozy-cafe-demo"}]...
|
[{"post_id": 63765, "ts": "202 [{"post_id": 63765, "ts": "2026-09-07T18:42:17Z", "hours": 3.6419, "text": "Hey everyone, this is the last devlog before shipping the project for the second time. Since last time I’ve done some touch ups like Making some art for the game like the lock so that people understand that it’s locked behind the completion of day 2 Changing the “¥” symbol with a custom made icon Adding the description to the Items in the shop ecc. fixed a bug where the fade in and out effect for starting a new shift would be way too long fixed all the minor bugs that we’re making the playing the uncomfortable had to disable the custom cursor because it would look giant in the actual build of the game And that should be it, I may have forgot something but please forgive me, I finished my notebook where I would write down all the stuff I did Thanks everyone for the support, I can’t wait to rebuild the new gameloop"}, {"post_id": 62376, "ts": "2026-09-05T18:21:25Z", "hours": 9.6569, "text": "Hey Everyone! you might already hev guessed it, The 10 hour limit is very close so I’m making a devlog. things done since last one finished making the shift system in it’s entirety(even if it’s still a bit buggy) the shift system also resets the customers position I’m adding a shop for after the shift where you can buy the drinks and upgrades upgrades and drink upgrades have been moved to the shop (I know it’s a drastic decision but I’ll explain why at the end) I made the art for the end of the shift summary, I’m super proud of it it looks way too good I locked the Orange juice behind the completition of day 2 made the start new shift system I’ve also fixed some leftover bugs from the time system of the shift system done the fade in fade out effect, that I need to tweeak because in some areas it takes too much time explanations I’ve moved the upgrades to the new shop area because after I ship the new version I’ll rework completely the gameplay, if anyone has ever played good pizza, great pizza is going to be familiar with the gameplay, I’ll change the look of it so that you see behing the counter, this is going to make the game way easier to manage and more fun, since this way the customer are going to be a lot easier to implement, and the drink making process is going to be more fun. Hope you’ll understand my decision, I’ve spoken to my friend that also does game dev and he said it’s a good idea. Now the gameplay is more boring? sure but in the next ship it’s going to be (hopefully) a completely different game P.S. the videos aren’t everything I added."}, {"post_id": 58834, "ts": "2026-08-31T12:42:53Z", "hours": 9.4953, "text": "Hey everybody, Sorry if I again went on radio silence but I was partecipating in the brackey game jam 2026.2 with jame gam. Anyways as always I’m being forced to post because of the 10 hour limit so some things are WIP what I’ve done I’ve read the feedback from the ship and a lot of people wanted a tutorial at the start, for now I can’t do that since the game is still in rough shape , but I added a tooltip so that people hopefully understand better how to play Now I’ve got some bad news, in this version I won’t be able to add the custom music changer I talked about in the last devlog, simply because it’s very hard and I couldn’t find any useful tutorials, hopefully in the next version I’ll be able to add it, I’ve like spent 3 hours searching ways to do it but I can’t figure it out I’m adding a shift system where you complete the day and it gives you all the statistics of the day, and maybe I’ll re-work the upgrade feature so that you can upgrade only after the shift ends and maybe add something like rush hour at certain hours, but to do that I’ll need to rework hoe the customers work thanks for the feedback I want to say thank you to all the people that gave feedback to the game I’ll try implementing your feedback, and also thanks for all the comoliments for the game I appreciate it very much Now I’m going back to work see you in the next devlog"}, {"post_id": 45382, "ts": "2026-08-11T19:59:49Z", "hours": 2.2286, "text": "After the last devlog I’ve finished the new drink feature and done some other things, so here’s what Changed: I’ve finished the New drink feature and implemented it with the game I’ve finished the menu where you have to purchase the drinks before having the option to make them, when I’ll add new drinks I’ll put having purchased the previous drink as a requirement to unlock the next one I’ve added a custom cursor I’ve solved the bug where when you dragged an object the object would’nt follow the cursor exactly and would just fly forward, turns out the canvas that was being used was changing into the wrong one since it was manually put in, I’ve changed it to automatically assign the canvas now at the start the kitchen is empty and by purchasing the coffe drink that makes appear the utensils to make coffe Now the next thing to implement is more SFX and other kinds of tracks , I’ll be adding something cool to change the music that’s playing and give the option to import songs to play, this will be the next feature along with some UI improvements like some animations for the menus . I won’t tell yet what the thing to change the music is, because first I want to see if it’s doable Anyways I wont’t be able to work on the game for a few days, because I’ll be away from home and won’t have internet access, but I’ll be doing some redesigns of the game art on my sketchbook during the time being and also researching if the feature can be done."}, {"post_id": 45114, "ts": "2026-08-11T12:13:00Z", "hours": 8.9111, "text": "I’m being forced to post because of the 10h limit this is still work in progress For now since the last post I’ve done: The new drink with all the filling and serving functions Added the new drink as a possible order for the customer added a menu where you purchase the new drinks added a dropdown to select the drink you want to make As I expected adding the new features with the core game logic already done is much easier, I stilll run into bugs but I fix them way more easily, after finishing implementing the drink feature I think I’ll improve the UI, but after that I have to decide on what to do since I do have an idea but I don’t know how long it will take to add and if it’s even worth it, anyway I’ll go back to finishing the new feature"}, {"post_id": 40854, "ts": "2026-08-04T17:20:31Z", "hours": 4.6403, "text": "Hey everyone this is the last devlog of the demo for cozy cafe because the demo version is finished. The last things that I’ve done before finishing it were: -solving some leftover minor bugs -Fixed the random customer skin change because the one customer would have the same skin as the other customer -I’ve made the main menu for the game -I’ve added music to the game -I’ve adde an SFX for when the customers pay For the next version of the game I’ve got a lot of ideas wrote in my notebook, and since the core logic of the game has already been made, these additions should be easy to add, since most of them are visual changes and adding features to already existing mechanics"}, {"post_id": 36471, "ts": "2026-07-28T16:36:15Z", "hours": 9.8586, "text": "Hi everyone, sorry for the radio silence but I was perticipating in the GMTK2026. I’m being forced to post because of the 10h limit, I’ve done a lot of things since the last devlog. I’ve: -Done the core game mechanic of preparing the coffes -Done a LOT of game art, I think I finished all the art for now -I fixed the leftover bugs, now the current version is bug free (I think), they were a lot and many were time consuming -I implemented a random skin change for the customer so that the customer doesn’t feel repetitive I know I’ve said I’ve done a lot of things, but the great majority of the things done were bug fixes and it would take a lot to list them all"}, {"post_id": 30247, "ts": "2026-07-17T17:48:45Z", "hours": 9.6956, "text": "In the last few days I focused on Adding one of the core features of the game and also solving problems about UI and code not collaborating: -I added the new feature that I’ll be expanding in the next few days, for now you prepare the coffes by clicking the button then take the coffes and drag them with the mouse to the white square that sends them to the shelf and increases the counter, by using the third upgrade you can increase the amount of coffes you can make and have on the shelf at the same time, in the next days I’ll be focusing on making art for the game -I drew and added the new coffe shop art -I added a drag&drop system for the kitchen panel -Added the third upgrade with it’s related info, and added real time upgrade prices in the info panel -While making the kitchen panel feature I ran in a logic problem that afer a lot of hours spent trying many ways to fix it, I had to ask claude to help me fix it, the AI actually came up with a genius solution to the problem since my logic for the bool variable was a total mess that I don’t even know how it got so messy -I fixed a bug where if both customers where near the shop you could only serve the one on the right, it was a simple fix, the two canvas where only overlapping eachother -I had to give up the idea of the coffes directly moving on the shelf after preparing them because of transform issues, and use a coffe counter that’s displayed on the shelf, however I like how it turned out -I changed the font to one that Augie from jame gam made, I think it turned out great -It might look like I didn’t do much for having 9h for this devlog, but I swear the problems where mainly caused by addding the new features because the UI just wouldn’t collaborate I geniuenely spent half of the logged time triying to make it work,in the end I asked claude for help and he came up with a genius solution(in my opinion). As I said earlier, I also spent a lot of time triying to make the phisical coffes appear on the shelf but I think the solution i found withe the counetr is better."}, {"post_id": 26822, "ts": "2026-07-11T20:43:58Z", "hours": 2.5356, "text": "Hi everyone, Today I again focused on the UI: -I gave text to the upgrade buttons by giving information on what levek they where, I also made (in my opinion) a pretty good sistem for changingthe level etxt as you upgarde -I added a button that gives information about what each upgrade does, in the future I want show the information by just hovering over the upgrade button -I implemented a feature that my friend suggested, when customers are leaving, above their heads gets displayed how much they’ve payed, this feature wasn’t too easy to program, because I again had to find a way for the game to know when the customer was leaving, but I always haev fun programming these things because I learn a lot of ways, like the fact that if you use a while() loop in the update function, when you press play unity freezes, anyway that wasn’t the real issue, the real issue is that while wanting to delete a gameobject taht I didn’t need, I accidentally deleted the SCRIPTS FOLDER, I panicked when I saw the message and I clicked “cancel” but it was too late, after failing at trying to save the files that I had in VS code, I was about to go retrieve my github code and lose hours of todays progress + hours setting up again the scripts, but then I remembered that if you delete something in unity on windows, the thing doesn’t get totally deleted but goes to the trash bin, so I went to the trash bin with hope and succeded, I restored the folder and magically in unity everything went back to it’s original position, I think I lost 10 years of life by this problem -On the good side I found a super cool font made by Augie from hackclub, she’s the one that runs tha jame gam on slack"}, {"post_id": 26194, "ts": "2026-07-10T21:06:53Z", "hours": 2.7431, "text": "Today i focused on improving the games UI: -I fixed the problem of the ballon by using a UI image and changing it’s sprite(before i has the ballon sprite like a normal game object, to be honest it didn’t take as much as I thought it would to fix this) -The most time was spent making the second upgrade work, because it was a pain understanding the logic to implement the upgrade, wich shortens the time of customers arriving, but it was actually very fun implementig this upgrade bevause I had to think of workarounds around the problems that were coming up -quick side note: in the first devlog i was saying how cool it was VS code autocompletition, quick update it’s starting to piss me off because it’s suggestions aren’t very helpful when i’m implementing totally new features -I added a pause button, wich wasn’t really simple but it’s because I kept getting distracted when setting it up in the UI -added a window that opens and shows a red panel, tomorrow I’ll tell what’s it for -lastly I sent my friend a quick demo to playtest so he can give me some ideas, best decison ever, he gave me some amazing suggestions and gave me inspiration for some other ideas, I did it because I didn’t know what else to add, I hope tomorrow I’ll be able to add some of the ideas"}, {"post_id": 25508, "ts": "2026-07-09T20:30:43Z", "hours": 3.6728, "text": "Today I: -added UI that displays the amount of money you have -Added a very simple ballon that displays a button wich makes you serve the customer -Added one upgrade that increases the money you get from selling, when adding this the panel behind the button kept disappearing when serving the customers, and then I freaked out because the customers weren’t moving after the order, i spent something like 45-50 minutes trying to understand why, in the end somehow the panel of the upgrade somehow ended up in the gamemanagers code, where it should have been the customers ballon panel -added a limit to the amount you could upgrade the shop -then I spent like 30 minutes trying to make a second customer, using the same script as the first one, in the and I made a new script because the previous script was connected to the other scripts and it would have taken too long to do rather than a new script(wich still took long to setup with the other logic in the game), but in the future I hope to find a way to optimize creating new customers by making it easier -after like an hour of me starting todays work when setting up the ballons and trying them by running some playtests, I ran into the most timewasting problem I’ve encountered for now, wich was so stupid but at the same time so frustrating, during the playtests when changing the game window size evrything going out of place especially the buttons and the ballon, I spent most of the time trying what was the problem then I realized that I didn’t change the canvas scale mode to “scale eith screen size”, it doesn’t need to eb said that I felt very dumb after that(I still don’t know why but the ballon + the button still give me problems) -in the next devlog I hope to: fix the ballon problem and to improve it, complete the upgrade list by adding at least 2/3 upgrades"}, {"post_id": 24863, "ts": "2026-07-08T18:30:08Z", "hours": 2.1375, "text": "-Did basic customer logic -Spent 30 minutes trying to understand why the collision trigger didn’t work, discovered that i also needed at least 1 rigidbody 2D -Discovered better ways to exchange data between scripts -Was surprised about how accurate is Visual Studio code auto completition -Unfortunately I only did only the customer basic logic(very basic) because of the time it took to fix all the errors and functions -Next devlog I hope to add a UI that displays Data and implement the game loop by adding upgrades"}]...
|
Title: Cozy cafè demo by @dragoncat404 | Stardance Title: Cozy cafè demo by @dragoncat404 | Stardance
Devlogs:
-Did basic customer logic -Spent 30 minutes trying to understand why the collision trigger didn’t work, discovered that i also needed at least 1 rigidbody 2D -Discovered better ways to exchange data between scripts -Was surprised about how accurate is Visual Studio code auto completition -Unfortunately I only did only the customer basic logic(very basic) because of the time it took to fix all the errors and functions -Next devlog I hope to add a UI that displays Data and implement the game loop by adding upgrades
Today I: -added UI that displays the amount of money you have -Added a very simple ballon that displays a button wich makes you serve the customer -Added one upgrade that increases the money you get from selling, when adding this the panel behind the button kept disappearing when serving the customers, and then I freaked out because the customers weren’t moving after the order, i spent something like 45-50 minutes trying to understand why, in the end somehow the panel of the upgrade somehow ended up in the gamemanagers code, where it should have been the customers ballon panel -added a limit to the amount you could upgrade the shop -then I spent like 30 minutes trying to make a second customer, using the same script as the first one, in the and I made a new script because the previous script was connected to the other scripts and it would have taken too long to do rather than a new script(wich still took long to setup with the other logic in the game), but in the future I hope to find a way to optimize creating new customers by making it easier -after like an hour of me starting todays work when setting up the ballons and trying them by running some playtests, I ran into the most timewasting problem I’ve encountered for now, wich was so stupid but at the same time so frustrating, during the playtests when changing the game window size evrything going out of place especially the buttons and the ballon, I spent most of the time trying what was the problem then I realized that I didn’t change the canvas scale mode to “scale eith screen size”, it doesn’t need to eb said that I felt very dumb after that(I still don’t know why but the ballon + the button still give me problems) -in the next devlog I hope to: fix the ballon problem and to improve it, complete the upgrade list by adding at least 2/3 upgrades
Today i focused on improving the games UI: -I fixed the problem of the ballon by using a UI image and changing it’s sprite(before i has the ballon sprite like a normal game object, to be honest it didn’t take as much as I thought it would to fix this) -The most time was spent making the second upgrade work, because it was a pain understanding the logic to implement the upgrade, wich shortens the time of customers arriving, but it was actually very fun implementig this upgrade bevause I had to think of workarounds around the problems that were coming up -quick side note: in the first devlog i was saying how cool it was VS code autocompletition, quick update it’s starting to piss me off because it’s suggestions aren’t very helpful when i’m implementing totally new features -I added a pause button, wich wasn’t really simple but it’s because I kept getting distracted when setting it up in the UI -added a window that opens and shows a red panel, tomorrow I’ll tell what’s it for -lastly I sent my friend a quick demo to playtest so he can give me some ideas, best decison ever, he gave me some amazing suggestions and gave me inspiration for some other ideas, I did it because I didn’t know what else to add, I hope tomorrow I’ll be able to add some of the ideas
Hi everyone, Today I again focused on the UI: -I gave text to the upgrade buttons by giving information on what levek they where, I also made (in my opinion) a pretty good sistem for changingthe level etxt as you upgarde -I added a button that gives information about what each upgrade does, in the future I want show the information by just hovering over the upgrade button -I implemented a feature that my friend suggested, when customers are leaving, above their heads gets displayed how much they’ve payed, this feature wasn’t too easy to program, because I again had to find a way for the game to know when the customer was leaving, but I always haev fun programming these things because I learn a lot of ways, like the fact that if you use a while() loop in the update function, when you press play unity freezes, anyway that wasn’t the real issue, the real issue is that while wanting to delete a gameobject taht I didn’t need, I accidentally deleted the SCRIPTS FOLDER, I panicked when I saw the message and I clicked “cancel” but it was too late, after failing at trying to save the files that I had in VS code, I was about to go retrieve my github code and lose hours of todays progress + hours setting up again the scripts, but then I remembered that if you delete something in unity on windows, the thing doesn’t get totally deleted but goes to the trash bin, so I went to the trash bin with hope and succeded, I restored the folder and magically in unity everything went back to it’s original position, I think I lost 10 years of life by this problem -On the good side I found a super cool font made by Augie from hackclub, she’s the one that runs tha jame gam on slack
In the last few days I focused on Adding one of the core features of the game and also solving problems about UI and code not collaborating: -I added the new feature that I’ll be expanding in the next few days, for now you prepare the coffes by clicking the button then take the coffes and drag them with the mouse to the white square that sends them to the shelf and increases the counter, by using the third upgrade you can increase the amount of coffes you can make and have on the shelf at the same time, in the next days I’ll be focusing on making art for the game -I drew and added the new coffe shop art -I added a drag&drop system for the kitchen panel -Added the third upgrade with it’s related info, and added real time upgrade prices in the info panel -While making the kitchen panel feature I ran in a logic problem that afer a lot of hours spent trying many ways to fix it, I had to ask claude to help me fix it, the AI actually came up with a genius solution to the problem since my logic for the bool variable was a total mess that I don’t even know how it got so messy -I fixed a bug where if both customers where near the shop you could only serve the one on the right, it was a simple fix, the two canvas where only overlapping eachother -I had to give up the idea of the coffes directly moving on the shelf after preparing them because of transform issues, and use a coffe counter that’s displayed on the shelf, however I like how it turned out -I changed the font to one that Augie from jame gam made, I think it turned out great -It might look like I didn’t do much for having 9h for this devlog, but I swear the problems where mainly caused by addding the new features because the UI just wouldn’t collaborate I geniuenely spent half of the logged time triying to make it work,in the end I asked claude for help and he came up with a genius solution(in my opinion). As I said earlier, I also spent a lot of time triying to make the phisical coffes appear on the shelf but I think the solution i found withe the counetr is better.
Hi everyone, sorry for the radio silence but I was perticipating in the GMTK2026. I’m being forced to post because of the 10h limit, I’ve done a lot of things since the last devlog. I’ve: -Done the core game mechanic of preparing the coffes -Done a LOT of game art, I think I finished all the art for now -I fixed the leftover bugs, now the current version is bug free (I think), they were a lot and many were time consuming -I implemented a random skin change for the customer so that the customer doesn’t feel repetitive I know I’ve said I’ve done a lot of things, but the great majority of the things done were bug fixes and it would take a lot to list them all
Hey everyone this is the last devlog of the demo for cozy cafe because the demo version is finished. The last things that I’ve done before finishing it were: -solving some leftover minor bugs -Fixed the random customer skin change because the one customer would have the same skin as the other customer -I’ve made the main menu for the game -I’ve added music to the game -I’ve adde an SFX for when the customers pay For the next version of the game I’ve got a lot of ideas wrote in my notebook, and since the core logic of the game has already been made, these additions should be easy to add, since most of them are visual changes and adding features to already existing mechanics
I’m being forced to post because of the 10h limit this is still work in progress For now since the last post I’ve done: The new drink with all the filling and serving functions Added the new drink as a possible order for the customer added a menu where you purchase the new drinks added a dropdown to select the drink you want to make As I expected adding the new features with the core game logic already done is much easier, I stilll run into bugs but I fix them way more easily, after finishing implementing the drink feature I think I’ll improve the UI, but after that I have to decide on what to do since I do have an idea but I don’t know how long it will take to add and if it’s even worth it, anyway I’ll go back to finishing the new feature
After the last devlog I’ve finished the new drink feature and done some other things, so here’s what Changed: I’ve finished the New drink feature and implemented it with the game I’ve finished the menu where you have to purchase the drinks before having the option to make them, when I’ll add new drinks I’ll put having purchased the previous drink as a requirement to unlock the next one I’ve added a custom cursor I’ve solved the bug where when you dragged an object the object would’nt follow the cursor exactly and would just fly forward, turns out the canvas that was being used was changing into the wrong one since it was manually put in, I’ve changed it to automatically assign the canvas now at the start the kitchen is empty and by purchasing the coffe drink that makes appear the utensils to make coffe Now the next thing to implement is more SFX and other kinds of tracks , I’ll be adding something cool to change the music that’s playing and give the option to import songs to play, this will be the next feature along with some UI improvements like some animations for the menus . I won’t tell yet what the thing to change the music is, because first I want to see if it’s doable Anyways I wont’t be able to work on the game for a few days, because I’ll be away from home and won’t have internet access, but I’ll be doing some redesigns of the game art on my sketchbook during the time being and also researching if the feature can be done.
Hey everybody, Sorry if I again went on radio silence but I was partecipating in the brackey game jam 2026.2 with jame gam. Anyways as always I’m being forced to post because of the 10 hour limit so some things are WIP what I’ve done I’ve read the feedback from the ship and a lot of people wanted a tutorial at the start, for now I can’t do that since the game is still in rough shape , but I added a tooltip so that people hopefully understand better how to play Now I’ve got some bad news, in this version I won’t be able to add the custom music changer I talked about in the last devlog, simply because it’s very hard and I couldn’t find any useful tutorials, hopefully in the next version I’ll be able to add it, I’ve like spent 3 hours searching ways to do it but I can’t figure it out I’m adding a shift system where you complete the day and it gives you all the statistics of the day, and maybe I’ll re-work the upgrade feature so that you can upgrade only after the shift ends and maybe add something like rush hour at certain hours, but to do that I’ll need to rework hoe the customers work thanks for the feedback I want to say thank you to all the people that gave feedback to the game I’ll try implementing your feedback, and also thanks for all the comoliments for the game I appreciate it very much Now I’m going back to work see you in the next devlog
Hey Everyone! you might already hev guessed it, The 10 hour limit is very close so I’m making a devlog. things done since last one finished making the shift system in it’s entirety(even if it’s still a bit buggy) the shift system also resets the customers position I’m adding a shop for after the shift where you can buy the drinks and upgrades upgrades and drink upgrades have been moved to the shop (I know it’s a drastic decision but I’ll explain why at the end) I made the art for the end of the shift summary, I’m super proud of it it looks way too good I locked the Orange juice behind the completition of day 2 made the start new shift system I’ve also fixed some leftover bugs from the time system of the shift system done the fade in fade out effect, that I need to tweeak because in some areas it takes too much time explanations I’ve moved the upgrades to the new shop area because after I ship the new version I’ll rework completely the gameplay, if anyone has ever played good pizza, great pizza is going to be familiar with the gameplay, I’ll change the look of it so that you see behing the counter, this is going to make the game way easier to manage and more fun, since this way the customer are going to be a lot easier to implement, and the drink making process is going to be more fun. Hope you’ll understand my decision, I’ve spoken to my friend that also does game dev and he said it’s a good idea. Now the gameplay is more boring? sure but in the next ship it’s going to be (hopefully) a completely different game P.S. the videos aren’t everything I added.
Hey everyone, this is the last devlog before shipping the project for the second time. Since last time I’ve done some touch ups like Making some art for the game like the lock so that people understand that it’s locked behind the completion of day 2 Changing the “¥” symbol with a custom made icon Adding the description to the Items in the shop ecc. fixed a bug where the fade in and out effect for starting a new shift would be way too long fixed all the minor bugs that we’re making the playing the uncomfortable had to disable the custom cursor because it would look giant in the actual build of the game And that should be it, I may have forgot something but please forgive me, I finished my notebook where I would write down all the stuff I did Thanks everyone for the support, I can’t wait to rebuild the new gameloop
Ships:
I made a cozy game where you manage a coffe shop in the forest. The most challenging part of making the game was the coffe making mechanic and everything related to it, because there was a lot of problems and there weren’t many tutorials that were useful, so I had to think of ideas and re-think those ideas when they didn’t work. The thing I’m the most proud of is the game art since I’m not the best at drawing, and I think it turned out really well, but the main menu Background is my favourite that I made. This game is a demo and has a really short gameplay(10 min), for the next version I have a lot of things I want to add they’re all written in my notebook, and since the core mechanics are already made adding new features is gonna be easier. The project can be both played in browser on itch.io and be downloaded on itch.io(the instructions on how to install are both on itch and the github readme). Since the controls are mouse and click it can be kinda played on mobile, just that the resolution isn’t made for mobile, but it’s playable
Hi, this is the second ship for my game cozy cafe. This version adds a lot of features, and bug fixes, altough it’s more boring compared to the last one because of some drastic changes I made that will benefit the game in the next version. The most challenging thing in this version was making the shift system that makes the player able to play the game for an undefined amount of time. The most time consuming thing to do was the new drink since the way I made drinks work sucks, it’s very unnecessary complicated. The thing I’m very proud of is the end of shift summary sequence and the drawing, I can’t even describe with words how much I’m proud of it (especially the drawing) Before you play the project and rate it you should know that I’m aware that the game-loop is boring, in the next version I’m gonna change the game loop so that your view is from behing the counter and change a lot of things (kinda like in great pizza good pizza). If you would like to leave feedback of any kind like what you would like to see in the next version, suggestion on new drinks or upgrades feel free to tell them I’ll try to implement all of them as best as I can. In the next version I’m gonna try to also do a tutorial but I can’t promise anything. I don’t have any screenshots that can represent the project in action, so here you go the GIF from github and a picture of cozy, the games mascot...
|
1792849914.813378
|
1792936314.813378
|
|
14484
|
projekatiOS by @onako | Stardance
|
onako
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-29T20:33:40Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "projekatiOS is a webOS for my personal and other people’s stuff that might be interesting. Currently it is a playground but it’ll develop into a portfolio website once I have more projects to offer. The feature that the guide didn’t list is that you can restart individual apps. What I am proud of: Apps are easy to create (they are essentially iFrames). In case you want to test it out: minimized apps continue to play audio, if you want to stop the audio, reload the app. In case anything breaks, you can reload the app.", "repo": "https://github.com/Onako2/projekatiOS", "demo": "https://nuc.de.majic.rs/projekatios"}]...
|
[{"post_id": 18625, "ts": "202 [{"post_id": 18625, "ts": "2026-06-29T20:26:41Z", "hours": 0.3175, "text": "Add a small description in the readme, yay :)"}, {"post_id": 18606, "ts": "2026-06-29T20:05:03Z", "hours": 1.3803, "text": "Sooo.. There are a few new apps! And you can add your own iFrame as an app now."}, {"post_id": 8428, "ts": "2026-06-14T00:35:16Z", "hours": 0.4336, "text": "The website is deployed now! https://nuc.de.majic.rs/projekatios"}, {"post_id": 8410, "ts": "2026-06-13T23:44:11Z", "hours": 2.1731, "text": "projekatiOS makes creating custom apps easy now! Apps can be isolated and will automatically move to the front when moved."}, {"post_id": 5882, "ts": "2026-06-09T20:48:33Z", "hours": 1.7481, "text": "I might be cooking? Currently doing it contrary to the guide in nextJS haha"}]...
|
Title: projekatiOS by @onako | Stardance
Devlogs: Title: projekatiOS by @onako | Stardance
Devlogs:
I might be cooking? Currently doing it contrary to the guide in nextJS haha
projekatiOS makes creating custom apps easy now! Apps can be isolated and will automatically move to the front when moved.
The website is deployed now! https://nuc.de.majic.rs/projekatios
Sooo.. There are a few new apps! And you can add your own iFrame as an app now.
Add a small description in the readme, yay :)
Ships:
projekatiOS is a webOS for my personal and other people’s stuff that might be interesting. Currently it is a playground but it’ll develop into a portfolio website once I have more projects to offer. The feature that the guide didn’t list is that you can restart individual apps. What I am proud of: Apps are easy to create (they are essentially iFrames). In case you want to test it out: minimized apps continue to play audio, if you want to stop the audio, reload the app. In case anything breaks, you can reload the app....
|
1792849913.6494505
|
1792936313.6494505
|
|
2294
|
KeyBeat by @Faiz | Stardance
|
Faiz
|
1
|
3.0
|
39
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-02T18:02:39Z", "hours": 3.0, "multiplier": 13.08, "payout": 39, "blessing": "neutral", "text": "I made a pretty simple but fun typing game. You type the lyrics of the song on time and earn points (try to rack up combos!). I haven’t used JavaScript in a while so relearning all the syntax and the functions like setInterval was a challenge but once I got used to it, it was super fun! You can play it yourself using the link or add to it through my GitHub repo, its a super simple project, just 3 files :)", "repo": "https://github.com/FaizKhanv7/keybeat", "demo": "https://keybeat-six.vercel.app"}]...
|
[{"post_id": 921, "ts": "2026- [{"post_id": 921, "ts": "2026-06-02T17:39:54Z", "hours": 0.9061, "text": "Added some polish to the KeyBeat game, also Rickroll :)"}, {"post_id": 567, "ts": "2026-06-02T01:56:25Z", "hours": 2.54, "text": "Learning JavaScript :O"}]...
|
Title: KeyBeat by @Faiz | Stardance
Devlogs:
Lear Title: KeyBeat by @Faiz | Stardance
Devlogs:
Learning JavaScript :O
Added some polish to the KeyBeat game, also Rickroll :)
Ships:
I made a pretty simple but fun typing game. You type the lyrics of the song on time and earn points (try to rack up combos!). I haven’t used JavaScript in a while so relearning all the syntax and the functions like setInterval was a challenge but once I got used to it, it was super fun! You can play it yourself using the link or add to it through my GitHub repo, its a super simple project, just 3 files :)...
|
1792849912.776336
|
1792936312.776336
|