|
26576
|
PART 1 PLANT LIFE SUPPORT by @sidthetrue | Stardan PART 1 PLANT LIFE SUPPORT by @sidthetrue | Stardance...
|
sidthetrue
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-28T23:41:30Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A plant growing automation system simulated on an ESP32 using MicroPython on Wokwi. This project is a milestone for my bigger project incorporating hardware and software. It controls a grow light, water pump, mist maker, and soil health indicator using a DHT22 sensor. Something that was challenging was getting all 3 systems to run at the same time without one breaking the others. The water pump originally used a blocking delay which made the heat emergency check go completely blind while it ran. Had to replace it with a non blocking timer so everything stays responsive. I am proud of the LED blink language I created the serial monitor couldn’t work for me and using an LCD screen added too much complexity, so I developed a blink language where each LED has its own pattern that tells you exactly what the system is doing at a glance. For example the heat emergency mode triggers all 4 LEDs at once and locks everything down . Open the demo, hit play, then click the DHT22 sensor and adjust the sliders. Drag temperature above 32°C to trigger the heat emergency. Drag humidity below 65% to activate the mister. Wait about 6 seconds and the pump fires automatically as the soil dries out.", "repo": "https://github.com/siddharthajay01-star/Plant-ICU", "demo": "https://wokwi.com/projects/467922476236614657"}]...
|
[{"post_id": 17956, "ts": "202 [{"post_id": 17956, "ts": "2026-06-28T22:21:31Z", "hours": 0.6869, "text": "Shipping Part 1 of the Smart Desktop Plant ICU Built a full plant automation system on an ESP32 using MicroPython, simulated on Wokwi. The setup is an ESP32 wired to a DHT22 sensor with 4 LEDs representing the hardware a grow light, water pump, mist maker, and a soil health indicator. Instead of a serial monitor I gave each LED its own blink language so you can read the whole system at a glance:— Purple solid = daytime, grow light running— Blue 3 flashes then solid = pump firing a watering burst— Yellow solid = misting because humidity dropped below 65%— Red blinking = soil getting low, pump about to fire— All 4 rapid flash together = heat emergency, everything locks down The code handles 3 systems at once. The watering runs automatically as the soil moisture decays over time. The mister turns on at 65% and only shuts off at 75% prevents the relay from clicking on and off constantly. The grow light follows a day/night cycle and cuts instantly if temperature goes above 32°C.All the safety logic is interlocked the pump is blocked during a heat emergency, and the mister only runs during the day so wet leaves at night don’t cause mold demo https://wokwi.com/projects/467922476236614657 — click the DHT22 sensor and drag the sliders to trigger everything in real time. Part 2 is the physical build — a sealed acrylic cabinet with real sensors, a water pump, and a camera for time lapse photography."}]...
|
Title: PART 1 PLANT LIFE SUPPORT by @sidthetrue | Title: PART 1 PLANT LIFE SUPPORT by @sidthetrue | Stardance
Devlogs:
Shipping Part 1 of the Smart Desktop Plant ICU Built a full plant automation system on an ESP32 using MicroPython, simulated on Wokwi. The setup is an ESP32 wired to a DHT22 sensor with 4 LEDs representing the hardware a grow light, water pump, mist maker, and a soil health indicator. Instead of a serial monitor I gave each LED its own blink language so you can read the whole system at a glance:— Purple solid = daytime, grow light running— Blue 3 flashes then solid = pump firing a watering burst— Yellow solid = misting because humidity dropped below 65%— Red blinking = soil getting low, pump about to fire— All 4 rapid flash together = heat emergency, everything locks down The code handles 3 systems at once. The watering runs automatically as the soil moisture decays over time. The mister turns on at 65% and only shuts off at 75% prevents the relay from clicking on and off constantly. The grow light follows a day/night cycle and cuts instantly if temperature goes above 32°C.All the safety logic is interlocked the pump is blocked during a heat emergency, and the mister only runs during the day so wet leaves at night don’t cause mold demo https://wokwi.com/projects/467922476236614657 — click the DHT22 sensor and drag the sliders to trigger everything in real time. Part 2 is the physical build — a sealed acrylic cabinet with real sensors, a water pump, and a camera for time lapse photography.
Ships:
A plant growing automation system simulated on an ESP32 using MicroPython on Wokwi. This project is a milestone for my bigger project incorporating hardware and software. It controls a grow light, water pump, mist maker, and soil health indicator using a DHT22 sensor. Something that was challenging was getting all 3 systems to run at the same time without one breaking the others. The water pump originally used a blocking delay which made the heat emergency check go completely blind while it ran. Had to replace it with a non blocking timer so everything stays responsive. I am proud of the LED blink language I created the serial monitor couldn’t work for me and using an LCD screen added too much complexity, so I developed a blink language where each LED has its own pattern that tells you exactly what the system is doing at a glance. For example the heat emergency mode triggers all 4 LEDs at once and locks everything down . Open the demo, hit play, then click the DHT22 sensor and adjust the sliders. Drag temperature above 32°C to trigger the heat emergency. Drag humidity below 65% to activate the mister. Wait about 6 seconds and the pump fires automatically as the soil dries out....
|
1793321413.0449498
|
1793407813.0449498
|
|
26584
|
AXEL by @rosandrox | Stardance
|
rosandrox
|
1
|
10.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-28T21:31:21Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a desk buddy that has simulated emotions. It can get angry curious, happy,bored and is somewhat of a nerd.It helps you code better as it is based on the talk to the rubber duck theory wher a passive listener helps you structure your thought. It s name is Axel. It is scared of the dark. It was a chalenging and rewarding process!It realy just started off as a chalenge between myself and I.Iw is costructed of: HC-SRO4 Ultrasonic Sensor Speaker/piezo Servo 180 motor LCD screen Light Dependent Resistor 10kΩ potentiometer (for the lcd screen, you can just use an I2C) Rgb ring (for a visual effect) Breadboard Power Suply for more flexibility 2x9v batteries It has many outputs! And multiple ways of interaction.The video has only some of them so I suggest you take a look at my code and readme from github! I am very proud of this little project. I believe you ll like it too.", "repo": "https://github.com/prodevmod/Axel", "demo": ""}]...
|
[{"post_id": 17820, "ts": "202 [{"post_id": 17820, "ts": "2026-06-28T19:10:44Z", "hours": 1.6669, "text": "I finally coded it and it works I still have to make some last minute changes and it will be ready to ship!!!"}, {"post_id": 17682, "ts": "2026-06-28T16:10:18Z", "hours": 0.8669, "text": "So I officialy finished the hardware.I added a PIR sensor and an Ultrasonic sound sensor.I mapped all the pins and made a list of the components I used Arduino Uno R3 16x2 LCD Display HD44780 10k potentiometer PIR Motion Sensor HC-SR501 Ultrasonic Sensor HC-SR04 SG90 Micro Servo Motor Passive Piezo Buzzer breadboard jumper wires 220 ohm resistor 1000 ohm resistor external 5V power supply… Now I think I am ready for the code (I am NOT READY for this emotional roller coaster)I tested all the components so if anything goes wrpng I ’ll be sure it is a software problem. Also the Assistant might look cheap and too low quality. But it is all I can currently afford. Maybe, maybe if stardance gives me a 3d Printer all my projects will be professional (just kidding(not rly)).See you in the next dev log."}, {"post_id": 17633, "ts": "2026-06-28T14:47:44Z", "hours": 0.7667, "text": "Added the servo motor and the speaker!!"}, {"post_id": 17576, "ts": "2026-06-28T12:51:33Z", "hours": 0.4003, "text": "So I got the Lcd working!I am off to the other components now!!!"}, {"post_id": 17533, "ts": "2026-06-28T11:11:07Z", "hours": 1.4669, "text": "I am having a big trouble with coding. I took apart the assistant to do everything 1 by 1."}, {"post_id": 17235, "ts": "2026-06-27T23:03:18Z", "hours": 1.9669, "text": "SO scraped the whole project and re started from scratch.I added an Lcd screen (didn’t have I2c). Added a tap sensor,a servo motor and a PIR sensor. Also I boversoldered the other speaker and now it doesn’t work so I used a smaller one with two capacitors to smooth out the sound and it is preety neat.Now to the coding!"}, {"post_id": 16863, "ts": "2026-06-27T11:43:15Z", "hours": 0.6833, "text": "So I completed the physical built.I didnt use an LCD cause I dont have I2c one but there will be voice and sound feedback from the companion.While I might change anything I can in the future.Next dev log will be me writing the code and finding out how to wire some parts I never used before."}, {"post_id": 16622, "ts": "2026-06-27T01:18:58Z", "hours": 0.5667, "text": "I finished a big part of the cardboard mvp everything is cut out.Next devlog will feature a photo of the MVP"}, {"post_id": 16600, "ts": "2026-06-27T00:28:11Z", "hours": 0.9169, "text": "I added the basic components and decided I will make an MVP out of cardboard an I ll ship it that way.It will all run on an arduino uno.It is preety neat I ll post pictures from next devlog.Stay tuned!"}, {"post_id": 16554, "ts": "2026-06-26T22:32:10Z", "hours": 0.4503, "text": "So I started on the research of what to do and searched for what i had available.I’ll prob have to buy an i2c lcd screen cause mine is broken. I added a servo and an ultrasonic sensor to the hardware.I am also thinking of putting a tap module.I only have a buzzer i think for sound feedback"}]...
|
Title: AXEL by @rosandrox | Stardance
Devlogs:
So Title: AXEL by @rosandrox | Stardance
Devlogs:
So I started on the research of what to do and searched for what i had available.I’ll prob have to buy an i2c lcd screen cause mine is broken. I added a servo and an ultrasonic sensor to the hardware.I am also thinking of putting a tap module.I only have a buzzer i think for sound feedback
I added the basic components and decided I will make an MVP out of cardboard an I ll ship it that way.It will all run on an arduino uno.It is preety neat I ll post pictures from next devlog.Stay tuned!
I finished a big part of the cardboard mvp everything is cut out.Next devlog will feature a photo of the MVP
So I completed the physical built.I didnt use an LCD cause I dont have I2c one but there will be voice and sound feedback from the companion.While I might change anything I can in the future.Next dev log will be me writing the code and finding out how to wire some parts I never used before.
SO scraped the whole project and re started from scratch.I added an Lcd screen (didn’t have I2c). Added a tap sensor,a servo motor and a PIR sensor. Also I boversoldered the other speaker and now it doesn’t work so I used a smaller one with two capacitors to smooth out the sound and it is preety neat.Now to the coding!
I am having a big trouble with coding. I took apart the assistant to do everything 1 by 1.
So I got the Lcd working!I am off to the other components now!!!
Added the servo motor and the speaker!!
So I officialy finished the hardware.I added a PIR sensor and an Ultrasonic sound sensor.I mapped all the pins and made a list of the components I used Arduino Uno R3 16x2 LCD Display HD44780 10k potentiometer PIR Motion Sensor HC-SR501 Ultrasonic Sensor HC-SR04 SG90 Micro Servo Motor Passive Piezo Buzzer breadboard jumper wires 220 ohm resistor 1000 ohm resistor external 5V power supply… Now I think I am ready for the code (I am NOT READY for this emotional roller coaster)I tested all the components so if anything goes wrpng I ’ll be sure it is a software problem. Also the Assistant might look cheap and too low quality. But it is all I can currently afford. Maybe, maybe if stardance gives me a 3d Printer all my projects will be professional (just kidding(not rly)).See you in the next dev log.
I finally coded it and it works I still have to make some last minute changes and it will be ready to ship!!!
Ships:
I made a desk buddy that has simulated emotions. It can get angry curious, happy,bored and is somewhat of a nerd.It helps you code better as it is based on the talk to the rubber duck theory wher a passive listener helps you structure your thought. It s name is Axel. It is scared of the dark. It was a chalenging and rewarding process!It realy just started off as a chalenge between myself and I.Iw is costructed of: HC-SRO4 Ultrasonic Sensor Speaker/piezo Servo 180 motor LCD screen Light Dependent Resistor 10kΩ potentiometer (for the lcd screen, you can just use an I2C) Rgb ring (for a visual effect) Breadboard Power Suply for more flexibility 2x9v batteries It has many outputs! And multiple ways of interaction.The video has only some of them so I suggest you take a look at my code and readme from github! I am very proud of this little project. I believe you ll like it too....
|
1793306971.1895354
|
1793393371.1895354
|
|
26586
|
Portfolio Web by @Mistermanch | Stardance
|
Mistermanch
|
1
|
9.98
|
25
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-30T19:16:09Z", "hours": 4.0, "multiplier": 5.91, "payout": 25, "blessing": "neutral", "text": "I made a web portfolio in a flipbook style using turn.js, the hardest part was making it work with modern HTML and CSS but in the end we got there", "repo": "https://github.com/Mistermanch/WebPortfolio", "demo": "https://mistermanch.github.io/WebPortfolio/"}]...
|
[{"post_id": 24740, "ts": "202 [{"post_id": 24740, "ts": "2026-07-08T14:50:32Z", "hours": 1.6669, "text": "Did some general bug fixing and added mobile flipbook support, right now it works great for tablets but I think that phones are out of the question, next step will be fixing images on tablet browser as they are sometimes partially hidden"}, {"post_id": 21057, "ts": "2026-07-02T20:43:41Z", "hours": 1.2336, "text": "Made first prototype of logos with physics using Matter.js but nothing is working"}, {"post_id": 20705, "ts": "2026-07-02T11:30:52Z", "hours": 2.55, "text": "Added a new homepage that has emoji icons indicating subpages and has a character that moves in animated way to the subpage, also there is a css star background with flicker animations IT IS STILL IN DEVELOPMENT AND NOT PUBLISHED"}, {"post_id": 19891, "ts": "2026-07-01T10:00:02Z", "hours": 0.53, "text": "Rewrote the full README in order to get my project aproved (Now you can see the video on my Lapse)"}, {"post_id": 19435, "ts": "2026-06-30T19:14:20Z", "hours": 1.9169, "text": "Made final web that is now fully working and looks awesome, some of the features it has is a new click indicator for both images and the first corner that help navigate, new image placing system, fully finished the descriptions of all the projects, made a cutting mat style background for the webpage"}, {"post_id": 19140, "ts": "2026-06-30T11:52:14Z", "hours": 0.4503, "text": "Started Working on the page’s content, I designed collages with photos for every page and did some general bug fixing like the first and last pages animations being broken"}, {"post_id": 18694, "ts": "2026-06-29T21:38:45Z", "hours": 0.7336, "text": "Made working flipbook, it has basic features like page fliping and a tex indicating the page you are on"}, {"post_id": 18425, "ts": "2026-06-29T16:06:50Z", "hours": 1.3686, "text": "Made font and started working on a flipbook style page"}]...
|
Title: Portfolio Web by @Mistermanch | Stardance
Title: Portfolio Web by @Mistermanch | Stardance
Devlogs:
Made font and started working on a flipbook style page
Made working flipbook, it has basic features like page fliping and a tex indicating the page you are on
Started Working on the page’s content, I designed collages with photos for every page and did some general bug fixing like the first and last pages animations being broken
Made final web that is now fully working and looks awesome, some of the features it has is a new click indicator for both images and the first corner that help navigate, new image placing system, fully finished the descriptions of all the projects, made a cutting mat style background for the webpage
Rewrote the full README in order to get my project aproved (Now you can see the video on my Lapse)
Added a new homepage that has emoji icons indicating subpages and has a character that moves in animated way to the subpage, also there is a css star background with flicker animations IT IS STILL IN DEVELOPMENT AND NOT PUBLISHED
Made first prototype of logos with physics using Matter.js but nothing is working
Did some general bug fixing and added mobile flipbook support, right now it works great for tablets but I think that phones are out of the question, next step will be fixing images on tablet browser as they are sometimes partially hidden
Ships:
I made a web portfolio in a flipbook style using turn.js, the hardest part was making it work with modern HTML and CSS but in the end we got there...
|
1793274778.386761
|
1793361178.386761
|
|
26591
|
T to MO by @jo_brain | Stardance
|
jo_brain
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-27T09:58:02Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made an Project that takes Text via BLE and turns them into Morse code including Numbers!", "repo": "https://raw.githubusercontent.com/jobrain1/T-to-MO/refs/heads/master/README.md", "demo": ""}]...
|
[{"post_id": 16740, "ts": "202 [{"post_id": 16740, "ts": "2026-06-27T06:15:17Z", "hours": 1.1389, "text": "I used an ESP32 Wrover that has Bluetooth to turn Text I to Morse Code and show that Morse code with an LED and an Buzzer"}]...
|
Title: T to MO by @jo_brain | Stardance
Devlogs:
Title: T to MO by @jo_brain | Stardance
Devlogs:
I used an ESP32 Wrover that has Bluetooth to turn Text I to Morse Code and show that Morse code with an LED and an Buzzer
Ships:
I made an Project that takes Text via BLE and turns them into Morse code including Numbers!...
|
1793332150.8774464
|
1793418550.8774464
|
|
26610
|
MoSimulator Auto System by @sircheetodust | Starda MoSimulator Auto System by @sircheetodust | Stardance...
|
sircheetodust
|
1
|
5.12
|
39
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-28T20:54:12Z", "hours": 3.0, "multiplier": 11.56, "payout": 39, "blessing": "neutral", "text": "This is my MoSimulator Auto System. It allows user’s to create their own FRC Auto path in MoSimulator via logging key presses and assigning time stamps. User’s can save these Auto paths and even share them with others. Feedback is welcome!", "repo": "https://github.com/word9317/mosimulatorAutos", "demo": "https://github.com/word9317/mosimulatorAutos/releases/tag/Latest"}]...
|
[{"post_id": 27338, "ts": "202 [{"post_id": 27338, "ts": "2026-07-12T20:33:22Z", "hours": 0.3781, "text": "Started working on a method to get controller support working. This works by using hidHide, and adding the program as an exception, and then creating a virtual game pad and relaying inputs from the controller to the fake gamepad."}, {"post_id": 25637, "ts": "2026-07-10T01:28:52Z", "hours": 1.7436, "text": "Minor update with tkinter ui and ability to change keybinds"}, {"post_id": 17819, "ts": "2026-06-28T19:09:51Z", "hours": 1.5533, "text": "I added saving and loading! Auto’s can be shared now but there are a few requirements to run and share your auto’s such as stable framerate and consistent robot positioning. I also updated the readme. All that is left is improving the GitHub repo’s usability"}, {"post_id": 17357, "ts": "2026-06-28T03:22:33Z", "hours": 1.3317, "text": "Added UI and now playback semi-works UI has some broken parts. First run is my play. The second and third are the program’s. The OBS overlay thinks that im pressing the keys since the python program uses keyboard =D https://youtu.be/uFGnG4JAFzI <-testing video"}, {"post_id": 16579, "ts": "2026-06-26T23:30:42Z", "hours": 0.5053, "text": "I just started I made a basic key logger that tracks the keys used on rebuilt 2026 mosimulator. Currently it gives a bunch of detailed info on what keys you pressed"}]...
|
Title: MoSimulator Auto System by @sircheetodust | Title: MoSimulator Auto System by @sircheetodust | Stardance
Devlogs:
I just started I made a basic key logger that tracks the keys used on rebuilt 2026 mosimulator. Currently it gives a bunch of detailed info on what keys you pressed
Added UI and now playback semi-works UI has some broken parts. First run is my play. The second and third are the program’s. The OBS overlay thinks that im pressing the keys since the python program uses keyboard =D https://youtu.be/uFGnG4JAFzI <-testing video
I added saving and loading! Auto’s can be shared now but there are a few requirements to run and share your auto’s such as stable framerate and consistent robot positioning. I also updated the readme. All that is left is improving the GitHub repo’s usability
Minor update with tkinter ui and ability to change keybinds
Started working on a method to get controller support working. This works by using hidHide, and adding the program as an exception, and then creating a virtual game pad and relaying inputs from the controller to the fake gamepad.
Ships:
This is my MoSimulator Auto System. It allows user’s to create their own FRC Auto path in MoSimulator via logging key presses and assigning time stamps. User’s can save these Auto paths and even share them with others. Feedback is welcome!...
|
1793220762.630979
|
1793307162.630979
|
|
26621
|
Personal Blog by @eewdqwdqdwdqdwq | Stardance
|
eewdqwdqdwdqdwq
|
1
|
3.0
|
15
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-28T23:17:23Z", "hours": 3.0, "multiplier": 4.85, "payout": 15, "blessing": "neutral", "text": "https://fifthsol.github.io/blog/ Having a nice blog that reflects my personality and aesthetic preferences is really important to me because the reason I want to start writing in the first place is to properly express myself in my own way. Complete disclaimer, this project is heavily programmed using Claude. However, all design decisions were completely made by me. The goal was to have a solar punk-ish aesthetic with an interactive particle system that I made in a previous tutorial series I followed. I wanted to take it to the next level with my font choices of cinzel decorative for titles, DM sans for the legibility of text, and bitcount for buttons as well as the glassy icons and the CRT screen effect. There’s a lot to go into so I had Claude write a comprehensive features list in the ReadMe but the best way to experience this site is to just visit it and play around with the hero and the buttons yourself. I can’t state this enough but the code is almost all Claude written (I added some additional math to the particle functions but that’s mostly it) this is mostly just a product of my own design tastes if you can see it as that. I am mostly a hardware kind of guy in need of a blog so I wouldn’t blame you if you looked down on this project as a creation as I didn’t write a majority of the code. Thanks for your time!", "repo": "", "demo": ""}]...
|
[{"post_id": 17975, "ts": "202 [{"post_id": 17975, "ts": "2026-06-28T22:43:58Z", "hours": 1.2617, "text": "Final Dev-Log Before Shipping!! Black Hole Mode, Font Changes, Supernova, Placeholder Articles, etc :))"}, {"post_id": 17249, "ts": "2026-06-27T23:30:07Z", "hours": 1.1703, "text": "https://fifthsol.github.io/blog/ I just realized I didn’t include a link in the last devlog lmfao. Here it is! A lot of new features, especially with the stars which you can now drag ur cursor accross to move, there’s a button to reset them as well. It also link to my github and instagram now. Changed the fonts to Cinzel Decorative for headings and title and DM Sans for everything else, no articles yet but… Enjoy!"}, {"post_id": 17156, "ts": "2026-06-27T20:59:27Z", "hours": 0.69, "text": "eqewre"}]...
|
Title: Personal Blog by @eewdqwdqdwdqdwq | Stardan Title: Personal Blog by @eewdqwdqdwdqdwq | Stardance
Devlogs:
eqewre
https://fifthsol.github.io/blog/ I just realized I didn’t include a link in the last devlog lmfao. Here it is! A lot of new features, especially with the stars which you can now drag ur cursor accross to move, there’s a button to reset them as well. It also link to my github and instagram now. Changed the fonts to Cinzel Decorative for headings and title and DM Sans for everything else, no articles yet but… Enjoy!
Final Dev-Log Before Shipping!! Black Hole Mode, Font Changes, Supernova, Placeholder Articles, etc :))
Ships:
https://fifthsol.github.io/blog/ Having a nice blog that reflects my personality and aesthetic preferences is really important to me because the reason I want to start writing in the first place is to properly express myself in my own way. Complete disclaimer, this project is heavily programmed using Claude. However, all design decisions were completely made by me. The goal was to have a solar punk-ish aesthetic with an interactive particle system that I made in a previous tutorial series I followed. I wanted to take it to the next level with my font choices of cinzel decorative for titles, DM sans for the legibility of text, and bitcount for buttons as well as the glassy icons and the CRT screen effect. There’s a lot to go into so I had Claude write a comprehensive features list in the ReadMe but the best way to experience this site is to just visit it and play around with the hero and the buttons yourself. I can’t state this enough but the code is almost all Claude written (I added some additional math to the particle functions but that’s mostly it) this is mostly just a product of my own design tastes if you can see it as that. I am mostly a hardware kind of guy in need of a blog so I wouldn’t blame you if you looked down on this project as a creation as I didn’t write a majority of the code. Thanks for your time!...
|
1793293060.6102834
|
1793379460.6102834
|
|
26635
|
My awesome macropad! by @ierotheos | Stardance
|
ierotheos
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-06T14:37:15Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "IeroPad A simple 3-key macropad built for the most essential shortcuts — Ctrl+C , Ctrl+V , Ctrl+Z and Volume Changer", "repo": "https://github.com/Ierotheos15/IeroPad", "demo": ""}]...
|
[{"post_id": 62949, "ts": "202 [{"post_id": 62949, "ts": "2026-09-06T14:34:50Z", "hours": 1.25, "text": "I finally completed the IeroPad, even though it looks a little weird it still works!"}, {"post_id": 26186, "ts": "2026-07-10T20:46:45Z", "hours": 2.8075, "text": "Added a Rotary encoder for changing the volume and muting"}, {"post_id": 23237, "ts": "2026-07-06T01:58:46Z", "hours": 0.4667, "text": "Just made the assembled CAD, I think it looks pretty nice"}, {"post_id": 20447, "ts": "2026-07-02T01:22:53Z", "hours": 1.1, "text": "Just coded and Compiled the qmk firmware because I forgot, I have only added Ctrl + C Ctrl + V Ctrl + Z"}, {"post_id": 18037, "ts": "2026-06-29T00:26:19Z", "hours": 2.0833, "text": "Devlog 2 What I did Originally modeled the case as one single part had to remake it as 2 separate parts because the PCB wont be able to go in Modeled the 2-part case in Fusion 360 Added my name as engraved text on the case"}, {"post_id": 17692, "ts": "2026-06-28T16:26:03Z", "hours": 2.8667, "text": "Hackpad Devlog A little 3-key macropad, built from scratch. Built a tiny 3-key macropad — PCB, plate, and case, all from scratch. PCB — designed in KiCad, three switches in a column. Plate — generated online, then shaped in Fusion 360. Case — modeled in Fusion 360: sized to fit the PCB, mounting holes, hollowed out, USB cutout on the side. Tricky bits — hidden sketches after extruding, accidentally moving the whole case instead of one part, and figuring out that centering a part isn’t the same as closing the gap around it. What’s left 🎨 Color it Coming up in the next devlog. Status Hardware design: ✅ done"}]...
|
Title: My awesome macropad! by @ierotheos | Starda Title: My awesome macropad! by @ierotheos | Stardance
Devlogs:
Hackpad Devlog A little 3-key macropad, built from scratch. Built a tiny 3-key macropad — PCB, plate, and case, all from scratch. PCB — designed in KiCad, three switches in a column. Plate — generated online, then shaped in Fusion 360. Case — modeled in Fusion 360: sized to fit the PCB, mounting holes, hollowed out, USB cutout on the side. Tricky bits — hidden sketches after extruding, accidentally moving the whole case instead of one part, and figuring out that centering a part isn’t the same as closing the gap around it. What’s left 🎨 Color it Coming up in the next devlog. Status Hardware design: ✅ done
Devlog 2 What I did Originally modeled the case as one single part had to remake it as 2 separate parts because the PCB wont be able to go in Modeled the 2-part case in Fusion 360 Added my name as engraved text on the case
Just coded and Compiled the qmk firmware because I forgot, I have only added Ctrl + C Ctrl + V Ctrl + Z
Just made the assembled CAD, I think it looks pretty nice
Added a Rotary encoder for changing the volume and muting
I finally completed the IeroPad, even though it looks a little weird it still works!
Ships:
IeroPad A simple 3-key macropad built for the most essential shortcuts — Ctrl+C , Ctrl+V , Ctrl+Z and Volume Changer...
|
1793260112.3598633
|
1793346512.3598633
|
|
26640
|
CamOS by @CamoKid | Stardance
|
CamoKid
|
1
|
15.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-15T14:43:32Z", "hours": 15.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "SHIPPPP This is my first official ship for any major(ish) HC project ever I think. Anyways it’s a pretty cool OS and I hope you get time to explore! App Rundown welcome page intro to OS intro to me (CamoKid) terminal 6 cool commands start with -help inspired by OmarOS calculator calc with 4 basic operations and exponents could come handy (who knows) settings wallpaper options (solid colour or image) brightness options music player this is my favourite one 7 of songs that i really like (including Fairytale and From the Start) (psst… did you know I sang From the Start in front of 150 teens at Daydream Sydney?) im thinking of adding more songs and playlists, and prob rewind buttons inspired by MewoOs possible updates for the future: more songs and playlists for the music player more apps like notes, contacts, and maybe calendar fix up some little bugs (if there are any) thank you for reading :)", "repo": "https://github.com/MMS139/CamOS", "demo": "https://mms139.github.io/CamOS/"}]...
|
[{"post_id": 28856, "ts": "202 [{"post_id": 28856, "ts": "2026-07-15T12:27:10Z", "hours": 6.5356, "text": "NEW APPS!! That’s right, new apps ( plural noun: short for applications) settings app: change the wallpaper 7 solid colours and 3 static images change the brightness had to go to desmos and learn the form of an exponential line for this music player: 7 cool songs functioning controls interactive progress bar cool covers inspired by MewoOs more songs (and playlists??) coming soon? other updates: the terminal scrolls now instead of infinitely expanding demo link being added soon next: prob more songs to music player maybe more settings make the latest window appear on top ship!"}, {"post_id": 25935, "ts": "2026-07-10T13:08:41Z", "hours": 1.4728, "text": "new app!! calculator app: calculates (obv) looks pretty cool not much else other updates: taskbar has new updated icons terminal tweaking"}, {"post_id": 24620, "ts": "2026-07-08T10:30:17Z", "hours": 2.7944, "text": "New App! Terminal app: currently 6 unique commands (help, about, time, clear, refresh, quit) looks really cool took a while to code inspired by OmarOS more apps coming soon!!"}, {"post_id": 24046, "ts": "2026-07-07T10:38:30Z", "hours": 1.4028, "text": "Window Updates I fixed up the header bar of the home window so now it has a close button and only the window name. The ‘CamOS’ text and time have been moved to the newly made taskbar at the bottom of the screen. Using the buttons in the taskbar, the windows will be able to open and close. The windows are also draggable now."}, {"post_id": 16734, "ts": "2026-06-27T05:59:31Z", "hours": 1.1792, "text": "Defining the window I’ve now defined my home page window by adding the desktop background, window outline, and window top bar."}, {"post_id": 16695, "ts": "2026-06-27T03:57:24Z", "hours": 0.9706, "text": "More Content and Styling I added more content to my introduction, and formatted the page with some colours and a header."}, {"post_id": 16661, "ts": "2026-06-27T02:43:57Z", "hours": 0.3883, "text": "Basic Content I followed the guide for the custom WebOS and added some basic content to my home page, including my logo, a description of the project, and my socials. The content is still a WIP."}]...
|
Title: CamOS by @CamoKid | Stardance
Devlogs:
Bas Title: CamOS by @CamoKid | Stardance
Devlogs:
Basic Content I followed the guide for the custom WebOS and added some basic content to my home page, including my logo, a description of the project, and my socials. The content is still a WIP.
More Content and Styling I added more content to my introduction, and formatted the page with some colours and a header.
Defining the window I’ve now defined my home page window by adding the desktop background, window outline, and window top bar.
Window Updates I fixed up the header bar of the home window so now it has a close button and only the window name. The ‘CamOS’ text and time have been moved to the newly made taskbar at the bottom of the screen. Using the buttons in the taskbar, the windows will be able to open and close. The windows are also draggable now.
New App! Terminal app: currently 6 unique commands (help, about, time, clear, refresh, quit) looks really cool took a while to code inspired by OmarOS more apps coming soon!!
new app!! calculator app: calculates (obv) looks pretty cool not much else other updates: taskbar has new updated icons terminal tweaking
NEW APPS!! That’s right, new apps ( plural noun: short for applications) settings app: change the wallpaper 7 solid colours and 3 static images change the brightness had to go to desmos and learn the form of an exponential line for this music player: 7 cool songs functioning controls interactive progress bar cool covers inspired by MewoOs more songs (and playlists??) coming soon? other updates: the terminal scrolls now instead of infinitely expanding demo link being added soon next: prob more songs to music player maybe more settings make the latest window appear on top ship!
Ships:
SHIPPPP This is my first official ship for any major(ish) HC project ever I think. Anyways it’s a pretty cool OS and I hope you get time to explore! App Rundown welcome page intro to OS intro to me (CamoKid) terminal 6 cool commands start with -help inspired by OmarOS calculator calc with 4 basic operations and exponents could come handy (who knows) settings wallpaper options (solid colour or image) brightness options music player this is my favourite one 7 of songs that i really like (including Fairytale and From the Start) (psst… did you know I sang From the Start in front of 150 teens at Daydream Sydney?) im thinking of adding more songs and playlists, and prob rewind buttons inspired by MewoOs possible updates for the future: more songs and playlists for the music player more apps like notes, contacts, and maybe calendar fix up some little bugs (if there are any) thank you for reading :)...
|
1793328756.9213514
|
1793415156.9213514
|
|
26641
|
A lil pong game by @benny | Stardance
|
benny
|
1
|
4.0
|
28
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-29T20:11:19Z", "hours": 4.0, "multiplier": 6.83, "payout": 28, "blessing": "neutral", "text": "Hello everyone! This is just a simple pong game that I was able to make completely from scratch. It was my first time creating a game in python and using pygame so it took a lot of behind the scenes learning. I am super happy that I was able to make this function and even get it pushed onto the internet (even though I did spend hours trying to debug pygbag and github pages). This isn’t anything crazy as I have much more to learn in python. Regardless of the simplicity though, I’m super happy about the process and I’ve learned a lot from this. I can’t wait to see the project that awaits me!", "repo": "https://github.com/bangzishu-huang/A-lil-pong-game", "demo": "https://bangzishu-huang.github.io/A-lil-pong-game/"}]...
|
[{"post_id": 18607, "ts": "202 [{"post_id": 18607, "ts": "2026-06-29T20:06:12Z", "hours": 1.0031, "text": "So today I basically had to deploy the game and boy was it hard. Since, I was using pygame I had to convert everything into a web format so I had to learn how to use pygbag and let’s just say it was almost a disaster. At first in my local host 8000 nothing would even load and I had to keep on trying to debug it and changing my main.py code. It was really tiring but the moment I got it to work I was super happy and I couldn’t believe it. Then, the next part was making a workflow that github can use in order to deploy it as a webpage, and there another set of bugs did pop up as I forgot that github uses linux so it’s case sensitive. After finally fixing it, I’m very happy to say that my first ever lil python game is online! Feel free to check out the simple game that almost fried my brain here: https://bangzishu-huang.github.io/A-lil-pong-game/ :)"}, {"post_id": 18065, "ts": "2026-06-29T01:44:22Z", "hours": 1.6344, "text": "I was basically able to finish everything I was doing. I started off today by adding an opponent paddle and this was just a simple machine where it would calculate the distance and the ball. I slowed the movement down a bit so sometimes it could make mistakes (resulting in the player winning!). Then, I added more features like score, data storing, and also a menu on start! I also found that the colors I picked were a bit unsettling to my eyes so I turned everything into blue and banana colors! I also add some subtle details which included the shadows of the paddles and also the ball. This was my first python game made and I’m very happy with how far I got! Can’t wait to see where this start will lead me :)"}, {"post_id": 17329, "ts": "2026-06-28T02:17:09Z", "hours": 1.5592, "text": "Worked on base, movement, and some collisions for my initial idea of recreating a pong game all by scratch. I would say I’m pretty new to python, as I just learned it 2-3 months ago and this was a cool little project for me to develop my python skills. Today, I just worked on setting up the pong objects, and also worked a lot on collisions. It was pretty hard trying to figure out how to get moving collisions to work on all 4 sides of the player paddle, but I was glad I was able to learn! Next steps I would want to make an opponent paddle and hopefully integrate an automated paddle to play against."}]...
|
Title: A lil pong game by @benny | Stardance
Devl Title: A lil pong game by @benny | Stardance
Devlogs:
Worked on base, movement, and some collisions for my initial idea of recreating a pong game all by scratch. I would say I’m pretty new to python, as I just learned it 2-3 months ago and this was a cool little project for me to develop my python skills. Today, I just worked on setting up the pong objects, and also worked a lot on collisions. It was pretty hard trying to figure out how to get moving collisions to work on all 4 sides of the player paddle, but I was glad I was able to learn! Next steps I would want to make an opponent paddle and hopefully integrate an automated paddle to play against.
I was basically able to finish everything I was doing. I started off today by adding an opponent paddle and this was just a simple machine where it would calculate the distance and the ball. I slowed the movement down a bit so sometimes it could make mistakes (resulting in the player winning!). Then, I added more features like score, data storing, and also a menu on start! I also found that the colors I picked were a bit unsettling to my eyes so I turned everything into blue and banana colors! I also add some subtle details which included the shadows of the paddles and also the ball. This was my first python game made and I’m very happy with how far I got! Can’t wait to see where this start will lead me :)
So today I basically had to deploy the game and boy was it hard. Since, I was using pygame I had to convert everything into a web format so I had to learn how to use pygbag and let’s just say it was almost a disaster. At first in my local host 8000 nothing would even load and I had to keep on trying to debug it and changing my main.py code. It was really tiring but the moment I got it to work I was super happy and I couldn’t believe it. Then, the next part was making a workflow that github can use in order to deploy it as a webpage, and there another set of bugs did pop up as I forgot that github uses linux so it’s case sensitive. After finally fixing it, I’m very happy to say that my first ever lil python game is online! Feel free to check out the simple game that almost fried my brain here: https://bangzishu-huang.github.io/A-lil-pong-game/ :)
Ships:
Hello everyone! This is just a simple pong game that I was able to make completely from scratch. It was my first time creating a game in python and using pygame so it took a lot of behind the scenes learning. I am super happy that I was able to make this function and even get it pushed onto the internet (even though I did spend hours trying to debug pygbag and github pages). This isn’t anything crazy as I have much more to learn in python. Regardless of the simplicity though, I’m super happy about the process and I’ve learned a lot from this. I can’t wait to see the project that awaits me!...
|
1793202663.7143075
|
1793289063.7143075
|
|
26663
|
My very own WebOS by @shyamks1828 | Stardance
|
shyamks1828
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-27T02:17:15Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A webOS For casual usage. CHeck out the more advanced gamerOS a upgrade of this project in my profile", "repo": "https://github.com/coderrcboy/WebOS", "demo": ""}]...
|
[{"post_id": 16644, "ts": "202 [{"post_id": 16644, "ts": "2026-06-27T02:13:27Z", "hours": 0.2672, "text": "A simple web os interface. The more advanced OS GamerOS is in my profile check it out."}]...
|
Title: My very own WebOS by @shyamks1828 | Stardan Title: My very own WebOS by @shyamks1828 | Stardance
Devlogs:
A simple web os interface. The more advanced OS GamerOS is in my profile check it out.
Ships:
A webOS For casual usage. CHeck out the more advanced gamerOS a upgrade of this project in my profile...
|
1792878644.4045594
|
1793742644.4045594
|
|
26682
|
Launch Your Own Rocket Simulator by @mruhankhan | Launch Your Own Rocket Simulator by @mruhankhan | Stardance...
|
mruhankhan
|
1
|
20.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-05T22:00:24Z", "hours": 20.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built a browser based 3D rocket construction and space flight simulator using React and ThreeJS. Players can assemble custom rocket stages in a detailed hangar, select paint colors, and walk around planetary launch outposts to pilot their vehicles. The most challenging parts were synchronizing the overlay menu states with the WebGL canvas loop, creating custom Web Audio API synthesizers for procedural weather sounds, and designing the character collision system. I am proud of the polished user experience, the dynamic storm animations, and the telemetry systems. To test the project, click the screen to capture the mouse to look around, walk using WASD, jump with Space, and press E to board the rocket or use elevators.", "repo": "https://github.com/Mruhankhan/Space", "demo": "https://space-ruby-nu.vercel.app/"}]...
|
[{"post_id": 23124, "ts": "202 [{"post_id": 23124, "ts": "2026-07-05T21:56:09Z", "hours": 1.0556, "text": "I have successfully finished coding, refining, and polishing the Space Rocket Builder Simulator! The project features a fully modular 3D rocket hangar constructor, interactive walking/exploration modes around launch towers, and dynamically simulated planetary environments (each with bespoke weather particle simulations, lighting, and ambient Web Audio synthesizer soundscapes).The codebase has been fully optimized, verified to build cleanly, and all changes including the bug fixes to the planet carousels, UI navigation button placements, layout adjustments, and progress panels have been pushed to the main repository. It is ready for deployment!"}, {"post_id": 22590, "ts": "2026-07-05T03:50:55Z", "hours": 0.6197, "text": "Implement save/load functionality for custom rocket configurations in the hangar. Users can now save their rocket builds with custom names and restore them later. The last used build is automatically restored on startup. Includes a debug script for hangar screenshot testing."}, {"post_id": 22566, "ts": "2026-07-05T02:39:36Z", "hours": 1.2106, "text": "Replaced static grid planet selection with an interactive carousel featuring left/right navigation and dynamic 3D planet rendering. The menu now displays a detailed planet information panel (gravity, atmosphere, visibility) and unlock requirements. The 3D scene generates planet-specific models with animations instead of a static Earth. Optimized vegetation geometry reuse and updated test scripts for the new selectors."}, {"post_id": 22520, "ts": "2026-07-05T01:18:48Z", "hours": 0.4869, "text": "Implement a comprehensive solar system progression framework enabling players to unlock and travel to different planets. Includes: PlanetManager to coordinate planet-specific environments, lighting, and dynamic effects Nine planet environment modules (Earth, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto) with unique visual characteristics ProgressionSystem for tracking unlocked planets, launches, and missions TravelSystem for coordinating launch destinations and planet unlocking DestinationSelector modal UI for selecting target planets before launch LeftProgressPanel showing solar system progress, active planet, and unlock status Updated MainMenu to display solar system grid instead of simple navigation Planets unlock when player successfully launches to them Each planet has distinct environments: lighting, fog, vegetation/terrain, atmospheric effects"}, {"post_id": 22322, "ts": "2026-07-04T18:46:19Z", "hours": 0.5189, "text": "Multi-Rocket Launch Complex: Added three identical rockets arranged realistically around the launchpad, maintaining consistent takeoff animations and launch pad platforms.Cinematic Camera Improvements:Implemented smooth mouse-wheel zooming during the flight sequence.Added camera bounds constraints to ensure the camera never clips below the grey launchpad platforms.Rendered clear instructions on-screen in red text: “Mouse Wheel: Zoom In/Out During Launch”.Integrated Pre-Launch Screen: Updated the pre-launch scene and hangar environments to show all three rockets in their formation.2. Performance Engineering & Optimization (Target: 120 FPS)Particle Recycling Pool: Implemented a global recycling pool for engine flares, smoke, and sparks to eliminate frame-rate stutters caused by CPU/GPU memory allocations.Resolved WebGL Resource Leaks: Ensured proper disposal of geometries and materials on scene transitions/cleanup, preventing WebGL context losses.Render Pipeline Tuning: Set depthWrite: false on smoke/fire transparent materials to bypass depth buffer sorting bottleneck, and integrated dynamic frustum/distance culling to skip rendering objects far behind the camera.React Rendering Optimization: Memoized all primary UI screen components (MainMenu, HangarScreen, PilotLog, ProfileScreen) using React.memo to eliminate cascading re-renders from telemetry updates.3. Real-Time Diagnostics & TestingPerformance HUD Overlay: Built a real-time developer diagnostics panel showing FPS, frame render times, draw calls, triangle counts, active particles, and active WebGL geometries/textures.Automated Integration Testing: Successfully verified the changes with production builds and playwright headless-WebGL simulation scripts (node scripts/_probe-launch.mjs), confirming all telemetry flows, camera cycles, and abort-to-result sequences pass with zero runtime errors."}, {"post_id": 22300, "ts": "2026-07-04T18:07:42Z", "hours": 1.8444, "text": "Static Radio Chatter: Plays random filter-modulated ground control clicks and static radio chatter during the fueling and countdown phases.Rattle Frequency Modulation: Adds high-frequency frequency modulation to the lowpass thruster noise to simulate structural rattle at ignition.Physical Distance Attenuation: Implemented a physical inverse-square law for the engine roar. Sound volume fades realistically as the rocket climbs away from the camera."}, {"post_id": 21928, "ts": "2026-07-04T03:45:09Z", "hours": 0.5475, "text": "Lauch Developments"}, {"post_id": 21912, "ts": "2026-07-04T02:50:27Z", "hours": 1.8097, "text": "Bug and launch fix"}, {"post_id": 21808, "ts": "2026-07-03T22:52:26Z", "hours": 3.63, "text": "Walk up the stairs of the launch gantry tower to verify that the stairs are completely unblocked by columns and the player can reach the top platform. Verify that the frame rate is smooth and there is no movement lag. Stop once you have verified these visual and interactive updates. Restructure project into core/systems/config/rocket/buildings, updating imports accordingly. Add procedural building modules (dome, facility, gantry, mc) and a new buildings/world.js that composes and merges decorative meshes for far fewer draw calls. Move many subsystems (renderer, physics, sound, particles, loaders, save) into src/systems and core gameplay into src/core. Character behavior adjusted (ladder interaction removed, enter/exit rocket helpers, start position moved to facility). Expose physics.addBoxCollider and update UI imports to new module paths."}, {"post_id": 19416, "ts": "2026-06-30T18:50:43Z", "hours": 1.8831, "text": "HUD rework settings menu dead code sweep FOV/sensitivity/volume wiring"}, {"post_id": 18805, "ts": "2026-06-30T00:41:41Z", "hours": 0.7983, "text": "HUD.JSX"}, {"post_id": 18763, "ts": "2026-06-29T23:23:09Z", "hours": 0.7608, "text": "Upstream provider NIM returned HTTP 429. Category: rate_limit_error Mapped message: Provider rate limit reached. Please retry shortly. Upstream error: {“status”:429,“title”:“Too Many Requests”} Request ID: req_935261a0c57e Using claude to fix the ramdon rendering in my project but NVDA keys are limited to 40 :("}, {"post_id": 17337, "ts": "2026-06-28T02:40:38Z", "hours": 1.5228, "text": "Large v0.2 feature update: Add procedural asset/build pipeline and generated blobs (public/models, public/sounds) plus build scripts (scripts/build-models.mjs, build-sounds.mjs) and package.json build task. Central loaders + preload (src/loaders.js) with audio/model fallbacks; service worker for offline (public/sw.js). Missions, scoring and unlock system (src/missions.js, src/unlocks.js), persist mission history (src/save.js). Touch controls + joystick, HUD improvements, console flash, crosshair, result sharing UI, ErrorBoundary. Audio rework to prefer predecoded buffers with synth fallback, renderer/rocket/load integration and misc fixes. Still need to fix the button / UI glitch"}, {"post_id": 17237, "ts": "2026-06-27T23:06:56Z", "hours": 0.7272, "text": "Introduce interactive rocket consoles and launch readiness checks: consoles are part of interior geometry, can be activated by the character, and the UI shows console progress and launch readiness. Gate launches until all consoles are online. Add reset-progress action and save.clearProgress. Stability and polish: implement a fixed timestep loop, make physics ignore marked shell boxes when inside rocket, add options to physics.addStatic, fix particle opacity/lifetime accounting, improve renderer disposal and named imports for three.js, enhance launch altitude/staging logic, and add hangar templates/stage configuration. Miscellaneous small UI and character improvements (console activation, deck naming, interaction handling)."}, {"post_id": 17188, "ts": "2026-06-27T21:55:47Z", "hours": 0.6286, "text": "fixed server / files error"}, {"post_id": 17154, "ts": "2026-06-27T20:54:29Z", "hours": 1.7708, "text": "I have been developing a browser based 3D space game called Space.gi where players can design and build their own rockets. The project currently includes the foundation of the user interface, player profiles, and the initial game environment. At this stage, I am still actively improving performance, as some parts of the UI are running slower than expected. I am also continuing to work on the character movement system, which is not yet fully implemented or optimized. My current focus is on improving responsiveness, refining gameplay mechanics, and building out additional features to create a smoother and more interactive experience."}]...
|
Title: Launch Your Own Rocket Simulator by @mruhan Title: Launch Your Own Rocket Simulator by @mruhankhan | Stardance
Devlogs:
I have been developing a browser based 3D space game called Space.gi where players can design and build their own rockets. The project currently includes the foundation of the user interface, player profiles, and the initial game environment. At this stage, I am still actively improving performance, as some parts of the UI are running slower than expected. I am also continuing to work on the character movement system, which is not yet fully implemented or optimized. My current focus is on improving responsiveness, refining gameplay mechanics, and building out additional features to create a smoother and more interactive experience.
fixed server / files error
Introduce interactive rocket consoles and launch readiness checks: consoles are part of interior geometry, can be activated by the character, and the UI shows console progress and launch readiness. Gate launches until all consoles are online. Add reset-progress action and save.clearProgress. Stability and polish: implement a fixed timestep loop, make physics ignore marked shell boxes when inside rocket, add options to physics.addStatic, fix particle opacity/lifetime accounting, improve renderer disposal and named imports for three.js, enhance launch altitude/staging logic, and add hangar templates/stage configuration. Miscellaneous small UI and character improvements (console activation, deck naming, interaction handling).
Large v0.2 feature update: Add procedural asset/build pipeline and generated blobs (public/models, public/sounds) plus build scripts (scripts/build-models.mjs, build-sounds.mjs) and package.json build task. Central loaders + preload (src/loaders.js) with audio/model fallbacks; service worker for offline (public/sw.js). Missions, scoring and unlock system (src/missions.js, src/unlocks.js), persist mission history (src/save.js). Touch controls + joystick, HUD improvements, console flash, crosshair, result sharing UI, ErrorBoundary. Audio rework to prefer predecoded buffers with synth fallback, renderer/rocket/load integration and misc fixes. Still need to fix the button / UI glitch
Upstream provider NIM returned HTTP 429. Category: rate_limit_error Mapped message: Provider rate limit reached. Please retry shortly. Upstream error: {“status”:429,“title”:“Too Many Requests”} Request ID: req_935261a0c57e Using claude to fix the ramdon rendering in my project but NVDA keys are limited to 40 :(
HUD.JSX
HUD rework settings menu dead code sweep FOV/sensitivity/volume wiring
Walk up the stairs of the launch gantry tower to verify that the stairs are completely unblocked by columns and the player can reach the top platform. Verify that the frame rate is smooth and there is no movement lag. Stop once you have verified these visual and interactive updates. Restructure project into core/systems/config/rocket/buildings, updating imports accordingly. Add procedural building modules (dome, facility, gantry, mc) and a new buildings/world.js that composes and merges decorative meshes for far fewer draw calls. Move many subsystems (renderer, physics, sound, particles, loaders, save) into src/systems and core gameplay into src/core. Character behavior adjusted (ladder interaction removed, enter/exit rocket helpers, start position moved to facility). Expose physics.addBoxCollider and update UI imports to new module paths.
Bug and launch fix
Lauch Developments
Static Radio Chatter: Plays random filter-modulated ground control clicks and static radio chatter during the fueling and countdown phases.Rattle Frequency Modulation: Adds high-frequency frequency modulation to the lowpass thruster noise to simulate structural rattle at ignition.Physical Distance Attenuation: Implemented a physical inverse-square law for the engine roar. Sound volume fades realistically as the rocket climbs away from the camera.
Multi-Rocket Launch Complex: Added three identical rockets arranged realistically around the launchpad, maintaining consistent takeoff animations and launch pad platforms.Cinematic Camera Improvements:Implemented smooth mouse-wheel zooming during the flight sequence.Added camera bounds constraints to ensure the camera never clips below the grey launchpad platforms.Rendered clear instructions on-screen in red text: “Mouse Wheel: Zoom In/Out During Launch”.Integrated Pre-Launch Screen: Updated the pre-launch scene and hangar environments to show all three rockets in their formation.2. Performance Engineering & Optimization (Target: 120 FPS)Particle Recycling Pool: Implemented a global recycling pool for engine flares, smoke, and sparks to eliminate frame-rate stutters caused by CPU/GPU memory allocations.Resolved WebGL Resource Leaks: Ensured proper disposal of geometries and materials on scene transitions/cleanup, preventing WebGL context losses.Render Pipeline Tuning: Set depthWrite: false on smoke/fire transparent materials to bypass depth buffer sorting bottleneck, and integrated dynamic frustum/distance culling to skip rendering objects far behind the camera.React Rendering Optimization: Memoized all primary UI screen components (MainMenu, HangarScreen, PilotLog, ProfileScreen) using React.memo to eliminate cascading re-renders from telemetry updates.3. Real-Time Diagnostics & TestingPerformance HUD Overlay: Built a real-time developer diagnostics panel showing FPS, frame render times, draw calls, triangle counts, active particles, and active WebGL geometries/textures.Automated Integration Testing: Successfully verified the changes with production builds and playwright headless-WebGL simulation scripts (node scripts/_probe-launch.mjs), confirming all telemetry flows, camera cycles, and abort-to-result sequences pass with zero runtime errors.
Implement a comprehensive solar system progression framework enabling players to unlock and travel to different planets. Includes: PlanetManager to coordinate planet-specific environments, lighting, and dynamic effects Nine planet environment modules (Earth, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto) with unique visual characteristics ProgressionSystem for tracking unlocked planets, launches, and missions TravelSystem for coordinating launch destinations and planet unlocking DestinationSelector modal UI for selecting target planets before launch LeftProgressPanel showing solar system progress, active planet, and unlock status Updated MainMenu to display solar system grid instead of simple navigation Planets unlock when player successfully launches to them Each planet has distinct environments: lighting, fog, vegetation/terrain, atmospheric effects
Replaced static grid planet selection with an interactive carousel featuring left/right navigation and dynamic 3D planet rendering. The menu now displays a detailed planet information panel (gravity, atmosphere, visibility) and unlock requirements. The 3D scene generates planet-specific models with animations instead of a static Earth. Optimized vegetation geometry reuse and updated test scripts for the new selectors.
Implement save/load functionality for custom rocket configurations in the hangar. Users can now save their rocket builds with custom names and restore them later. The last used build is automatically restored on startup. Includes a debug script for hangar screenshot testing.
I have successfully finished coding, refining, and polishing the Space Rocket Builder Simulator! The project features a fully modular 3D rocket hangar constructor, interactive walking/exploration modes around launch towers, and dynamically simulated planetary environments (each with bespoke weather particle simulations, lighting, and ambient Web Audio synthesizer soundscapes).The codebase has been fully optimized, verified to build cleanly, and all changes including the bug fixes to the planet carousels, UI navigation button placements, layout adjustments, and progress panels have been pushed to the main repository. It is ready for deployment!
Ships:
I built a browser based 3D rocket construction and space flight simulator using React and ThreeJS. Players can assemble custom rocket stages in a detailed hangar, select paint colors, and walk around planetary launch outposts to pilot their vehicles. The most challenging parts were synchronizing the overlay menu states with the WebGL canvas loop, creating custom Web Audio API synthesizers for procedural weather sounds, and designing the character collision system. I am proud of the polished user experience, the dynamic storm animations, and the telemetry systems. To test the project, click the screen to capture the mouse to look around, walk using WASD, jump with Space, and press E to board the rocket or use elevators....
|
1793332472.0313623
|
1793418872.0313623
|
|
26702
|
Simhub - A gaming macropad by @raghavsharma1214 | Simhub - A gaming macropad by @raghavsharma1214 | Stardance...
|
raghavsharma1214
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-07T19:56:15Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A custom macropad, where I design a small keyboard to address all of my sim-racing needs. This is mainly a design project for now. I won’t be able to recieve the parts I got funding for (so I didn’t use the funding) before September 30th, so I’m submitting this design. This macropad stands out from other ones because clicking down on the rotary encoder toggles it from custom macro shortcuts to a classic numpad. This is my first time using freecad and KiCAD, so appreciate your feedback. This macropad consists of 12 switches and one rotary encoder with a switch feature. It is designed with a 3d-printable body, so feel free to use whatever colors you want! Same with the rotary encoder knob. Thanks a lot guys, this mission really taught me well about CAD and PCB design. It paved the way to my current project, which you can check in my profile.", "repo": "https://github.com/dogman1214/Simhub/", "demo": ""}]...
|
[{"post_id": 43081, "ts": "202 [{"post_id": 43081, "ts": "2026-08-08T04:53:31Z", "hours": 1.0603, "text": "Just wrapping up the github information"}, {"post_id": 27037, "ts": "2026-07-12T06:25:17Z", "hours": 1.5942, "text": "Everthing is practically done! The github is set up, the demo is linked. I just have to recieve the files. Although I did encounter a big bummer… Apparently I don’t get stardust from this."}, {"post_id": 25759, "ts": "2026-07-10T06:29:01Z", "hours": 8.3925, "text": "blendering and whatnot Trying to see how to improve the example image. But I’m also building the github, along with drafting the silkscreen I’m trying to follow the guide, but improve on eveyrthing, like a better and more extensive readme and whatnot. As per the blender render, I’m taking feedback from my family to see what is too much and what to improve."}, {"post_id": 25178, "ts": "2026-07-09T07:12:30Z", "hours": 2.71, "text": "Blendering and Rendering I imported my model into blender for rendering a nice photo so that people have a good idea what I’m making. Probably will re-render with some adjustments, along with turning on denoise and then adding some artificial ISO noise. But hopefully the first ship is coming by soon!"}, {"post_id": 25033, "ts": "2026-07-08T23:37:59Z", "hours": 0.8453, "text": "just working on refining things not much up"}, {"post_id": 24488, "ts": "2026-07-08T01:54:31Z", "hours": 1.2003, "text": "FreeCAD Slop Adjusting to FreeCAD is difficult after fusion doesn’t work anymore. After long coercion I am able to create a rough sketch that I can develop further. fingers crossed, I can hopefully finish this project nice and tidy!"}, {"post_id": 20501, "ts": "2026-07-02T03:18:12Z", "hours": 2.5833, "text": "Fusion Failed… Fusion CAD software is genuinely terrible. Doesn’t work on my RTX 4080 even after multiple reinstalls. So I switched to FreeCAD. It is pretty different, but I am getting the hang of it. I have completed a lot of the CAD work for this project, so we are getting there, to the point where we are done I guess…"}, {"post_id": 18084, "ts": "2026-06-29T02:29:27Z", "hours": 2.1094, "text": "Trying to fix FUSION. I have ZERO IDEA why fusion isn’t working, just a blank screen. Tried all fixes on the web, but to no avail. Anyone here please help"}, {"post_id": 17310, "ts": "2026-06-28T01:10:19Z", "hours": 0.3333, "text": "Completed all the routing of the PCB I realized that routing is a very sketchy task, especially for someone as inexperienced in this field as me. Fortunately, I found a plugin that does the routing for you! It is called “Autorouting” Please check it out, its really a life-saver. Now onto the CAD portion of this project."}, {"post_id": 17294, "ts": "2026-06-28T00:46:10Z", "hours": 0.7681, "text": "Finished wiring the schematics. I want to use 12 keys so that in the sim-racing game, I can set views, change traction control, brake balance, and all of the intricates. I am also including one rotary encoder for things like volume control, so I can turn down the volume when my parents come by :)"}, {"post_id": 17260, "ts": "2026-06-27T23:47:46Z", "hours": 0.2506, "text": "Setting things up initially. I don’t really know how kicad works, but that’s fine. I’ll learn. The struggle right now, is importing everything. I belive I imported the libraries required, but I can’t find the symbols, which is wierd. Cheers!"}]...
|
Title: Simhub - A gaming macropad by @raghavsharma Title: Simhub - A gaming macropad by @raghavsharma1214 | Stardance
Devlogs:
Setting things up initially. I don’t really know how kicad works, but that’s fine. I’ll learn. The struggle right now, is importing everything. I belive I imported the libraries required, but I can’t find the symbols, which is wierd. Cheers!
Finished wiring the schematics. I want to use 12 keys so that in the sim-racing game, I can set views, change traction control, brake balance, and all of the intricates. I am also including one rotary encoder for things like volume control, so I can turn down the volume when my parents come by :)
Completed all the routing of the PCB I realized that routing is a very sketchy task, especially for someone as inexperienced in this field as me. Fortunately, I found a plugin that does the routing for you! It is called “Autorouting” Please check it out, its really a life-saver. Now onto the CAD portion of this project.
Trying to fix FUSION. I have ZERO IDEA why fusion isn’t working, just a blank screen. Tried all fixes on the web, but to no avail. Anyone here please help
Fusion Failed… Fusion CAD software is genuinely terrible. Doesn’t work on my RTX 4080 even after multiple reinstalls. So I switched to FreeCAD. It is pretty different, but I am getting the hang of it. I have completed a lot of the CAD work for this project, so we are getting there, to the point where we are done I guess…
FreeCAD Slop Adjusting to FreeCAD is difficult after fusion doesn’t work anymore. After long coercion I am able to create a rough sketch that I can develop further. fingers crossed, I can hopefully finish this project nice and tidy!
just working on refining things not much up
Blendering and Rendering I imported my model into blender for rendering a nice photo so that people have a good idea what I’m making. Probably will re-render with some adjustments, along with turning on denoise and then adding some artificial ISO noise. But hopefully the first ship is coming by soon!
blendering and whatnot Trying to see how to improve the example image. But I’m also building the github, along with drafting the silkscreen I’m trying to follow the guide, but improve on eveyrthing, like a better and more extensive readme and whatnot. As per the blender render, I’m taking feedback from my family to see what is too much and what to improve.
Everthing is practically done! The github is set up, the demo is linked. I just have to recieve the files. Although I did encounter a big bummer… Apparently I don’t get stardust from this.
Just wrapping up the github information
Ships:
A custom macropad, where I design a small keyboard to address all of my sim-racing needs. This is mainly a design project for now. I won’t be able to recieve the parts I got funding for (so I didn’t use the funding) before September 30th, so I’m submitting this design. This macropad stands out from other ones because clicking down on the rotary encoder toggles it from custom macro shortcuts to a classic numpad. This is my first time using freecad and KiCAD, so appreciate your feedback. This macropad consists of 12 switches and one rotary encoder with a switch feature. It is designed with a 3d-printable body, so feel free to use whatever colors you want! Same with the rotary encoder knob. Thanks a lot guys, this mission really taught me well about CAD and PCB design. It paved the way to my current project, which you can check in my profile....
|
1793300093.3138297
|
1793386493.3138297
|
|
26718
|
Clicker Game by @Nanos | Stardance
|
Nanos
|
1
|
2.0
|
4
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-27T14:45:31Z", "hours": 2.0, "multiplier": 1.81, "payout": 4, "blessing": "neutral", "text": "What did you make? I made a browser clicker game using just raw HTML, CSS, and JS with zero frameworks. I took a ton of inspiration from Cookie Clicker. It has 15 different buildings, a synergy system where buying 10 of the same building doubles its output, random golden cookie bonuses, and a prestige system where you reset your progress to earn permanent diamond upgrades. What was challenging? The prestige system and the save/load logic. I didn't really plan the code architecture before I started writing so it got pretty messy. Trying to track all the different multipliers at the same time (base stats, normal upgrades, permanent prestige bonuses, and the x777 golden cookie frenzy) without them overriding each other was a huge headache. What are you proud of? Honestly, just how satisfying the UI feels to use. I spent way too long tweaking the CSS with frosted glass effects and a fake 3D button shadow that squishes when you click it. On the technical side, I'm glad I actually took the time to use requestAnimationFrame with delta time so your passive income still calculates correctly if you minimize the browser tab. What should people know so they can test your project? You just need to open the index.html file in any browser. You don't even need a local server. One thing to note is that the main script file is named scrpit.js instead of script. I made a typo when I first created the file and just never bothered renaming it.", "repo": "https://github.com/na1os/clicker-game", "demo": "https://demo.nanos.ro/game/"}]...
|
[{"post_id": 16939, "ts": "202 [{"post_id": 16939, "ts": "2026-06-27T14:38:35Z", "hours": 2.0, "text": "How I spent 3 hours making a clicker game and lost my mind I sat down yesterday thinking, “A basic Cookie Clicker clone will take me 1 hour top.” Three hours later, I have 15 buildings, a full prestige system with a separate diamond shop, and a main JavaScript file named scrpit.js that I refuse to rename because I’ve accepted my typo as a feature. What happened in those 3 hours? Hour 1: Making it look shiny. Before writing any actual game logic, I spent way too long tweaking CSS. I added glassmorphism to the menus, gave the main button a fake 3D shadow that squishes when you click it, and added a neon glow that pulses behind it. The game didn’t work yet, but clicking that empty button felt good. Hour 2: Feature creep. I started with 5 buildings, then thought, “let’s add synergies where buying 10 of the same building doubles its output.” Then I added Golden Cookies that spawn randomly to give you a x777 click frenzy (yes i got it from Cookie Clicker). Hour 3: The Prestige System. I decided to add a reset mechanic. Once you hit 1 million points, you can reset for Diamonds. But instead of a boring flat multiplier, I built a whole separate Diamond Shop where you spend your hard-earned gems on permanent upgrades that carry over into your next run. Getting the localStorage save function to remember both your normal run AND your permanent prestige upgrades was… chaotic. The Code It is absolute spaghetti, but it works.I used innerHTML += to render the building shop because I was too lazy to do proper DOM manipulation. I wrote manual for loops to search through arrays instead of using .find() because my brain was fried. The only “clean” thing I did was implement a proper requestAnimationFrame game loop with Delta Time so your passive income doesn’t break if you minimize the browser tab. The game is completely unbalanced and the numbers get stupidly huge, but it was a fun 3 hours. Check out the repo if you want to look at scrpit.js and judge my variable names. Let me know what CPS you can hit!"}]...
|
Title: Clicker Game by @Nanos | Stardance
Devlogs Title: Clicker Game by @Nanos | Stardance
Devlogs:
How I spent 3 hours making a clicker game and lost my mind I sat down yesterday thinking, “A basic Cookie Clicker clone will take me 1 hour top.” Three hours later, I have 15 buildings, a full prestige system with a separate diamond shop, and a main JavaScript file named scrpit.js that I refuse to rename because I’ve accepted my typo as a feature. What happened in those 3 hours? Hour 1: Making it look shiny. Before writing any actual game logic, I spent way too long tweaking CSS. I added glassmorphism to the menus, gave the main button a fake 3D shadow that squishes when you click it, and added a neon glow that pulses behind it. The game didn’t work yet, but clicking that empty button felt good. Hour 2: Feature creep. I started with 5 buildings, then thought, “let’s add synergies where buying 10 of the same building doubles its output.” Then I added Golden Cookies that spawn randomly to give you a x777 click frenzy (yes i got it from Cookie Clicker). Hour 3: The Prestige System. I decided to add a reset mechanic. Once you hit 1 million points, you can reset for Diamonds. But instead of a boring flat multiplier, I built a whole separate Diamond Shop where you spend your hard-earned gems on permanent upgrades that carry over into your next run. Getting the localStorage save function to remember both your normal run AND your permanent prestige upgrades was… chaotic. The Code It is absolute spaghetti, but it works.I used innerHTML += to render the building shop because I was too lazy to do proper DOM manipulation. I wrote manual for loops to search through arrays instead of using .find() because my brain was fried. The only “clean” thing I did was implement a proper requestAnimationFrame game loop with Delta Time so your passive income doesn’t break if you minimize the browser tab. The game is completely unbalanced and the numbers get stupidly huge, but it was a fun 3 hours. Check out the repo if you want to look at scrpit.js and judge my variable names. Let me know what CPS you can hit!
Ships:
What did you make? I made a browser clicker game using just raw HTML, CSS, and JS with zero frameworks. I took a ton of inspiration from Cookie Clicker. It has 15 different buildings, a synergy system where buying 10 of the same building doubles its output, random golden cookie bonuses, and a prestige system where you reset your progress to earn permanent diamond upgrades. What was challenging? The prestige system and the save/load logic. I didn't really plan the code architecture before I started writing so it got pretty messy. Trying to track all the different multipliers at the same time (base stats, normal upgrades, permanent prestige bonuses, and the x777 golden cookie frenzy) without them overriding each other was a huge headache. What are you proud of? Honestly, just how satisfying the UI feels to use. I spent way too long tweaking the CSS with frosted glass effects and a fake 3D button shadow that squishes when you click it. On the technical side, I'm glad I actually took the time to use requestAnimationFrame with delta time so your passive income still calculates correctly if you minimize the browser tab. What should people know so they can test your project? You just need to open the index.html file in any browser. You don't even need a local server. One thing to note is that the main script file is named scrpit.js instead of script. I made a typo when I first created the file and just never bothered renaming it....
|
1792878865.9082613
|
1793742865.9082613
|
|
26723
|
NasaBot by @lewie_dudding | Stardance
|
lewie_dudding
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-27T11:45:17Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "NasaBot This was a fun project to learn more about building Slack apps with Bolt and working with external APIs. This was my very first time writing js and my first time ever working with a bot like this. This was quite a fun experience and I am excited to potentially continue devoping this. The bot can fetch today’s Astronomy Picture of the Day, random APODs, and HD versions when available, while automatically handling both images and videos. I also cleaned up the code by creating a reusable command registration function to avoid duplication. It was a great exercise in building something practical while getting more comfortable with Slack integrations, asynchronous API calls, and structuring a small Node.js project. Looking forward to adding features like searching by date and scheduled daily posts next.", "repo": "https://github.com/slewid/NasaBot", "demo": "https://hackclub.enterprise.slack.com/archives/C0BDJFHCU7Q"}]...
|
[{"post_id": 16852, "ts": "202 [{"post_id": 16852, "ts": "2026-06-27T11:04:00Z", "hours": 1.6644, "text": "Code cleanup Quick summary I refactored the NasaBot to improve code quality, readability, and maintainability by reducing duplicated code and separating common functionality into reusable functions. Changes made Configured a reusable Axios client for the NASA APOD API using a base url, api key, and request timeout Created a fetchApod() function to retrieve APOD, removing duplicated API request code Added formatExplanation() helper function to truncate long APOD descriptions to display in slack Added a sendAPOD() function to format and send APOD responces, without repeated code Better logging Overall, after this rework, it should be much easier to add future features and maintain the bot."}, {"post_id": 16766, "ts": "2026-06-27T07:13:11Z", "hours": 0.9789, "text": "Set up the bot and added the first few commands 1. nasabot-apod Displays NASA's current Astronomy Picture Of the Day. 2. nasabot-random Displays a random Astronomy Picture Of the Day. 3. nasabot-hd-apod Displays NASA's current Astronomy Picture Of the Day in HD. 4. nasabot-hd-random Displays a random Astronomy Picture Of the Day in hd. 5. nasabot-ping Gets the current nasabot latency 6. nasabot-help Shows all nasabot commands All APOD commands display the title, date, and description nicely formatted alongside the image. The occasional APOD YT video will be displayed as a link."}]...
|
Title: NasaBot by @lewie_dudding | Stardance
Devl Title: NasaBot by @lewie_dudding | Stardance
Devlogs:
Set up the bot and added the first few commands 1. nasabot-apod Displays NASA's current Astronomy Picture Of the Day. 2. nasabot-random Displays a random Astronomy Picture Of the Day. 3. nasabot-hd-apod Displays NASA's current Astronomy Picture Of the Day in HD. 4. nasabot-hd-random Displays a random Astronomy Picture Of the Day in hd. 5. nasabot-ping Gets the current nasabot latency 6. nasabot-help Shows all nasabot commands All APOD commands display the title, date, and description nicely formatted alongside the image. The occasional APOD YT video will be displayed as a link.
Code cleanup Quick summary I refactored the NasaBot to improve code quality, readability, and maintainability by reducing duplicated code and separating common functionality into reusable functions. Changes made Configured a reusable Axios client for the NASA APOD API using a base url, api key, and request timeout Created a fetchApod() function to retrieve APOD, removing duplicated API request code Added formatExplanation() helper function to truncate long APOD descriptions to display in slack Added a sendAPOD() function to format and send APOD responces, without repeated code Better logging Overall, after this rework, it should be much easier to add future features and maintain the bot.
Ships:
NasaBot This was a fun project to learn more about building Slack apps with Bolt and working with external APIs. This was my very first time writing js and my first time ever working with a bot like this. This was quite a fun experience and I am excited to potentially continue devoping this. The bot can fetch today’s Astronomy Picture of the Day, random APODs, and HD versions when available, while automatically handling both images and videos. I also cleaned up the code by creating a reusable command registration function to avoid duplication. It was a great exercise in building something practical while getting more comfortable with Slack integrations, asynchronous API calls, and structuring a small Node.js project. Looking forward to adding features like searching by date and scheduled daily posts next....
|
1793263802.2409003
|
1793350202.2409003
|
|
26734
|
Bulktypst by @0xf1 | Stardance
|
0xf1
|
1
|
3.0
|
11
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-27T12:14:14Z", "hours": 3.0, "multiplier": 3.38, "payout": 11, "blessing": "neutral", "text": "Bulktypst is a simple, dynamic Typst renderer. Written in Rust, you can feed it a Typst template, a CSV file with all the data you need and it will go through each row exporting the result as a PDF. Coming from a Golang background, this was mostly a small project to start moving over to Rust, but I still find it pretty useful, especially for my needs.", "repo": "https://github.com/0xF1dev/bulktypst", "demo": "https://github.com/0xF1dev/bulktypst/releases/tag/v0.1.0"}]...
|
[{"post_id": 16855, "ts": "202 [{"post_id": 16855, "ts": "2026-06-27T11:11:17Z", "hours": 3.1506, "text": "This isn’t anything great, but I recently had to make a lot of documents with many first and last names and a bunch of other data, so I thought that this was the perfect opportunity to learn a bit of Rust and make a real project. Bulktypst is a pretty small CLI with about ~100 lines of code (I expected it to be a lot bigger) but it manages to render Typst documents from dynamic CSV files pretty fast. I dont really like this project because it’s too small but since i want to switch from Golang to Rust i think it was a decent starting point."}]...
|
Title: Bulktypst by @0xf1 | Stardance
Devlogs:
Th Title: Bulktypst by @0xf1 | Stardance
Devlogs:
This isn’t anything great, but I recently had to make a lot of documents with many first and last names and a bunch of other data, so I thought that this was the perfect opportunity to learn a bit of Rust and make a real project. Bulktypst is a pretty small CLI with about ~100 lines of code (I expected it to be a lot bigger) but it manages to render Typst documents from dynamic CSV files pretty fast. I dont really like this project because it’s too small but since i want to switch from Golang to Rust i think it was a decent starting point.
Ships:
Bulktypst is a simple, dynamic Typst renderer. Written in Rust, you can feed it a Typst template, a CSV file with all the data you need and it will go through each row exporting the result as a PDF. Coming from a Golang background, this was mostly a small project to start moving over to Rust, but I still find it pretty useful, especially for my needs....
|
1793274574.810916
|
1793360974.810916
|
|
26758
|
TL;DW by @cheezball | Stardance
|
cheezball
|
1
|
3.3
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-27T15:07:46Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a YouTube video summarizer, the name stands for too long didn’t watch, sadly I wasn’t able to set up a working website, so it’s only available through github with self hosting, most youtube video summarizer i found used transcriptions not the actual video, so my goal was to pass the video itself to an llm (gemini 2.5 flash in this case)", "repo": "https://github.com/teabiotic/TL_DW", "demo": "https://github.com/teabiotic/TL_DW/blob/main/README.md"}]...
|
[{"post_id": 17119, "ts": "202 [{"post_id": 17119, "ts": "2026-06-27T20:00:55Z", "hours": 0.2972, "text": "devlog 5: instead of making a website for the demo i decided to just record the program in action"}, {"post_id": 16955, "ts": "2026-06-27T15:03:56Z", "hours": 0.9817, "text": "tried self hosting the website, i don’t know what I’m doing wrong, it works on my phone but for some reason when i paste the link on here it can’t access it, i used cloudflare quick tunnel"}, {"post_id": 16870, "ts": "2026-06-27T11:53:26Z", "hours": 0.5914, "text": "devlog 4: Removed the demo website link and added some decor edit: i will have to add the website again to ship, but it will only be for a visual presentation"}, {"post_id": 16854, "ts": "2026-06-27T11:11:13Z", "hours": 0.4231, "text": "devlog 3: Optimized the promt so it’s much easier to read, it’s a bit messy inside the code, but it works. gonna work on decorations next ig. p.s. Just realized that the online demo isn’t working, so if you want to try it out you’ll have to run it locally."}, {"post_id": 16839, "ts": "2026-06-27T10:37:23Z", "hours": 0.4128, "text": "devlog 2: I have finally made an usable program, but although i am not proud of it, I have to admit that Gemini helped me a lot with it. For now the summaries are a bit hard to read, but I will try to optimize the prompt as much as possible and make it readable. I also plan on adding some decoration to the website."}, {"post_id": 16810, "ts": "2026-06-27T09:20:08Z", "hours": 0.9667, "text": "I am trying to make a video summarizer that won’t use transcriptions but will watch the video as sometimes stuff is shown on the video but isn’t in the transcription. the name TL;DW is an acronym for “Too Long; Didn’t Watch”. This is my first actual big project, and I’m not sure how it’ll come out, but I am trying my best."}]...
|
Title: TL;DW by @cheezball | Stardance
Devlogs:
I Title: TL;DW by @cheezball | Stardance
Devlogs:
I am trying to make a video summarizer that won’t use transcriptions but will watch the video as sometimes stuff is shown on the video but isn’t in the transcription. the name TL;DW is an acronym for “Too Long; Didn’t Watch”. This is my first actual big project, and I’m not sure how it’ll come out, but I am trying my best.
devlog 2: I have finally made an usable program, but although i am not proud of it, I have to admit that Gemini helped me a lot with it. For now the summaries are a bit hard to read, but I will try to optimize the prompt as much as possible and make it readable. I also plan on adding some decoration to the website.
devlog 3: Optimized the promt so it’s much easier to read, it’s a bit messy inside the code, but it works. gonna work on decorations next ig. p.s. Just realized that the online demo isn’t working, so if you want to try it out you’ll have to run it locally.
devlog 4: Removed the demo website link and added some decor edit: i will have to add the website again to ship, but it will only be for a visual presentation
tried self hosting the website, i don’t know what I’m doing wrong, it works on my phone but for some reason when i paste the link on here it can’t access it, i used cloudflare quick tunnel
devlog 5: instead of making a website for the demo i decided to just record the program in action
Ships:
I made a YouTube video summarizer, the name stands for too long didn’t watch, sadly I wasn’t able to set up a working website, so it’s only available through github with self hosting, most youtube video summarizer i found used transcriptions not the actual video, so my goal was to pass the video itself to an llm (gemini 2.5 flash in this case)...
|
1793274662.6801815
|
1793361062.6801815
|
|
26767
|
Angel's WebOS by @angelneupane | Stardance
|
angelneupane
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-03T13:04:09Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I present the AngelOS! I created a webOS with 4 app windows, which are: DateTime Window My LinkedIn A to-do list A coin flip app that uses the Math.random() function to pick heads or tails at random and tells the user if they win or lose. The greatest difficulty I faced was setting up hackatime on github codespaces. After I had that part down, everything was smooth. Figuring out how to implement the coin flip function was a challenge, too. Before deciding on the coin flip app, I tried creating a CPS counter app, but it was too difficult, so I dropped the idea.", "repo": "https://github.com/angelneupane/AngelOS", "demo": "https://angelneupane.github.io/AngelOS/"}]...
|
[{"post_id": 21461, "ts": "202 [{"post_id": 21461, "ts": "2026-07-03T12:46:54Z", "hours": 0.6733, "text": "Devlog [5] Created a coinflip app using the Math.random() function."}, {"post_id": 21400, "ts": "2026-07-03T10:07:39Z", "hours": 1.4547, "text": "Devlog [4] Added a button to close the windows and added icons to open specific windows and made a simple to-do list app that uses tag."}, {"post_id": 20769, "ts": "2026-07-02T13:46:16Z", "hours": 0.7914, "text": "Devlog [3] Changed the inline CSS that was common for all elements to Internal CSS, added the drag window feature, added headers to each window, made separate windows for date and time and LinkedIn, changed the background image, added multiple classes to classify div as draggable and windows."}, {"post_id": 20186, "ts": "2026-07-01T18:51:22Z", "hours": 0.4386, "text": "Devlog[2] Created a div for the heading, my LinkedIn profile and the date and time function and made it kinda fit the theme."}, {"post_id": 20161, "ts": "2026-07-01T18:20:39Z", "hours": 0.6114, "text": "Devlog[1] I added a background image to the body, added a heading and attached a link to github.com. Most of the time was spent trying to set up hackatime because I just couldn’t get it to work right."}]...
|
Title: Angel's WebOS by @angelneupane | Starda Title: Angel's WebOS by @angelneupane | Stardance
Devlogs:
Devlog[1] I added a background image to the body, added a heading and attached a link to github.com. Most of the time was spent trying to set up hackatime because I just couldn’t get it to work right.
Devlog[2] Created a div for the heading, my LinkedIn profile and the date and time function and made it kinda fit the theme.
Devlog [3] Changed the inline CSS that was common for all elements to Internal CSS, added the drag window feature, added headers to each window, made separate windows for date and time and LinkedIn, changed the background image, added multiple classes to classify div as draggable and windows.
Devlog [4] Added a button to close the windows and added icons to open specific windows and made a simple to-do list app that uses tag.
Devlog [5] Created a coinflip app using the Math.random() function.
Ships:
I present the AngelOS! I created a webOS with 4 app windows, which are: DateTime Window My LinkedIn A to-do list A coin flip app that uses the Math.random() function to pick heads or tails at random and tells the user if they win or lose. The greatest difficulty I faced was setting up hackatime on github codespaces. After I had that part down, everything was smooth. Figuring out how to implement the coin flip function was a challenge, too. Before deciding on the coin flip app, I tried creating a CPS counter app, but it was too difficult, so I dropped the idea....
|
1793317960.4957647
|
1793404360.4957647
|
|
26778
|
Wave by @twinx | Stardance
|
twinx
|
1
|
9.0
|
51
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-29T08:48:35Z", "hours": 9.0, "multiplier": 5.89, "payout": 51, "blessing": "neutral", "text": "I have created this youtube clone with no ads , feel free to customize it however you want you can add your custom recommendation system or it will automatically suggest according to your activities also all data is private and locally saved. Install it using : pip install wave-twinx the latest version is v0.1.1 feel free to watch and customize it.", "repo": "https://github.com/Philast-015/Wave", "demo": "https://github.com/Philast-015/Wave/releases/tag/v0.1.1"}]...
|
[{"post_id": 18213, "ts": "202 [{"post_id": 18213, "ts": "2026-06-29T08:45:18Z", "hours": 0.7425, "text": "created this demo video and also fixed some bugs and uploaded github release"}, {"post_id": 17558, "ts": "2026-06-28T11:58:21Z", "hours": 2.0972, "text": "Devlog #3 Added trending option with country based recommendation in trend. Fixed ui for better appearance Added download button , save , bookmark .etc"}, {"post_id": 17023, "ts": "2026-06-27T17:02:35Z", "hours": 2.1797, "text": "Features added: added recommendation system insane customization miniplayer themes all settings sync feature"}, {"post_id": 16763, "ts": "2026-06-27T07:05:31Z", "hours": 3.9044, "text": "#1 Devlog Made the basic things like a search bar where user will search and show videos and also plays them. more features adding : suggestion insane customization better features like a music player."}]...
|
Title: Wave by @twinx | Stardance
Devlogs:
#1 Dev Title: Wave by @twinx | Stardance
Devlogs:
#1 Devlog Made the basic things like a search bar where user will search and show videos and also plays them. more features adding : suggestion insane customization better features like a music player.
Features added: added recommendation system insane customization miniplayer themes all settings sync feature
Devlog #3 Added trending option with country based recommendation in trend. Fixed ui for better appearance Added download button , save , bookmark .etc
created this demo video and also fixed some bugs and uploaded github release
Ships:
I have created this youtube clone with no ads , feel free to customize it however you want you can add your custom recommendation system or it will automatically suggest according to your activities also all data is private and locally saved. Install it using : pip install wave-twinx the latest version is v0.1.1 feel free to watch and customize it....
|
1793267632.744872
|
1793354032.744872
|
|
26787
|
CustomCMD by @JTaco | Stardance
|
JTaco
|
1
|
8.0
|
24
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-15T02:25:00Z", "hours": 8.0, "multiplier": 2.87, "payout": 24, "blessing": "neutral", "text": "I’ve created an easy way to create your own terminal commands. Terminal commands are basically scripts that you can run. You can use the web ui (customcmd ui) to easily create commands or use the define command (customcmd define ) with the required details. Check it out by installing it with npm npm install -g @jtaco/customcmd This is the first time i’ve done anything in the terminal like this. I’m proud of the system as a whole. More the command line stuff than the web ui.", "repo": "https://github.com/J-Taco/custom-command", "demo": "https://www.npmjs.com/package/@jtaco/customcmd"}]...
|
[{"post_id": 28676, "ts": "202 [{"post_id": 28676, "ts": "2026-07-15T02:21:29Z", "hours": 6.1569, "text": "Well I finished building the UI and a couple of other quality of life improvements."}, {"post_id": 25186, "ts": "2026-07-09T07:59:05Z", "hours": 1.5378, "text": "I’ve finished part 1 of the project! Part 1 brings the whole command line working. You can define, run, list, and remove your custom commands. They are all stored in a simple js file in ~/.customcmd/commands.js so you can edit them there if you prefer. customcmd list customcmd remove <name> customcmd define <name> --description \"You description\" --arg \"arg name\" --cmd 'command ${arg name}' customcmd run <name> \"arg name> Take a look at the video to see for yourself. Next up I plan to add a customcmd ui command which hosts a website for you to manage your custom commands with a full ui!"}, {"post_id": 23351, "ts": "2026-07-06T07:52:36Z", "hours": 0.4933, "text": "Started the project out today. The idea is an easy way to build custom commands that are basically scripts except hopefully easy to build and use. Today I created the project, got it installed on my system, and started working on the data structures behind how it works. I’ve planned out the json for how the commands will be stored and started working on a system that will read through the json."}]...
|
Title: CustomCMD by @JTaco | Stardance
Devlogs:
S Title: CustomCMD by @JTaco | Stardance
Devlogs:
Started the project out today. The idea is an easy way to build custom commands that are basically scripts except hopefully easy to build and use. Today I created the project, got it installed on my system, and started working on the data structures behind how it works. I’ve planned out the json for how the commands will be stored and started working on a system that will read through the json.
I’ve finished part 1 of the project! Part 1 brings the whole command line working. You can define, run, list, and remove your custom commands. They are all stored in a simple js file in ~/.customcmd/commands.js so you can edit them there if you prefer. customcmd list customcmd remove <name> customcmd define <name> --description "You description" --arg "arg name" --cmd 'command ${arg name}' customcmd run <name> "arg name> Take a look at the video to see for yourself. Next up I plan to add a customcmd ui command which hosts a website for you to manage your custom commands with a full ui!
Well I finished building the UI and a couple of other quality of life improvements.
Ships:
I’ve created an easy way to create your own terminal commands. Terminal commands are basically scripts that you can run. You can use the web ui (customcmd ui) to easily create commands or use the define command (customcmd define ) with the required details. Check it out by installing it with npm npm install -g @jtaco/customcmd This is the first time i’ve done anything in the terminal like this. I’m proud of the system as a whole. More the command line stuff than the web ui....
|
1793242367.7858458
|
1793328767.7858458
|
|
26789
|
The Wandering Modder by @Camiel | Stardance
|
Camiel
|
1
|
6.0
|
99
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-01T11:11:13Z", "hours": 6.0, "multiplier": 15.72, "payout": 99, "blessing": "neutral", "text": "I made a tool that replaces the exact match search of the Minecraft modding website https://www.modrinth.com with a semantic search powered by the ChromaDB python package. This makes it alot easier to find mods and create a unique modpack. It has filtering for versions and modloaders, so that you can easily find the right version for your Minecraft world. This project also solves the problem of finding mods in a specific theme, since the mod creators just add alot of theme’s to push the mods’ downloads. I learned how I can use open APIs and transform the data into a format that is usuable for me. I also learned to use big python libraries. I really proud of how accurate it is. I doubted if I would really ever use it myself. But it turned out so well that I can now use it to find mods for the the minecraft server with my friends. The only thing that is not the best about this project is that the database building takes really long, averaging around an hour on my chromebook with an i5-1335U. I made sure to implement instruction on how to setup hardware acceleration, but was not able to test it, since I have no acces to a dedicated GPU.", "repo": "https://github.com/Camiel13/The-Wandering-Modder", "demo": "https://github.com/Camiel13/The-Wandering-Modder/releases/tag/v1.0.0"}]...
|
[{"post_id": 19911, "ts": "202 [{"post_id": 19911, "ts": "2026-07-01T10:54:12Z", "hours": 0.6417, "text": "I’m now officially done with this project. You can see a preview on https://asciinema.org/a/vIZ6F7bfI0mkdDf5 . I really happy with what it turned out to be. I learned alot of json formatting, database data flow and code structure. This is the final product: The Wandering Modder A fast, AI-driven search engine for Minecraft modding. It fetches data via the Modrinth API and uses a local ChromaDB vector database, allowing you to search for mods, shaders, datapacks, resource packs and plugins using natural language. Installation Windows: git clone [ https : //github.com/Camiel13/The-Wandering-Modder.git ]( https : //github.com/Camiel13/The-Wandering-Modder.git ) the_wandering_modder cd the_wandering_modder pip install -r requirements.txt Linux: git clone [ https://github.com/Camiel13/The-Wandering-Modder.git] ( https://github.com/Camiel13/The-Wandering-Modder.git ) the_wandering_modder cd the_wandering_modder python3 -m venv venv source venv/bin/activate pip install -r requirements.txt Usage To start execute this command: python3 main.py The Wandering Modder Commands You have to replace {project_type} with one of the following project types: mod , datapack , resourcepack , shader or plugin . Make sure to describe your project in keywords (e.g. redstone, technical, components, wires)! {project_type} init - Sets up the searching of a specific project type. !! REQUIRED !! {project_type} query - Search the built database for specific mods with keywords. help - Shows all the commands available. clear - Clears the terminal. exit / quit - Shuts down the program. Hardware Acceleration You can make the process of building the vector database up to 10-50x faster by using a dedicated Nvidia GPU with the CUDA toolkit. This is done by replacing the normal package with a GPU-supported variant and installing the CUDA toolkit onto your system. Note that this can only be done when using a Nvidia GPU with the proper installation of the CUDA toolkit and using recent drivers! pip uninstall onnxruntime pip install onnxruntime-gpu"}, {"post_id": 19261, "ts": "2026-06-30T15:01:33Z", "hours": 1.1378, "text": "The Wandering Modder This project is close to being finished. I’ve made sure the output looks nice and is visually attractive by using the rich.panel module. I added more detail to the metadata saved in the vector database, so I could show it in the output I updated the README.md with installing and usage instructions. Last things I wanna add: Hardware acceleration Accuracy improvements"}, {"post_id": 18520, "ts": "2026-06-29T18:17:21Z", "hours": 2.3133, "text": "The Wandering Modder - Database updating, result formatting and code refactoring I’ve finished the update_database() function completely to make sure unfinished databases are complete or to put new (versions of) projects into databases without having to rebuild the whole database. The hardest part was getting the data from the already existing database and comparing it to the new data, since they used diffrent formatting. I’ve implemented a format_results() function to make the results into beautiful frames with the rich library. This feature is not completely finished. My future plans are finishing the format_results() function to make it print beautiful panels into the terminal. I also wanna make the results more accurate to what you type."}, {"post_id": 17780, "ts": "2026-06-28T18:30:57Z", "hours": 1.2492, "text": "The Wandering Modder I’ve started working on improving the performance of building the database, so that it doesn’t take an hour of building each time you wanna update the mods. So far I’ve implemented: A new function called update_database() that first checks what projects are new to the database by extracting the metadata of the already existing database and comparing them to the new data. What I wanna implement in the future: Hardware acceleration I’ve also investigated how I built this project a month ago, because it’s a total mess and I have some issue understanding some things. So I refactored some code and did some small changes."}, {"post_id": 16835, "ts": "2026-06-27T10:25:44Z", "hours": 0.9636, "text": "The Wandering Modder I created this project in May. I wanted to make a better search engine for the Minecraft modders, since the popular minecraft websites often just didn’t find correlating mods, just mods that exactly matched or contained your search. I’ve read back in, because it was a while ago since I started this project. Firstly I’ve improved the cli command syntax checker to make it less clutterd and less if- else-statements. I’ve also tested if everything was intact and if the correct rate limits we’re respected."}]...
|
Title: The Wandering Modder by @Camiel | Stardance Title: The Wandering Modder by @Camiel | Stardance
Devlogs:
The Wandering Modder I created this project in May. I wanted to make a better search engine for the Minecraft modders, since the popular minecraft websites often just didn’t find correlating mods, just mods that exactly matched or contained your search. I’ve read back in, because it was a while ago since I started this project. Firstly I’ve improved the cli command syntax checker to make it less clutterd and less if- else-statements. I’ve also tested if everything was intact and if the correct rate limits we’re respected.
The Wandering Modder I’ve started working on improving the performance of building the database, so that it doesn’t take an hour of building each time you wanna update the mods. So far I’ve implemented: A new function called update_database() that first checks what projects are new to the database by extracting the metadata of the already existing database and comparing them to the new data. What I wanna implement in the future: Hardware acceleration I’ve also investigated how I built this project a month ago, because it’s a total mess and I have some issue understanding some things. So I refactored some code and did some small changes.
The Wandering Modder - Database updating, result formatting and code refactoring I’ve finished the update_database() function completely to make sure unfinished databases are complete or to put new (versions of) projects into databases without having to rebuild the whole database. The hardest part was getting the data from the already existing database and comparing it to the new data, since they used diffrent formatting. I’ve implemented a format_results() function to make the results into beautiful frames with the rich library. This feature is not completely finished. My future plans are finishing the format_results() function to make it print beautiful panels into the terminal. I also wanna make the results more accurate to what you type.
The Wandering Modder This project is close to being finished. I’ve made sure the output looks nice and is visually attractive by using the rich.panel module. I added more detail to the metadata saved in the vector database, so I could show it in the output I updated the README.md with installing and usage instructions. Last things I wanna add: Hardware acceleration Accuracy improvements
I’m now officially done with this project. You can see a preview on https://asciinema.org/a/vIZ6F7bfI0mkdDf5 . I really happy with what it turned out to be. I learned alot of json formatting, database data flow and code structure. This is the final product: The Wandering Modder A fast, AI-driven search engine for Minecraft modding. It fetches data via the Modrinth API and uses a local ChromaDB vector database, allowing you to search for mods, shaders, datapacks, resource packs and plugins using natural language. Installation Windows: git clone [ https : //github.com/Camiel13/The-Wandering-Modder.git ]( https : //github.com/Camiel13/The-Wandering-Modder.git ) the_wandering_modder cd the_wandering_modder pip install -r requirements.txt Linux: git clone [ https://github.com/Camiel13/The-Wandering-Modder.git] ( https://github.com/Camiel13/The-Wandering-Modder.git ) the_wandering_modder cd the_wandering_modder python3 -m venv venv source venv/bin/activate pip install -r requirements.txt Usage To start execute this command: python3 main.py The Wandering Modder Commands You have to replace {project_type} with one of the following project types: mod , datapack , resourcepack , shader or plugin . Make sure to describe your project in keywords (e.g. redstone, technical, components, wires)! {project_type} init - Sets up the searching of a specific project type. !! REQUIRED !! {project_type} query - Search the built database for specific mods with keywords. help - Shows all the commands available. clear - Clears the terminal. exit / quit - Shuts down the program. Hardware Acceleration You can make the process of building the vector database up to 10-50x faster by using a dedicated Nvidia GPU with the CUDA toolkit. This is done by replacing the normal package with a GPU-supported variant and installing the CUDA toolkit onto your system. Note that this can only be done when using a Nvidia GPU with the proper installation of the CUDA toolkit and using recent drivers! pip uninstall onnxruntime pip install onnxruntime-gpu
Ships:
I made a tool that replaces the exact match search of the Minecraft modding website https://www.modrinth.com with a semantic search powered by the ChromaDB python package. This makes it alot easier to find mods and create a unique modpack. It has filtering for versions and modloaders, so that you can easily find the right version for your Minecraft world. This project also solves the problem of finding mods in a specific theme, since the mod creators just add alot of theme’s to push the mods’ downloads. I learned how I can use open APIs and transform the data into a format that is usuable for me. I also learned to use big python libraries. I really proud of how accurate it is. I doubted if I would really ever use it myself. But it turned out so well that I can now use it to find mods for the the minecraft server with my friends. The only thing that is not the best about this project is that the database building takes really long, averaging around an hour on my chromebook with an i5-1335U. I made sure to implement instruction on how to setup hardware acceleration, but was not able to test it, since I have no acces to a dedicated GPU....
|
1793281816.2252553
|
1793368216.2252553
|
|
26802
|
Perfect Circle by @Joschi | Stardance
|
Joschi
|
1
|
1.0
|
1
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-27T08:27:01Z", "hours": 1.0, "multiplier": 1.11, "payout": 1, "blessing": "neutral", "text": "I asked myself, it is possible to get a nearly perfect circle in neal.fun’s pefect circle challenge. With this tool 99,8% are no problem anymore. Because the project has quite little code, it was not a problem.", "repo": "https://github.com/JKfromHMS/Perfect-Circle", "demo": "https://github.com/JKfromHMS/Perfect-Circle/releases/tag/Tools"}]...
|
[{"post_id": 16786, "ts": "202 [{"post_id": 16786, "ts": "2026-06-27T07:55:46Z", "hours": 0.5656, "text": "Created the whole tool."}]...
|
Title: Perfect Circle by @Joschi | Stardance
Devl Title: Perfect Circle by @Joschi | Stardance
Devlogs:
Created the whole tool.
Ships:
I asked myself, it is possible to get a nearly perfect circle in neal.fun’s pefect circle challenge. With this tool 99,8% are no problem anymore. Because the project has quite little code, it was not a problem....
|
1793299727.8015554
|
1793386127.8015554
|
|
26811
|
WarioWare Game by @Mats | Stardance
|
Mats
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-12T19:13:08Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a warioware game, I think it was kind of hard, especially with the intermission scene (witch just would NOT WORK!!). I want to make a game with my friend next, wich will be kind of like silksong and hollow knight. (Sorry if I used too much ai, I just could not fix it… (But the 5 hours were done by me, dous that count?))", "repo": "https://github.com/MatsDevOfficial/WarioWare", "demo": "https://movermans.itch.io/matsioware"}]...
|
[{"post_id": 27292, "ts": "202 [{"post_id": 27292, "ts": "2026-07-12T19:06:54Z", "hours": 1.8153, "text": "Fixed issues with the intermission"}, {"post_id": 23612, "ts": "2026-07-06T17:47:34Z", "hours": 0.3472, "text": "Finally found out that the game would not go past game one bc of incorrect naming. I fixed that, but the levelscreen dous not work now"}, {"post_id": 21395, "ts": "2026-07-03T09:45:27Z", "hours": 0.3378, "text": "Trying to fix a bug, where the garlic counter dousnt increase."}, {"post_id": 21379, "ts": "2026-07-03T08:56:03Z", "hours": 0.5514, "text": "Worked on doccing the docs"}, {"post_id": 20799, "ts": "2026-07-02T14:33:36Z", "hours": 0.4114, "text": "Worked on the death screen"}, {"post_id": 20733, "ts": "2026-07-02T12:52:06Z", "hours": 0.5281, "text": "Worked on fixing the points"}, {"post_id": 20596, "ts": "2026-07-02T06:49:30Z", "hours": 0.8892, "text": "Worked on the platformer, this is how it looks now before crashing"}, {"post_id": 20160, "ts": "2026-07-01T18:19:52Z", "hours": 0.5714, "text": "So, im working on the platformer minigame, and have also changed the (collide) size to be rectangular, that fits better."}, {"post_id": 16847, "ts": "2026-06-27T10:53:30Z", "hours": 0.545, "text": "Worked on creating the global files, the timer thingy"}, {"post_id": 16790, "ts": "2026-06-27T08:04:55Z", "hours": 0.4956, "text": "Worked on the title menu, and im thinking about the games. For now I placed a wario bg, and called itMatsIOWare"}]...
|
Title: WarioWare Game by @Mats | Stardance
Devlog Title: WarioWare Game by @Mats | Stardance
Devlogs:
Worked on the title menu, and im thinking about the games. For now I placed a wario bg, and called itMatsIOWare
Worked on creating the global files, the timer thingy
So, im working on the platformer minigame, and have also changed the (collide) size to be rectangular, that fits better.
Worked on the platformer, this is how it looks now before crashing
Worked on fixing the points
Worked on the death screen
Worked on doccing the docs
Trying to fix a bug, where the garlic counter dousnt increase.
Finally found out that the game would not go past game one bc of incorrect naming. I fixed that, but the levelscreen dous not work now
Fixed issues with the intermission
Ships:
I made a warioware game, I think it was kind of hard, especially with the intermission scene (witch just would NOT WORK!!). I want to make a game with my friend next, wich will be kind of like silksong and hollow knight. (Sorry if I used too much ai, I just could not fix it… (But the 5 hours were done by me, dous that count?))...
|
1793242565.4528039
|
1793328965.4528039
|
|
26814
|
Gym progress tracker by @y4gg | Stardance
|
y4gg
|
1
|
8.0
|
21
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-11T21:20:00Z", "hours": 8.0, "multiplier": 2.54, "payout": 21, "blessing": "neutral", "text": "I made a gym tracker for gym rats like me that realized that tracking workouts is one of the most important things in the gym, alongside tracking nutrients. By far the hardest thing was the multi device sync, and I am not proud of that, but I gave that work over to AI, this was done before I knew about stardance tho. However what I am proud of is the fronted store made with zustand! Not only can my project be tested completely account free, but the only features missing from the guest version are the multi device sync & logging. The rest of the features still work! The website is hopefully simple to understand and I hope you’ll think that as well. The way the website is meant to be experienced on a mobile device.", "repo": "https://github.com/y4gg/gym-progress", "demo": "https://gym.y4.gg"}]...
|
[{"post_id": 16812, "ts": "202 [{"post_id": 16812, "ts": "2026-06-27T09:23:48Z", "hours": 8.2219, "text": "I added logging & past weight changes to my gym progress tracker."}]...
|
Title: Gym progress tracker by @y4gg | Stardance
Title: Gym progress tracker by @y4gg | Stardance
Devlogs:
I added logging & past weight changes to my gym progress tracker.
Ships:
I made a gym tracker for gym rats like me that realized that tracking workouts is one of the most important things in the gym, alongside tracking nutrients. By far the hardest thing was the multi device sync, and I am not proud of that, but I gave that work over to AI, this was done before I knew about stardance tho. However what I am proud of is the fronted store made with zustand! Not only can my project be tested completely account free, but the only features missing from the guest version are the multi device sync & logging. The rest of the features still work! The website is hopefully simple to understand and I hope you’ll think that as well. The way the website is meant to be experienced on a mobile device....
|
1793267544.379602
|
1793353944.379602
|
|
26816
|
My first slack bot! by @Sair | Stardance
|
Sair
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-27T19:04:40Z", "hours": 0.0, "multiplier": 1.01, "payout": 0, "blessing": "neutral", "text": "My own first slack bot Commands: /sairbot-ping - checks bots latency /sairbot-catfact - Cat fact /sairbot-rps + Rock; Paper; Scissors (Example: /sairbot-rps rock) - Rock Paper Scissors game Deployed on Nest", "repo": "https://github.com/Sairsides/Sair-Slack-Bot", "demo": "https://hackclub.enterprise.slack.com/archives/C0BDPJN8ZMF"}]...
|
[{"post_id": 17079, "ts": "202 [{"post_id": 17079, "ts": "2026-06-27T18:47:38Z", "hours": 0.3231, "text": "Added ping, cat fact command. Also added a RPS game. Didn’t log 23min because I forgot to setup Wakatime. Deployed on Nest."}]...
|
Title: My first slack bot! by @Sair | Stardance
D Title: My first slack bot! by @Sair | Stardance
Devlogs:
Added ping, cat fact command. Also added a RPS game. Didn’t log 23min because I forgot to setup Wakatime. Deployed on Nest.
Ships:
My own first slack bot Commands: /sairbot-ping - checks bots latency /sairbot-catfact - Cat fact /sairbot-rps + Rock; Paper; Scissors (Example: /sairbot-rps rock) - Rock Paper Scissors game Deployed on Nest...
|
1793220733.8560464
|
1793307133.8560464
|
|
26846
|
Battleship by @Gian_Maria | Stardance
|
Gian_Maria
|
1
|
11.21
|
15
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-30T08:28:34Z", "hours": 9.0, "multiplier": 1.69, "payout": 15, "blessing": "neutral", "text": "H1 Beta relese This is the BETA of my game. I’m releasing it to start getting feedback, which will help me expand the game. Several things are still missing, including: -The ship placement system A better UI Code optimization, to allow for better maintenance and make it run better ALL CRITICISM IS WELCOME!!! Have fun xcx", "repo": "https://github.com/GianMaria01/battleship", "demo": "https://gian-maria01.itch.io/battleship"}]...
|
[{"post_id": 19325, "ts": "202 [{"post_id": 19325, "ts": "2026-06-30T16:35:13Z", "hours": 2.2078, "text": "IT’S COMPLETE IG After several technical problems which led me to rewrite the most important function like, CPP Void Hitbox(); , to allow the placement of larger ships, I decided to wrap up this project here, which turned out to be much harder than expected. See you in my other projects xcx"}, {"post_id": 18449, "ts": "2026-06-29T16:40:20Z", "hours": 3.9017, "text": "Day 3 After a full day of work the game is technically playable, though a lot still needs to be done — from ship placement to UI polish. Here’s what I got done: I rewrote the hit/miss detection logic from scratch to fix some bugs, added a text label and animations to clearly show the player when they miss, locked grid interaction during animations to prevent exploits, and built a function that tracks correct hits to detect when all ships have been sunk. Oh, and on community advice I switched the UI language from Italian to English to lower the barrier for more players."}, {"post_id": 17521, "ts": "2026-06-28T10:26:53Z", "hours": 2.8308, "text": "Introduce aversario pointer and fix turn assignment/spacing. Add mouse click handling to record attacks (giocatore->attachiVS) when clicking inside the grid, and draw hit markers (GRAY) where the opponent’s hitbox and player’s attacks coincide. Add null-check for both giocatore and aversario and normalize PosTesX adjustments. Minor style/whitespace fixes and use of consistent modulo spacing."}, {"post_id": 17164, "ts": "2026-06-27T21:12:17Z", "hours": 1.04, "text": "Implement ship placement tracking to prevent players from ending their turn until all ships are positioned. Added DimNave field to track placed ship cells, disabled the turn-end button until placement is complete, and added visual feedback (button graying) when ships haven’t all been placed. Also added toggle functionality to remove previously placed ships."}, {"post_id": 17019, "ts": "2026-06-27T16:58:36Z", "hours": 1.1703, "text": "I have finished the UI foundations with a working grid and if you click on the text “Fine turno” the turn is passed to the second player. The ship count control logic is missing, along with a clearer UI, and I need to block the console from appearing at startup. (Just to be transparent, I translated this report with AI, I’m Italian)"}]...
|
Title: Battleship by @Gian_Maria | Stardance
Devl Title: Battleship by @Gian_Maria | Stardance
Devlogs:
I have finished the UI foundations with a working grid and if you click on the text “Fine turno” the turn is passed to the second player. The ship count control logic is missing, along with a clearer UI, and I need to block the console from appearing at startup. (Just to be transparent, I translated this report with AI, I’m Italian)
Implement ship placement tracking to prevent players from ending their turn until all ships are positioned. Added DimNave field to track placed ship cells, disabled the turn-end button until placement is complete, and added visual feedback (button graying) when ships haven’t all been placed. Also added toggle functionality to remove previously placed ships.
Introduce aversario pointer and fix turn assignment/spacing. Add mouse click handling to record attacks (giocatore->attachiVS) when clicking inside the grid, and draw hit markers (GRAY) where the opponent’s hitbox and player’s attacks coincide. Add null-check for both giocatore and aversario and normalize PosTesX adjustments. Minor style/whitespace fixes and use of consistent modulo spacing.
Day 3 After a full day of work the game is technically playable, though a lot still needs to be done — from ship placement to UI polish. Here’s what I got done: I rewrote the hit/miss detection logic from scratch to fix some bugs, added a text label and animations to clearly show the player when they miss, locked grid interaction during animations to prevent exploits, and built a function that tracks correct hits to detect when all ships have been sunk. Oh, and on community advice I switched the UI language from Italian to English to lower the barrier for more players.
IT’S COMPLETE IG After several technical problems which led me to rewrite the most important function like, CPP Void Hitbox(); , to allow the placement of larger ships, I decided to wrap up this project here, which turned out to be much harder than expected. See you in my other projects xcx
Ships:
H1 Beta relese This is the BETA of my game. I’m releasing it to start getting feedback, which will help me expand the game. Several things are still missing, including: -The ship placement system A better UI Code optimization, to allow for better maintenance and make it run better ALL CRITICISM IS WELCOME!!! Have fun xcx...
|
1793252909.9762087
|
1793339309.9762087
|
|
26855
|
loves.rs by @tathyagarg | Stardance
|
tathyagarg
|
1
|
7.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-27T09:47:59Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a website where you claim free subdomains on my domain, loves.rs . I bought loves.rs because I love Rust and wanted to have tathya.loves.rs as a domain. I made this project because I then realized that other people might also want a subdomain on loves.rs , and that there was no downside to me giving away free subdomains for everyone. The most challenging part was adapting to SolidStart. I’ve always used SvelteKit for my web projects, so I wanted to trying something new. I don’t think I’ll be using SolidStart again since it was extremely inconvenient to use. To claim a subdomain for yourself simply sign in with GitHub, star my repo, and claim upto 3 subdomains!", "repo": "https://github.com/tathyagarg/loves.rs", "demo": "https://www.loves.rs"}]...
|
[{"post_id": 16817, "ts": "202 [{"post_id": 16817, "ts": "2026-06-27T09:40:24Z", "hours": 7.2186, "text": "Wasn’t planning on shipping to stardance but oh well. I built loves.rs, a free subdomain service for (mostly) Rust projects and developers (though it is open for everyone!) The idea is that if you have a project - for example, called harbor - you can claim a subdomain on loves.rs to showcase your project - like harbor.loves.rs The process to claiming a subdomain is: Sign in with GitHub on the website . Star my repository. Claim upto 3 subdomains. The subdomains are provisioned instantly so there’s no waiting time between claiming the subdomain and being able to use it. Once you claim a subdomain you’re given full DNS control over it, so you can add whatever DNS records you need yourself. Features: Upto 3 subdomains (per GitHub account). Full DNS control over subdomains. Support for A, AAAA, CNAME, TXT, PTR , and NS records (MX probably coming soon!). Nested subdomains (you can have as many nested subdomains as you want on each of your subdomains). I built it with SolidStart because I usually use SvelteKit for my web projects but wanted to try something new. DNS is powered by Raincloudns (DNS service made by @Cyteon )"}]...
|
Title: loves.rs by @tathyagarg | Stardance
Devlog Title: loves.rs by @tathyagarg | Stardance
Devlogs:
Wasn’t planning on shipping to stardance but oh well. I built loves.rs, a free subdomain service for (mostly) Rust projects and developers (though it is open for everyone!) The idea is that if you have a project - for example, called harbor - you can claim a subdomain on loves.rs to showcase your project - like harbor.loves.rs The process to claiming a subdomain is: Sign in with GitHub on the website . Star my repository. Claim upto 3 subdomains. The subdomains are provisioned instantly so there’s no waiting time between claiming the subdomain and being able to use it. Once you claim a subdomain you’re given full DNS control over it, so you can add whatever DNS records you need yourself. Features: Upto 3 subdomains (per GitHub account). Full DNS control over subdomains. Support for A, AAAA, CNAME, TXT, PTR , and NS records (MX probably coming soon!). Nested subdomains (you can have as many nested subdomains as you want on each of your subdomains). I built it with SolidStart because I usually use SvelteKit for my web projects but wanted to try something new. DNS is powered by Raincloudns (DNS service made by @Cyteon )
Ships:
I made a website where you claim free subdomains on my domain, loves.rs . I bought loves.rs because I love Rust and wanted to have tathya.loves.rs as a domain. I made this project because I then realized that other people might also want a subdomain on loves.rs , and that there was no downside to me giving away free subdomains for everyone. The most challenging part was adapting to SolidStart. I’ve always used SvelteKit for my web projects, so I wanted to trying something new. I don’t think I’ll be using SolidStart again since it was extremely inconvenient to use. To claim a subdomain for yourself simply sign in with GitHub, star my repo, and claim upto 3 subdomains!...
|
1793314408.575144
|
1793400808.575144
|
|
26857
|
pefiaOS , a bare-metal x86 operating system with a pefiaOS , a bare-metal x86 operating system with a graphical shell by @f | Stardance...
|
f
|
1
|
40.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-29T19:38:25Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Overview pefiaOS is a bare metal 32-bit x86 operating system written entirely from scratch in C and NASM. It contains around 9,000 lines of kernel code with no libc or third party kernel code. Features Graphical desktop with overlapping windows, taskbar, Start menu, and window manager Complete networking stack (Ethernet, ARP, IPv4, ICMP, UDP, DHCP, DNS, TCP) TLS 1.3 implementation from scratch for real HTTPS support Web browser with HTML rendering and inline image support Five built in games including Flappy Bird, Pong, Tetris, a Mario style platformer, and a Wolfenstein style raycaster Runs the original 1993 DOOM through PureDOOM inside a desktop window Challenges Some of the more difficult parts of the project included: Writing TLS 1.3 and its cryptographic primitives entirely from scratch Building a complete TCP/IP networking stack without timer interrupts Implementing DEFLATE, JPEG, and BMP decoders by hand Running everything in a cooperative single threaded kernel Integrating the real DOOM engine into a freestanding bare metal environment Highlights I’m especially proud that pefiaOS isn’t just a toy kernel. It can browse the real web over HTTPS, run a full graphical desktop, play games, and even run the original DOOM, all on hardware with no host operating system, no libc, and no runtime underneath. Running pefiaOS After building the cross compiler, simply run: make make run Or boot pefiaOS.iso in VirtualBox using an Intel PRO/1000 network adapter. Things to try Browse a real HTTPS website Play one of the built in games Launch DOOM from the Start menu Open the terminal and run about Capture network traffic with make run-net Current limitations No audio support yet TLS does not verify server certificates No preemptive multitasking No JavaScript engine The part that still feels surreal is watching the OS boot, opening the browser, and loading real HTTPS websites from the internet on an operating system I built entirely from scratch.", "repo": "https://github.com/pefia/pefiaos", "demo": "https://github.com/pefia/pefiaOS/releases/tag/v1.3"}]...
|
[{"post_id": 35746, "ts": "202 [{"post_id": 35746, "ts": "2026-07-27T11:53:45Z", "hours": 6.0, "text": "67 hours !!!!!!!! This update was mainly about improving the web browser and fixing bugs I found across the OS. The browser is now much more capable than before. I added a much better CSS engine, a lot more JavaScript features, proper form support with POST requests, cookies, animated GIFs, media placeholders, and lots of networking improvements. I also changed the homepage to DuckDuckGo Lite, so you can actually search the web from inside pefiaOS. I also fixed several kernel bugs, including memory corruption issues, framebuffer bugs, safer memory management, more reliable timing, and network driver improvements. Building the OS is easier now too. If you don’t have the cross compiler installed, it can now use your system GCC instead. I also improved VM compatibility by adding better diagnostics when booting with the wrong firmware. There is still a lot I want to add, like UTF-8 support, certificate verification, paging, and user mode, but this is the biggest browser update pefiaOS has had so far."}, {"post_id": 31701, "ts": "2026-07-20T09:56:29Z", "hours": 15.0, "text": "Devlog 05 - The Return: Giving pefiaOS a real kernel This update was mostly focused on replacing a lot of the “fake OS” parts with real operating system infrastructure. The biggest milestone was getting interrupts working. I added my own GDT, built an IDT with exception and IRQ handlers, remapped the PIC, programmed the PIT to 100 Hz, and implemented kernel threads with a handwritten x86 context switch. The scheduler is still cooperative because the heap and window manager aren’t thread safe enough for preemption yet, but background threads can finally run independently. I also wrote an ATA PIO driver capable of reading and writing real IDE disks using LBA28 addressing. On top of that I rewrote the VFS into a writable, heap-backed filesystem, so applications can now create, modify and delete files instead of relying on a compile-time file table. Persistence is still missing, but FAT32 can now be built on top of the driver. The desktop gained a lot of new functionality too. The code editor now supports syntax highlighting and line numbers, the terminal gained proper filesystem commands like mkdir , touch , rm , cat , echo > file , and ps , and I added both C and Python-style interpreters using the same recursive descent expression engine. Graphics also received a major upgrade. The desktop now runs at 1920x1080 and I replaced the old 1-bit bitmap font with grayscale anti-aliased glyphs generated from Consolas. The renderer blends glyph coverage into the framebuffer, making text much easier to read without changing any existing layouts. I also improved the desktop itself with window snapping, a scrollable Start menu, a live Settings app for themes and system settings, interactive browser text inputs, and a number of browser rendering improvements including larger page support and faster text drawing. The hardest part was getting all these systems working together. Interrupts initially caused repeated triple faults because my descriptor tables were wrong, the scheduler had to coexist with the existing window manager, and changing the VFS meant updating almost every built-in application. To make sure nothing regressed, I added a boot self-test that verifies the interpreter, writable VFS, scheduler, timer interrupts and ATA disk driver every time the OS starts. Things I’d love people to test: Open multiple windows and try snapping them around the desktop. Use the terminal to create, edit and delete files. Open the code editor and test syntax highlighting. Try typing into browser text inputs. Change the desktop theme and accent colour in Settings. This update doesn’t add one huge feature, but it lays the groundwork for the next major milestones: paging, user-mode processes, ELF loading, and a persistent filesystem."}, {"post_id": 21661, "ts": "2026-07-03T18:50:12Z", "hours": 12.0, "text": "Devlog — Snake, Breakout, a Smarter Shell, and Build Hygiene This week I added two new games (Snake and Breakout, bringing the total to seven), expanded the shell with new built-ins and command history, and cleaned up the build system. Everything boots and runs in QEMU. Snake The ring buffer approach makes movement O(1) instead of O(n): uint16_t s_body [ SN_CAP ]; /* ring buffer of cell indices */ int s_head , s_len ; Input and movement run on separate clocks. Input latches every 33 ms, movement every 130 - 4×score ms (minimum 60 ms). This way no keypresses drop and difficulty scales naturally. The grid is 16 pixel cells, clamped to window size. Apples spawn via rejection sampling. Filling the entire board wins the round. Breakout 26.6 fixed point physics handles shallow angles that integer pixels would quantise to zero. Paddle english depends on where you hit it: int off = bx - g -> k_px ; g -> k_bvy = - g -> k_bvy ; g -> k_bvx = ( off << 6 ) / ( pw / 6 ); Ball starts stuck to the paddle, launches with Space. Three lives, then game over. Integration Adding two games touched almost no window-manager code. Two enum entries in games.h , two lines per dispatch switch in games.c , and the Start menu entry in taskbar.c . The WM handles everything else automatically. Shell Improvements Added five new built-ins: free , uptime , history , ver , and fixed echo to print blank lines. Terminal got uptime too. One Version String #define PEFIA_VERSION \"pefiaOS 0.3 (Stardance)\" All three places that display version now build from this single define. Build Fixes Fixed header dependency tracking: CFLAGS += -MMD -MP -include $(OBJS:.o=.d) Editing a header now correctly rebuilds only the objects that include it. Cleaned up boot.asm trailing whitespace too. Testing Verified in my virtual machine: both games launch and play correctly, Terminal shows the new version string, all shell commands work. Seven games on a kernel I wrote from scratch!! :D"}, {"post_id": 18560, "ts": "2026-06-29T19:08:55Z", "hours": 1.0, "text": "Bringing Games (and DOOM) to pefiaOS This update was all about making pefiaOS capable of running real time applications. The desktop was originally designed around event driven apps, so games needed quite a bit of work before they were even possible. What’s new? Off screen rendering to eliminate flickering Proper held key input for responsive controls Fixed timestep game loop Resizable game windows Flappy Bird Pong Tetris Mario style platformer Wolfenstein style 3D raycaster Once those were working, I had to answer the obvious question: can it run DOOM? It turns out it can. I integrated PureDOOM by writing a platform layer that hooks the engine into my own memory allocator, timer, input system, framebuffer, and virtual filesystem. Since there’s no disk driver yet, the shareware WAD is embedded directly into the kernel, meaning DOOM now runs inside a normal desktop window on pefiaOS itself. Seeing the real 1993 DOOM running on an operating system I built from scratch has easily been one of the most rewarding moments of the project so far, and it also kinda shows that it can do something cool too, not just boring kernels and such."}, {"post_id": 18008, "ts": "2026-06-28T23:43:33Z", "hours": 1.0, "text": "PefiaOS Browser Engine Update - 12:35AM Replaced old HTML renderer with a proper DOM tree system Added CSS engine basic cascade box model layout Implemented lightweight JavaScript interpreter variables loops getElementById() innerHTML ⸻ Bug Fix Fixed image caching bug caused by reading bitmap dimensions after freeing memory Issue resulted in images being stored as 0×0 and rendering as blank white boxes PNG rendering now works correctly again (including Google logo) ⸻ Result Pages now render using DOM structure CSS styling is partially functional JavaScript enables basic interactivity Image rendering is stable again Google homepage renders significantly more correctly"}, {"post_id": 17727, "ts": "2026-06-28T17:16:30Z", "hours": 3.0, "text": "I have currently written the operating system from scratch, created a GUI (Graphical User Interface) and a window manager. I have apps such as a terminal with Linux-inspired commands and a working Browser written from scratch! Google doesn’t serve plain HTTP anymore, so getting to google.com meant implementing modern cryptography inside my own kernel. I ended up writing SHA-256, HMAC/HKDF, AES-128-GCM and X25519 myself before finally getting the handshake to complete. Most of the debugging came down to tiny mistakes—one incorrect byte somewhere could make the whole connection fail. Once that finally worked, I could build the browser on top of it. Right now it has a basic HTTP client and a renderer that supports enough HTML and CSS to display text with word wrapping, links and scrolling."}]...
|
Title: pefiaOS , a bare-metal x86 operating system Title: pefiaOS , a bare-metal x86 operating system with a graphical shell by @f | Stardance
Devlogs:
I have currently written the operating system from scratch, created a GUI (Graphical User Interface) and a window manager. I have apps such as a terminal with Linux-inspired commands and a working Browser written from scratch! Google doesn’t serve plain HTTP anymore, so getting to google.com meant implementing modern cryptography inside my own kernel. I ended up writing SHA-256, HMAC/HKDF, AES-128-GCM and X25519 myself before finally getting the handshake to complete. Most of the debugging came down to tiny mistakes—one incorrect byte somewhere could make the whole connection fail. Once that finally worked, I could build the browser on top of it. Right now it has a basic HTTP client and a renderer that supports enough HTML and CSS to display text with word wrapping, links and scrolling.
PefiaOS Browser Engine Update - 12:35AM Replaced old HTML renderer with a proper DOM tree system Added CSS engine basic cascade box model layout Implemented lightweight JavaScript interpreter variables loops getElementById() innerHTML ⸻ Bug Fix Fixed image caching bug caused by reading bitmap dimensions after freeing memory Issue resulted in images being stored as 0×0 and rendering as blank white boxes PNG rendering now works correctly again (including Google logo) ⸻ Result Pages now render using DOM structure CSS styling is partially functional JavaScript enables basic interactivity Image rendering is stable again Google homepage renders significantly more correctly
Bringing Games (and DOOM) to pefiaOS This update was all about making pefiaOS capable of running real time applications. The desktop was originally designed around event driven apps, so games needed quite a bit of work before they were even possible. What’s new? Off screen rendering to eliminate flickering Proper held key input for responsive controls Fixed timestep game loop Resizable game windows Flappy Bird Pong Tetris Mario style platformer Wolfenstein style 3D raycaster Once those were working, I had to answer the obvious question: can it run DOOM? It turns out it can. I integrated PureDOOM by writing a platform layer that hooks the engine into my own memory allocator, timer, input system, framebuffer, and virtual filesystem. Since there’s no disk driver yet, the shareware WAD is embedded directly into the kernel, meaning DOOM now runs inside a normal desktop window on pefiaOS itself. Seeing the real 1993 DOOM running on an operating system I built from scratch has easily been one of the most rewarding moments of the project so far, and it also kinda shows that it can do something cool too, not just boring kernels and such.
Devlog — Snake, Breakout, a Smarter Shell, and Build Hygiene This week I added two new games (Snake and Breakout, bringing the total to seven), expanded the shell with new built-ins and command history, and cleaned up the build system. Everything boots and runs in QEMU. Snake The ring buffer approach makes movement O(1) instead of O(n): uint16_t s_body [ SN_CAP ]; /* ring buffer of cell indices */ int s_head , s_len ; Input and movement run on separate clocks. Input latches every 33 ms, movement every 130 - 4×score ms (minimum 60 ms). This way no keypresses drop and difficulty scales naturally. The grid is 16 pixel cells, clamped to window size. Apples spawn via rejection sampling. Filling the entire board wins the round. Breakout 26.6 fixed point physics handles shallow angles that integer pixels would quantise to zero. Paddle english depends on where you hit it: int off = bx - g -> k_px ; g -> k_bvy = - g -> k_bvy ; g -> k_bvx = ( off << 6 ) / ( pw / 6 ); Ball starts stuck to the paddle, launches with Space. Three lives, then game over. Integration Adding two games touched almost no window-manager code. Two enum entries in games.h , two lines per dispatch switch in games.c , and the Start menu entry in taskbar.c . The WM handles everything else automatically. Shell Improvements Added five new built-ins: free , uptime , history , ver , and fixed echo to print blank lines. Terminal got uptime too. One Version String #define PEFIA_VERSION "pefiaOS 0.3 (Stardance)" All three places that display version now build from this single define. Build Fixes Fixed header dependency tracking: CFLAGS += -MMD -MP -include $(OBJS:.o=.d) Editing a header now correctly rebuilds only the objects that include it. Cleaned up boot.asm trailing whitespace too. Testing Verified in my virtual machine: both games launch and play correctly, Terminal shows the new version string, all shell commands work. Seven games on a kernel I wrote from scratch!! :D
Devlog 05 - The Return: Giving pefiaOS a real kernel This update was mostly focused on replacing a lot of the “fake OS” parts with real operating system infrastructure. The biggest milestone was getting interrupts working. I added my own GDT, built an IDT with exception and IRQ handlers, remapped the PIC, programmed the PIT to 100 Hz, and implemented kernel threads with a handwritten x86 context switch. The scheduler is still cooperative because the heap and window manager aren’t thread safe enough for preemption yet, but background threads can finally run independently. I also wrote an ATA PIO driver capable of reading and writing real IDE disks using LBA28 addressing. On top of that I rewrote the VFS into a writable, heap-backed filesystem, so applications can now create, modify and delete files instead of relying on a compile-time file table. Persistence is still missing, but FAT32 can now be built on top of the driver. The desktop gained a lot of new functionality too. The code editor now supports syntax highlighting and line numbers, the terminal gained proper filesystem commands like mkdir , touch , rm , cat , echo > file , and ps , and I added both C and Python-style interpreters using the same recursive descent expression engine. Graphics also received a major upgrade. The desktop now runs at 1920x1080 and I replaced the old 1-bit bitmap font with grayscale anti-aliased glyphs generated from Consolas. The renderer blends glyph coverage into the framebuffer, making text much easier to read without changing any existing layouts. I also improved the desktop itself with window snapping, a scrollable Start menu, a live Settings app for themes and system settings, interactive browser text inputs, and a number of browser rendering improvements including larger page support and faster text drawing. The hardest part was getting all these systems working together. Interrupts initially caused repeated triple faults because my descriptor tables were wrong, the scheduler had to coexist with the existing window manager, and changing the VFS meant updating almost every built-in application. To make sure nothing regressed, I added a boot self-test that verifies the interpreter, writable VFS, scheduler, timer interrupts and ATA disk driver every time the OS starts. Things I’d love people to test: Open multiple windows and try snapping them around the desktop. Use the terminal to create, edit and delete files. Open the code editor and test syntax highlighting. Try typing into browser text inputs. Change the desktop theme and accent colour in Settings. This update doesn’t add one huge feature, but it lays the groundwork for the next major milestones: paging, user-mode processes, ELF loading, and a persistent filesystem.
67 hours !!!!!!!! This update was mainly about improving the web browser and fixing bugs I found across the OS. The browser is now much more capable than before. I added a much better CSS engine, a lot more JavaScript features, proper form support with POST requests, cookies, animated GIFs, media placeholders, and lots of networking improvements. I also changed the homepage to DuckDuckGo Lite, so you can actually search the web from inside pefiaOS. I also fixed several kernel bugs, including memory corruption issues, framebuffer bugs, safer memory management, more reliable timing, and network driver improvements. Building the OS is easier now too. If you don’t have the cross compiler installed, it can now use your system GCC instead. I also improved VM compatibility by adding better diagnostics when booting with the wrong firmware. There is still a lot I want to add, like UTF-8 support, certificate verification, paging, and user mode, but this is the biggest browser update pefiaOS has had so far.
Ships:
Overview pefiaOS is a bare metal 32-bit x86 operating system written entirely from scratch in C and NASM. It contains around 9,000 lines of kernel code with no libc or third party kernel code. Features Graphical desktop with overlapping windows, taskbar, Start menu, and window manager Complete networking stack (Ethernet, ARP, IPv4, ICMP, UDP, DHCP, DNS, TCP) TLS 1.3 implementation from scratch for real HTTPS support Web browser with HTML rendering and inline image support Five built in games including Flappy Bird, Pong, Tetris, a Mario style platformer, and a Wolfenstein style raycaster Runs the original 1993 DOOM through PureDOOM inside a desktop window Challenges Some of the more difficult parts of the project included: Writing TLS 1.3 and its cryptographic primitives entirely from scratch Building a complete TCP/IP networking stack without timer interrupts Implementing DEFLATE, JPEG, and BMP decoders by hand Running everything in a cooperative single threaded kernel Integrating the real DOOM engine into a freestanding bare metal environment Highlights I’m especially proud that pefiaOS isn’t just a toy kernel. It can browse the real web over HTTPS, run a full graphical desktop, play games, and even run the original DOOM, all on hardware with no host operating system, no libc, and no runtime underneath. Running pefiaOS After building the cross compiler, simply run: make make run Or boot pefiaOS.iso in VirtualBox using an Intel PRO/1000 network adapter. Things to try Browse a real HTTPS website Play one of the built in games Launch DOOM from the Start menu Open the terminal and run about Capture network traffic with make run-net Current limitations No audio support yet TLS does not verify server certificates No preemptive multitasking No JavaScript engine The part that still feels surreal is watching the OS boot, opening the browser, and loading real HTTPS websites from the internet on an operating system I built entirely from scratch....
|
1792878805.2685664
|
1793742805.2685664
|
|
26875
|
Nanos Multi Tool by @Nanos | Stardance
|
Nanos
|
1
|
1.0
|
6
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-29T19:27:59Z", "hours": 1.0, "multiplier": 4.95, "payout": 6, "blessing": "neutral", "text": "What I built: I took a flashy but fragile script and rebuilt its core into a robust, real-world CLI tool. Why I'm proud: I killed the \"fake\" elements. I removed the useless 5-second loading animation because a real sysadmin tool must be instant. I shifted the focus from code that simply runs to code that survives (proper defensive programming).", "repo": "https://github.com/na1os/nanos-multi-tool", "demo": "https://github.com/na1os/nanos-multi-tool/releases/tag/exe"}]...
|
[{"post_id": 18565, "ts": "202 [{"post_id": 18565, "ts": "2026-06-29T19:13:39Z", "hours": 1.0, "text": "NANOS MULTI-TOOL v3.0A modular, terminal-based system administration and utility suite built with Python and the Rich library.FeaturesSystem Tools: Monitor CPU, RAM, disk usage, and track top memory-consuming processes.Network Tools: Ping hosts, perform DNS lookups, scan common ports, and retrieve public IP.File Tools: Analyze file sizes, find exact duplicate files via SHA-256 chunking, and read text files.Security Tools: Generate cryptographically secure passwords and create SHA-256 hashes. Developer Tools: Beautify JSON, test HTTP GET requests, and encode/decode Base64 strings.Live Dashboard: Real-time overview of local/UTC time, OS info, and hardware stats."}]...
|
Title: Nanos Multi Tool by @Nanos | Stardance
Dev Title: Nanos Multi Tool by @Nanos | Stardance
Devlogs:
NANOS MULTI-TOOL v3.0A modular, terminal-based system administration and utility suite built with Python and the Rich library.FeaturesSystem Tools: Monitor CPU, RAM, disk usage, and track top memory-consuming processes.Network Tools: Ping hosts, perform DNS lookups, scan common ports, and retrieve public IP.File Tools: Analyze file sizes, find exact duplicate files via SHA-256 chunking, and read text files.Security Tools: Generate cryptographically secure passwords and create SHA-256 hashes. Developer Tools: Beautify JSON, test HTTP GET requests, and encode/decode Base64 strings.Live Dashboard: Real-time overview of local/UTC time, OS info, and hardware stats.
Ships:
What I built: I took a flashy but fragile script and rebuilt its core into a robust, real-world CLI tool. Why I'm proud: I killed the "fake" elements. I removed the useless 5-second loading animation because a real sysadmin tool must be instant. I shifted the focus from code that simply runs to code that survives (proper defensive programming)....
|
1792878848.5007298
|
1793742848.5007298
|
|
26881
|
My very own WebOS by @Matesz | Stardance
|
Matesz
|
1
|
84.16
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-31T14:46:39Z", "hours": 81.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built my own web-based OS simulation called VoidOS a complete desktop environment that runs entirely in the browser from a single HTML file, no build tools, no npm, no backend. It’s got draggable, resizable windows, a taskbar, boot/login sequences, and a full suite of over 30 apps: Terminal, Files, Text Editor, Calculator, Music Player, Notes, Gallery, Mail, Calendar, Kanban, Weather, Settings, a few games (Tetris, Pong, Breakout, even a Doom-like FPS), and more. It leans hard into a retro CRT aesthetic scanlines, screen curvature, phosphor glow, chromatic aberration all done with pure CSS so it stays performant. The whole thing is vanilla JavaScript around 3,500 lines, ~85KB, zero dependencies organized into clean logical modules (an event bus, an IndexedDB wrapper, a virtual filesystem, a window manager, etc.) that mimic how a real OS is architected. I’m especially proud of the boot sequence and sound design I used the Web Audio API to synthesize authentic old-chip system sounds instead of using sample files. Being dysgraphic made this project harder than it might look writing and organizing all the code, comments, and documentation takes me a lot more effort and time than it does for most people, so just pushing through devlog after devlog was its own challenge. On the technical side, getting the CRT effects to look authentic without tanking performance was tricky too I ended up building a “Retro Inspector” devtool so I could toggle individual effects and watch the frame-cost impact in real time. Persistence was another hard one: making windows, files, notes, and settings survive a page reload without a backend meant building my own filesystem layer on top of IndexedDB. I also had to track down some nasty bugs along the way, like a memory leak in the music player’s beat interval and a mousemove listener firing on every frame until I throttled it. You can try it live in the browser, no install needed everything (files, notes, settings) is saved locally via IndexedDB, so it’ll persist between visits on the same browser. Try dragging windows around, snapping them to screen edges, opening a few apps from the dock/desktop, and poking around Settings to switch themes and wallpapers. The full source and devlog history are on GitHub if you want to see how it’s built.", "repo": "https://github.com/mateszko090214/WebOS", "demo": "https://web-void-os.netlify.app"}]...
|
[{"post_id": 74630, "ts": "202 [{"post_id": 74630, "ts": "2026-09-27T20:24:35Z", "hours": 3.1597, "text": "updated the z-index in css"}, {"post_id": 58195, "ts": "2026-08-30T15:29:40Z", "hours": 7.3572, "text": "VoidOS Retro - Changelog [v2.7.0] - Hyprland, Gadgets & Sound Added: Hyprland blur + rainbow border, system sounds, power-on gate, redesigned boot & login screens, 8-direction window resize, draggable gadgets (Clock/System/Signal/Sticky Note), touch & pen support, full keyboard accessibility, music shuffle/repeat, drag-and-drop music import, dock magnification, genie window animation, backup export/import, PWA offline support, favicon/meta tags, richer neofetch. Changed: Pointer Events for all drag/resize, consistent hover states app-wide, better Weather/Calendar UI, fixed version number display. Fixed: “Forget Saved Data” did nothing (undefined API), Gallery ignored requested image, unreachable achievement, broken default wallpaper, music/wallpaper detection failing under file:// , silent music playback under file:// , README merge-conflict markers, missing fallback manifest files. [v2.6.0] - Wallpaper & Music Update Added: Photo wallpapers with parallax drift, custom wallpaper upload, labeled thumbnails, bundled music/ folder with auto-detection (GitHub Pages API, directory listing, tracks.txt fallback). Changed: Split single-file app into index.html / style.css / script.js ; default wallpaper now a photo. Fixed: Live wallpaper canvas was hiding photo wallpapers underneath. [v2.5.0] - Phosphor Edition Added: Procedural + video live wallpapers, detailed boot sequence, CRT effects (curvature, scanlines, chromatic aberration, bloom), Degauss command, Retro Inspector devtool, 6 phosphor themes, 4 vintage wallpapers, CGA/EGA/VGA color support, synthesized chip sounds, realistic shutdown sequence, accessibility tweaks. Enhanced: Video live wallpapers, boot realism, theme persistence, terminal commands, window management (snap/ghost), virtual filesystem, full app suite (Terminal, Files, Editor, Calculator, Music, Notes, Gallery, Store, Weather, Timer, Kanban, Spotlight, Switcher), Easter eggs (Konami, Matrix rain, Rainbow mode), performance, Settings app. Fixed: Purple theme color bleed, wallpaper/settings z-index conflict, harsh terminal bell, cursor blink accessibility, theme-change icon snap, persistence reliability, CRT flicker."}, {"post_id": 55604, "ts": "2026-08-27T15:43:13Z", "hours": 9.8389, "text": "VoidOS Retro - Changelog [v2.5.0] - Phosphor Edition Added Type Description Advanced Live Wallpaper System Procedural generation (starfield, matrix rain, plasma waves) with YouTube video backgrounds and intelligent fallback Comprehensive Boot Sequence Detailed systemd-like boot logs showing service initialization, persistence layer status detection Enhanced Visual Effects Authentic CRT curvature simulation, dynamic scanline intensity, chromatic aberration, bloom/glow, phosphor persistence Degauss Command Terminal command that temporarily warps display with recovery animation Retro Inspector DevTool Real-time toggling of individual CRT effects with performance impact overlay 6 Built-in Phosphor Themes Green (classic terminal), Blue, Pink, Purple, White, and custom colors Vintage Wallpaper Collection 4 authentic wallpapers: IBM green terminal, Apple II monitor, VT100 amber, RGB composite artifact ThemeEngine Improvements Accepts spectral power distributions for accurate phosphor emulation True Terminal Color Support CGA/EGA/VGA palettes with customizable intensity System Sound Regeneration Web Audio API emulation of SN76489 and AY-3-8910 chips Enhanced Boot Animation POST beeps + memory count + BIOS splash simulation Realistic Shutdown Sequence Power-down surge with fading glow animation Accessibility Improvements Cursor blink rate respecting system settings, terminal bell filtered through CRT speaker Enhanced Type Description Live Wallpaper System Now supports video modes alongside procedural ones with automatic fallback Boot Process Realism Simulated system initialization with detailed service logging Theme Switching Dynamic theme persistence via IndexedDB Terminal Utilities Additional commands and improved history Desktop Styling Border radius, deep box shadow, enhanced titlebar with pulsing indicators Window Management Persistence option for ghost images when dragging, snap-to-edges functionality Filesystem Virtual FileSystem with persistence via browser storage (falls back to session-only) Application Suite Pre-loaded apps including Terminal, Files, Text Editor, Calculator, Music Player, Notes, Gallery, Store, Weather, Timer, Kanban, Spotlight, Window Switcher Easter Eggs System Konami code (confetti burst), Matrix rain terminal command, Rainbow mode (brand click) Performance Optimizations Rendering loop improvements, pure CSS solutions for effects under 2ms frame cost Settings App Comprehensive customization with live wallpaper selector, theme picker, and system controls Fixed Type Description Theme Color Bleed Purple theme had incorrect green channel bleed (was mixing blue+red instead of proper magenta) UI Layering Wallpaper slideshow paused when opening settings menu (z-index conflict resolved) Terminal Audio Terminal bell sound was too sharp—now filtered through CRT speaker simulation Accessibility Cursor blink rate now respects system accessibility settings Theme Transition Race Fixed condition where desktop icons would momentarily snap to grid on theme change Persistence Reliability Improved persistence layer reliability for cross-session data retention CRT Flicker Fixed occasional flicker in CRT effects during rapid theme changes [v0.96] - Text Editor Enhancement Update Added Type Description Find and Replace Functionality Ctrl+F for find, Ctrl+H for replace with options for single/all occurrences and case-sensitive search Go To Line Navigation Ctrl+G to jump to specific line numbers with input validation Enhanced Syntax Highlighting Added support for JSON and Python languages, improved existing language definitions Current Line Highlighting Visual indicator of cursor line with subtle highlighting Improved Keyboard Shortcuts Integrated find/replace/go-to-line with standard text editor shortcuts Enhanced Type Description Text Editor Application Overall usability and functionality approaching modern code editor standards Developer Experience Enhanced built-in tools for webOS system development and customization"}, {"post_id": 53154, "ts": "2026-08-23T16:18:22Z", "hours": 9.2947, "text": "VoidOS Retro - Changelog [v0.95] Type Description Updated README.md and DEVLOG.md to have a more professional presentation with tables and structured information Enhanced documentation clarity and readability [v0.94] - Video Backgrounds & Boot Enhancements Added Type Description Video background live wallpaper options (YouTube embeds) with fallback to procedural starfield Enhanced boot sequence with detailed systemd-like boot logs (Journal Service, udev, etc.) Persistence layer status detection shown in boot logs Enhanced Type Description Live wallpaper system to support video modes alongside procedural ones Boot process realism with simulated system initialization Background video fallback to starfield if embed fails to load [v0.93] - Live Wallpaper & Polish Update Added Type Description Custom hand-drawn cursor sprite for authentic retro feel Enhanced desktop styling with border radius and deep box shadow Procedural live wallpaper system (starfield, matrix rain, plasma waves) Enhanced titlebar with pulsing indicators and uppercase text Improved scrollbar styling throughout all applications Retro beveled button styling for windows and menus Live wallpaper toggle in Settings > Display Added Achievements app to the Store (tracks unlocked easter eggs) Enhanced Type Description Terminal utilities with additional commands and better history Files app drag-and-drop functionality between folders Settings app with live wallpaper selector Achievement system integration with toast notifications Performance optimizations to rendering loops Fixed Type Description Minor alignment issues in titlebar elements Improved persistence layer reliability Fixed occasional flicker in CRT effects during rapid theme changes [v0.92] - Major Retro-Theming Update Added Type Description Authentic CRT curvature simulation (using CSS transforms + filters, not canvas) Scanline intensity that dynamically responds to brightness (like real phosphor decay) 4 vintage wallpapers IBM green terminal, Apple II monitor, VT100 amber, and RGB composite artifact Terminal support for true CGA/EGA/VGA color palettes with customizable intensity Boot sequence rewritten to mimic POST beeps + memory count + BIOS splash Shutdown animation with realistic power-down surge and fading glow System sounds regenerated using Web Audio API to emulate SN76489 and AY-3-8910 chips “Degauss” command to Terminal that temporarily warps the display (with recovery animation) Favorite Feature: Retro Inspector DevTool Type Description Toggle individual CRT effects (scanlines, curvature, bloom, phosphor bloom, chromatic shift) in real-time Performance impact overlay showing frame cost Pure CSS solution keeps effects under 2ms frame cost even on integrated graphics Architecture Tweaks Type Description ThemeEngine now accepts spectral power distributions for accurate phosphor emulation Audio.js added noise generators for tape hiss and RF interference WindowManager gained “persistence” option that leaves ghost images when dragging (like long-persistence phosphor) FS.js now stores theme preferences per-user in IndexedDB with encrypted backup Fixed Type Description Purple theme had incorrect green channel bleed (was mixing blue+red instead of proper magenta) Wallpaper slideshow paused when opening settings menu (z-index conflict) Terminal bell sound was too sharp—now filtered through CRT speaker simulation Cursor blink rate wasn’t respecting system accessibility settings Fixed a race condition where desktop icons would momentarily snap to grid on theme change Notes You can try VoidOS Retro live at: https://web-void-os.netlify.app"}, {"post_id": 46944, "ts": "2026-08-14T14:47:10Z", "hours": 12.2797, "text": "VoidOS Retro - Changelog [v0.94] - Video Backgrounds & Boot Enhancements Added Video background live wallpaper options (YouTube embeds) with fallback to procedural starfield Enhanced boot sequence with detailed systemd-like boot logs (Journal Service, udev, etc.) Persistence layer status detection shown in boot logs Enhanced Live wallpaper system to support video modes alongside procedural ones Boot process realism with simulated system initialization Background video fallback to starfield if embed fails to load [v0.93] - Live Wallpaper & Polish Update Added Custom hand-drawn cursor sprite for authentic retro feel Enhanced desktop styling with border radius and deep box shadow Procedural live wallpaper system (starfield, matrix rain, plasma waves) Enhanced titlebar with pulsing indicators and uppercase text Improved scrollbar styling throughout all applications Retro beveled button styling for windows and menus Live wallpaper toggle in Settings > Display Added Achievements app to the Store (tracks unlocked easter eggs) Enhanced Terminal utilities with additional commands and better history Files app drag-and-drop functionality between folders Settings app with live wallpaper selector Achievement system integration with toast notifications Performance optimizations to rendering loops Fixed Minor alignment issues in titlebar elements Improved persistence layer reliability Fixed occasional flicker in CRT effects during rapid theme changes [v0.92] - Major Retro-Theming Update Added Authentic CRT curvature simulation (using CSS transforms + filters, not canvas) Scanline intensity that dynamically responds to brightness (like real phosphor decay) 4 vintage wallpapers: IBM green terminal, Apple II monitor, VT100 amber, and RGB composite artifact Terminal support for true CGA/EGA/VGA color palettes with customizable intensity Boot sequence rewritten to mimic POST beeps + memory count + BIOS splash Shutdown animation with realistic power-down surge and fading glow System sounds regenerated using Web Audio API to emulate SN76489 and AY-3-8910 chips “Degauss” command to Terminal that temporarily warps the display (with recovery animation) Favorite Feature: Retro Inspector DevTool Toggle individual CRT effects (scanlines, curvature, bloom, phosphor bloom, chromatic shift) in real-time Performance impact overlay showing frame cost Pure CSS solution keeps effects under 2ms frame cost even on integrated graphics Architecture Tweaks ThemeEngine now accepts spectral power distributions for accurate phosphor emulation Audio.js added noise generators for tape hiss and RF interference WindowManager gained “persistence” option that leaves ghost images when dragging (like long-persistence phosphor) FS.js now stores theme preferences per-user in IndexedDB with encrypted backup Fixed Purple theme had incorrect green channel bleed (was mixing blue+red instead of proper magenta) Wallpaper slideshow paused when opening settings menu (z-index conflict) Terminal bell sound was too sharp—now filtered through CRT speaker simulation Cursor blink rate wasn’t respecting system accessibility settings Fixed a race condition where desktop icons would momentarily snap to grid on theme change Notes You can try VoidOS Retro live at: https://web-void-os.netlify.app"}, {"post_id": 45288, "ts": "2026-08-11T17:31:34Z", "hours": 12.7103, "text": "VoidOS Retro - Changelog [v0.93] - Live Wallpaper & Polish Update Added Custom hand-drawn cursor sprite for authentic retro feel Enhanced desktop styling with border radius and deep box shadow Procedural live wallpaper system (starfield, matrix rain, plasma waves) Enhanced titlebar with pulsing indicators and uppercase text Improved scrollbar styling throughout all applications Retro beveled button styling for windows and menus Live wallpaper toggle in Settings > Display Added Achievements app to the Store (tracks unlocked easter eggs) Enhanced Terminal utilities with additional commands and better history Files app drag-and-drop functionality between folders Settings app with live wallpaper selector Achievement system integration with toast notifications Performance optimizations to rendering loops Fixed Minor alignment issues in titlebar elements Improved persistence layer reliability Fixed occasional flicker in CRT effects during rapid theme changes [v0.92] - Major Retro-Theming Update Added Authentic CRT curvature simulation (using CSS transforms + filters, not canvas) Scanline intensity that dynamically responds to brightness (like real phosphor decay) 4 vintage wallpapers: IBM green terminal, Apple II monitor, VT100 amber, and RGB composite artifact Terminal support for true CGA/EGA/VGA color palettes with customizable intensity Boot sequence rewritten to mimic POST beeps + memory count + BIOS splash Shutdown animation with realistic power-down surge and fading glow System sounds regenerated using Web Audio API to emulate SN76489 and AY-3-8910 chips “Degauss” command to Terminal that temporarily warps the display (with recovery animation) Favorite Feature: Retro Inspector DevTool Toggle individual CRT effects (scanlines, curvature, bloom, phosphor bloom, chromatic shift) in real-time Performance impact overlay showing frame cost Pure CSS solution keeps effects under 2ms frame cost even on integrated graphics Architecture Tweaks ThemeEngine now accepts spectral power distributions for accurate phosphor emulation Audio.js added noise generators for tape hiss and RF interference WindowManager gained “persistence” option that leaves ghost images when dragging (like long-persistence phosphor) FS.js now stores theme preferences per-user in IndexedDB with encrypted backup Fixed Purple theme had incorrect green channel bleed (was mixing blue+red instead of proper magenta) Wallpaper slideshow paused when opening settings menu (z-index conflict) Terminal bell sound was too sharp—now filtered through CRT speaker simulation Cursor blink rate wasn’t respecting system accessibility settings Fixed a race condition where desktop icons would momentarily snap to grid on theme change Notes This is a side project of the Retro OS. Download the Retro OS from: https://github.com/mateszko090214/WebOS.git You can try VoidOS Retro live at: https://web-void-os.netlify.app"}, {"post_id": 39211, "ts": "2026-08-02T01:01:18Z", "hours": 8.0097, "text": "VoidOS Retro - Changelog [v0.92] - Major Retro-Theming Update Added Authentic CRT curvature simulation (using CSS transforms + filters, not canvas) Scanline intensity that dynamically responds to brightness (like real phosphor decay) 4 vintage wallpapers: IBM green terminal, Apple II monitor, VT100 amber, and RGB composite artifact Terminal support for true CGA/EGA/VGA color palettes with customizable intensity Boot sequence rewritten to mimic POST beeps + memory count + BIOS splash Shutdown animation with realistic power-down surge and fading glow System sounds regenerated using Web Audio API to emulate SN76489 and AY-3-8910 chips “Degauss” command to Terminal that temporarily warps the display (with recovery animation) Favorite Feature: Retro Inspector DevTool Toggle individual CRT effects (scanlines, curvature, bloom, phosphor bloom, chromatic shift) in real-time Performance impact overlay showing frame cost Pure CSS solution keeps effects under 2ms frame cost even on integrated graphics Architecture Tweaks ThemeEngine now accepts spectral power distributions for accurate phosphor emulation Audio.js added noise generators for tape hiss and RF interference WindowManager gained “persistence” option that leaves ghost images when dragging (like long-persistence phosphor) FS.js now stores theme preferences per-user in IndexedDB with encrypted backup Fixed Purple theme had incorrect green channel bleed (was mixing blue+red instead of proper magenta) Wallpaper slideshow paused when opening settings menu (z-index conflict) Terminal bell sound was too sharp—now filtered through CRT speaker simulation Cursor blink rate wasn’t respecting system accessibility settings Fixed a race condition where desktop icons would momentarily snap to grid on theme change Notes This is a side project of the Retro OS. Download the Retro OS from: https://github.com/mateszko090214/WebOS.git You can try VoidOS Retro live at: https://web-void-os.netlify.app"}, {"post_id": 37275, "ts": "2026-07-29T21:16:31Z", "hours": 4.0828, "text": "Persistence (Puter) — files, notes, kanban, mail, calendar, distro log, dotfiles, settings, installed Store apps, and achievements now survive a reload. No backend involved. Window edge-snapping + real drag-and-drop file moves — these were literally sitting in the fake todo.txt inside VoidOS’s own filesystem, so I built them and marked them done in-universe. CRT scanline mode, matrix-rain terminal effect (RetroOS) — toggle in Settings, or type matrix in the terminal. A CPU-reactive pet, idle-based Store additions, Konami code, rainbow logo, cursor trail (MewoOS). 8 new apps, all in the Store: Color Lab, Sudoku, Distro Tracker, Dotfiles Sync, Mail, Task Manager, Calendar, Achievements. 27 apps total now."}, {"post_id": 35440, "ts": "2026-07-26T21:05:00Z", "hours": 4.2733, "text": "This is a side project of the Retro OS. Download the Retro OS from my GitHub : https://github.com/mateszko090214/WebOS.gitRetroWebOSJust pushed a major retro-theming update that dials the nostalgia to 11. This isn’t just a skin change—it’s a full immersion retrofit.What’s new in the Retro Edition:• Authentic CRT curvature simulation (using CSS transforms + filters, not canvas)• Scanline intensity now dynamically responds to brightness (like real phosphor decay)• Added 4 vintage wallpapers: IBM green terminal, Apple II monitor, VT100 amber, and RGB composite artifact• Terminal now supports true CGA/EGA/VGA color palettes with customizable intensity• Boot sequence rewritten to mimic POST beeps + memory count + BIOS splash• Shutdown animation includes realistic power-down surge and fading glow• System sounds regenerated using Web Audio API to emulate SN76489 and AY-3-8910 chips• Added “degauss” command to Terminal that temporarily warps the display (with recovery animation)Favorite feature: The new “Retro Inspector” DevToolIt lets you toggle individual CRT effects (scanlines, curvature, bloom, phosphor bloom, chromatic shift) in real-time while seeing the performance impact overlay. Pure CSS solutions mean these effects stay under 2ms frame cost even on integrated graphics.The architecture tweaks:• ThemeEngine now accepts spectral power distributions for accurate phosphor emulation• Audio.js added noise generators for tape hiss and RF interference• WindowManager gained “persistence” option that leaves ghost images when dragging (like long-persistence phosphor)• FS.js now stores theme preferences per-user in IndexedDB with encrypted backupWhat I fixed:• Purple theme had incorrect green channel bleed (was mixing blue+red instead of proper magenta)• Wallpaper slideshow paused when opening settings menu (z-index conflict)• Terminal bell sound was too sharp—now filtered through CRT speaker simulation• Cursor blink rate wasn’t respecting system accessibility settings• Fixed a race condition where desktop icons would momentarily snap to grid on theme changev0.91 roadmap (Retro polish):• Add “TV mode” with overscan, color bleed, and RF noise and i want you to especialy point out this is a side project of it. download the retro os you find on my github. And you can try my side project void os here https://web-void-os.netlify.app"}, {"post_id": 29773, "ts": "2026-07-16T21:27:45Z", "hours": 10.4378, "text": "RetroWebOS Just pushed a major retro-theming update that dials the nostalgia to 11. This isn't just a skin change—it's a full immersion retrofit. What's new in the Retro Edition: • Authentic CRT curvature simulation (using CSS transforms + filters, not canvas) • Scanline intensity now dynamically responds to brightness (like real phosphor decay) • Added 4 vintage wallpapers: IBM green terminal, Apple II monitor, VT100 amber, and RGB composite artifact • Terminal now supports true CGA/EGA/VGA color palettes with customizable intensity • Boot sequence rewritten to mimic POST beeps + memory count + BIOS splash • Shutdown animation includes realistic power-down surge and fading glow • System sounds regenerated using Web Audio API to emulate SN76489 and AY-3-8910 chips • Added \"degauss\" command to Terminal that temporarily warps the display (with recovery animation) Favorite feature: The new \"Retro Inspector\" DevTool It lets you toggle individual CRT effects (scanlines, curvature, bloom, phosphor bloom, chromatic shift) in real-time while seeing the performance impact overlay. Pure CSS solutions mean these effects stay under 2ms frame cost even on integrated graphics. The architecture tweaks: • ThemeEngine now accepts spectral power distributions for accurate phosphor emulation • Audio.js added noise generators for tape hiss and RF interference • WindowManager gained \"persistence\" option that leaves ghost images when dragging (like long-persistence phosphor) • FS.js now stores theme preferences per-user in IndexedDB with encrypted backup What I fixed: • Purple theme had incorrect green channel bleed (was mixing blue+red instead of proper magenta) • Wallpaper slideshow paused when opening settings menu (z-index conflict) • Terminal bell sound was too sharp—now filtered through CRT speaker simulation • Cursor blink rate wasn't respecting system accessibility settings • Fixed a race condition where desktop icons would momentarily snap to grid on theme change v0.9 roadmap (Retro polish): • Add \"TV mode\" with overscan, color bleed, and RF noise"}, {"post_id": 24336, "ts": "2026-07-07T20:56:38Z", "hours": 1.4333, "text": "My very own WebOS A week ago I released v2.0. Now here’s v3.0 “Synthwave Edition.” A complete desktop OS simulation that runs in a single HTML file, built with vanilla JavaScript. No build step, no npm, no Webpack — just open it in your browser and it works. What’s changed since v2.0? The numbers speak for themselves: 13 apps → 30+ apps (Calendar, Weather, Music Player, Mail, Chat, Notes, System Monitor, Password Vault, Tetris, Pong, Breakout, + Doom-Like FPS) 3 themes → 6 phosphor themes (Pink, Purple, White, and more) 4 wallpapers → 10 animated wallpapers (Rain, Snow, Fire, VHS, Galaxy, 3D Grid…) Added AES-GCM encryption (Web Crypto API) for the Password Vault IndexedDB instead of localStorage’s 5MB limit (50MB+) PWA — installable as a standalone app, works offline Voice commands — “open terminal,” “shutdown,” “lock”… Window snap zones (Windows-style drag to edge) Favorite feature: Game Launcher I also built in an Unreal Engine integration system. If you have a WebGL build of your game, drop in the .wasm + .js + .data files, and the launcher automatically handles highscores, system requirements, and the gallery. The architecture 14 logical modules, all in one file: Bus — Pub/sub event system IDB — IndexedDB wrapper Crypto — Web Crypto API Kernel — Luna Service Bus IPC emulation FS — Virtual filesystem (recycle bin, drag & drop) OS — Orchestrator (boot, login, windows) …and 8 more ~3,500 lines of code. ~85KB. 0 dependencies. What I fixed Six significant bugs found during the v2.0 review: Settings Green option was always “selected” (typo in the code) Browser app’s inline onclick=“navigator()” — this was calling the navigator Web API, not a function (classic mistake) Music Player beat interval cleanup memory leak Tetris piece null reference on game over Voice listener leak through the Bus 60fps mousemove → throttled to 50ms (60% less CPU usage) v3.1 roadmap Multiplayer over WebRTC (Snake, Pong, Doom) Real audio file playback in the Music Player Drag-from-desktop to taskbar (pin apps) Undo/redo in the text editor Gamepad API support for all games Plugin system for community apps Try it out mateszko090214.github.io/WebOS Full code, docs, and roadmap are up on GitHub. If you like it, drop a star! “Bringing the 80s back to your browser, one pixel at a time.”"}, {"post_id": 18490, "ts": "2026-06-29T17:32:22Z", "hours": 1.4903, "text": "i am working on a Retro theme WebOS"}]...
|
Title: My very own WebOS by @Matesz | Stardance
D Title: My very own WebOS by @Matesz | Stardance
Devlogs:
i am working on a Retro theme WebOS
My very own WebOS A week ago I released v2.0. Now here’s v3.0 “Synthwave Edition.” A complete desktop OS simulation that runs in a single HTML file, built with vanilla JavaScript. No build step, no npm, no Webpack — just open it in your browser and it works. What’s changed since v2.0? The numbers speak for themselves: 13 apps → 30+ apps (Calendar, Weather, Music Player, Mail, Chat, Notes, System Monitor, Password Vault, Tetris, Pong, Breakout, + Doom-Like FPS) 3 themes → 6 phosphor themes (Pink, Purple, White, and more) 4 wallpapers → 10 animated wallpapers (Rain, Snow, Fire, VHS, Galaxy, 3D Grid…) Added AES-GCM encryption (Web Crypto API) for the Password Vault IndexedDB instead of localStorage’s 5MB limit (50MB+) PWA — installable as a standalone app, works offline Voice commands — “open terminal,” “shutdown,” “lock”… Window snap zones (Windows-style drag to edge) Favorite feature: Game Launcher I also built in an Unreal Engine integration system. If you have a WebGL build of your game, drop in the .wasm + .js + .data files, and the launcher automatically handles highscores, system requirements, and the gallery. The architecture 14 logical modules, all in one file: Bus — Pub/sub event system IDB — IndexedDB wrapper Crypto — Web Crypto API Kernel — Luna Service Bus IPC emulation FS — Virtual filesystem (recycle bin, drag & drop) OS — Orchestrator (boot, login, windows) …and 8 more ~3,500 lines of code. ~85KB. 0 dependencies. What I fixed Six significant bugs found during the v2.0 review: Settings Green option was always “selected” (typo in the code) Browser app’s inline onclick=“navigator()” — this was calling the navigator Web API, not a function (classic mistake) Music Player beat interval cleanup memory leak Tetris piece null reference on game over Voice listener leak through the Bus 60fps mousemove → throttled to 50ms (60% less CPU usage) v3.1 roadmap Multiplayer over WebRTC (Snake, Pong, Doom) Real audio file playback in the Music Player Drag-from-desktop to taskbar (pin apps) Undo/redo in the text editor Gamepad API support for all games Plugin system for community apps Try it out mateszko090214.github.io/WebOS Full code, docs, and roadmap are up on GitHub. If you like it, drop a star! “Bringing the 80s back to your browser, one pixel at a time.”
RetroWebOS Just pushed a major retro-theming update that dials the nostalgia to 11. This isn't just a skin change—it's a full immersion retrofit. What's new in the Retro Edition: • Authentic CRT curvature simulation (using CSS transforms + filters, not canvas) • Scanline intensity now dynamically responds to brightness (like real phosphor decay) • Added 4 vintage wallpapers: IBM green terminal, Apple II monitor, VT100 amber, and RGB composite artifact • Terminal now supports true CGA/EGA/VGA color palettes with customizable intensity • Boot sequence rewritten to mimic POST beeps + memory count + BIOS splash • Shutdown animation includes realistic power-down surge and fading glow • System sounds regenerated using Web Audio API to emulate SN76489 and AY-3-8910 chips • Added "degauss" command to Terminal that temporarily warps the display (with recovery animation) Favorite feature: The new "Retro Inspector" DevTool It lets you toggle individual CRT effects (scanlines, curvature, bloom, phosphor bloom, chromatic shift) in real-time while seeing the performance impact overlay. Pure CSS solutions mean these effects stay under 2ms frame cost even on integrated graphics. The architecture tweaks: • ThemeEngine now accepts spectral power distributions for accurate phosphor emulation • Audio.js added noise generators for tape hiss and RF interference • WindowManager gained "persistence" option that leaves ghost images when dragging (like long-persistence phosphor) • FS.js now stores theme preferences per-user in IndexedDB with encrypted backup What I fixed: • Purple theme had incorrect green channel bleed (was mixing blue+red instead of proper magenta) • Wallpaper slideshow paused when opening settings menu (z-index conflict) • Terminal bell sound was too sharp—now filtered through CRT speaker simulation • Cursor blink rate wasn't respecting system accessibility settings • Fixed a race condition where desktop icons would momentarily snap to grid on theme change v0.9 roadmap (Retro polish): • Add "TV mode" with overscan, color bleed, and RF noise
This is a side project of the Retro OS. Download the Retro OS from my GitHub : https://github.com/mateszko090214/WebOS.gitRetroWebOSJust pushed a major retro-theming update that dials the nostalgia to 11. This isn’t just a skin change—it’s a full immersion retrofit.What’s new in the Retro Edition:• Authentic CRT curvature simulation (using CSS transforms + filters, not canvas)• Scanline intensity now dynamically responds to brightness (like real phosphor decay)• Added 4 vintage wallpapers: IBM green terminal, Apple II monitor, VT100 amber, and RGB composite artifact• Terminal now supports true CGA/EGA/VGA color palettes with customizable intensity• Boot sequence rewritten to mimic POST beeps + memory count + BIOS splash• Shutdown animation includes realistic power-down surge and fading glow• System sounds regenerated using Web Audio API to emulate SN76489 and AY-3-8910 chips• Added “degauss” command to Terminal that temporarily warps the display (with recovery animation)Favorite feature: The new “Retro Inspector” DevToolIt lets you toggle individual CRT effects (scanlines, curvature, bloom, phosphor bloom, chromatic shift) in real-time while seeing the performance impact overlay. Pure CSS solutions mean these effects stay under 2ms frame cost even on integrated graphics.The architecture tweaks:• ThemeEngine now accepts spectral power distributions for accurate phosphor emulation• Audio.js added noise generators for tape hiss and RF interference• WindowManager gained “persistence” option that leaves ghost images when dragging (like long-persistence phosphor)• FS.js now stores theme preferences per-user in IndexedDB with encrypted backupWhat I fixed:• Purple theme had incorrect green channel bleed (was mixing blue+red instead of proper magenta)• Wallpaper slideshow paused when opening settings menu (z-index conflict)• Terminal bell sound was too sharp—now filtered through CRT speaker simulation• Cursor blink rate wasn’t respecting system accessibility settings• Fixed a race condition where desktop icons would momentarily snap to grid on theme changev0.91 roadmap (Retro polish):• Add “TV mode” with overscan, color bleed, and RF noise and i want you to especialy point out this is a side project of it. download the retro os you find on my github. And you can try my side project void os here https://web-void-os.netlify.app
Persistence (Puter) — files, notes, kanban, mail, calendar, distro log, dotfiles, settings, installed Store apps, and achievements now survive a reload. No backend involved. Window edge-snapping + real drag-and-drop file moves — these were literally sitting in the fake todo.txt inside VoidOS’s own filesystem, so I built them and marked them done in-universe. CRT scanline mode, matrix-rain terminal effect (RetroOS) — toggle in Settings, or type matrix in the terminal. A CPU-reactive pet, idle-based Store additions, Konami code, rainbow logo, cursor trail (MewoOS). 8 new apps, all in the Store: Color Lab, Sudoku, Distro Tracker, Dotfiles Sync, Mail, Task Manager, Calendar, Achievements. 27 apps total now.
VoidOS Retro - Changelog [v0.92] - Major Retro-Theming Update Added Authentic CRT curvature simulation (using CSS transforms + filters, not canvas) Scanline intensity that dynamically responds to brightness (like real phosphor decay) 4 vintage wallpapers: IBM green terminal, Apple II monitor, VT100 amber, and RGB composite artifact Terminal support for true CGA/EGA/VGA color palettes with customizable intensity Boot sequence rewritten to mimic POST beeps + memory count + BIOS splash Shutdown animation with realistic power-down surge and fading glow System sounds regenerated using Web Audio API to emulate SN76489 and AY-3-8910 chips “Degauss” command to Terminal that temporarily warps the display (with recovery animation) Favorite Feature: Retro Inspector DevTool Toggle individual CRT effects (scanlines, curvature, bloom, phosphor bloom, chromatic shift) in real-time Performance impact overlay showing frame cost Pure CSS solution keeps effects under 2ms frame cost even on integrated graphics Architecture Tweaks ThemeEngine now accepts spectral power distributions for accurate phosphor emulation Audio.js added noise generators for tape hiss and RF interference WindowManager gained “persistence” option that leaves ghost images when dragging (like long-persistence phosphor) FS.js now stores theme preferences per-user in IndexedDB with encrypted backup Fixed Purple theme had incorrect green channel bleed (was mixing blue+red instead of proper magenta) Wallpaper slideshow paused when opening settings menu (z-index conflict) Terminal bell sound was too sharp—now filtered through CRT speaker simulation Cursor blink rate wasn’t respecting system accessibility settings Fixed a race condition where desktop icons would momentarily snap to grid on theme change Notes This is a side project of the Retro OS. Download the Retro OS from: https://github.com/mateszko090214/WebOS.git You can try VoidOS Retro live at: https://web-void-os.netlify.app
VoidOS Retro - Changelog [v0.93] - Live Wallpaper & Polish Update Added Custom hand-drawn cursor sprite for authentic retro feel Enhanced desktop styling with border radius and deep box shadow Procedural live wallpaper system (starfield, matrix rain, plasma waves) Enhanced titlebar with pulsing indicators and uppercase text Improved scrollbar styling throughout all applications Retro beveled button styling for windows and menus Live wallpaper toggle in Settings > Display Added Achievements app to the Store (tracks unlocked easter eggs) Enhanced Terminal utilities with additional commands and better history Files app drag-and-drop functionality between folders Settings app with live wallpaper selector Achievement system integration with toast notifications Performance optimizations to rendering loops Fixed Minor alignment issues in titlebar elements Improved persistence layer reliability Fixed occasional flicker in CRT effects during rapid theme changes [v0.92] - Major Retro-Theming Update Added Authentic CRT curvature simulation (using CSS transforms + filters, not canvas) Scanline intensity that dynamically responds to brightness (like real phosphor decay) 4 vintage wallpapers: IBM green terminal, Apple II monitor, VT100 amber, and RGB composite artifact Terminal support for true CGA/EGA/VGA color palettes with customizable intensity Boot sequence rewritten to mimic POST beeps + memory count + BIOS splash Shutdown animation with realistic power-down surge and fading glow System sounds regenerated using Web Audio API to emulate SN76489 and AY-3-8910 chips “Degauss” command to Terminal that temporarily warps the display (with recovery animation) Favorite Feature: Retro Inspector DevTool Toggle individual CRT effects (scanlines, curvature, bloom, phosphor bloom, chromatic shift) in real-time Performance impact overlay showing frame cost Pure CSS solution keeps effects under 2ms frame cost even on integrated graphics Architecture Tweaks ThemeEngine now accepts spectral power distributions for accurate phosphor emulation Audio.js added noise generators for tape hiss and RF interference WindowManager gained “persistence” option that leaves ghost images when dragging (like long-persistence phosphor) FS.js now stores theme preferences per-user in IndexedDB with encrypted backup Fixed Purple theme had incorrect green channel bleed (was mixing blue+red instead of proper magenta) Wallpaper slideshow paused when opening settings menu (z-index conflict) Terminal bell sound was too sharp—now filtered through CRT speaker simulation Cursor blink rate wasn’t respecting system accessibility settings Fixed a race condition where desktop icons would momentarily snap to grid on theme change Notes This is a side project of the Retro OS. Download the Retro OS from: https://github.com/mateszko090214/WebOS.git You can try VoidOS Retro live at: https://web-void-os.netlify.app
VoidOS Retro - Changelog [v0.94] - Video Backgrounds & Boot Enhancements Added Video background live wallpaper options (YouTube embeds) with fallback to procedural starfield Enhanced boot sequence with detailed systemd-like boot logs (Journal Service, udev, etc.) Persistence layer status detection shown in boot logs Enhanced Live wallpaper system to support video modes alongside procedural ones Boot process realism with simulated system initialization Background video fallback to starfield if embed fails to load [v0.93] - Live Wallpaper & Polish Update Added Custom hand-drawn cursor sprite for authentic retro feel Enhanced desktop styling with border radius and deep box shadow Procedural live wallpaper system (starfield, matrix rain, plasma waves) Enhanced titlebar with pulsing indicators and uppercase text Improved scrollbar styling throughout all applications Retro beveled button styling for windows and menus Live wallpaper toggle in Settings > Display Added Achievements app to the Store (tracks unlocked easter eggs) Enhanced Terminal utilities with additional commands and better history Files app drag-and-drop functionality between folders Settings app with live wallpaper selector Achievement system integration with toast notifications Performance optimizations to rendering loops Fixed Minor alignment issues in titlebar elements Improved persistence layer reliability Fixed occasional flicker in CRT effects during rapid theme changes [v0.92] - Major Retro-Theming Update Added Authentic CRT curvature simulation (using CSS transforms + filters, not canvas) Scanline intensity that dynamically responds to brightness (like real phosphor decay) 4 vintage wallpapers: IBM green terminal, Apple II monitor, VT100 amber, and RGB composite artifact Terminal support for true CGA/EGA/VGA color palettes with customizable intensity Boot sequence rewritten to mimic POST beeps + memory count + BIOS splash Shutdown animation with realistic power-down surge and fading glow System sounds regenerated using Web Audio API to emulate SN76489 and AY-3-8910 chips “Degauss” command to Terminal that temporarily warps the display (with recovery animation) Favorite Feature: Retro Inspector DevTool Toggle individual CRT effects (scanlines, curvature, bloom, phosphor bloom, chromatic shift) in real-time Performance impact overlay showing frame cost Pure CSS solution keeps effects under 2ms frame cost even on integrated graphics Architecture Tweaks ThemeEngine now accepts spectral power distributions for accurate phosphor emulation Audio.js added noise generators for tape hiss and RF interference WindowManager gained “persistence” option that leaves ghost images when dragging (like long-persistence phosphor) FS.js now stores theme preferences per-user in IndexedDB with encrypted backup Fixed Purple theme had incorrect green channel bleed (was mixing blue+red instead of proper magenta) Wallpaper slideshow paused when opening settings menu (z-index conflict) Terminal bell sound was too sharp—now filtered through CRT speaker simulation Cursor blink rate wasn’t respecting system accessibility settings Fixed a race condition where desktop icons would momentarily snap to grid on theme change Notes You can try VoidOS Retro live at: https://web-void-os.netlify.app
VoidOS Retro - Changelog [v0.95] Type Description Updated README.md and DEVLOG.md to have a more professional presentation with tables and structured information Enhanced documentation clarity and readability [v0.94] - Video Backgrounds & Boot Enhancements Added Type Description Video background live wallpaper options (YouTube embeds) with fallback to procedural starfield Enhanced boot sequence with detailed systemd-like boot logs (Journal Service, udev, etc.) Persistence layer status detection shown in boot logs Enhanced Type Description Live wallpaper system to support video modes alongside procedural ones Boot process realism with simulated system initialization Background video fallback to starfield if embed fails to load [v0.93] - Live Wallpaper & Polish Update Added Type Description Custom hand-drawn cursor sprite for authentic retro feel Enhanced desktop styling with border radius and deep box shadow Procedural live wallpaper system (starfield, matrix rain, plasma waves) Enhanced titlebar with pulsing indicators and uppercase text Improved scrollbar styling throughout all applications Retro beveled button styling for windows and menus Live wallpaper toggle in Settings > Display Added Achievements app to the Store (tracks unlocked easter eggs) Enhanced Type Description Terminal utilities with additional commands and better history Files app drag-and-drop functionality between folders Settings app with live wallpaper selector Achievement system integration with toast notifications Performance optimizations to rendering loops Fixed Type Description Minor alignment issues in titlebar elements Improved persistence layer reliability Fixed occasional flicker in CRT effects during rapid theme changes [v0.92] - Major Retro-Theming Update Added Type Description Authentic CRT curvature simulation (using CSS transforms + filters, not canvas) Scanline intensity that dynamically responds to brightness (like real phosphor decay) 4 vintage wallpapers IBM green terminal, Apple II monitor, VT100 amber, and RGB composite artifact Terminal support for true CGA/EGA/VGA color palettes with customizable intensity Boot sequence rewritten to mimic POST beeps + memory count + BIOS splash Shutdown animation with realistic power-down surge and fading glow System sounds regenerated using Web Audio API to emulate SN76489 and AY-3-8910 chips “Degauss” command to Terminal that temporarily warps the display (with recovery animation) Favorite Feature: Retro Inspector DevTool Type Description Toggle individual CRT effects (scanlines, curvature, bloom, phosphor bloom, chromatic shift) in real-time Performance impact overlay showing frame cost Pure CSS solution keeps effects under 2ms frame cost even on integrated graphics Architecture Tweaks Type Description ThemeEngine now accepts spectral power distributions for accurate phosphor emulation Audio.js added noise generators for tape hiss and RF interference WindowManager gained “persistence” option that leaves ghost images when dragging (like long-persistence phosphor) FS.js now stores theme preferences per-user in IndexedDB with encrypted backup Fixed Type Description Purple theme had incorrect green channel bleed (was mixing blue+red instead of proper magenta) Wallpaper slideshow paused when opening settings menu (z-index conflict) Terminal bell sound was too sharp—now filtered through CRT speaker simulation Cursor blink rate wasn’t respecting system accessibility settings Fixed a race condition where desktop icons would momentarily snap to grid on theme change Notes You can try VoidOS Retro live at: https://web-void-os.netlify.app
VoidOS Retro - Changelog [v2.5.0] - Phosphor Edition Added Type Description Advanced Live Wallpaper System Procedural generation (starfield, matrix rain, plasma waves) with YouTube video backgrounds and intelligent fallback Comprehensive Boot Sequence Detailed systemd-like boot logs showing service initialization, persistence layer status detection Enhanced Visual Effects Authentic CRT curvature simulation, dynamic scanline intensity, chromatic aberration, bloom/glow, phosphor persistence Degauss Command Terminal command that temporarily warps display with recovery animation Retro Inspector DevTool Real-time toggling of individual CRT effects with performance impact overlay 6 Built-in Phosphor Themes Green (classic terminal), Blue, Pink, Purple, White, and custom colors Vintage Wallpaper Collection 4 authentic wallpapers: IBM green terminal, Apple II monitor, VT100 amber, RGB composite artifact ThemeEngine Improvements Accepts spectral power distributions for accurate phosphor emulation True Terminal Color Support CGA/EGA/VGA palettes with customizable intensity System Sound Regeneration Web Audio API emulation of SN76489 and AY-3-8910 chips Enhanced Boot Animation POST beeps + memory count + BIOS splash simulation Realistic Shutdown Sequence Power-down surge with fading glow animation Accessibility Improvements Cursor blink rate respecting system settings, terminal bell filtered through CRT speaker Enhanced Type Description Live Wallpaper System Now supports video modes alongside procedural ones with automatic fallback Boot Process Realism Simulated system initialization with detailed service logging Theme Switching Dynamic theme persistence via IndexedDB Terminal Utilities Additional commands and improved history Desktop Styling Border radius, deep box shadow, enhanced titlebar with pulsing indicators Window Management Persistence option for ghost images when dragging, snap-to-edges functionality Filesystem Virtual FileSystem with persistence via browser storage (falls back to session-only) Application Suite Pre-loaded apps including Terminal, Files, Text Editor, Calculator, Music Player, Notes, Gallery, Store, Weather, Timer, Kanban, Spotlight, Window Switcher Easter Eggs System Konami code (confetti burst), Matrix rain terminal command, Rainbow mode (brand click) Performance Optimizations Rendering loop improvements, pure CSS solutions for effects under 2ms frame cost Settings App Comprehensive customization with live wallpaper selector, theme picker, and system controls Fixed Type Description Theme Color Bleed Purple theme had incorrect green channel bleed (was mixing blue+red instead of proper magenta) UI Layering Wallpaper slideshow paused when opening settings menu (z-index conflict resolved) Terminal Audio Terminal bell sound was too sharp—now filtered through CRT speaker simulation Accessibility Cursor blink rate now respects system accessibility settings Theme Transition Race Fixed condition where desktop icons would momentarily snap to grid on theme change Persistence Reliability Improved persistence layer reliability for cross-session data retention CRT Flicker Fixed occasional flicker in CRT effects during rapid theme changes [v0.96] - Text Editor Enhancement Update Added Type Description Find and Replace Functionality Ctrl+F for find, Ctrl+H for replace with options for single/all occurrences and case-sensitive search Go To Line Navigation Ctrl+G to jump to specific line numbers with input validation Enhanced Syntax Highlighting Added support for JSON and Python languages, improved existing language definitions Current Line Highlighting Visual indicator of cursor line with subtle highlighting Improved Keyboard Shortcuts Integrated find/replace/go-to-line with standard text editor shortcuts Enhanced Type Description Text Editor Application Overall usability and functionality approaching modern code editor standards Developer Experience Enhanced built-in tools for webOS system development and customization
VoidOS Retro - Changelog [v2.7.0] - Hyprland, Gadgets & Sound Added: Hyprland blur + rainbow border, system sounds, power-on gate, redesigned boot & login screens, 8-direction window resize, draggable gadgets (Clock/System/Signal/Sticky Note), touch & pen support, full keyboard accessibility, music shuffle/repeat, drag-and-drop music import, dock magnification, genie window animation, backup export/import, PWA offline support, favicon/meta tags, richer neofetch. Changed: Pointer Events for all drag/resize, consistent hover states app-wide, better Weather/Calendar UI, fixed version number display. Fixed: “Forget Saved Data” did nothing (undefined API), Gallery ignored requested image, unreachable achievement, broken default wallpaper, music/wallpaper detection failing under file:// , silent music playback under file:// , README merge-conflict markers, missing fallback manifest files. [v2.6.0] - Wallpaper & Music Update Added: Photo wallpapers with parallax drift, custom wallpaper upload, labeled thumbnails, bundled music/ folder with auto-detection (GitHub Pages API, directory listing, tracks.txt fallback). Changed: Split single-file app into index.html / style.css / script.js ; default wallpaper now a photo. Fixed: Live wallpaper canvas was hiding photo wallpapers underneath. [v2.5.0] - Phosphor Edition Added: Procedural + video live wallpapers, detailed boot sequence, CRT effects (curvature, scanlines, chromatic aberration, bloom), Degauss command, Retro Inspector devtool, 6 phosphor themes, 4 vintage wallpapers, CGA/EGA/VGA color support, synthesized chip sounds, realistic shutdown sequence, accessibility tweaks. Enhanced: Video live wallpapers, boot realism, theme persistence, terminal commands, window management (snap/ghost), virtual filesystem, full app suite (Terminal, Files, Editor, Calculator, Music, Notes, Gallery, Store, Weather, Timer, Kanban, Spotlight, Switcher), Easter eggs (Konami, Matrix rain, Rainbow mode), performance, Settings app. Fixed: Purple theme color bleed, wallpaper/settings z-index conflict, harsh terminal bell, cursor blink accessibility, theme-change icon snap, persistence reliability, CRT flicker.
updated the z-index in css
Ships:
I built my own web-based OS simulation called VoidOS a complete desktop environment that runs entirely in the browser from a single HTML file, no build tools, no npm, no backend. It’s got draggable, resizable windows, a taskbar, boot/login sequences, and a full suite of over 30 apps: Terminal, Files, Text Editor, Calculator, Music Player, Notes, Gallery, Mail, Calendar, Kanban, Weather, Settings, a few games (Tetris, Pong, Breakout, even a Doom-like FPS), and more. It leans hard into a retro CRT aesthetic scanlines, screen curvature, phosphor glow, chromatic aberration all done with pure CSS so it stays performant. The whole thing is vanilla JavaScript around 3,500 lines, ~85KB, zero dependencies organized into clean logical modules (an event bus, an IndexedDB wrapper, a virtual filesystem, a window manager, etc.) that mimic how a real OS is architected. I’m especially proud of the boot sequence and sound design I used the Web Audio API to synthesize authentic old-chip system sounds instead of using sample files. Being dysgraphic made this project harder than it might look writing and organizing all the code, comments, and documentation takes me a lot more effort and time than it does for most people, so just pushing through devlog after devlog was its own challenge. On the technical side, getting the CRT effects to look authentic without tanking performance was tricky too I ended up building a “Retro Inspector” devtool so I could toggle individual effects and watch the frame-cost impact in real time. Persistence was another hard one: making windows, files, notes, and settings survive a page reload without a backend meant building my own filesystem layer on top of IndexedDB. I also had to track down some nasty bugs along the way, like a memory leak in the music player’s beat interval and a mousemove listener firing on every frame until I throttled it. You can try it live in the browser, no install needed everything (files, notes, settings) is saved locally via IndexedDB, so it’ll persist between visits on the same browser. Try dragging windows around, snapping them to screen edges, opening a few apps from the dock/desktop, and poking around Settings to switch themes and wallpapers. The full source and devlog history are on GitHub if you want to see how it’s built....
|
1793274775.3730855
|
1793361175.3730855
|
|
26886
|
mast by @toqtu | Stardance
|
toqtu
|
1
|
32.0
|
465
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-18T18:27:27Z", "hours": 32.0, "multiplier": 14.7, "payout": 465, "blessing": "neutral", "text": "I built a parser for mathematical expressions that turns math input into an abstract syntax tree. From there, you can do things like simplifying or differentiating the expression. Learning about parsing methods was genuinely interesting — once I understood the theory behind lexing and parsing, implementation was fairly straightforward. After getting the basic parsing working, I wanted to build a simple web interface for it. Looking back, the interface ended up taking a lot more time than I expected. During this project I learned a lot about compiler design and language theory as well as web development and application deployment. All in all I am quite happy with the result.", "repo": "https://github.com/fritl/mast", "demo": "https://mast.toqtou.me"}]...
|
[{"post_id": 30710, "ts": "202 [{"post_id": 30710, "ts": "2026-07-18T14:50:01Z", "hours": 9.0289, "text": "Finish Website I added the following to the website Button for evaluation an expression Reload ast and LaTeX only if there is no input for 500ms Tutorial on the Home page to show all features Info page for additional information A footer with info about the build (commit, branch, time) Improve colors especially for light mode I also noticed that my project can’t be cloned on windows because windows doesn’t allow * in filenames. I updated the filenames but old commits still can’t be checked out easily."}, {"post_id": 29568, "ts": "2026-07-16T16:29:13Z", "hours": 10.2408, "text": "New Website Starting Over I wasn’t happy with the website Claude generated for me, so instead of iterating on it further, I decided to build it myself from scratch. Why SolidJS I’m not a web dev. I’ve written JavaScript before, but never really worked with a framework on a personal project. For this one I picked SolidJS, for two reasons: I didn’t want to use React, and I’d heard Solid does similar things but better. Building Everything From Scratch One tradeoff with SolidJS became obvious fast: there’s no real ecosystem of UI libraries to lean on. Every component and every line of CSS in this project, I wrote myself. Dev Setup To make local development easier, I added a Dockerfile and a docker-compose setup. What’s Left The site isn’t finished yet. The main thing still missing is buttons for a few actions."}, {"post_id": 22913, "ts": "2026-07-05T15:34:35Z", "hours": 3.0433, "text": "Web demo I wrote a small API for my project using FastAPI, then handed the code to Claude. After a few iterations, I had a fairly good looking web interface for interacting with my project. I also experimented with making all tree nodes circular. It turns out circles grow very quickly as numbers get bigger, so keeping every circle the same size caused the text to overflow. Switching to ellipses solved this. I also spent some time reducing the number of parentheses in the output to make it more readable."}, {"post_id": 22050, "ts": "2026-07-04T09:28:57Z", "hours": 2.2544, "text": "Differentiation My math program can now symbolically compute the derivative of an expression. Challenges One tricky case was finding the derivative of x^x . Since x^x = e^(x*ln(x)) , rewriting it in that form let the existing exponential and product rules handle it correctly. Restrictions Differentiation works well, but outputs aren’t always in the simplest form. Differentiating (x^2)/2 , for instance, currently gives 0.5*2*x instead of the simplified x . Simplifying this is a lot harder than it looks at first because it is really hard to determine whether an action results in a simpler form or not. Next up I’ll pause the AST experiments here for now. There’s a lot more that could be done, but I want to make it demoable. Next step: a small web UI so people can try it out directly."}, {"post_id": 21399, "ts": "2026-07-03T10:06:38Z", "hours": 1.8942, "text": "Functions and Exponents I’ve just added support for exponents and standard mathematical functions, including sin , cos , tan , ln , log , and sqrt . The implementation was fairly straightforward. The lexer simply tokenizes the ^ character into a Power token. Extending the lexer from there was just a matter of adding the token rule and implementing the corresponding evaluation logic. The Precedence Gotcha I did run into one classic mathematical quirk with my parser rules. Currently, -x^2 is parsed as (-x)^2 because the unary minus operator mistakenly has higher precedence than the exponent. Standard mathematical convention dictates it should be evaluated as -(x^2) . While I plan to fix this in the parser proper, the current workaround is just to use explicit parentheses when writing negative exponents. Next Up: Symbolic Differentiation As a final step for this milestone, I want to implement symbolic differentiation utilizing the chain rule. This will allow the engine to take simple expressions like x^2 or sin(2x) and automatically differentiate them into 2*x and 2*cos(2x) respectively."}, {"post_id": 20247, "ts": "2026-07-01T19:53:28Z", "hours": 1.1408, "text": "Simplification I added some trivial simplification rules to my math parser. It checks for simple rules like x+0 -> x or x+x -> 2x . Of course, you could go way deeper on simplification. My current implementation can’t simplify 2*x + 3*x -> 5*x , since my rules only match syntactically identical terms, not terms that differ by a coefficient. To handle cases like this, you’d need some sort of term-collection method that groups like terms together before combining them. You could also expand expressions first and then simplify, which would let the parser recognize things like (x+1)^2 - (x^2+2x+1) -> 0 . My simple rules won’t bring expressions into their absolute simplest form, and they certainly don’t produce a standardized form that lets you check two expressions for equality. But they do make the program’s output noticeably more readable."}, {"post_id": 19462, "ts": "2026-06-30T19:52:16Z", "hours": 0.9978, "text": "Input evaluation You can now evaluate inputs, e.g. (3+2)*6 outputs 30 . This works by recursively evaluating the AST nodes — operator precedence comes for free from the tree structure. All variables found in the input are collected, and the user is prompted to assign a value to each one. This somewhat defeats the purpose of variables for now, but it’s a stepping stone — variables become essential once symbolic differentiation or a proper UI come into play."}, {"post_id": 19155, "ts": "2026-06-30T12:21:49Z", "hours": 3.2844, "text": "Lexing + Parising For my math parser I implemented the lexer and the parser. The lexer splits the mathematical input into tokens. The recursive descent parser parses those tokens into an abstract syntax tree. For me the most interesting part was learning about different parsing techniques which also tought me a lot about compilers. Next up I will implement the evaluation of expressions to calculate inputs like 2 + 3 * 5. Due to the design of the tree it should already respect pemdas."}]...
|
Title: mast by @toqtu | Stardance
Devlogs:
Lexing Title: mast by @toqtu | Stardance
Devlogs:
Lexing + Parising For my math parser I implemented the lexer and the parser. The lexer splits the mathematical input into tokens. The recursive descent parser parses those tokens into an abstract syntax tree. For me the most interesting part was learning about different parsing techniques which also tought me a lot about compilers. Next up I will implement the evaluation of expressions to calculate inputs like 2 + 3 * 5. Due to the design of the tree it should already respect pemdas.
Input evaluation You can now evaluate inputs, e.g. (3+2)*6 outputs 30 . This works by recursively evaluating the AST nodes — operator precedence comes for free from the tree structure. All variables found in the input are collected, and the user is prompted to assign a value to each one. This somewhat defeats the purpose of variables for now, but it’s a stepping stone — variables become essential once symbolic differentiation or a proper UI come into play.
Simplification I added some trivial simplification rules to my math parser. It checks for simple rules like x+0 -> x or x+x -> 2x . Of course, you could go way deeper on simplification. My current implementation can’t simplify 2*x + 3*x -> 5*x , since my rules only match syntactically identical terms, not terms that differ by a coefficient. To handle cases like this, you’d need some sort of term-collection method that groups like terms together before combining them. You could also expand expressions first and then simplify, which would let the parser recognize things like (x+1)^2 - (x^2+2x+1) -> 0 . My simple rules won’t bring expressions into their absolute simplest form, and they certainly don’t produce a standardized form that lets you check two expressions for equality. But they do make the program’s output noticeably more readable.
Functions and Exponents I’ve just added support for exponents and standard mathematical functions, including sin , cos , tan , ln , log , and sqrt . The implementation was fairly straightforward. The lexer simply tokenizes the ^ character into a Power token. Extending the lexer from there was just a matter of adding the token rule and implementing the corresponding evaluation logic. The Precedence Gotcha I did run into one classic mathematical quirk with my parser rules. Currently, -x^2 is parsed as (-x)^2 because the unary minus operator mistakenly has higher precedence than the exponent. Standard mathematical convention dictates it should be evaluated as -(x^2) . While I plan to fix this in the parser proper, the current workaround is just to use explicit parentheses when writing negative exponents. Next Up: Symbolic Differentiation As a final step for this milestone, I want to implement symbolic differentiation utilizing the chain rule. This will allow the engine to take simple expressions like x^2 or sin(2x) and automatically differentiate them into 2*x and 2*cos(2x) respectively.
Differentiation My math program can now symbolically compute the derivative of an expression. Challenges One tricky case was finding the derivative of x^x . Since x^x = e^(x*ln(x)) , rewriting it in that form let the existing exponential and product rules handle it correctly. Restrictions Differentiation works well, but outputs aren’t always in the simplest form. Differentiating (x^2)/2 , for instance, currently gives 0.5*2*x instead of the simplified x . Simplifying this is a lot harder than it looks at first because it is really hard to determine whether an action results in a simpler form or not. Next up I’ll pause the AST experiments here for now. There’s a lot more that could be done, but I want to make it demoable. Next step: a small web UI so people can try it out directly.
Web demo I wrote a small API for my project using FastAPI, then handed the code to Claude. After a few iterations, I had a fairly good looking web interface for interacting with my project. I also experimented with making all tree nodes circular. It turns out circles grow very quickly as numbers get bigger, so keeping every circle the same size caused the text to overflow. Switching to ellipses solved this. I also spent some time reducing the number of parentheses in the output to make it more readable.
New Website Starting Over I wasn’t happy with the website Claude generated for me, so instead of iterating on it further, I decided to build it myself from scratch. Why SolidJS I’m not a web dev. I’ve written JavaScript before, but never really worked with a framework on a personal project. For this one I picked SolidJS, for two reasons: I didn’t want to use React, and I’d heard Solid does similar things but better. Building Everything From Scratch One tradeoff with SolidJS became obvious fast: there’s no real ecosystem of UI libraries to lean on. Every component and every line of CSS in this project, I wrote myself. Dev Setup To make local development easier, I added a Dockerfile and a docker-compose setup. What’s Left The site isn’t finished yet. The main thing still missing is buttons for a few actions.
Finish Website I added the following to the website Button for evaluation an expression Reload ast and LaTeX only if there is no input for 500ms Tutorial on the Home page to show all features Info page for additional information A footer with info about the build (commit, branch, time) Improve colors especially for light mode I also noticed that my project can’t be cloned on windows because windows doesn’t allow * in filenames. I updated the filenames but old commits still can’t be checked out easily.
Ships:
I built a parser for mathematical expressions that turns math input into an abstract syntax tree. From there, you can do things like simplifying or differentiating the expression. Learning about parsing methods was genuinely interesting — once I understood the theory behind lexing and parsing, implementation was fairly straightforward. After getting the basic parsing working, I wanted to build a simple web interface for it. Looking back, the interface ended up taking a lot more time than I expected. During this project I learned a lot about compiler design and language theory as well as web development and application deployment. All in all I am quite happy with the result....
|
1793328726.1901608
|
1793415126.1901608
|
|
26903
|
Salt and pepper mod by @Fiskerz | Stardance
|
Fiskerz
|
1
|
19.0
|
253
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-10T10:52:19Z", "hours": 19.0, "multiplier": 13.36, "payout": 253, "blessing": "neutral", "text": "What the heck am I looking at? This is a simple minecraft mod that adds salt and pepper. That is the core idea of this whole mod. Salt and pepper are new ingredients you can find in the wild, with salt in its rock form (as an ore) and pepper as a plant in jungle, that generates similar to a cocoa pod. You can use both of these to season your food , which will increase the food’s saturation and the nutrition value by a bit. You can also stack these two together to get a decent bonus in that foods stat. This mod also adds shakers , which work just as their real-life version. You can make an empty shaker and then fill it up with salt, or pepper. All that’s left for you to do is just hold the shaker and right click any food in your inventory to season it. Salt Found as an ore (or rarely even deepslate form) underground Breaking the ore gives you raw rock salt Raw rock salt can be smelted into a dry and fine form, that you can use on any food item Can be put into a shaker to season your food Also can be crafted into a block if you need to flex on your friends for whatever reason Pepper Found as a plant in the jungle and generates similar as a cocoa pod Upon breaking you get seeds to grow more and/or green peppercorns The seeds can be planted on a jungle tree and have three different growth stages, each with a unique texture Green peppercorns need to be “boiled” first, which you can do by putting a cauldron filled with water over a campfire and right clicking, or if you have farmer’s delight installed you can use the cooking pot to boil them there. In both cases you get blanched peppercorns Blanched peppercorns can be smelted in a furnace to get black peppercorns Black peppercorns need to be broken down into the fine powder, which you can do in your inventory’s crafting, which will give you ground pepper Ground pepper can be used on any food item to season it directly, or put into a shaker Shakers Can be made with glass and an iron nugget Can be filled with salt, or ground pepper, each filling it by 8 uses Has a maximum of 64 uses and can be refilled anytime If enough uses are left it can season any stack of food at once (you have 56 uses left and use it on a stack of 45 steaks, then it will season all of the 45 steaks) Versions The mod is available for Neoforge, Fabric and Forge. Forge is only on version 1.20.1 (versions 1.20.2-1.20.6 should work as well, but I cannot guarantee their functionality as the mod was not intentionally built for them) Fabric has versions: 1.20.1 (once again 1.20.2-6 should work too, but it is not intended and untested), 1.21.1 & 26.1-26.1.2 Neoforge has: 1.21.1 & 26.1.2 . Downloads CurseForge Modrinth - (still under review) The Github Repo of this project Testing / checking out for yourself To test this mod out, all you have to do is download the file for any minecraft version of your liking (although I reccomend Neoforge 1.21.1, as all features are 100% guaranteed to work there) and hop into the game! If you want to check it out deeper you can also download farmer’s delight (or the refabricated version for fabric) and use the compatibility feature I added - boiling green peppercorns in the cooking pot instead of building the cauldron abomination. If you are unsure about anything be sure to check out this mod’s wiki I made here , it’s even in the mod’s github repo!", "repo": "https://github.com/Catmaster543/Salt-pepper", "demo": "https://www.curseforge.com/minecraft/mc-mods/salt-pepper"}]...
|
[{"post_id": 44525, "ts": "202 [{"post_id": 44525, "ts": "2026-08-10T10:50:56Z", "hours": 1.2456, "text": "Made the github wiki pages for the mod + final touches before ship! Devlog #8 - last before the ship Even though I wanted to ship the project already I still felt that there were some inconsistencies, so I went ahead and made a wiki on the projects github page. I also prepared for shipping and I think there’s nothing stopping me now from shipping! Seeing this for the first time? This mod is designed to be mostly a standalone mod, but I will be using some parts of it in my second biggest project: Apolinum arise! , so be sure to check it out, since this project is about to hit its end, thx!"}, {"post_id": 44141, "ts": "2026-08-09T18:19:58Z", "hours": 4.7103, "text": "Ported the mod to Forge and Fabric 1.20.1 + prep for ship! Devlog #7 - most likely final I kept my promise and ported the mod to Forge 1.20.1 and Fabric 1.20.1. The Forge port went smoothly, but by the time I reached the Fabric port multiple things I have messed up in the past surfaced, thus I had to fix a lot of these issues. A majority has been with the github repository, as I named tags the same as branches and that messed quite some things up. But now all of that is fixed and I no longer have to worry about it. The last thing remaining is to ship. So the next post will be a ship. So long story short: Ported to Forge 1.20.1 Ported to Fabric 1.20.1 Fixed up tags in the github repo Fixed up gradle daemons not launching correctly after a branch switch Uploaded the new versions to CurseForge and Modrinth Updated the README files accross branches as some were incorrect Other smaller fixes and patches Seeing this for the first time? This mod is designed to be mostly a standalone mod, but I will be using some parts of it in my second biggest project: Apolinum arise! , so be sure to check it out, since this project is about to hit its end, thx!"}, {"post_id": 43455, "ts": "2026-08-08T18:34:27Z", "hours": 4.4047, "text": "Ported the mod to Neoforge 26.1.2 and all Fabric 26.1.x versions! Devlog #6 Just as I promised last time (or maybe not last time, but the one before that) I spent my time porting this mod to: Neoforge 26.1.2 Fabric 26.1, 26.1.1 & 26.1.2 The reason why fabric has all of the 26.1.x version is pretty simple really - compared to neoforge it didn’t change things that would make a huge difference in the mod’s code. Outside this I also completed the project’s info , the mod got approved on Curseforge (you can check out and maybe even download please? the mod here . I am yet waiting for Modrinth to approve the project, but I am sure they’ll do so one day. I also uploaded all of the releases to github and learned alongside with it how to manage releases on github, so 2 birds, one stone (or however it goes :p). And that’s it for this devlog, next time will likely be the last devlog of this project, as the last thing I plan on doing is porting the project to Forge and Fabric 1.20.1. Seeing this for the first time? Well it wouldn’t be surprising if this is your first time seeing this project, as this mod is not a very big project. This mod is designed to be mostly a standalone mod, but I will be using some parts of it in my second biggest project: Apolinum arise! , so be sure to check it out, tyy!"}, {"post_id": 42143, "ts": "2026-08-06T19:03:03Z", "hours": 1.3833, "text": "Designed the mod icon and set up the mod pages on modrinth and curseforge! Devlog #5 This time around I finally made the icon for the mod; it’s simple but I think it gets the job done. I also set up the project pages on both of the most used mod platforms for minecraft; Curseforge and Modrinth . I think it should provide a way for far more people to get to see this project. Alongside setting up the pages I built the first two working versions , one for Neoforge 1.21.1 and Fabric 1.21.1. And outside these I think that’s it for this devlog. Next time I’ll be making a port for other game versions and also finally forge. Seeing this for the first time? Well it wouldn’t be surprising if this is your first time seeing this project, as this is just the third devlog. This mod is designed to be mostly a standalone mod, but I will be using some parts of it in my second biggest project: Apolinum arise! , so be sure to check it out, tyy!"}, {"post_id": 42037, "ts": "2026-08-06T16:22:23Z", "hours": 1.7336, "text": "Ported the mod to fabric! Devlog #4 So as I promised last time, I’ve now ported the mod to fabric, for now only 1.21.1, but I’ll be sure to port it to other versions later and most importantly forge as well. I think that’s about it for this devlog as I haven’t really done anything else. Seeing this for the first time? This mod is designed to be lightweight, simple and mostly a standalone mod, but I will be using some parts of it in my second biggest project: Apolinum arise! , so be sure to check it out, thx!"}, {"post_id": 41479, "ts": "2026-08-05T18:20:04Z", "hours": 1.5053, "text": "Added the shakers! Devlog #3 I added the shakers which you can easily use from your inventory by just right-clicking any food item. You can refill them using either salt, or pepper by once-again right clicking them with that item. They can last up to 64 times and each salt/pepper added adds 8 uses in, thus making it a pretty damn good value. I think it’s a very good Qol addition and should make using these just a little bit more enjoyable. The banner for this project got an update, since three new items got added. I also renamed the main branch on github to match what’s gonna follow and outside that I’ve done some research on porting possibilites for other versions/loaders, but more on that in the next one! Seeing this for the first time? Well it wouldn’t be surprising if this is your first time seeing this project, as this is just the third devlog. This mod is designed to be mostly a standalone mod, but I will be using some parts of it in my second biggest project: Apolinum arise! , so be sure to check it out, tyy!"}, {"post_id": 40902, "ts": "2026-08-04T18:41:10Z", "hours": 1.9603, "text": "Redesigned a mojority of the textures! Devlog #2 So as the title suggests I pretty much just retextured a majority of the things , since they were just using the placeholder textures. In my opinion the new textures are a million time better, but if you have any suggestions on how to improve them further feel free to suggest it! Seeing this for the first time? Well it wouldn’t be surprising if this is your first time seeing this project, as this is just the second devlog. This mod is designed to be mostly a standalone mod, but I will be using some parts of it in my second biggest project: Apolinum arise! , so be sure to check it out, tyy!"}, {"post_id": 40644, "ts": "2026-08-04T10:14:50Z", "hours": 1.9653, "text": "Added salt and pepper! (aka. the mods mainframe) Devlog #1 As of this devlog I added a majority of the function-wise things for the mod. So far you can: Find salt in its rock form underground, generating naturally Find pepper as a wild plant in the jungle, inspired by cocoa beans Proccess salt into its fine/powder form Proccess pepper into its boiled form by putting it into a cauldron above a campfire Proccess the boiled pepper further into its dryed form, achieved by cooking boiled pepper in a furnace Last proccessing is the dryed pepper into its fine/powdery form Last but not least, use salt or pepper on any food item to enhance it a little bit So far all textures in the screenshots are just cheap placeholders, all will be replaced in the next one!"}]...
|
Title: Salt and pepper mod by @Fiskerz | Stardance Title: Salt and pepper mod by @Fiskerz | Stardance
Devlogs:
Added salt and pepper! (aka. the mods mainframe) Devlog #1 As of this devlog I added a majority of the function-wise things for the mod. So far you can: Find salt in its rock form underground, generating naturally Find pepper as a wild plant in the jungle, inspired by cocoa beans Proccess salt into its fine/powder form Proccess pepper into its boiled form by putting it into a cauldron above a campfire Proccess the boiled pepper further into its dryed form, achieved by cooking boiled pepper in a furnace Last proccessing is the dryed pepper into its fine/powdery form Last but not least, use salt or pepper on any food item to enhance it a little bit So far all textures in the screenshots are just cheap placeholders, all will be replaced in the next one!
Redesigned a mojority of the textures! Devlog #2 So as the title suggests I pretty much just retextured a majority of the things , since they were just using the placeholder textures. In my opinion the new textures are a million time better, but if you have any suggestions on how to improve them further feel free to suggest it! Seeing this for the first time? Well it wouldn’t be surprising if this is your first time seeing this project, as this is just the second devlog. This mod is designed to be mostly a standalone mod, but I will be using some parts of it in my second biggest project: Apolinum arise! , so be sure to check it out, tyy!
Added the shakers! Devlog #3 I added the shakers which you can easily use from your inventory by just right-clicking any food item. You can refill them using either salt, or pepper by once-again right clicking them with that item. They can last up to 64 times and each salt/pepper added adds 8 uses in, thus making it a pretty damn good value. I think it’s a very good Qol addition and should make using these just a little bit more enjoyable. The banner for this project got an update, since three new items got added. I also renamed the main branch on github to match what’s gonna follow and outside that I’ve done some research on porting possibilites for other versions/loaders, but more on that in the next one! Seeing this for the first time? Well it wouldn’t be surprising if this is your first time seeing this project, as this is just the third devlog. This mod is designed to be mostly a standalone mod, but I will be using some parts of it in my second biggest project: Apolinum arise! , so be sure to check it out, tyy!
Ported the mod to fabric! Devlog #4 So as I promised last time, I’ve now ported the mod to fabric, for now only 1.21.1, but I’ll be sure to port it to other versions later and most importantly forge as well. I think that’s about it for this devlog as I haven’t really done anything else. Seeing this for the first time? This mod is designed to be lightweight, simple and mostly a standalone mod, but I will be using some parts of it in my second biggest project: Apolinum arise! , so be sure to check it out, thx!
Designed the mod icon and set up the mod pages on modrinth and curseforge! Devlog #5 This time around I finally made the icon for the mod; it’s simple but I think it gets the job done. I also set up the project pages on both of the most used mod platforms for minecraft; Curseforge and Modrinth . I think it should provide a way for far more people to get to see this project. Alongside setting up the pages I built the first two working versions , one for Neoforge 1.21.1 and Fabric 1.21.1. And outside these I think that’s it for this devlog. Next time I’ll be making a port for other game versions and also finally forge. Seeing this for the first time? Well it wouldn’t be surprising if this is your first time seeing this project, as this is just the third devlog. This mod is designed to be mostly a standalone mod, but I will be using some parts of it in my second biggest project: Apolinum arise! , so be sure to check it out, tyy!
Ported the mod to Neoforge 26.1.2 and all Fabric 26.1.x versions! Devlog #6 Just as I promised last time (or maybe not last time, but the one before that) I spent my time porting this mod to: Neoforge 26.1.2 Fabric 26.1, 26.1.1 & 26.1.2 The reason why fabric has all of the 26.1.x version is pretty simple really - compared to neoforge it didn’t change things that would make a huge difference in the mod’s code. Outside this I also completed the project’s info , the mod got approved on Curseforge (you can check out and maybe even download please? the mod here . I am yet waiting for Modrinth to approve the project, but I am sure they’ll do so one day. I also uploaded all of the releases to github and learned alongside with it how to manage releases on github, so 2 birds, one stone (or however it goes :p). And that’s it for this devlog, next time will likely be the last devlog of this project, as the last thing I plan on doing is porting the project to Forge and Fabric 1.20.1. Seeing this for the first time? Well it wouldn’t be surprising if this is your first time seeing this project, as this mod is not a very big project. This mod is designed to be mostly a standalone mod, but I will be using some parts of it in my second biggest project: Apolinum arise! , so be sure to check it out, tyy!
Ported the mod to Forge and Fabric 1.20.1 + prep for ship! Devlog #7 - most likely final I kept my promise and ported the mod to Forge 1.20.1 and Fabric 1.20.1. The Forge port went smoothly, but by the time I reached the Fabric port multiple things I have messed up in the past surfaced, thus I had to fix a lot of these issues. A majority has been with the github repository, as I named tags the same as branches and that messed quite some things up. But now all of that is fixed and I no longer have to worry about it. The last thing remaining is to ship. So the next post will be a ship. So long story short: Ported to Forge 1.20.1 Ported to Fabric 1.20.1 Fixed up tags in the github repo Fixed up gradle daemons not launching correctly after a branch switch Uploaded the new versions to CurseForge and Modrinth Updated the README files accross branches as some were incorrect Other smaller fixes and patches Seeing this for the first time? This mod is designed to be mostly a standalone mod, but I will be using some parts of it in my second biggest project: Apolinum arise! , so be sure to check it out, since this project is about to hit its end, thx!
Made the github wiki pages for the mod + final touches before ship! Devlog #8 - last before the ship Even though I wanted to ship the project already I still felt that there were some inconsistencies, so I went ahead and made a wiki on the projects github page. I also prepared for shipping and I think there’s nothing stopping me now from shipping! Seeing this for the first time? This mod is designed to be mostly a standalone mod, but I will be using some parts of it in my second biggest project: Apolinum arise! , so be sure to check it out, since this project is about to hit its end, thx!
Ships:
What the heck am I looking at? This is a simple minecraft mod that adds salt and pepper. That is the core idea of this whole mod. Salt and pepper are new ingredients you can find in the wild, with salt in its rock form (as an ore) and pepper as a plant in jungle, that generates similar to a cocoa pod. You can use both of these to season your food , which will increase the food’s saturation and the nutrition value by a bit. You can also stack these two together to get a decent bonus in that foods stat. This mod also adds shakers , which work just as their real-life version. You can make an empty shaker and then fill it up with salt, or pepper. All that’s left for you to do is just hold the shaker and right click any food in your inventory to season it. Salt Found as an ore (or rarely even deepslate form) underground Breaking the ore gives you raw rock salt Raw rock salt can be smelted into a dry and fine form, that you can use on any food item Can be put into a shaker to season your food Also can be crafted into a block if you need to flex on your friends for whatever reason Pepper Found as a plant in the jungle and generates similar as a cocoa pod Upon breaking you get seeds to grow more and/or green peppercorns The seeds can be planted on a jungle tree and have three different growth stages, each with a unique texture Green peppercorns need to be “boiled” first, which you can do by putting a cauldron filled with water over a campfire and right clicking, or if you have farmer’s delight installed you can use the cooking pot to boil them there. In both cases you get blanched peppercorns Blanched peppercorns can be smelted in a furnace to get black peppercorns Black peppercorns need to be broken down into the fine powder, which you can do in your inventory’s crafting, which will give you ground pepper Ground pepper can be used on any food item to season it directly, or put into a shaker Shakers Can be made with glass and an iron nugget Can be filled with salt, or ground pepper, each filling it by 8 uses Has a maximum of 64 uses and can be refilled anytime If enough uses are left it can season any stack of food at once (you have 56 uses left and use it on a stack of 45 steaks, then it will season all of the 45 steaks) Versions The mod is available for Neoforge, Fabric and Forge. Forge is only on version 1.20.1 (versions 1.20.2-1.20.6 should work as well, but I cannot guarantee their functionality as the mod was not intentionally built for them) Fabric has versions: 1.20.1 (once again 1.20.2-6 should work too, but it is not intended and untested), 1.21.1 & 26.1-26.1.2 Neoforge has: 1.21.1 & 26.1.2 . Downloads CurseForge Modrinth - (still under review) The Github Repo of this project Testing / checking out for yourself To test this mod out, all you have to do is download the file for any minecraft version of your liking (although I reccomend Neoforge 1.21.1, as all features are 100% guaranteed to work there) and hop into the game! If you want to check it out deeper you can also download farmer’s delight (or the refabricated version for fabric) and use the compatibility feature I added - boiling green peppercorns in the cooking pot instead of building the cauldron abomination. If you are unsure about anything be sure to check out this mod’s wiki I made here , it’s even in the mod’s github repo!...
|
1793296354.6981602
|
1793382754.6981602
|
|
26910
|
car by @Danial | Stardance
|
Danial
|
1
|
1.28
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-28T08:11:41Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a fast remote-controlled car. I couldn’t finish fixing the code because I lost my programming cable, so I wasn’t able to upload the final changes.", "repo": "https://github.com/Denial132/car", "demo": ""}]...
|
[{"post_id": 19065, "ts": "202 [{"post_id": 19065, "ts": "2026-06-30T08:07:43Z", "hours": 0.2833, "text": "Devlog #2 Today I found the programming cable for my RC car, so I can finally access and update the code again. Before this, I could only work on the hardware because I couldn’t connect the car to my computer. My next step is to upload the code, test the controls, and fix any bugs I find."}, {"post_id": 16892, "ts": "2026-06-27T12:43:56Z", "hours": 0.8, "text": "Devlog: Finished My Car Build 🚗 Today I finished building a small car. I assembled all the main parts and tested it to make sure it moves correctly. At first there were a few small issues with movement, but I fixed them by adjusting the wheels and checking the connections. Now it runs smoothly and responds as expected. simple, quick, and goes really fast"}]...
|
Title: car by @Danial | Stardance
Devlogs:
Devlog Title: car by @Danial | Stardance
Devlogs:
Devlog: Finished My Car Build 🚗 Today I finished building a small car. I assembled all the main parts and tested it to make sure it moves correctly. At first there were a few small issues with movement, but I fixed them by adjusting the wheels and checking the connections. Now it runs smoothly and responds as expected. simple, quick, and goes really fast
Devlog #2 Today I found the programming cable for my RC car, so I can finally access and update the code again. Before this, I could only work on the hardware because I couldn’t connect the car to my computer. My next step is to upload the code, test the controls, and fix any bugs I find.
Ships:
I made a fast remote-controlled car. I couldn’t finish fixing the code because I lost my programming cable, so I wasn’t able to upload the final changes....
|
1792878447.5450532
|
1793742447.5450532
|
|
26914
|
TradeSims by @Maanvik | Stardance
|
Maanvik
|
1
|
78.58
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-14T18:11:26Z", "hours": 71.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I Have created a Paper Trading Simulator Using Django Framework. Probably the hardest part was deployment, and after that creation of the stock page with real data, cause they both dealt with the yfinance API which is very finicky, but thank god it works", "repo": "https://github.com/MK150710/trading_sim", "demo": "https://tradesims.tradingsim-111.hackclub.app"}]...
|
[{"post_id": 72177, "ts": "202 [{"post_id": 72177, "ts": "2026-09-22T11:57:00Z", "hours": 1.3361, "text": "It got declined again But no matter, he said to build something to be proud of, so i went digging though my old papers and found the first draft of what i wanted the landing to look like, before i asked ai to make it. Ive made exactly that. detail for detail. With my favourite coloe scheme, back-green/blue-whiteThey told me to make something im proud of, and the way its turned out, i couldnt be prouder. Note to the judges First of all, maybe the way i write my css, with root vars and all, may make you think its ai, but i actually do write that way, casue i learnt to write css through ai. Secondly, time time tracked for this change is less, i put in about an hour and a half extra, but that time i was in a different state and forgot to isntall hacktime on dads laptop, i dont mind the lost time, i just dont want you to judke the time it took me to make this and think its ai cause its too less Thirdly, you asked me to make some of the features myself, and yes ive said it before, but the ENTIRE backend structure is my own. every line, every model every view. Soo yeahh. I made it myself, and im proud of it Lastly, thanks for taking the time to judge the project and read these journals 😁😁 (Ik the last few journals are not as detailed as 1-11, but thats cause exam season doesnt leave me time to write detailed logs)"}, {"post_id": 69675, "ts": "2026-09-17T15:44:46Z", "hours": 5.0294, "text": "Yeah, the last wasent the final Anyways, so in compliance witht he changes requested ive rewrote three pages: Hero Login Register Caveat I know it looks really bad, i only really was able to work on it for a limited time, with exam season and all. the Login and register pages’ html were resued(if thats okay) from a previosu project and just suited to this project. Anyways, thast all for this one. Thanks ! Edit I got reply saaaying ive used too much ai, but ive lliteraally sspent the alsat week rewriting three entire pages where ive basically used most of the ai im so confused"}, {"post_id": 63684, "ts": "2026-09-07T16:50:16Z", "hours": 1.2194, "text": "Fixing all the problems So this devlog is gonna be relatively short, cause it just comprises of correcting all changes requested, most importantly hosting on nest For the project reviewer Theres still a few issues with the website, but these are largely due to the hosting being on nest, cause the render website is mostly fine. Firstly, the whole website is very laggy and all round unresponsive for a few seconds after any press taht requires a query to supabase or redis Secondly, the dashboard does not render properly the first time, so id suggest to click the try again button or reload the page entirely. Even after reloading the portfolio performance part just doesn not work until you click on the one month or 3 month bnutton ( I have no clue why but this is on nest only) then it works The nest caddy does go down, like it did jstu at the time of writing this, so if it does happen to go down during the review, please check through tradesims.onrender.com, where the website is still upp Thats all. Once again, Thanks !!"}, {"post_id": 45935, "ts": "2026-08-12T18:38:36Z", "hours": 0.6011, "text": "Just fixing deployed website Fixed faqs, removed oauth, wrote the readme and instructions for installation"}, {"post_id": 45818, "ts": "2026-08-12T15:24:55Z", "hours": 11.5072, "text": "ONE. LAST. DANCE Hours: 12? 15? 20? (idek 😭😭) What i did Made the entire stock page have real data, you can actually buy and sell stocks now. This also updates transactions and holdings. Brand new holdings page that shows every stock you own. Finally, MY WEBSITE IS DEPLOYED. Try it out now: Visit TradeSims All changes I made Buy and sell card This actually works now. YOu can buy and sell stocks It has both backend and frontend checks for buying and selling capacity Unlike last time it shouws different metrics in the buying and selling panel. Buying power if u wanna buy and stocks owned if you want to sell The buy and sell button also update transactions Holdings page Its a simple page where all stocks are mentioned with their values quantity and P/L incurred. Theres a button to access it from the hero on the dasboard Wishlist I thought it was complete alst time, but when i checked the dashoard i remembered the buttons id added to trending stocks for adding to wishlist This one was slightly hard to do as it took changes in both JS and Python. I faced another error with color of the start but that worked out This led me to my next problem Stocks not in database Whenever i called yfinance on dashboard for market movers and trending stocks it might not be in the database This led to issues whenever I tried to wishlist those stocks or visited them it failed Now Ive made a function to check if a stock is in the database, if its not, it updates top stocks and now it can be accessed The same goes for the search bar, if theres no stock present then you can search for it, and if yfin has it, it adds to stocks and is forever accessible and updates just like all other stocks Deploying This IS THE HARDEST PART OF ALL Im not even sure how its working. but it is Ive used redis and Supabase for the cache and database respiectively Redis is mostlyto recude dependence on yfinance so taht i can reduce requiests, prevent rate limiting And uptime robot is for monitoring and keeping the webstie up. Thats about it. Thanks for the read Tradesims is officialy LIVE"}, {"post_id": 42571, "ts": "2026-08-07T11:57:53Z", "hours": 10.2128, "text": "Making The stock page Have real data Hours: 10 What I did I made everythine from the head to the news get real data from yfinance. Oh and also, one of my friends told me about Trading View so i scrapped my own chanrt and used their library to make an actual candlestick stock chart All changes Chart Scrapped the whole old chart Used trading view js library Actual candlestick chart YFin stock data sends it over an api to the stock page Stock head Gets data from yfin Has a fucntional button where ytou can wishlist and un wishlist stocks Price updates every 5 minutes All other parts The following: - About page - Key statistics - Financials - News - Order history - Holding Position Have been grabbed from backend ( YFin and DB models ) to display data in real time Buy/Sell This is the only part of the page that is not using actual data, its still simulated and yotu cant really buy stuff rn. but soon itll work Role of AI This time, AI was only used as a helper to debug code and check for syntax errors All code was written by me :) Problems faced Once again, the biggest problem here was spelling mismatch between the wesite API and component names and classes and id’s ( We all know how amazing i am at typing) Whats left Making buy and sell possile Transactions update after buying and selling Making a dedicated portfolio and (maybe) transaction page Adding a FAVICON ( omgg i keep forgetting) And thats about it. Thanks for the read !"}, {"post_id": 38269, "ts": "2026-07-31T16:06:29Z", "hours": 7.7064, "text": "FINALLY THE STOCK PAGE IS READYYYY Hours: 17 Note This is has been a grinddd. So many errors and aaaaaaa 😭😭😭 But the entire stock page with all of its components is currently complete. The entire page uses fake data inside the MockData.js File :) Next i gotta just create the real api endpoints and feed it to the frontend Changes in details The link The url for the stock is in the format: <main-url>/stock/<stock_name> Eg. ( Localhost ) http://127.0.0.1:8000/stock/AAPL/ The top bar Here is the place where the name and stock exchange is listed. Watchlist button is also present here Price, Gain and loss and time is also mentioned Price chart A detailed chart with historical data of the stock witht timelines ranging from 1D to Max About Simply, an about page with details of Stock Stats Displays: Opening and closing price Highs and lows (Last day and past year) Market cap Volume Avg volume Price to earning ratio Earning per share Divident yield Beta IDK how but this will probabaly be hardest to link to real data as ill have to change models too :( Financisls Displays revenue and net income for As bar charts per quarter News Its the news duh Might remove this if i cant link to real data Order history Only of said stock. Straight from dataabse Buying/Selling panel Literally, just a place to buy and sell your stocks that you own. It has its own frontend way of checking if you can afford a stock or not Position card Page to display what the user owns of the stock Has other details like Investment and value Related stocks Shows some more stocks to explore ( currently jst like the ones available in the fake data ) AI AI played a good role here. Helped me debug sooooo many errors and helped in writing certain jss animations and css blocks. All HTML and most CSS and Js was written by me ( Evident by the 17h worktime 🤣) Next Use real data. Test runs Connect stock page to main page Debug (Hopefully thats all) Thanks for the read !!"}, {"post_id": 35081, "ts": "2026-07-26T08:57:01Z", "hours": 9.4303, "text": "Im almost done with the stock page Ive been making this stuff for 9 hours now, and I dont have anything to show, but gimme a few hours ill get it done. just the CSS left now"}, {"post_id": 31715, "ts": "2026-07-20T10:32:00Z", "hours": 9.7186, "text": "Bug Fixes and live data Hours: 9 What all I completed All Bugs mentioned in the previous devlog have been fixed. All data related to stocks (except for login page) has been connected to stock database so that all data is live Created multiple components for stock details and page ( in development ) Changes in details Live data Finnhub API was scrapped to use only YFinance as the main Data provider. A task was scheduled to run every 5 minutes to update all data to stock database Instead of all pages calling the API for live data, all pages ping the database, which is updated as mentioned above Bug Fixes Live data Pages that now have live data: - Landing page ( Markets page and moving section ) - Watchlist part - Trending stocks ( With sparklines ) - Floating stock cards Problems faced I sometimes got timed out cause I called the API too many times I had to switch to the database metnod so i could reduce api queries. User button This was a small fix, but took a surprising amount of time 😭😭 The logout button is now hidden under the user initial button on top right File cleanup Extra blocks of code, specifically fake js data was removed Fairly strightforward Stock listing page This is still in development I have created multiple components Navbar Details Right panel Buy and sell stocks Related stocks User Ownership Left panel Stock progression chart Conpany overview Finance Company News Statistics Order History All compoenents come together inside a stock page that will be displayed This page is stil under development. I am planning to only use fake data for now, the i will slowly progress to real data from API and database There is very little js that i have written for this part till now, but there are more files planed Everything I learnt Its best to store all data from apis specially if multiple pages need to visit it, cause well then it doesnt reach limit. Revised JS and how to put together animations Again, I already listed everything I learnt and did in the bug fixes :) Role of AP AI only helped he understand the error specifics All code is written by me Current bugs The stock page is not complete(it is far from done) I dont have any rn but theyll pop up Next steps Complete the stock page Connect it to the database Allow for buying and selling FIX ALL BUGS ( They always come ) Thats about it !! Thanks for the read"}, {"post_id": 27094, "ts": "2026-07-12T11:00:40Z", "hours": 0.5575, "text": "Note This is an extension of the previous devlog, at in all it was too long to fit inside one 😭😭😂😅 Watchlist This was again, fairly straightforward. I simply got the values from the Datapased and parsed it instead of the placeholder array Current Bugs While the stock listed is itself part of the users wishlist, the pricing, change percent and sparkline are currently totally fake To fix this ill have to get the stock data update it in the database and create a function to do this every 10 miins or so Recent Transactions Here too, the data is simple parsed from backend and sybstituted instead of the placeholder array. These values however in the database, are obviously made up. The purpose right now i to simply get the data, cause then if i upload it i am guaranteed to get it Problems faced The Buy tag inside the transactions section was very uncooperative I later realised that it was due to the capitalisation of the tag in the database wheras the JS reciever expected it in lowercase, and rejected it, hence printing it as sell Everything I learnt API selection. Oh man! Theres so many parameters to check for and so many pros and cons and ups and downs. I should have probably evaluated all of that before actually starting to build the endpoint; It would probably have saved me an hour or two Capitalisation, i mean i knew it was important, but still. Spellings and capitalisation gave me a headache 😭😭😭 ~ [ I really gotta improve my typing accuracy] Data sttructuring designs matter a lot more than i thought. When creating the dashboard, all i thought was, what all do i want. BUt then i realised alter, that its more about what all will the backend send and i should have structured it accoring to that; It would also have saved me some time Even tho i did plan everything well this time, i did slip out at a few places; like the 0 Change error in my main section is caused due to the way i made my backend There is a lot more, but most of it has been covered in the problems sections, which obviously meant learning about everything that meant wrong, so im not going to repeat it all here Role of AI During this time, AI did not write any code. ALl implementation is my own work; Ai merely acted as a debugger for some of my issues Moreover, it helped me progress though my plan in stages that actually made sense It also stored all of my past mistakes and issues and designs so i could easily refer them and write the code Next Steps First, obiviously, just fix all the bugs in the Updated version once thats done, i plan to create a way for users to actually quote and buy stocks. I also want to create detailed amalysis pages for stocks dynamically, if possible ( I really hope i dont have to change APIs again 😭) Thanks for the read !!"}, {"post_id": 26728, "ts": "2026-07-11T18:07:33Z", "hours": 9.9983, "text": "MASSIVE CHANGES Hours: 10 The list includes: - User data pulled form database instead of fake values - Live market overview - Daily gainers and losers with live data - Sparklines and growth charts for all stocks - Watchlist dynamically rendered from user’s database - Transactions rendered from database - Portfolio progression chart created from users previous net worths Disclaimer These changes were meant to be distributed among two journals. But due to my absolutely amazing memory i forgot and created all these functions Hence this devlong is gonna be a long one Changes in depth User data Earlier, on logging in, the user visited a dashboard with palceholder name, portfolio, networth etc. This has been updated via the dashboard_api function in views.py to dynamically fetch user data Problems faced Mismatch with the expected json data of the Backend meant that initially the data was not rendering properly, and just returning placeholder data Current Bugs The way the data is saved daily means that there is virtually zero change in the net worth of the indivisual, atleast as far as this section is concerned This causes the change and change percent to always remain at 0 Market overview Yahoo’s YFinance API endpoint has been used to get live market data of the S&P500 , NASDAQ and Dow Jones ETFs. This data is rendered through markets.py file inside services Problems faced Initially, I thought of using finnhub as the provider due to its generous free tier and live data. This however did not work as the candles required to generate the sparkline of each graph were not included in the free tier of finnhub Next, i consider Alpha Vantage as my data provider. This idea was quickly scrapped due to its sparing free tier of 25 requests/day which would be exhausted in mere minutes I briefly considered a mix of Finnhub and Alpha Vantage to get the best of both worlds, but the lag between responses and the limit for alpha vantage were still limiting So finally, i went with a mix of Finnhub and YFinance, and i thought it was the best combination. However, again, it lagged, it would not render properly. And besider, apart from the 15 mins delay, which, lets face it, is not game changing for a simulator, YFinance offered everything i needed, and also it had good documentation i could refer to My final data feed comes from YFinance and yahooquery, which I am quite proud of Current Bugs Sometimes, there is still delay in the response, and im confused cause its very rare, and othertimes its not… Im still working on it Trending Trending API is still in progress, i havent been able to get it to work with the current data, but ill get it done by the next journal Progression Chart This is simply a chart that is dynamically created based on past portfolio worths of the user. Not many problems were faced here, thank god. It was fairly strightforward Market movers The greatest gainers and losers, by day and percentage, are shown here. (Theyre the market movers after all 😅) This part was a considerable pain to get to work properly, particularly when i was using Finnhub, becuase it was very hard to find the gainers and losers, atleast for me. Problems I faced Spellings mismatch with exact wording of the data the stock returned Issues with perfectly parsing it in the exact format required by JavaScript [What can i say, my typing is just that good] It was so bad that i did not even push my changes to github for this part YFinance for me somehow made this quite simpler and i was able to get it running. Thankfully, no errors presently"}, {"post_id": 22292, "ts": "2026-07-04T18:01:11Z", "hours": 4.3025, "text": "Creating Django Models, Admin Page & Connecting Frontend Pages to Database Hours: 4.5 Objective Create Django Models for backend foundation of TradeSims and connect the Login and Register pages to the backend database. What I Worked On Wrote a markdown file first listing out all the models, fields, and relationships before touching code Translated that into models.py — ended up with 5 models: Portfolio, Stock, Holding, Transaction, Wishlist Portfolio: one-to-one with User, starts everyone off with a $100k balance Stock: symbol, price, exchange, etc. Holding: links Portfolio + Stock, added a save() override so avg_buy_price calculates itself and the holding deletes itself if quantity hits 0 Transaction: logs every buy/sell with balance before/after so there’s a proper trade history Wishlist: User + Stock, made sure someone can’t wishlist the same stock twice Used PROTECT on the Stock foreign keys so a stock can’t get deleted while it’s still tied to trades/holdings, but CASCADE on the Portfolio ones since those don’t make sense without the parent Ran migrations, tested everything through the shell and admin Set up admin.py for all models + created a superuser Defined GET and POST conditions for login and register views Added a component to cleanly display any client-side errors(such as password mismatch) Checked for multiple edge cases such as: Duplicating usernames Password mismatch Incorrect username or password Duplicating email id Created a simple logout form What I Learnt on_delete matters more than I thought — CASCADE vs PROTECT changes a lot depending on whether the child record even makes sense without the parent Doing calculations (like avg_buy_price) inside save() keeps that logic in one place instead of copy-pasting it into views later Constraints like UniqueConstraint/CheckConstraint let the database stop bad data itself instead of relying only on form validation GET and POST methods Login required decorators Fetching data from HTML forms Django USER authentication using authenticate Problems & Rabbit Holes Migration broke when I swapped a CharField (was just storing the stock symbol as text) for a proper ForeignKey to Stock. Django had no way to map the existing text values to actual Stock rows, so it errored out Fixed by wiping the db and remigrating since there was no real data yet — if this happens again later with actual data I’ll need a proper data migration instead of just nuking it Multiple spelling mismatches across files meant that i had to carefully check and re iterate multiple files over and over again Forgot my superuser username 🤪 which lead me to use shell to retireve it Functional Elements Fully working relational database — 5 models, all linked up properly with constraints Django Admin page working for all models Superuser set up Functional Login and Register Pages tied to database Pop up Errors on client side Both frontend and backend authentication Simple logout functionality Role of AI AI was used as a reviewer and technical mentor to validate database design decisions, strengthen Django concepts, and help debug migration issues. AI was used as a syntax-reviewer (and in this case, a spelling checker), allowing me to focus on implementing logic in the functions. All implementation and code integration were completed by me. Next Steps Research for the most suitable API key given my current website scope Implement its API through a HTML form to fetch JSON data Parse the data and wire it up to backend Create a dashboard with all the user’s data Implement OAuth Buttons Error Pop-ups"}, {"post_id": 20097, "ts": "2026-07-01T16:46:42Z", "hours": 3.6028, "text": "Day 3 & 4 - Creating login and register pages Hours: 3 Objective Create and render the frontend part of login and register pages for website What I Worked On Writing HTML code and creating a form to input the First Name, last name, user ID, email ID, and password. After initial creation of HTML pages, it was broken into functional components to make code more readable andstructured Styling The HTML forms and components were created by me, with specific styling desicions inspired by Claude. The Specific CSS and JavaScript used to stylise the webpage, and to check for password strength, and email validity was implimented by claude. All AI generated code was cross checked and modified by me to fit the project’s coding style Functional Elements Working login page Working register page Password strength check at client side (Frontend only) Google and GitHub OAuth buttons Panels for both login and register pages to make the page visually appealing Next Steps Implement Django database models and SQL queries to be able to save user information Make OAuth Buttons functional Create Dashboard for user to view their paper currency value, stock holding, portfolio value, etc Add API to be able to pull live data of stocks"}, {"post_id": 17897, "ts": "2026-06-28T20:42:21Z", "hours": 2.4692, "text": "Created multiple components for homepage(such as hero, markets etc.) , used CSS and JS to beautifully style landing page. Compiled all components into final home.html file to successfully run my django app for the first time"}, {"post_id": 16917, "ts": "2026-06-27T14:07:40Z", "hours": 0.5228, "text": "Completed initial layout with a navbar, and template indexing, ready to use as a base for all webfiles. Also added a new django software"}, {"post_id": 16853, "ts": "2026-06-27T11:05:09Z", "hours": 0.4094, "text": "Initial layout and template html file"}]...
|
Title: TradeSims by @Maanvik | Stardance
Devlogs: Title: TradeSims by @Maanvik | Stardance
Devlogs:
Initial layout and template html file
Completed initial layout with a navbar, and template indexing, ready to use as a base for all webfiles. Also added a new django software
Created multiple components for homepage(such as hero, markets etc.) , used CSS and JS to beautifully style landing page. Compiled all components into final home.html file to successfully run my django app for the first time
Day 3 & 4 - Creating login and register pages Hours: 3 Objective Create and render the frontend part of login and register pages for website What I Worked On Writing HTML code and creating a form to input the First Name, last name, user ID, email ID, and password. After initial creation of HTML pages, it was broken into functional components to make code more readable andstructured Styling The HTML forms and components were created by me, with specific styling desicions inspired by Claude. The Specific CSS and JavaScript used to stylise the webpage, and to check for password strength, and email validity was implimented by claude. All AI generated code was cross checked and modified by me to fit the project’s coding style Functional Elements Working login page Working register page Password strength check at client side (Frontend only) Google and GitHub OAuth buttons Panels for both login and register pages to make the page visually appealing Next Steps Implement Django database models and SQL queries to be able to save user information Make OAuth Buttons functional Create Dashboard for user to view their paper currency value, stock holding, portfolio value, etc Add API to be able to pull live data of stocks
Creating Django Models, Admin Page & Connecting Frontend Pages to Database Hours: 4.5 Objective Create Django Models for backend foundation of TradeSims and connect the Login and Register pages to the backend database. What I Worked On Wrote a markdown file first listing out all the models, fields, and relationships before touching code Translated that into models.py — ended up with 5 models: Portfolio, Stock, Holding, Transaction, Wishlist Portfolio: one-to-one with User, starts everyone off with a $100k balance Stock: symbol, price, exchange, etc. Holding: links Portfolio + Stock, added a save() override so avg_buy_price calculates itself and the holding deletes itself if quantity hits 0 Transaction: logs every buy/sell with balance before/after so there’s a proper trade history Wishlist: User + Stock, made sure someone can’t wishlist the same stock twice Used PROTECT on the Stock foreign keys so a stock can’t get deleted while it’s still tied to trades/holdings, but CASCADE on the Portfolio ones since those don’t make sense without the parent Ran migrations, tested everything through the shell and admin Set up admin.py for all models + created a superuser Defined GET and POST conditions for login and register views Added a component to cleanly display any client-side errors(such as password mismatch) Checked for multiple edge cases such as: Duplicating usernames Password mismatch Incorrect username or password Duplicating email id Created a simple logout form What I Learnt on_delete matters more than I thought — CASCADE vs PROTECT changes a lot depending on whether the child record even makes sense without the parent Doing calculations (like avg_buy_price) inside save() keeps that logic in one place instead of copy-pasting it into views later Constraints like UniqueConstraint/CheckConstraint let the database stop bad data itself instead of relying only on form validation GET and POST methods Login required decorators Fetching data from HTML forms Django USER authentication using authenticate Problems & Rabbit Holes Migration broke when I swapped a CharField (was just storing the stock symbol as text) for a proper ForeignKey to Stock. Django had no way to map the existing text values to actual Stock rows, so it errored out Fixed by wiping the db and remigrating since there was no real data yet — if this happens again later with actual data I’ll need a proper data migration instead of just nuking it Multiple spelling mismatches across files meant that i had to carefully check and re iterate multiple files over and over again Forgot my superuser username 🤪 which lead me to use shell to retireve it Functional Elements Fully working relational database — 5 models, all linked up properly with constraints Django Admin page working for all models Superuser set up Functional Login and Register Pages tied to database Pop up Errors on client side Both frontend and backend authentication Simple logout functionality Role of AI AI was used as a reviewer and technical mentor to validate database design decisions, strengthen Django concepts, and help debug migration issues. AI was used as a syntax-reviewer (and in this case, a spelling checker), allowing me to focus on implementing logic in the functions. All implementation and code integration were completed by me. Next Steps Research for the most suitable API key given my current website scope Implement its API through a HTML form to fetch JSON data Parse the data and wire it up to backend Create a dashboard with all the user’s data Implement OAuth Buttons Error Pop-ups
MASSIVE CHANGES Hours: 10 The list includes: - User data pulled form database instead of fake values - Live market overview - Daily gainers and losers with live data - Sparklines and growth charts for all stocks - Watchlist dynamically rendered from user’s database - Transactions rendered from database - Portfolio progression chart created from users previous net worths Disclaimer These changes were meant to be distributed among two journals. But due to my absolutely amazing memory i forgot and created all these functions Hence this devlong is gonna be a long one Changes in depth User data Earlier, on logging in, the user visited a dashboard with palceholder name, portfolio, networth etc. This has been updated via the dashboard_api function in views.py to dynamically fetch user data Problems faced Mismatch with the expected json data of the Backend meant that initially the data was not rendering properly, and just returning placeholder data Current Bugs The way the data is saved daily means that there is virtually zero change in the net worth of the indivisual, atleast as far as this section is concerned This causes the change and change percent to always remain at 0 Market overview Yahoo’s YFinance API endpoint has been used to get live market data of the S&P500 , NASDAQ and Dow Jones ETFs. This data is rendered through markets.py file inside services Problems faced Initially, I thought of using finnhub as the provider due to its generous free tier and live data. This however did not work as the candles required to generate the sparkline of each graph were not included in the free tier of finnhub Next, i consider Alpha Vantage as my data provider. This idea was quickly scrapped due to its sparing free tier of 25 requests/day which would be exhausted in mere minutes I briefly considered a mix of Finnhub and Alpha Vantage to get the best of both worlds, but the lag between responses and the limit for alpha vantage were still limiting So finally, i went with a mix of Finnhub and YFinance, and i thought it was the best combination. However, again, it lagged, it would not render properly. And besider, apart from the 15 mins delay, which, lets face it, is not game changing for a simulator, YFinance offered everything i needed, and also it had good documentation i could refer to My final data feed comes from YFinance and yahooquery, which I am quite proud of Current Bugs Sometimes, there is still delay in the response, and im confused cause its very rare, and othertimes its not… Im still working on it Trending Trending API is still in progress, i havent been able to get it to work with the current data, but ill get it done by the next journal Progression Chart This is simply a chart that is dynamically created based on past portfolio worths of the user. Not many problems were faced here, thank god. It was fairly strightforward Market movers The greatest gainers and losers, by day and percentage, are shown here. (Theyre the market movers after all 😅) This part was a considerable pain to get to work properly, particularly when i was using Finnhub, becuase it was very hard to find the gainers and losers, atleast for me. Problems I faced Spellings mismatch with exact wording of the data the stock returned Issues with perfectly parsing it in the exact format required by JavaScript [What can i say, my typing is just that good] It was so bad that i did not even push my changes to github for this part YFinance for me somehow made this quite simpler and i was able to get it running. Thankfully, no errors presently
Note This is an extension of the previous devlog, at in all it was too long to fit inside one 😭😭😂😅 Watchlist This was again, fairly straightforward. I simply got the values from the Datapased and parsed it instead of the placeholder array Current Bugs While the stock listed is itself part of the users wishlist, the pricing, change percent and sparkline are currently totally fake To fix this ill have to get the stock data update it in the database and create a function to do this every 10 miins or so Recent Transactions Here too, the data is simple parsed from backend and sybstituted instead of the placeholder array. These values however in the database, are obviously made up. The purpose right now i to simply get the data, cause then if i upload it i am guaranteed to get it Problems faced The Buy tag inside the transactions section was very uncooperative I later realised that it was due to the capitalisation of the tag in the database wheras the JS reciever expected it in lowercase, and rejected it, hence printing it as sell Everything I learnt API selection. Oh man! Theres so many parameters to check for and so many pros and cons and ups and downs. I should have probably evaluated all of that before actually starting to build the endpoint; It would probably have saved me an hour or two Capitalisation, i mean i knew it was important, but still. Spellings and capitalisation gave me a headache 😭😭😭 ~ [ I really gotta improve my typing accuracy] Data sttructuring designs matter a lot more than i thought. When creating the dashboard, all i thought was, what all do i want. BUt then i realised alter, that its more about what all will the backend send and i should have structured it accoring to that; It would also have saved me some time Even tho i did plan everything well this time, i did slip out at a few places; like the 0 Change error in my main section is caused due to the way i made my backend There is a lot more, but most of it has been covered in the problems sections, which obviously meant learning about everything that meant wrong, so im not going to repeat it all here Role of AI During this time, AI did not write any code. ALl implementation is my own work; Ai merely acted as a debugger for some of my issues Moreover, it helped me progress though my plan in stages that actually made sense It also stored all of my past mistakes and issues and designs so i could easily refer them and write the code Next Steps First, obiviously, just fix all the bugs in the Updated version once thats done, i plan to create a way for users to actually quote and buy stocks. I also want to create detailed amalysis pages for stocks dynamically, if possible ( I really hope i dont have to change APIs again 😭) Thanks for the read !!
Bug Fixes and live data Hours: 9 What all I completed All Bugs mentioned in the previous devlog have been fixed. All data related to stocks (except for login page) has been connected to stock database so that all data is live Created multiple components for stock details and page ( in development ) Changes in details Live data Finnhub API was scrapped to use only YFinance as the main Data provider. A task was scheduled to run every 5 minutes to update all data to stock database Instead of all pages calling the API for live data, all pages ping the database, which is updated as mentioned above Bug Fixes Live data Pages that now have live data: - Landing page ( Markets page and moving section ) - Watchlist part - Trending stocks ( With sparklines ) - Floating stock cards Problems faced I sometimes got timed out cause I called the API too many times I had to switch to the database metnod so i could reduce api queries. User button This was a small fix, but took a surprising amount of time 😭😭 The logout button is now hidden under the user initial button on top right File cleanup Extra blocks of code, specifically fake js data was removed Fairly strightforward Stock listing page This is still in development I have created multiple components Navbar Details Right panel Buy and sell stocks Related stocks User Ownership Left panel Stock progression chart Conpany overview Finance Company News Statistics Order History All compoenents come together inside a stock page that will be displayed This page is stil under development. I am planning to only use fake data for now, the i will slowly progress to real data from API and database There is very little js that i have written for this part till now, but there are more files planed Everything I learnt Its best to store all data from apis specially if multiple pages need to visit it, cause well then it doesnt reach limit. Revised JS and how to put together animations Again, I already listed everything I learnt and did in the bug fixes :) Role of AP AI only helped he understand the error specifics All code is written by me Current bugs The stock page is not complete(it is far from done) I dont have any rn but theyll pop up Next steps Complete the stock page Connect it to the database Allow for buying and selling FIX ALL BUGS ( They always come ) Thats about it !! Thanks for the read
Im almost done with the stock page Ive been making this stuff for 9 hours now, and I dont have anything to show, but gimme a few hours ill get it done. just the CSS left now
FINALLY THE STOCK PAGE IS READYYYY Hours: 17 Note This is has been a grinddd. So many errors and aaaaaaa 😭😭😭 But the entire stock page with all of its components is currently complete. The entire page uses fake data inside the MockData.js File :) Next i gotta just create the real api endpoints and feed it to the frontend Changes in details The link The url for the stock is in the format: <main-url>/stock/<stock_name> Eg. ( Localhost ) http://127.0.0.1:8000/stock/AAPL/ The top bar Here is the place where the name and stock exchange is listed. Watchlist button is also present here Price, Gain and loss and time is also mentioned Price chart A detailed chart with historical data of the stock witht timelines ranging from 1D to Max About Simply, an about page with details of Stock Stats Displays: Opening and closing price Highs and lows (Last day and past year) Market cap Volume Avg volume Price to earning ratio Earning per share Divident yield Beta IDK how but this will probabaly be hardest to link to real data as ill have to change models too :( Financisls Displays revenue and net income for As bar charts per quarter News Its the news duh Might remove this if i cant link to real data Order history Only of said stock. Straight from dataabse Buying/Selling panel Literally, just a place to buy and sell your stocks that you own. It has its own frontend way of checking if you can afford a stock or not Position card Page to display what the user owns of the stock Has other details like Investment and value Related stocks Shows some more stocks to explore ( currently jst like the ones available in the fake data ) AI AI played a good role here. Helped me debug sooooo many errors and helped in writing certain jss animations and css blocks. All HTML and most CSS and Js was written by me ( Evident by the 17h worktime 🤣) Next Use real data. Test runs Connect stock page to main page Debug (Hopefully thats all) Thanks for the read !!
Making The stock page Have real data Hours: 10 What I did I made everythine from the head to the news get real data from yfinance. Oh and also, one of my friends told me about Trading View so i scrapped my own chanrt and used their library to make an actual candlestick stock chart All changes Chart Scrapped the whole old chart Used trading view js library Actual candlestick chart YFin stock data sends it over an api to the stock page Stock head Gets data from yfin Has a fucntional button where ytou can wishlist and un wishlist stocks Price updates every 5 minutes All other parts The following: - About page - Key statistics - Financials - News - Order history - Holding Position Have been grabbed from backend ( YFin and DB models ) to display data in real time Buy/Sell This is the only part of the page that is not using actual data, its still simulated and yotu cant really buy stuff rn. but soon itll work Role of AI This time, AI was only used as a helper to debug code and check for syntax errors All code was written by me :) Problems faced Once again, the biggest problem here was spelling mismatch between the wesite API and component names and classes and id’s ( We all know how amazing i am at typing) Whats left Making buy and sell possile Transactions update after buying and selling Making a dedicated portfolio and (maybe) transaction page Adding a FAVICON ( omgg i keep forgetting) And thats about it. Thanks for the read !
ONE. LAST. DANCE Hours: 12? 15? 20? (idek 😭😭) What i did Made the entire stock page have real data, you can actually buy and sell stocks now. This also updates transactions and holdings. Brand new holdings page that shows every stock you own. Finally, MY WEBSITE IS DEPLOYED. Try it out now: Visit TradeSims All changes I made Buy and sell card This actually works now. YOu can buy and sell stocks It has both backend and frontend checks for buying and selling capacity Unlike last time it shouws different metrics in the buying and selling panel. Buying power if u wanna buy and stocks owned if you want to sell The buy and sell button also update transactions Holdings page Its a simple page where all stocks are mentioned with their values quantity and P/L incurred. Theres a button to access it from the hero on the dasboard Wishlist I thought it was complete alst time, but when i checked the dashoard i remembered the buttons id added to trending stocks for adding to wishlist This one was slightly hard to do as it took changes in both JS and Python. I faced another error with color of the start but that worked out This led me to my next problem Stocks not in database Whenever i called yfinance on dashboard for market movers and trending stocks it might not be in the database This led to issues whenever I tried to wishlist those stocks or visited them it failed Now Ive made a function to check if a stock is in the database, if its not, it updates top stocks and now it can be accessed The same goes for the search bar, if theres no stock present then you can search for it, and if yfin has it, it adds to stocks and is forever accessible and updates just like all other stocks Deploying This IS THE HARDEST PART OF ALL Im not even sure how its working. but it is Ive used redis and Supabase for the cache and database respiectively Redis is mostlyto recude dependence on yfinance so taht i can reduce requiests, prevent rate limiting And uptime robot is for monitoring and keeping the webstie up. Thats about it. Thanks for the read Tradesims is officialy LIVE
Just fixing deployed website Fixed faqs, removed oauth, wrote the readme and instructions for installation
Fixing all the problems So this devlog is gonna be relatively short, cause it just comprises of correcting all changes requested, most importantly hosting on nest For the project reviewer Theres still a few issues with the website, but these are largely due to the hosting being on nest, cause the render website is mostly fine. Firstly, the whole website is very laggy and all round unresponsive for a few seconds after any press taht requires a query to supabase or redis Secondly, the dashboard does not render properly the first time, so id suggest to click the try again button or reload the page entirely. Even after reloading the portfolio performance part just doesn not work until you click on the one month or 3 month bnutton ( I have no clue why but this is on nest only) then it works The nest caddy does go down, like it did jstu at the time of writing this, so if it does happen to go down during the review, please check through tradesims.onrender.com, where the website is still upp Thats all. Once again, Thanks !!
Yeah, the last wasent the final Anyways, so in compliance witht he changes requested ive rewrote three pages: Hero Login Register Caveat I know it looks really bad, i only really was able to work on it for a limited time, with exam season and all. the Login and register pages’ html were resued(if thats okay) from a previosu project and just suited to this project. Anyways, thast all for this one. Thanks ! Edit I got reply saaaying ive used too much ai, but ive lliteraally sspent the alsat week rewriting three entire pages where ive basically used most of the ai im so confused
It got declined again But no matter, he said to build something to be proud of, so i went digging though my old papers and found the first draft of what i wanted the landing to look like, before i asked ai to make it. Ive made exactly that. detail for detail. With my favourite coloe scheme, back-green/blue-whiteThey told me to make something im proud of, and the way its turned out, i couldnt be prouder. Note to the judges First of all, maybe the way i write my css, with root vars and all, may make you think its ai, but i actually do write that way, casue i learnt to write css through ai. Secondly, time time tracked for this change is less, i put in about an hour and a half extra, but that time i was in a different state and forgot to isntall hacktime on dads laptop, i dont mind the lost time, i just dont want you to judke the time it took me to make this and think its ai cause its too less Thirdly, you asked me to make some of the features myself, and yes ive said it before, but the ENTIRE backend structure is my own. every line, every model every view. Soo yeahh. I made it myself, and im proud of it Lastly, thanks for taking the time to judge the project and read these journals 😁😁 (Ik the last few journals are not as detailed as 1-11, but thats cause exam season doesnt leave me time to write detailed logs)
Ships:
I Have created a Paper Trading Simulator Using Django Framework. Probably the hardest part was deployment, and after that creation of the stock page with real data, cause they both dealt with the yfinance API which is very finicky, but thank god it works...
|
1793292688.967349
|
1793379088.967349
|
|
26918
|
Fossim by @nekename | Stardance
|
nekename
|
1
|
52.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-23T18:13:47Z", "hours": 52.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hello! Fossim and Stardance were really fun for me as I finally got around to building something new, instead of spending a lot of time maintaining old projects for their users. If you read through the devlogs or code, you’ll see that building a whole new interface on GitHub’s APIs isn’t easy, because they don’t expose a fraction of the features they use on their own site. For example, instead of being able to receive events (e.g. someone else sent a message) in the client directly, I had to architect an entire multiplexed event forwarding/broadcast mechanism in a backend server. Or, since there’s no way to check how many messages the user hasn’t read when the app starts, I had to implement a database in the backend with counters that increment on new messages so that clients can compare their local values when they start. So, to answer ‘what I’m proud of’, it’s going to be working around the architectural API challenges rather than building a desktop app with a sweet UI, since I already knew I could do the latter. Fossim is a collaboration platform for open-source projects, but what makes it different from a platform like Discord, Matrix, Slack or Zulip is that it’s built on the software forge that projects are already using for source control. By using GitHub Discussions as the content index for your project’s community (note: Fossim is designed with support for different forges in mind, and the project would be very happy to accept contributions to add support for other platforms) with the Fossim application as an interface familiar to users of the platforms listed above, the discussions taking place in your community become indexable by search engines, you avoid splitting your community across multiple platforms and avoid requiring users to create new accounts, content like issues and pull requests can be referenced using convenient shorthand syntax, and you use a platform designed for the needs of open source, for example automatically displaying a project’s funding links on its Fossim community overview. Additionally, you avoid the common hassle of migrating users to a new platform, since Fossim is built fully on top of GitHub Discussions, which can be accessed directly from GitHub’s interface. Using Fossim, however, grants you access to all the communities you’re a member of in one place, easy to navigate between with a unified interface, system-level notifications for new messages including granular, per-community controls, and an interface more tailored to a chat platform than a curated discussion forum. Want to set up a Fossim community? Head over to the backend documentation at https://github.com/nekename/fossim-backend to learn how to set up an event source for your community.", "repo": "https://github.com/nekename/fossim-application", "demo": "https://github.com/nekename/fossim-application#installation"}]...
|
[{"post_id": 33621, "ts": "202 [{"post_id": 33621, "ts": "2026-07-23T18:02:50Z", "hours": 1.4597, "text": "got back home, wrote a README with overview, installation, support and contributing info, created a metainfo file in case I ever bother to publish this to Flathub and so it looks nice in Linux software stores, fixed a bug with missed event deliveries when reconnecting to the backend, wrote a github actions workflow for publishing on release and added a banner sending you to the FAQ after onboarding"}, {"post_id": 28783, "ts": "2026-07-15T08:56:42Z", "hours": 1.7419, "text": "I’m away right now so not making lightning speed progress like before, but I made the application integrate much better when installed, such as enforcing a maximum of one running instance, fixing the app’s display name, and improving the icon shown on macOS. then, I wrote an FAQ ( https://github.com/nekename/fossim-application/wiki/FAQ ) for the application to clarify missing features, answer hosting questions and address privacy concerns"}, {"post_id": 24970, "ts": "2026-07-08T21:14:24Z", "hours": 1.7503, "text": "Dockerfile written, github publish action written, backend container published 🎉 https://github.com/nekename/fossim-backend/pkgs/container/fossim-backend edit: oh yeah also update checker in the app and anonymous statistics collection"}, {"post_id": 24684, "ts": "2026-07-08T13:09:14Z", "hours": 1.1011, "text": "it’s all finishing touches in the client now! added support for minimising the app to the system tray when closed as well as a settings menu to control the behaviour pretty much just need to add some networked services like an update checker and statistics collection, write a readme and faq, and add a docker build for the backend"}, {"post_id": 24639, "ts": "2026-07-08T11:17:55Z", "hours": 0.6622, "text": "alright, as hinted before, Fossim now sends system notifications! (and of course i made sure it doesn’t send notifs when the channel is focussed and you’re actively chatting) (weird icon and name will be fixed when the app is properly installed (i hope))"}, {"post_id": 24612, "ts": "2026-07-08T10:13:47Z", "hours": 1.8769, "text": "comments referencing github items are now real links to make coordinating PRs and issues way easier (as well as linking to other discussions, although they don’t open in fossim) I also added a notif level setting which will be useful now as I’m about to implement system notifications, and you might not want a system notification for every thread in every community this is amidst some other UI/UX improvements like better error messages, automatic reconnection etc"}, {"post_id": 24215, "ts": "2026-07-07T17:06:33Z", "hours": 2.4011, "text": "with all the architectural stuff done, I’m working on all the cosmetic finishing touches community list now also shows the total unread notifs of all the community’s channels community config allows specifying name, icon and banner so that you can customise your community I even added a button to sponsor the community’s owner if the repository has funding links attached!"}, {"post_id": 23693, "ts": "2026-07-06T20:03:37Z", "hours": 3.2303, "text": "so, I’m back a little while later, and the app now shows unread message counters, not only incrementing while the app is open but also synchronising with the backend so that you can see how many messages have come in even when the app was closed. this required me to set up a database in the backend for tracking sequential message counters for each channel that the client can then subtract from its own records, I learnt some database stuff and also some stuff about making bulk HTTP requests, since I didn’t want to make a request per channel"}, {"post_id": 23405, "ts": "2026-07-06T10:46:48Z", "hours": 3.7539, "text": "alright, here we go! it was a lot of work (nearly 4h as you can see), but the Fossim client can now receive and handle every type of live update that the backend can receive from the GitHub webhook. this means that when others send, edit or delete messages, or a new channel or thread is created or an existing one edited, deleted, locked or unlocked, the client receives the update in real time. now it feels more like an instant messenger :) what’s left: showing notifications for unread messages, including finding some way to remember last read message and fetch how many new messages once the client restarts"}, {"post_id": 22945, "ts": "2026-07-05T16:34:22Z", "hours": 1.9489, "text": "worked my way through GitHub docs and figured out how to implement a webhook delivery handler, including verifying the secret, then implemented connecting to websocket channels for each community which get forwarded all the relevant webhook messages all that’ll be left now is to incorporate these updates into the frontend which shouldn’t be too hard"}, {"post_id": 22738, "ts": "2026-07-05T10:00:44Z", "hours": 0.7953, "text": "I added replying to messages that don’t already have a reply thread last night and I’ve just added reacting and unreacting, which completes all the basic message functions 🎉"}, {"post_id": 22459, "ts": "2026-07-04T22:36:37Z", "hours": 0.5753, "text": "you can now edit messages basically i’m speedrunning all the basic actions so that i can work on notifications which will be a huge task"}, {"post_id": 22397, "ts": "2026-07-04T21:14:37Z", "hours": 1.4183, "text": "you can now delete comments and replies, including proper handling of GitHub’s very weird logic flow for deleting comments that have replies - they get replaced with ghost comments until all of their replies are deleted - just an empty body without so much as an explanation (two windows here to demonstrate the modal and also the fact that the button appears on comment hover)"}, {"post_id": 22182, "ts": "2026-07-04T14:45:20Z", "hours": 1.4878, "text": "wow! you can now send messages from a delightfully previewable text box in other news, I improved the experience switching between communities, added highlighting for the active channel, fixed a performance problem and fixed a hang when loading an empty channel"}, {"post_id": 22091, "ts": "2026-07-04T10:54:50Z", "hours": 1.3803, "text": "you can now view full reply threads to every top-level message, including pagination (it loads 100 messages at a time)"}, {"post_id": 21773, "ts": "2026-07-03T21:32:40Z", "hours": 0.3969, "text": "code block highlighting, bug fix"}, {"post_id": 21708, "ts": "2026-07-03T20:04:27Z", "hours": 5.2114, "text": "5 hours later, and basically all of the requirements of the main-continuity message view have been implemented, including images, lists, links, alerts, reactions and placeholder buttons for opening reply threads! it even automatically loads more messages as you scroll upwards, but i dont have any long enough channels to demonstrate that (loads 100 messages at a time since that costs the minimum per request in terms of github rate limits) all that’s left now is taking actions (sending messages, reacting etc), and then getting realtime notifications from the backend"}, {"post_id": 21145, "ts": "2026-07-02T23:02:54Z", "hours": 3.2053, "text": "I’m having so much fun :) I’ve implemented the entire channel and thread list complete with thread pagination, dynamic icons based on locked/answered/answerable status, and a button to leave the community I also implemented a really satisfying shift, blur and shadow effect when switching between communities (edit: the issue in the video where the ‘select a community to start collaborating’ message wasn’t shown after leaving the community got fixed immediately after recording)"}, {"post_id": 20904, "ts": "2026-07-02T17:03:15Z", "hours": 1.7164, "text": "I learnt GraphQL and made my peace with it, then implemented listing channels and threads!"}, {"post_id": 19521, "ts": "2026-06-30T20:57:39Z", "hours": 0.5183, "text": "why is there no REST API for Discussions 😭 I’m going to have to learn GraphQL"}, {"post_id": 19465, "ts": "2026-06-30T19:56:15Z", "hours": 2.3078, "text": "auto-expanding sidebar drawer for communities you’re in, including a button and popup flow for joining new communities :) caching from previous step was useful here next step is listing channels and threads"}, {"post_id": 19100, "ts": "2026-06-30T10:13:40Z", "hours": 1.9489, "text": "added double-click to copy and added a loading ring animation to the device flow auth view added a note to the host confirmation view saying that the app only has limited access to act on your behalf and that in the local app, the access token never needs to be sent to the server cleaned up the database schema and implemented persisting added communities and obtained access tokens implemented caching host and client ID requests since those will be frequent in upcoming stuff"}, {"post_id": 18705, "ts": "2026-06-29T21:50:53Z", "hours": 1.4975, "text": "github device flow auth 👀 why oh why does device flow auth not work in browsers? I had to do either figure out how to make octokit.js use tauri-plugin-http, do the entire processs from the Rust side, or use the normal oauth web flow went with do it all from Rust because option 1 and 3 needed rust deps anyway (http plugin for 1, deep link/web server for 3), and option 1 needed figuring out and option 3 leaks the access token to the server unnecessarily"}, {"post_id": 18376, "ts": "2026-06-29T14:41:30Z", "hours": 3.1828, "text": "I implemented the necessary utils for making requests to the backend, and used fetching the client ID to test that (screenshot). I backtracked on the implementation and removed tauri-plugin-http as well as removing tauri-plugin-svelte from earlier so that the frontend is entirely self-contained and can be ported to just be a website for those who want that. on the backend, removing tauri-plugin-http required me to mess around with CORS settings for a while until the browser accepted its responses"}, {"post_id": 17656, "ts": "2026-06-28T15:18:15Z", "hours": 1.2564, "text": "I implemented fetching a community’s configured backend host from its repository when you click ‘Join’, then I created a skeleton OAuth explanation and confirmation modal view!"}, {"post_id": 17605, "ts": "2026-06-28T14:00:21Z", "hours": 1.6003, "text": "I set up tauri-plugin-svelte for data persistence, then I repurposed the i18n.ts localisation code from one of my other projects so that Fossim has translation support from the very beginning lastly, I created a skeleton onboarding view where you can input the first community you want to join or join Fossim’s own community as an example"}, {"post_id": 17199, "ts": "2026-06-27T22:11:10Z", "hours": 1.2208, "text": "spent forever trying to debug prettier-plugin-tailwindcss which is not how i wanted to spend my evening turns out it was just a bug and not a misconfiguration ( https://github.com/tailwindlabs/prettier-plugin-tailwindcss/issues/464 ) this started while i was getting the onboarding working in the application and noticed my classes weren’t being sorted edit: looks like i uncovered a bug in Deno as well!! installing the insiders channel of prettier-plugin-tailwindcss using Deno resulted in the latest commit being added to package.json but a commit from 2023 actually being installed. had to remove the ^ from the version specifier"}, {"post_id": 17112, "ts": "2026-06-27T19:43:42Z", "hours": 2.5369, "text": "architecture has been planned out backend and client projects have been fully scaffolded necessary setup steps and permissions for the GitHub App have been determined and documented relevant GitHub APIs and processes have been researched most of my time was spent planning and researching today, that’s why only 2.5 hours coding"}]...
|
Title: Fossim by @nekename | Stardance
Devlogs:
a Title: Fossim by @nekename | Stardance
Devlogs:
architecture has been planned out backend and client projects have been fully scaffolded necessary setup steps and permissions for the GitHub App have been determined and documented relevant GitHub APIs and processes have been researched most of my time was spent planning and researching today, that’s why only 2.5 hours coding
spent forever trying to debug prettier-plugin-tailwindcss which is not how i wanted to spend my evening turns out it was just a bug and not a misconfiguration ( https://github.com/tailwindlabs/prettier-plugin-tailwindcss/issues/464 ) this started while i was getting the onboarding working in the application and noticed my classes weren’t being sorted edit: looks like i uncovered a bug in Deno as well!! installing the insiders channel of prettier-plugin-tailwindcss using Deno resulted in the latest commit being added to package.json but a commit from 2023 actually being installed. had to remove the ^ from the version specifier
I set up tauri-plugin-svelte for data persistence, then I repurposed the i18n.ts localisation code from one of my other projects so that Fossim has translation support from the very beginning lastly, I created a skeleton onboarding view where you can input the first community you want to join or join Fossim’s own community as an example
I implemented fetching a community’s configured backend host from its repository when you click ‘Join’, then I created a skeleton OAuth explanation and confirmation modal view!
I implemented the necessary utils for making requests to the backend, and used fetching the client ID to test that (screenshot). I backtracked on the implementation and removed tauri-plugin-http as well as removing tauri-plugin-svelte from earlier so that the frontend is entirely self-contained and can be ported to just be a website for those who want that. on the backend, removing tauri-plugin-http required me to mess around with CORS settings for a while until the browser accepted its responses
github device flow auth 👀 why oh why does device flow auth not work in browsers? I had to do either figure out how to make octokit.js use tauri-plugin-http, do the entire processs from the Rust side, or use the normal oauth web flow went with do it all from Rust because option 1 and 3 needed rust deps anyway (http plugin for 1, deep link/web server for 3), and option 1 needed figuring out and option 3 leaks the access token to the server unnecessarily
added double-click to copy and added a loading ring animation to the device flow auth view added a note to the host confirmation view saying that the app only has limited access to act on your behalf and that in the local app, the access token never needs to be sent to the server cleaned up the database schema and implemented persisting added communities and obtained access tokens implemented caching host and client ID requests since those will be frequent in upcoming stuff
auto-expanding sidebar drawer for communities you’re in, including a button and popup flow for joining new communities :) caching from previous step was useful here next step is listing channels and threads
why is there no REST API for Discussions 😭 I’m going to have to learn GraphQL
I learnt GraphQL and made my peace with it, then implemented listing channels and threads!
I’m having so much fun :) I’ve implemented the entire channel and thread list complete with thread pagination, dynamic icons based on locked/answered/answerable status, and a button to leave the community I also implemented a really satisfying shift, blur and shadow effect when switching between communities (edit: the issue in the video where the ‘select a community to start collaborating’ message wasn’t shown after leaving the community got fixed immediately after recording)
5 hours later, and basically all of the requirements of the main-continuity message view have been implemented, including images, lists, links, alerts, reactions and placeholder buttons for opening reply threads! it even automatically loads more messages as you scroll upwards, but i dont have any long enough channels to demonstrate that (loads 100 messages at a time since that costs the minimum per request in terms of github rate limits) all that’s left now is taking actions (sending messages, reacting etc), and then getting realtime notifications from the backend
code block highlighting, bug fix
you can now view full reply threads to every top-level message, including pagination (it loads 100 messages at a time)
wow! you can now send messages from a delightfully previewable text box in other news, I improved the experience switching between communities, added highlighting for the active channel, fixed a performance problem and fixed a hang when loading an empty channel
you can now delete comments and replies, including proper handling of GitHub’s very weird logic flow for deleting comments that have replies - they get replaced with ghost comments until all of their replies are deleted - just an empty body without so much as an explanation (two windows here to demonstrate the modal and also the fact that the button appears on comment hover)
you can now edit messages basically i’m speedrunning all the basic actions so that i can work on notifications which will be a huge task
I added replying to messages that don’t already have a reply thread last night and I’ve just added reacting and unreacting, which completes all the basic message functions 🎉
worked my way through GitHub docs and figured out how to implement a webhook delivery handler, including verifying the secret, then implemented connecting to websocket channels for each community which get forwarded all the relevant webhook messages all that’ll be left now is to incorporate these updates into the frontend which shouldn’t be too hard
alright, here we go! it was a lot of work (nearly 4h as you can see), but the Fossim client can now receive and handle every type of live update that the backend can receive from the GitHub webhook. this means that when others send, edit or delete messages, or a new channel or thread is created or an existing one edited, deleted, locked or unlocked, the client receives the update in real time. now it feels more like an instant messenger :) what’s left: showing notifications for unread messages, including finding some way to remember last read message and fetch how many new messages once the client restarts
so, I’m back a little while later, and the app now shows unread message counters, not only incrementing while the app is open but also synchronising with the backend so that you can see how many messages have come in even when the app was closed. this required me to set up a database in the backend for tracking sequential message counters for each channel that the client can then subtract from its own records, I learnt some database stuff and also some stuff about making bulk HTTP requests, since I didn’t want to make a request per channel
with all the architectural stuff done, I’m working on all the cosmetic finishing touches community list now also shows the total unread notifs of all the community’s channels community config allows specifying name, icon and banner so that you can customise your community I even added a button to sponsor the community’s owner if the repository has funding links attached!
comments referencing github items are now real links to make coordinating PRs and issues way easier (as well as linking to other discussions, although they don’t open in fossim) I also added a notif level setting which will be useful now as I’m about to implement system notifications, and you might not want a system notification for every thread in every community this is amidst some other UI/UX improvements like better error messages, automatic reconnection etc
alright, as hinted before, Fossim now sends system notifications! (and of course i made sure it doesn’t send notifs when the channel is focussed and you’re actively chatting) (weird icon and name will be fixed when the app is properly installed (i hope))
it’s all finishing touches in the client now! added support for minimising the app to the system tray when closed as well as a settings menu to control the behaviour pretty much just need to add some networked services like an update checker and statistics collection, write a readme and faq, and add a docker build for the backend
Dockerfile written, github publish action written, backend container published 🎉 https://github.com/nekename/fossim-backend/pkgs/container/fossim-backend edit: oh yeah also update checker in the app and anonymous statistics collection
I’m away right now so not making lightning speed progress like before, but I made the application integrate much better when installed, such as enforcing a maximum of one running instance, fixing the app’s display name, and improving the icon shown on macOS. then, I wrote an FAQ ( https://github.com/nekename/fossim-application/wiki/FAQ ) for the application to clarify missing features, answer hosting questions and address privacy concerns
got back home, wrote a README with overview, installation, support and contributing info, created a metainfo file in case I ever bother to publish this to Flathub and so it looks nice in Linux software stores, fixed a bug with missed event deliveries when reconnecting to the backend, wrote a github actions workflow for publishing on release and added a banner sending you to the FAQ after onboarding
Ships:
Hello! Fossim and Stardance were really fun for me as I finally got around to building something new, instead of spending a lot of time maintaining old projects for their users. If you read through the devlogs or code, you’ll see that building a whole new interface on GitHub’s APIs isn’t easy, because they don’t expose a fraction of the features they use on their own site. For example, instead of being able to receive events (e.g. someone else sent a message) in the client directly, I had to architect an entire multiplexed event forwarding/broadcast mechanism in a backend server. Or, since there’s no way to check how many messages the user hasn’t read when the app starts, I had to implement a database in the backend with counters that increment on new messages so that clients can compare their local values when they start. So, to answer ‘what I’m proud of’, it’s going to be working around the architectural API challenges rather than building a desktop app with a sweet UI, since I already knew I could do the latter. Fossim is a collaboration platform for open-source projects, but what makes it different from a platform like Discord, Matrix, Slack or Zulip is that it’s built on the software forge that projects are already using for source control. By using GitHub Discussions as the content index for your project’s community (note: Fossim is designed with support for different forges in mind, and the project would be very happy to accept contributions to add support for other platforms) with the Fossim application as an interface familiar to users of the platforms listed above, the discussions taking place in your community become indexable by search engines, you avoid splitting your community across multiple platforms and avoid requiring users to create new accounts, content like issues and pull requests can be referenced using convenient shorthand syntax, and you use a platform designed for the needs of open source, for example automatically displaying a project’s funding links on its Fossim community overview. Additionally, you avoid the common hassle of migrating users to a new platform, since Fossim is built fully on top of GitHub Discussions, which can be accessed directly from GitHub’s interface. Using Fossim, however, grants you access to all the communities you’re a member of in one place, easy to navigate between with a unified interface, system-level notifications for new messages including granular, per-community controls, and an interface more tailored to a chat platform than a curated discussion forum. Want to set up a Fossim community? Head over to the backend documentation at https://github.com/nekename/fossim-backend to learn how to set up an event source for your community....
|
1793252936.1187317
|
1793339336.1187317
|
|
26923
|
My very own WebOS by @Gabriel | Stardance
|
Gabriel
|
1
|
12.14
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-18T16:08:27Z", "hours": 11.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A personal web-based “OS” built from scratch with plain HTML, CSS, and JavaScript. It runs in the browser and is meant to be my portfolio and personal page. The current version is intentionally simple (to learn the basics): it includes a notes app (create notes with a title, delete them), a live clock and date display, and a welcome screen. More apps are planned for WebOS 2.", "repo": "https://github.com/gabrieltoribiopereira/OS", "demo": ""}]...
|
[{"post_id": 42229, "ts": "202 [{"post_id": 42229, "ts": "2026-08-06T20:54:53Z", "hours": 1.1389, "text": "aasdfafsad"}, {"post_id": 30732, "ts": "2026-07-18T15:38:22Z", "hours": 3.3811, "text": "Finally! I finished my first app! It’s just a simple notes app. I think now I can consider it an OS XD. I ran through a lot of bugs and mistakes. I learned a lot, so I think that now it should be easier to create other apps and make this OS my own."}, {"post_id": 28960, "ts": "2026-07-15T16:03:34Z", "hours": 6.0706, "text": "I’ve been following the guide and I’m on part 3. I made my first window that you can close with the red button."}, {"post_id": 17748, "ts": "2026-06-28T17:42:37Z", "hours": 1.3936, "text": "I’ve been working on the start screen. There are no buttons or other menus yet, it’s just the start. I’m not used to working with HTML or CSS; I’m still learning. The goal is to create a website that I can use as my portfolio."}]...
|
Title: My very own WebOS by @Gabriel | Stardance
Title: My very own WebOS by @Gabriel | Stardance
Devlogs:
I’ve been working on the start screen. There are no buttons or other menus yet, it’s just the start. I’m not used to working with HTML or CSS; I’m still learning. The goal is to create a website that I can use as my portfolio.
I’ve been following the guide and I’m on part 3. I made my first window that you can close with the red button.
Finally! I finished my first app! It’s just a simple notes app. I think now I can consider it an OS XD. I ran through a lot of bugs and mistakes. I learned a lot, so I think that now it should be easier to create other apps and make this OS my own.
aasdfafsad
Ships:
A personal web-based “OS” built from scratch with plain HTML, CSS, and JavaScript. It runs in the browser and is meant to be my portfolio and personal page. The current version is intentionally simple (to learn the basics): it includes a notes app (create notes with a title, delete them), a live clock and date display, and a welcome screen. More apps are planned for WebOS 2....
|
1793274731.993021
|
1793361131.993021
|
|
26941
|
smart clock by @Gosiya | Stardance
|
Gosiya
|
1
|
5.1
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-11T09:42:10Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a working clock based on arduino and DS1302 module. It can be called a demo version since I plan to work in further and as a demo version it of course was fairly simple though I stumbled upon wiring problem which was fixed by swapping faulty jumperwires", "repo": "https://github.com/kgiorgi/clock", "demo": "https://wokwi.com/projects/471087475156579329"}]...
|
[{"post_id": 39584, "ts": "202 [{"post_id": 39584, "ts": "2026-08-02T17:33:53Z", "hours": 5.0983, "text": "Finished the arduino version of my clock/alarm. added a lot of stuff at once such as the whole alarm mechanism and also memory system which allows the clock to “remember” last date you’ve set after being powered off."}, {"post_id": 26477, "ts": "2026-07-11T09:19:31Z", "hours": 0.0, "text": "For now it’s just a simple arduino based clock but I plan to add features such as weather display, alarm system, and maybe make an app for it so you can set the clock remotely. of course I would need to swap the platform from arduino to esp32 but that’s a problem for later"}]...
|
Title: smart clock by @Gosiya | Stardance
Devlogs Title: smart clock by @Gosiya | Stardance
Devlogs:
For now it’s just a simple arduino based clock but I plan to add features such as weather display, alarm system, and maybe make an app for it so you can set the clock remotely. of course I would need to swap the platform from arduino to esp32 but that’s a problem for later
Finished the arduino version of my clock/alarm. added a lot of stuff at once such as the whole alarm mechanism and also memory system which allows the clock to “remember” last date you’ve set after being powered off.
Ships:
I made a working clock based on arduino and DS1302 module. It can be called a demo version since I plan to work in further and as a demo version it of course was fairly simple though I stumbled upon wiring problem which was fixed by swapping faulty jumperwires...
|
1793252877.0031512
|
1793339277.0031512
|
|
26951
|
MQTT commute pod simulator by @BroccoliJam | Stard MQTT commute pod simulator by @BroccoliJam | Stardance...
|
BroccoliJam
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-28T18:31:53Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is a Python + MQTT simulation of a commute pod that loops between 3 terminals (T1, T2, T3), picking up and dropping off passengers at each stop . It uses the MQTT publish/subscribe messaging protocol to broadcast real-time pod status updates to any connected client", "repo": "https://github.com/ShyaamN/MQTT-practice", "demo": "https://shyaamn.github.io/MQTT_pod_simulator/"}]...
|
[{"post_id": 17778, "ts": "202 [{"post_id": 17778, "ts": "2026-06-28T18:29:14Z", "hours": 1.7878, "text": "I’ve set up an html index to display the data received by the subscriber. no need to run the subscriber py file and read the endless stream of updates from the broker"}, {"post_id": 16882, "ts": "2026-06-27T12:18:02Z", "hours": 2.2792, "text": "Set up initial publish and subscribe py files and developed basic code to test my first MQTT pipeline."}]...
|
Title: MQTT commute pod simulator by @BroccoliJam Title: MQTT commute pod simulator by @BroccoliJam | Stardance
Devlogs:
Set up initial publish and subscribe py files and developed basic code to test my first MQTT pipeline.
I’ve set up an html index to display the data received by the subscriber. no need to run the subscriber py file and read the endless stream of updates from the broker
Ships:
This is a Python + MQTT simulation of a commute pod that loops between 3 terminals (T1, T2, T3), picking up and dropping off passengers at each stop . It uses the MQTT publish/subscribe messaging protocol to broadcast real-time pod status updates to any connected client...
|
1793253269.6668446
|
1793339669.6668446
|
|
26960
|
Frictionless by @aadityakumarsah | Stardance
|
aadityakumarsah
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-07T05:59:39Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Dhukuti Protocol is a trustless rotating savings system built on the Solana blockchain. It replaces traditional informal savings circles — known as Dhukuti in Nepal, Chit Fund in India, Susu in West Africa, Arisan in Indonesia, and Paluwagan in the Philippines — with a transparent, automated smart contract. In a traditional ROSCA (Rotating Savings and Credit Association), a group of people contributes a fixed amount every cycle. One member receives the full pool each cycle, and the rotation continues until everyone has received a payout once. The model works because communities trust each other, but that trust often breaks down. Dhukuti Protocol replaces organizer custody with Solana PDA escrow, adds on-chain contribution and payout records, supports group voting for payout allocation, and issues completion reputation that can become portable credit history for underbanked users. What does this mean? Imagine you and 4 friends want to save money together. Every week, everyone puts in some coins. Then one friend gets to take ALL the coins home. Next week, everyone puts in again, and a different friend takes all the coins. This keeps going until everyone has gotten a turn. Normally, you’d need to trust one person to hold all the coins — but what if they run away with it? Dhukuti Protocol is a special piggy bank on a computer that holds the coins for you. Nobody can take the coins unless everyone agrees. The computer checks the rules all by itself — so no one can cheat, run away, or take more than their turn.", "repo": "https://github.com/aadityakumarsah/Dhukuti-Protocol", "demo": "https://dhukuti-protocol.vercel.app/"}]...
|
[{"post_id": 42452, "ts": "202 [{"post_id": 42452, "ts": "2026-08-07T05:57:45Z", "hours": 2.4189, "text": "Dhukuti Protocol is a trustless rotating savings system built on the Solana blockchain. It replaces traditional informal savings circle known as Dhukuti in Nepal, Chit Fund in India, Susu in West Africa, Arisan in Indonesia, and Paluwagan in the Philippine with a transparent, automated smart contract. In a traditional ROSCA (Rotating Savings and Credit Association), a group of people contributes a fixed amount ev ery cycle. One member receives the full pool each cycle, and the rotation continues until everyone has received a payout once. The model works because communities trust each other, but that trust often breaks down. Dhukuti Protocol replaces organizer custody with Solana PDA escrow, adds on-chain contribution and payout records, supports group voting for payout allocation, and issues completion reputation that can become portable credit history for underbanked users. What does this mean? Imagine you and 4 friends want to save money together. Every week, everyone puts in some coins. Then one friend gets to take ALL the coins home. Next week, everyone puts in again, and a different friend takes all the coins. This keeps going until everyone has gotten a turn. Normally, you’d need to trust one pe rson to hold all the coins but what if they run away with it? Dhukuti Protocol is a special piggy bank on a computer that holds the coins for you. Nobody can take the coins unless everyone agrees. The computer checks the rules all by itself so no one can cheat, run away, or take more than their turn."}]...
|
Title: Frictionless by @aadityakumarsah | Stardanc Title: Frictionless by @aadityakumarsah | Stardance
Devlogs:
Dhukuti Protocol is a trustless rotating savings system built on the Solana blockchain. It replaces traditional informal savings circle known as Dhukuti in Nepal, Chit Fund in India, Susu in West Africa, Arisan in Indonesia, and Paluwagan in the Philippine with a transparent, automated smart contract. In a traditional ROSCA (Rotating Savings and Credit Association), a group of people contributes a fixed amount ev ery cycle. One member receives the full pool each cycle, and the rotation continues until everyone has received a payout once. The model works because communities trust each other, but that trust often breaks down. Dhukuti Protocol replaces organizer custody with Solana PDA escrow, adds on-chain contribution and payout records, supports group voting for payout allocation, and issues completion reputation that can become portable credit history for underbanked users. What does this mean? Imagine you and 4 friends want to save money together. Every week, everyone puts in some coins. Then one friend gets to take ALL the coins home. Next week, everyone puts in again, and a different friend takes all the coins. This keeps going until everyone has gotten a turn. Normally, you’d need to trust one pe rson to hold all the coins but what if they run away with it? Dhukuti Protocol is a special piggy bank on a computer that holds the coins for you. Nobody can take the coins unless everyone agrees. The computer checks the rules all by itself so no one can cheat, run away, or take more than their turn.
Ships:
Dhukuti Protocol is a trustless rotating savings system built on the Solana blockchain. It replaces traditional informal savings circles — known as Dhukuti in Nepal, Chit Fund in India, Susu in West Africa, Arisan in Indonesia, and Paluwagan in the Philippines — with a transparent, automated smart contract. In a traditional ROSCA (Rotating Savings and Credit Association), a group of people contributes a fixed amount every cycle. One member receives the full pool each cycle, and the rotation continues until everyone has received a payout once. The model works because communities trust each other, but that trust often breaks down. Dhukuti Protocol replaces organizer custody with Solana PDA escrow, adds on-chain contribution and payout records, supports group voting for payout allocation, and issues completion reputation that can become portable credit history for underbanked users. What does this mean? Imagine you and 4 friends want to save money together. Every week, everyone puts in some coins. Then one friend gets to take ALL the coins home. Next week, everyone puts in again, and a different friend takes all the coins. This keeps going until everyone has gotten a turn. Normally, you’d need to trust one person to hold all the coins — but what if they run away with it? Dhukuti Protocol is a special piggy bank on a computer that holds the coins for you. Nobody can take the coins unless everyone agrees. The computer checks the rules all by itself — so no one can cheat, run away, or take more than their turn....
|
1793296185.3545668
|
1793382585.3545668
|
|
26971
|
Mini bass by @ItsYaBoyJanan | Stardance
|
ItsYaBoyJanan
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-23T08:32:15Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "At the beginning, I just found a cheap rusty broken speaker to be specific, a model called “m3 mini”. I opened it up and found the battery was puffed, the driver was popped. It was small in size and I decided to fix it. I got a 2 (approximately) woofer from an old speaker, and I connected it to the board, soldered on a missing capacitor and then replaced the battery, and boom, it was in life. The sound was good but I thought it lacked bass, I added another magnet behind the stock magnet of the same size, then I tried it. It was literally perfect! And I made a diy case with cardboard (my family and i aint got a computer/laptop or 3d printer to design or print one) and finally, it’s finished!", "repo": "https://github.com/ItsYaBoyJanan/Mini-bass", "demo": ""}]...
|
[{"post_id": 35752, "ts": "202 [{"post_id": 35752, "ts": "2026-07-27T12:06:47Z", "hours": 0.2833, "text": "Just finished adding two external wires for external amplified audio"}]...
|
Title: Mini bass by @ItsYaBoyJanan | Stardance
De Title: Mini bass by @ItsYaBoyJanan | Stardance
Devlogs:
Just finished adding two external wires for external amplified audio
Ships:
At the beginning, I just found a cheap rusty broken speaker to be specific, a model called “m3 mini”. I opened it up and found the battery was puffed, the driver was popped. It was small in size and I decided to fix it. I got a 2 (approximately) woofer from an old speaker, and I connected it to the board, soldered on a missing capacitor and then replaced the battery, and boom, it was in life. The sound was good but I thought it lacked bass, I added another magnet behind the stock magnet of the same size, then I tried it. It was literally perfect! And I made a diy case with cardboard (my family and i aint got a computer/laptop or 3d printer to design or print one) and finally, it’s finished!...
|
1793278287.9781659
|
1793364687.9781659
|
|
26974
|
My very own WebOS by @Jimmy_Tropedo | Stardance
|
Jimmy_Tropedo
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-14T21:48:31Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made RockOS, a calm and tactile web operating system themed around mindfulness and rock balancing. What was challenging: Writing the custom 2D physics engine loop from scratch in Vanilla Javascript so the pebbles bounce off boundaries, transfer momentum realistically on collisions, and lock into stable stacked columns. What I’m proud of: The Web Audio API ocean waves synthesizer which generates soothing background sea noises mathematically without loading any heavy audio files, and the live search engine browser. How to test: Open the settings panel to turn on the wave sounds or scale the rocks, click and drag/throw the pebbles to balance them at the bottom, and use the Google Search bar to query live Wikipedia pages!", "repo": "https://github.com/JimmyTorpedo/webos", "demo": "https://jimmytorpedo.github.io/webos/"}]...
|
[{"post_id": 28555, "ts": "202 [{"post_id": 28555, "ts": "2026-07-14T21:34:43Z", "hours": 0.3644, "text": "shipped rockos rockos is officially completed and shipped! i’ve finalized all the core features: built a custom 2D physics engine for pebble dragging, throwing velocity inertia, and elastic boundary collisions; wrote a low-frequency pink noise ocean waves sound synthesizer using the native Web Audio API for background nature sounds; connected a live Wikipedia query search API inside the simulated browser panel; styled all rocks with organic terracotta, sandstone, and slate gray colors matching the forest background; and added scaling multipliers and wallpaper changers in the Settings window. this project turned out so clean and calming to use. it’s fully ready to deploy!"}, {"post_id": 17308, "ts": "2026-06-28T01:08:54Z", "hours": 1.3075, "text": "Starting rockos i’ve had an idea for a new OS and now i’m going to start building it and announcing it as the name for the RockOS. it’s gonna be a super calm, minimalist workspace focusing on rock balancing and clean layouts. i’m excited to start coding this and will log my progress here."}, {"post_id": 17151, "ts": "2026-06-27T20:50:52Z", "hours": 0.8581, "text": "v0.1: starting my webOS project, just a basic web page, more coming soon!!!"}]...
|
Title: My very own WebOS by @Jimmy_Tropedo | Stard Title: My very own WebOS by @Jimmy_Tropedo | Stardance
Devlogs:
v0.1: starting my webOS project, just a basic web page, more coming soon!!!
Starting rockos i’ve had an idea for a new OS and now i’m going to start building it and announcing it as the name for the RockOS. it’s gonna be a super calm, minimalist workspace focusing on rock balancing and clean layouts. i’m excited to start coding this and will log my progress here.
shipped rockos rockos is officially completed and shipped! i’ve finalized all the core features: built a custom 2D physics engine for pebble dragging, throwing velocity inertia, and elastic boundary collisions; wrote a low-frequency pink noise ocean waves sound synthesizer using the native Web Audio API for background nature sounds; connected a live Wikipedia query search API inside the simulated browser panel; styled all rocks with organic terracotta, sandstone, and slate gray colors matching the forest background; and added scaling multipliers and wallpaper changers in the Settings window. this project turned out so clean and calming to use. it’s fully ready to deploy!
Ships:
I made RockOS, a calm and tactile web operating system themed around mindfulness and rock balancing. What was challenging: Writing the custom 2D physics engine loop from scratch in Vanilla Javascript so the pebbles bounce off boundaries, transfer momentum realistically on collisions, and lock into stable stacked columns. What I’m proud of: The Web Audio API ocean waves synthesizer which generates soothing background sea noises mathematically without loading any heavy audio files, and the live search engine browser. How to test: Open the settings panel to turn on the wave sounds or scale the rocks, click and drag/throw the pebbles to balance them at the bottom, and use the Google Search bar to query live Wikipedia pages!...
|
1793278208.9576535
|
1793364608.9576535
|
|
27010
|
Barcode Number Game by @chandos4473 | Stardance
|
chandos4473
|
1
|
1.0
|
15
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-28T08:41:05Z", "hours": 1.0, "multiplier": 11.67, "payout": 15, "blessing": "neutral", "text": "What is it? An interactive math-puzzle game built using Python and Streamlit that turns a real-world hidden engineering mechanism—the retail fallback key-in process—into a fun arcade experience. How does it work? What’s the challenge? Standard retail UPC-A barcodes are exactly 12 digits long and rely on a strict mathematical Modulo-10 Checksum Algorithm to prevent scanning errors. When a barcode is physically scratched, cashiers must type the numbers manually. This game simulates that broken terminal protocol: it generates 11 random barcode digits but completely blinds one variable slot with a ❓ question mark. The player is given the final 12th Check Digit and must use modular algebra in reverse to calculate the missing digit before submitting their code verification. Attempt-Based Scoring Matrix: Built to reward care over careless guessing. A perfect first-try scan awards +10 points. A second attempt awards +5 points, and a final manual override squeaks by with +1 point. Three-Strike Terminal Lockout: If a player records 3 consecutive checksum failures, a system error state triggers. The script locks out the number entry widget, reveals the correct answer in a terminal log, and forces them to click a manual “Initialize Next Puzzle Sequence” button to reset the parameters. Persistent Session State Memory: Leverages st.session_state vectors to freeze the random barcode matrix across input submissions, avoiding accidental page-reload re-randomization bugs. Mathematically Honest Help Expander: Features a drop-down panel displaying a step-by-step breakdown of the live calculation. It creates a temporary blind_digits copy array, replacing the hidden variable with a clean 0 so players can inspect the raw odd-position (weighted x3) and even-position sums to reverse-engineer the math.", "repo": "https://github.com/chandos4473-cpu/Barcode-Checkdigit-Puzzle/", "demo": "https://barcode-checkdigit-puzzle-psp2chtca8t3d9d7vfjngc.streamlit.app/"}]...
|
[{"post_id": 17039, "ts": "202 [{"post_id": 17039, "ts": "2026-06-27T17:35:59Z", "hours": 0.3975, "text": "The game is complete! I might add some extra features later on but for now it’s done. The game has a strike counter, a punishing score adder (1st try 10 pts, 2nd try 5 pts, 3rd try 1 pt, >3rd try 0 pts) The help dropdown does most of the calculations leaving a much more easily solvable calculation."}, {"post_id": 17016, "ts": "2026-06-27T16:57:21Z", "hours": 0.5022, "text": "I have now added a player input box and a help dropdown which reveals the step by step process to work out the missing number using modulo 10. The score now increases by 10 every time a digit is guessed correctly. A new puzzle is generated every time the player guesses it correctly."}, {"post_id": 16974, "ts": "2026-06-27T15:41:54Z", "hours": 0.3822, "text": "I have implemented the modulo 10 formula for calculating the check digit at the end of the barcode. I have also tested my streamlit logic"}]...
|
Title: Barcode Number Game by @chandos4473 | Stard Title: Barcode Number Game by @chandos4473 | Stardance
Devlogs:
I have implemented the modulo 10 formula for calculating the check digit at the end of the barcode. I have also tested my streamlit logic
I have now added a player input box and a help dropdown which reveals the step by step process to work out the missing number using modulo 10. The score now increases by 10 every time a digit is guessed correctly. A new puzzle is generated every time the player guesses it correctly.
The game is complete! I might add some extra features later on but for now it’s done. The game has a strike counter, a punishing score adder (1st try 10 pts, 2nd try 5 pts, 3rd try 1 pt, >3rd try 0 pts) The help dropdown does most of the calculations leaving a much more easily solvable calculation.
Ships:
What is it? An interactive math-puzzle game built using Python and Streamlit that turns a real-world hidden engineering mechanism—the retail fallback key-in process—into a fun arcade experience. How does it work? What’s the challenge? Standard retail UPC-A barcodes are exactly 12 digits long and rely on a strict mathematical Modulo-10 Checksum Algorithm to prevent scanning errors. When a barcode is physically scratched, cashiers must type the numbers manually. This game simulates that broken terminal protocol: it generates 11 random barcode digits but completely blinds one variable slot with a ❓ question mark. The player is given the final 12th Check Digit and must use modular algebra in reverse to calculate the missing digit before submitting their code verification. Attempt-Based Scoring Matrix: Built to reward care over careless guessing. A perfect first-try scan awards +10 points. A second attempt awards +5 points, and a final manual override squeaks by with +1 point. Three-Strike Terminal Lockout: If a player records 3 consecutive checksum failures, a system error state triggers. The script locks out the number entry widget, reveals the correct answer in a terminal log, and forces them to click a manual “Initialize Next Puzzle Sequence” button to reset the parameters. Persistent Session State Memory: Leverages st.session_state vectors to freeze the random barcode matrix across input submissions, avoiding accidental page-reload re-randomization bugs. Mathematically Honest Help Expander: Features a drop-down panel displaying a step-by-step breakdown of the live calculation. It creates a temporary blind_digits copy array, replacing the hidden variable with a clean 0 so players can inspect the raw odd-position (weighted x3) and even-position sums to reverse-engineer the math....
|
1793325345.8063762
|
1793411745.8063762
|
|
27012
|
Space Strike by @Danvir | Stardance
|
Danvir
|
1
|
13.0
|
26
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-19T16:17:08Z", "hours": 13.0, "multiplier": 2.0, "payout": 26, "blessing": "neutral", "text": "About my game : I built Space Strike, a 3D space shooter game in Unity where the player controls a spaceship and fights against enemy ships.The biggest challenges were making the enemy spawning feel balanced, handling collisions correctly, and making the shooting system responsive.I’m proud that I completed a fully playable 3D game from start to finish. This project helped me improve my Unity and C# skills. Thanks stardance for this opportunity", "repo": "https://github.com/jsdjoker/SpaceStrike", "demo": "https://danjs.itch.io/spacestrike"}]...
|
[{"post_id": 31294, "ts": "202 [{"post_id": 31294, "ts": "2026-07-19T16:14:38Z", "hours": 1.4836, "text": "Devlog#15 - Last devlog i created a basic mainMenu to my game so that you can start playing it and also quit button to quit the game after playing the game and then i added some more waves of enemies and also added win condition after reaching the end i was very much happy with game outcome as this is my second game i created with unity and very much happy about it and completing it!!"}, {"post_id": 30211, "ts": "2026-07-17T16:42:01Z", "hours": 0.7, "text": "devlog#14: created more enemies to my game and it looks more better with the timelines and making the player move properly with the ships and i have made more options of making a smoother game and also it makes a game better with shooting of turrent and laser towards player!!!!!!"}, {"post_id": 29529, "ts": "2026-07-16T14:56:24Z", "hours": 1.1933, "text": "devlog#13: finally finished the bug i ad with my enemy shooting the laser at my playe ri have fixed it wiht some maths basics which is kinda tough used on google help and finally got the angle to rotate the turrent towards the player and shoot the projectile and its a success"}, {"post_id": 28917, "ts": "2026-07-15T14:54:40Z", "hours": 0.9736, "text": "Devlog#12: Created more enemies and add a turrent feature to the enemies that whenever the player goes near the enemy the turrent under the ship starts to shoot at player and try to destory it rather than just smashing into the player it took little but of time but happy with the output which i got!!!"}, {"post_id": 27207, "ts": "2026-07-12T15:55:46Z", "hours": 0.8561, "text": "Devlog#11-created a laser sound so whenever the player shoots the enemy laser sound comes and its a huge upgrade to me game and also next added enemy shooting at enemy and other features are there to add in the game and waiting to make into a perfect game"}, {"post_id": 26660, "ts": "2026-07-11T16:32:05Z", "hours": 1.0939, "text": "Devlog 10#- created a skybox based on space theme and added some post processing which means enhancing the graphics in the game so that it will be looking very realistic and perfect!!and also added a restart mechanism that whenever the player dies he can respawn easily and then the game continous!!"}, {"post_id": 26453, "ts": "2026-07-11T08:07:59Z", "hours": 1.1753, "text": "Devlog 9#- Created a lot of mechanic to my game and excited about it.. first added a dialogue system to my game where the player talks in mic and dialogue comes below the screen like talking with someone based on the enemies spawning and also added terrain texture and also some trees to make it feel natural look and do other changes later!!"}, {"post_id": 26114, "ts": "2026-07-10T18:23:05Z", "hours": 0.5156, "text": "Devlog 08# - created UI score based system…when player destory enemy ship score is collected and each enemies destory gives different score points and also added health to enemies so that each of them have differnet hit points of health so it will be realistic"}, {"post_id": 25324, "ts": "2026-07-09T15:24:33Z", "hours": 0.5333, "text": "devlog #7 -Created more enemies to the game and each have differnet health point so that when player attacks the enemy they each get destoryed at different health and weak points college work again looking forward to complete"}, {"post_id": 24218, "ts": "2026-07-07T17:10:52Z", "hours": 0.3022, "text": "Devlog#6 couldn’t do that much my lowest devlog this is due to college studies i couldn’t make properly just created player get destoryed with destory vfx"}, {"post_id": 23580, "ts": "2026-07-06T16:49:02Z", "hours": 1.5106, "text": "Devlog#5: made enemy particle After some time made the laser shoot at the direction where the mouse is aim and also added enemy particle effect when destoryed. Doing this project slowly as my college as started!! The next step is making skybox and more particle when enemy destroyed"}, {"post_id": 22162, "ts": "2026-07-04T14:09:13Z", "hours": 0.6014, "text": "Due to college coulnd’t code much longer but created a crosshair which follow the mouse whenever the player aim the mouse the crosshair moves and laser also moves in that direction"}, {"post_id": 21472, "ts": "2026-07-03T13:17:44Z", "hours": 0.5422, "text": "completed my rocket system with laser effect which can damage the player!! it was kinda hard to add but finally added it after 30 mins it’s short time but it was hard"}, {"post_id": 20706, "ts": "2026-07-02T11:32:52Z", "hours": 0.7056, "text": "created rotation in x axis and y axis to player"}, {"post_id": 20614, "ts": "2026-07-02T07:51:58Z", "hours": 0.7, "text": "made player ship with a timeline which makes the player ship move"}]...
|
Title: Space Strike by @Danvir | Stardance
Devlog Title: Space Strike by @Danvir | Stardance
Devlogs:
made player ship with a timeline which makes the player ship move
created rotation in x axis and y axis to player
completed my rocket system with laser effect which can damage the player!! it was kinda hard to add but finally added it after 30 mins it’s short time but it was hard
Due to college coulnd’t code much longer but created a crosshair which follow the mouse whenever the player aim the mouse the crosshair moves and laser also moves in that direction
Devlog#5: made enemy particle After some time made the laser shoot at the direction where the mouse is aim and also added enemy particle effect when destoryed. Doing this project slowly as my college as started!! The next step is making skybox and more particle when enemy destroyed
Devlog#6 couldn’t do that much my lowest devlog this is due to college studies i couldn’t make properly just created player get destoryed with destory vfx
devlog #7 -Created more enemies to the game and each have differnet health point so that when player attacks the enemy they each get destoryed at different health and weak points college work again looking forward to complete
Devlog 08# - created UI score based system…when player destory enemy ship score is collected and each enemies destory gives different score points and also added health to enemies so that each of them have differnet hit points of health so it will be realistic
Devlog 9#- Created a lot of mechanic to my game and excited about it.. first added a dialogue system to my game where the player talks in mic and dialogue comes below the screen like talking with someone based on the enemies spawning and also added terrain texture and also some trees to make it feel natural look and do other changes later!!
Devlog 10#- created a skybox based on space theme and added some post processing which means enhancing the graphics in the game so that it will be looking very realistic and perfect!!and also added a restart mechanism that whenever the player dies he can respawn easily and then the game continous!!
Devlog#11-created a laser sound so whenever the player shoots the enemy laser sound comes and its a huge upgrade to me game and also next added enemy shooting at enemy and other features are there to add in the game and waiting to make into a perfect game
Devlog#12: Created more enemies and add a turrent feature to the enemies that whenever the player goes near the enemy the turrent under the ship starts to shoot at player and try to destory it rather than just smashing into the player it took little but of time but happy with the output which i got!!!
devlog#13: finally finished the bug i ad with my enemy shooting the laser at my playe ri have fixed it wiht some maths basics which is kinda tough used on google help and finally got the angle to rotate the turrent towards the player and shoot the projectile and its a success
devlog#14: created more enemies to my game and it looks more better with the timelines and making the player move properly with the ships and i have made more options of making a smoother game and also it makes a game better with shooting of turrent and laser towards player!!!!!!
Devlog#15 - Last devlog i created a basic mainMenu to my game so that you can start playing it and also quit button to quit the game after playing the game and then i added some more waves of enemies and also added win condition after reaching the end i was very much happy with game outcome as this is my second game i created with unity and very much happy about it and completing it!!
Ships:
About my game : I built Space Strike, a 3D space shooter game in Unity where the player controls a spaceship and fights against enemy ships.The biggest challenges were making the enemy spawning feel balanced, handling collisions correctly, and making the shooting system responsive.I’m proud that I completed a fully playable 3D game from start to finish. This project helped me improve my Unity and C# skills. Thanks stardance for this opportunity...
|
1793310719.2430391
|
1793397119.2430391
|
|
27015
|
My portfolio by @Nanos | Stardance
|
Nanos
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-30T01:16:48Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I built a personal portfolio website What I’m most proud of is the animation system. I designed and implemented smooth, custom animations using CSS transitions and JavaScript interactions to make the interface feel more alive and responsive.", "repo": "https://github.com/na1os/portfolio", "demo": "https://demo.nanos.ro/last-one-was-not-ai-but-just-made-another-one/"}]...
|
[{"post_id": 18794, "ts": "202 [{"post_id": 18794, "ts": "2026-06-30T00:27:42Z", "hours": 1.0, "text": "Today I updated a large part of the website’s CSS to improve the design, layout, and responsiveness. I also added new features, fixed UI issues, and cleaned up the code to make future updates easier."}]...
|
Title: My portfolio by @Nanos | Stardance
Devlogs Title: My portfolio by @Nanos | Stardance
Devlogs:
Today I updated a large part of the website’s CSS to improve the design, layout, and responsiveness. I also added new features, fixed UI issues, and cleaned up the code to make future updates easier.
Ships:
I built a personal portfolio website What I’m most proud of is the animation system. I designed and implemented smooth, custom animations using CSS transitions and JavaScript interactions to make the interface feel more alive and responsive....
|
1792878855.190294
|
1793742855.190294
|
|
27019
|
Os in a py terminal by @Nanos | Stardance
|
Nanos
|
1
|
1.0
|
5
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-28T20:41:13Z", "hours": 1.0, "multiplier": 4.0, "payout": 5, "blessing": "neutral", "text": "TerminalOS A simulated CLI operating system in Python with a boot animation, dynamic account creation, a file manager (vi-like shortcuts), and a custom shell. Core Achievements Clean Arhitecture: Uses a structured Python class and a dictionary dispatch pattern instead of messy if/elif chains. Crash Prevention: Built-in data recovery that automatically resets the JSON state if it gets corrupted during forced exits. Polished Details: Raw ANSI text rendering for graphics/Matrix rain and hardcoded patches for input edge-cases. Zero Dependencies: Runs entirely on Python's standard library. Tester Guide Dynamic Login: Type ANY username and password.", "repo": "https://github.com/na1os/pyos", "demo": "https://github.com/na1os/pyos/releases"}]...
|
[{"post_id": 17892, "ts": "202 [{"post_id": 17892, "ts": "2026-06-28T20:37:48Z", "hours": 1.0, "text": "Developer Log - TerminalOS Project Overview TerminalOS is an interactive CLI simulation designed to mimic a basic Unix-like environment inside a standard console. The development focused heavily on shifting from unstructured procedural code to a robust object-oriented architecture, improving data persistence stability, and refining user interaction. What Was Achieved OOP Architecture Conversion The entire codebase was refactored into a centralized TerminalOS class. Instead of passing state manually through disparate functions or relying on unsafe global variables, the application now encapsulates its configuration, user profiles, and runtime loops inside dedicated class properties ( self.state , self.user , self.running ). Scalable Menu Navigation (Dictionary Dispatch) To avoid messy, nested if/elif/else blocks inside the main user loop, a dictionary dispatch pattern was implemented in the desktop interface. By mapping user selection keys directly to object methods, the code remains clean, readable, and easy to extend with new features in the future. Defensive Error Handling and State Recovery Recognizing that sudden terminal closures frequently cause JSON files to corrupt, the state loading mechanism was hardened. The system explicitly traps json.JSONDecodeError and ValueError during startup. If a bad file is detected, it logs a warning cleanly to sys.stderr and drops back to a safe default payload, preventing hard system crashes. Input Sanitization and Quality-of-Life Patches Local validation testing revealed edge-case bugs, such as accidental whitespace entry skipping password validation. This was patched by applying .strip() to user string inputs and adding fallbacks for empty names. Additionally, the Matrix rain visual effect was updated with a customized mixed-ASCII charset to move away from overused open-source tropes. Technical Debt & Next Steps The hardware diagnostics panel currently uses static, hardcoded placeholder data. This needs to be converted to dynamic readouts using standard library utilities to keep the project dependency-free."}]...
|
Title: Os in a py terminal by @Nanos | Stardance
Title: Os in a py terminal by @Nanos | Stardance
Devlogs:
Developer Log - TerminalOS Project Overview TerminalOS is an interactive CLI simulation designed to mimic a basic Unix-like environment inside a standard console. The development focused heavily on shifting from unstructured procedural code to a robust object-oriented architecture, improving data persistence stability, and refining user interaction. What Was Achieved OOP Architecture Conversion The entire codebase was refactored into a centralized TerminalOS class. Instead of passing state manually through disparate functions or relying on unsafe global variables, the application now encapsulates its configuration, user profiles, and runtime loops inside dedicated class properties ( self.state , self.user , self.running ). Scalable Menu Navigation (Dictionary Dispatch) To avoid messy, nested if/elif/else blocks inside the main user loop, a dictionary dispatch pattern was implemented in the desktop interface. By mapping user selection keys directly to object methods, the code remains clean, readable, and easy to extend with new features in the future. Defensive Error Handling and State Recovery Recognizing that sudden terminal closures frequently cause JSON files to corrupt, the state loading mechanism was hardened. The system explicitly traps json.JSONDecodeError and ValueError during startup. If a bad file is detected, it logs a warning cleanly to sys.stderr and drops back to a safe default payload, preventing hard system crashes. Input Sanitization and Quality-of-Life Patches Local validation testing revealed edge-case bugs, such as accidental whitespace entry skipping password validation. This was patched by applying .strip() to user string inputs and adding fallbacks for empty names. Additionally, the Matrix rain visual effect was updated with a customized mixed-ASCII charset to move away from overused open-source tropes. Technical Debt & Next Steps The hardware diagnostics panel currently uses static, hardcoded placeholder data. This needs to be converted to dynamic readouts using standard library utilities to keep the project dependency-free.
Ships:
TerminalOS A simulated CLI operating system in Python with a boot animation, dynamic account creation, a file manager (vi-like shortcuts), and a custom shell. Core Achievements Clean Arhitecture: Uses a structured Python class and a dictionary dispatch pattern instead of messy if/elif chains. Crash Prevention: Built-in data recovery that automatically resets the JSON state if it gets corrupted during forced exits. Polished Details: Raw ANSI text rendering for graphics/Matrix rain and hardcoded patches for input edge-cases. Zero Dependencies: Runs entirely on Python's standard library. Tester Guide Dynamic Login: Type ANY username and password....
|
1792878864.25516
|
1793742864.25516
|
|
27022
|
NASA APOD by @priyajitk | Stardance
|
priyajitk
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-20T11:27:17Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This project is a fully deployed website that allows people to explore NASA’s APOD, using NASA’s free API. It also has a feature that allows users to view the APOD of a specific date using the date picker. The source code is so simple, that one can easily tweak it using a little bit of their english skills and IQ XD.", "repo": "https://github.com/pk2010-ux/nasa-astronomy/", "demo": "https://pk2010-ux.github.io/nasa-astronomy"}]...
|
[{"post_id": 31724, "ts": "202 [{"post_id": 31724, "ts": "2026-07-20T10:53:26Z", "hours": 0.7389, "text": "Devlog #01 Finally, came up with another amazing project!! Now I have started to love working with Stardance 😝😝 This project is basically a website that allows you to explore the NASA APOD for a specified date using the free API provided by NASA. Hope you enjoy exploring it ;)"}]...
|
Title: NASA APOD by @priyajitk | Stardance
Devlog Title: NASA APOD by @priyajitk | Stardance
Devlogs:
Devlog #01 Finally, came up with another amazing project!! Now I have started to love working with Stardance 😝😝 This project is basically a website that allows you to explore the NASA APOD for a specified date using the free API provided by NASA. Hope you enjoy exploring it ;)
Ships:
This project is a fully deployed website that allows people to explore NASA’s APOD, using NASA’s free API. It also has a feature that allows users to view the APOD of a specific date using the date picker. The source code is so simple, that one can easily tweak it using a little bit of their english skills and IQ XD....
|
1792875266.2353544
|
1793739266.2353544
|
|
27027
|
CatOS by @mygulash | Stardance
|
mygulash
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-28T19:54:36Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "✨CatOS AAAAAA help meee D: They are everywhere!!! HELPPP! THE CATS 🐈 Do you have lots of cats? This WebOS is for you! Aside from the basic functions like top bar with real time and draggable windows, we have 2 special apps for cat owners!: CatNotes: helps you keep track of your cats, you can write there everything about them Gallery: lots and lots of cat images (average cat owner gallery :D) If you are interested do not hesitate and try CatOS now!", "repo": "https://github.com/Mygulash/CatOS", "demo": "https://mygulash.github.io/CatOS/"}]...
|
[{"post_id": 17838, "ts": "202 [{"post_id": 17838, "ts": "2026-06-28T19:38:25Z", "hours": 1.4081, "text": "CatOS devlog #3 I finnaly finished my first custom app! 🐈Anddd… it is a cat gallery! Here are the changes: new app (cat gallery) fixed bugs (could put windows on top of top bar) rewamped the code and made it more universal Stay tuned for more challenges this project brings me! :)✨"}, {"post_id": 17690, "ts": "2026-06-28T16:20:35Z", "hours": 1.6228, "text": "CatOS devlog #2 I am still following the tutorial but I am getting close to finishing it :) Here is what is new: working app icon choosing which window will be on top basic text editor (first app) I am planning on adding an app which will have something to do with cat memes :)🐈 Stay tuned! ✨"}, {"post_id": 17073, "ts": "2026-06-27T18:34:50Z", "hours": 1.63, "text": "CatOS devlog #1 I am currently working on my own WebOS :) Since i really love cats i am going to make it cat themed. 🐈✨ Stuff i made so far: desktop top bar working clock draggable windows open/close windows And now I am going to create my first app in my CatOS stay tuned! 🐈"}]...
|
Title: CatOS by @mygulash | Stardance
Devlogs:
Ca Title: CatOS by @mygulash | Stardance
Devlogs:
CatOS devlog #1 I am currently working on my own WebOS :) Since i really love cats i am going to make it cat themed. 🐈✨ Stuff i made so far: desktop top bar working clock draggable windows open/close windows And now I am going to create my first app in my CatOS stay tuned! 🐈
CatOS devlog #2 I am still following the tutorial but I am getting close to finishing it :) Here is what is new: working app icon choosing which window will be on top basic text editor (first app) I am planning on adding an app which will have something to do with cat memes :)🐈 Stay tuned! ✨
CatOS devlog #3 I finnaly finished my first custom app! 🐈Anddd… it is a cat gallery! Here are the changes: new app (cat gallery) fixed bugs (could put windows on top of top bar) rewamped the code and made it more universal Stay tuned for more challenges this project brings me! :)✨
Ships:
✨CatOS AAAAAA help meee D: They are everywhere!!! HELPPP! THE CATS 🐈 Do you have lots of cats? This WebOS is for you! Aside from the basic functions like top bar with real time and draggable windows, we have 2 special apps for cat owners!: CatNotes: helps you keep track of your cats, you can write there everything about them Gallery: lots and lots of cat images (average cat owner gallery :D) If you are interested do not hesitate and try CatOS now!...
|
1793296406.1106467
|
1793382806.1106467
|
|
27029
|
EyeTurn by @charliem | Stardance
|
charliem
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-27T14:36:43Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a PDF page turner essentially using blinking for navigation. The challenging part for this was making sure the website worked for both pc and mobile. Im def proud of the fact that this little annoyance is something that i can use daily, because for violin players (at least myself) its super annoying having to pause playing to manually scroll btw pages in pdf. people should know that the program aint perfect and you go to settings to recalibrate blinking", "repo": "https://github.com/Cm30V/EyeTurn", "demo": "https://verceleye.vercel.app/"}]...
|
[{"post_id": 16937, "ts": "202 [{"post_id": 16937, "ts": "2026-06-27T14:34:22Z", "hours": 1.3083, "text": "finished eye turn for pc last night and handled for ipad/iphone this morning"}]...
|
Title: EyeTurn by @charliem | Stardance
Devlogs:
Title: EyeTurn by @charliem | Stardance
Devlogs:
finished eye turn for pc last night and handled for ipad/iphone this morning
Ships:
I made a PDF page turner essentially using blinking for navigation. The challenging part for this was making sure the website worked for both pc and mobile. Im def proud of the fact that this little annoyance is something that i can use daily, because for violin players (at least myself) its super annoying having to pause playing to manually scroll btw pages in pdf. people should know that the program aint perfect and you go to settings to recalibrate blinking...
|
1793303617.4727337
|
1793390017.4727337
|
|
27042
|
John's Serious Adventure by @dakspieth | Stard John's Serious Adventure by @dakspieth | Stardance...
|
dakspieth
|
1
|
13.0
|
83
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-27T22:25:10Z", "hours": 13.0, "multiplier": 8.26, "payout": 83, "blessing": "neutral", "text": "This is a 2D platformer I made with my friend while we were on a trip for a school competition (took place after school ended). Fortunately, since not much of the trip involved actually participating in the competition we were able to spend entire days working on this, which is how we were able to somewhat finish it despite not being home (we also started on day 3 of the jam because that was when we took a train to the competition). Depending on how well you know the objective and map layout, it is very possible to finish the game on the first go around and never spin the wheel, and because of the time constraint we couldn’t play test to find out if the game really is as easy as we found it. Anyone reading this should keep that in mind, and I apologize if the game is too hard/easy. One of my favorite parts of this game is the art. Even though the art is rough and not integrated completely well, different pixel sizes and all that, I still think it's really cool. My friend was the one who made all the art and he did so in blender, exporting those models and animations into a pixel art program where he did some touch-ups then sent them to me in engine. He has a very unique style, with vibrant colors and textures. I can't really explain it past that, so I'll put in a picture which will do all the explaining. Another thing I'm proud of is the backend for the wheel spinning mechanic. It essentially boils down to a bunch of lists, and that is exactly what is so good about it, because it allows for very easy additions and changes to the game. One pitfall of us starting the game so late is that things like GUI design and audio design were put on the back burner until we finished the actual game-loop, which happened to be around 4 hours or so before the 2am deadline. Because of this, one of the scoring criteria, audio, was basically non-existent, save for a song my friend whipped up. Not sure if anyone cares, but I have to admit, our commits to the repo were terrible, (and this isn't an excuse) but to be fair, we were within like 10 feet of each other the entire trip so communication was always easier to do in person.", "repo": "https://github.com/Dakspieth/JuniperGameJam/", "demo": "https://dakspieth.itch.io/johns-serious-adventure"}]...
|
[{"post_id": 16961, "ts": "202 [{"post_id": 16961, "ts": "2026-06-27T15:17:32Z", "hours": 12.6978, "text": "I kinda forgot to post a devlog for this all week and it’s finished so here it is. I worked on this project with my friend for The Very Serious Juniper Dev Game Jam over the course of the week (we started 3 days late). The game is about John, who goes to work and needs to hand in a paper to his boss before the deadline. The way we adhered to the “Spin To Win” theme of the jam is by adding a spinner that you spin whenever you run out of time, adding some rule or modifier you have to adhere to, like red light green light or something that makes there be moon gravity."}]...
|
Title: John's Serious Adventure by @dakspieth Title: John's Serious Adventure by @dakspieth | Stardance
Devlogs:
I kinda forgot to post a devlog for this all week and it’s finished so here it is. I worked on this project with my friend for The Very Serious Juniper Dev Game Jam over the course of the week (we started 3 days late). The game is about John, who goes to work and needs to hand in a paper to his boss before the deadline. The way we adhered to the “Spin To Win” theme of the jam is by adding a spinner that you spin whenever you run out of time, adding some rule or modifier you have to adhere to, like red light green light or something that makes there be moon gravity.
Ships:
This is a 2D platformer I made with my friend while we were on a trip for a school competition (took place after school ended). Fortunately, since not much of the trip involved actually participating in the competition we were able to spend entire days working on this, which is how we were able to somewhat finish it despite not being home (we also started on day 3 of the jam because that was when we took a train to the competition). Depending on how well you know the objective and map layout, it is very possible to finish the game on the first go around and never spin the wheel, and because of the time constraint we couldn’t play test to find out if the game really is as easy as we found it. Anyone reading this should keep that in mind, and I apologize if the game is too hard/easy. One of my favorite parts of this game is the art. Even though the art is rough and not integrated completely well, different pixel sizes and all that, I still think it's really cool. My friend was the one who made all the art and he did so in blender, exporting those models and animations into a pixel art program where he did some touch-ups then sent them to me in engine. He has a very unique style, with vibrant colors and textures. I can't really explain it past that, so I'll put in a picture which will do all the explaining. Another thing I'm proud of is the backend for the wheel spinning mechanic. It essentially boils down to a bunch of lists, and that is exactly what is so good about it, because it allows for very easy additions and changes to the game. One pitfall of us starting the game so late is that things like GUI design and audio design were put on the back burner until we finished the actual game-loop, which happened to be around 4 hours or so before the 2am deadline. Because of this, one of the scoring criteria, audio, was basically non-existent, save for a song my friend whipped up. Not sure if anyone cares, but I have to admit, our commits to the repo were terrible, (and this isn't an excuse) but to be fair, we were within like 10 feet of each other the entire trip so communication was always easier to do in person....
|
1793249737.8016968
|
1793336137.8016968
|
|
27064
|
Mission #0717 by @vandenelis | Stardance
|
vandenelis
|
1
|
22.0
|
263
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-13T13:01:46Z", "hours": 22.0, "multiplier": 12.13, "payout": 263, "blessing": "neutral", "text": "I made a small app for a one-day adventure. The project features 3 sections: Geoguessr (find the described place and do a challenge there), Color Catch (upload photos of items of certain colors and categories) and Photo Booth (recreate the given photo and upload you version). Originally, it was made as a gift for my partner (and in Lithuanian), but it’s possible to easily modify the system and personalise everything for other users. Every challenge contributes to a global progress bar. The initial idea is to use it for earning the big prize - in my case, TLT concert tickets :D. Since there is no actual virtual prize, the user is free to think of a personalised reward at any point of completion. This was a great way to not only brighten a friend’s day, but also learn how to use React Native and Expo Go. I strictly limited the amount of AI used for that natural “trial and error” process, so Claude Code was used only for minor debugging and certain reference points. The knowledge gained will let me further work on more ambitious app ideas I’ve had for ages! –What to know before trying for yourself– As of now, and, to be fair, probably forever, the production version is made only for Android 7.0+. You can install it in the Github repo Latest Release page. –Possible areas of improvement– If there would be actual users of the app, I could translate everything into English. Make a tutorial/info page. Create a “full-completion” celebrating pop-up.", "repo": "https://github.com/bulviakas/mission-0717", "demo": "https://github.com/bulviakas/mission-0717/releases/tag/v1.0.0"}]...
|
[{"post_id": 46005, "ts": "202 [{"post_id": 46005, "ts": "2026-08-12T21:12:24Z", "hours": 3.9936, "text": "READY TO SHIP!!! The occasion for this amazing app has already long passed and I’m happy to share that the gift was a total success ! ;D Now in between vacation and other side-quests, I’ve managed to tidy everything up enough to be able to share all this with the wider audience. The app itself has undergone minor tweaks - a title on the home page and a custom app icon . Took me quite a bit to figure out how the .apk packages work, though. I’m hoping that I managed to successfully create a signed copy of my creation and it is accessable for everybody in the repo Releases section. Lastly, the easiest, yet the most daunting part was writing the actual README. It might not be the most pleasant looking description in the world, but it’s mine and that’s what matters :) Now fingers crossed I did everything correctly for shipping…"}, {"post_id": 29370, "ts": "2026-07-16T08:43:55Z", "hours": 4.7308, "text": "ALL CHALLENGE SECTIONS DONE The long-dreaded film roll update turned out to be way easier than expected. I really wanted to maximise the Photo Booth experience, that’s why I made the photos show up on the roll after task completion. Now it actually looks like those photo strips in real life! This morning I also built the third section - Color Catch. The concept is to photograph certain objects of certain colours and complete the collection. That is why the rainbow section screen is the perfect way to go! I didn’t really want to overwhelm the adventure more by adding less frequent categories for hunting (like animals or clothing (find a purple animal xd)), so I simplified it to 6 photos from 4 categories (2 for nature and random). The photo upload logic is similar to the Photo challenges. To be fair, it was surprisingly satisfying rewriting the challenge types after it got messy. Instead of separate MapChallenge and PhotoChallenge elements, I put the shared logic into BaseChallenge and just extended that interface with section specific parameters. The only thing is have trouble fixing is the color challenge modal size. For some reason, everywhere except the Expo Go app on my phone, the photos are square ant the window wraps them beautifully. But on my mobile, the aspect ratio is off and there are a lot of free space for no apparent reason. I tried everything, but maybe this is one of those things, that fixes itself up after a short break :)"}, {"post_id": 28893, "ts": "2026-07-15T14:22:46Z", "hours": 8.3133, "text": "FIRST SECTION FINISHED!!! The “Goeguessr” section (where the challenges are to find the described place and complete a quest at it) is now complete. The only missing (though optional) part is the collection of stickers after completion of every task, however, for now I’m moving on to the other part of the adventure. Below there’s a screenshot of one of the final quest version. A for the Photo Booth , I’m super proud of the film roll design for the photo challenges. Nothing too complicated, just playing around with color-matching and margins :p Now I continue to work on creating the actual Booth challenges. The idea is to give an example drawing of a duo pose and the user has to replicate it and upload the photo to the app. Completed challenges display the taken picture on the film roll. So writing their logic is currently the first point on my To-do list."}, {"post_id": 27593, "ts": "2026-07-13T09:48:48Z", "hours": 4.6497, "text": "For these past few days, I’ve been getting familiar with Expo Go and React Native, since I’ve never done mobile or much web development before. Now about the project itself, I’m building a fun little temporary app as a gift for my partner - basically a guide for a whole-day date. The idea is that there are 3 sections: memorable spot searching, photographing specific colours to form a puzzle and replicating silly couple photography poses. For every challenge, the user collects custom design stickers (which are made irl too!) and with enough progress unlocks the big prize - tickets to a favourite concert! Now I’m focusing on building the “Geoguessr” quest. The main screen base is done, map challenge page layout is mostly done, I even managed to successfully implement task completion. Some design touch ups are still due and I actually need to write the challenges. But it’s a great start!"}]...
|
Title: Mission #0717 by @vandenelis | Stardance
D Title: Mission #0717 by @vandenelis | Stardance
Devlogs:
For these past few days, I’ve been getting familiar with Expo Go and React Native, since I’ve never done mobile or much web development before. Now about the project itself, I’m building a fun little temporary app as a gift for my partner - basically a guide for a whole-day date. The idea is that there are 3 sections: memorable spot searching, photographing specific colours to form a puzzle and replicating silly couple photography poses. For every challenge, the user collects custom design stickers (which are made irl too!) and with enough progress unlocks the big prize - tickets to a favourite concert! Now I’m focusing on building the “Geoguessr” quest. The main screen base is done, map challenge page layout is mostly done, I even managed to successfully implement task completion. Some design touch ups are still due and I actually need to write the challenges. But it’s a great start!
FIRST SECTION FINISHED!!! The “Goeguessr” section (where the challenges are to find the described place and complete a quest at it) is now complete. The only missing (though optional) part is the collection of stickers after completion of every task, however, for now I’m moving on to the other part of the adventure. Below there’s a screenshot of one of the final quest version. A for the Photo Booth , I’m super proud of the film roll design for the photo challenges. Nothing too complicated, just playing around with color-matching and margins :p Now I continue to work on creating the actual Booth challenges. The idea is to give an example drawing of a duo pose and the user has to replicate it and upload the photo to the app. Completed challenges display the taken picture on the film roll. So writing their logic is currently the first point on my To-do list.
ALL CHALLENGE SECTIONS DONE The long-dreaded film roll update turned out to be way easier than expected. I really wanted to maximise the Photo Booth experience, that’s why I made the photos show up on the roll after task completion. Now it actually looks like those photo strips in real life! This morning I also built the third section - Color Catch. The concept is to photograph certain objects of certain colours and complete the collection. That is why the rainbow section screen is the perfect way to go! I didn’t really want to overwhelm the adventure more by adding less frequent categories for hunting (like animals or clothing (find a purple animal xd)), so I simplified it to 6 photos from 4 categories (2 for nature and random). The photo upload logic is similar to the Photo challenges. To be fair, it was surprisingly satisfying rewriting the challenge types after it got messy. Instead of separate MapChallenge and PhotoChallenge elements, I put the shared logic into BaseChallenge and just extended that interface with section specific parameters. The only thing is have trouble fixing is the color challenge modal size. For some reason, everywhere except the Expo Go app on my phone, the photos are square ant the window wraps them beautifully. But on my mobile, the aspect ratio is off and there are a lot of free space for no apparent reason. I tried everything, but maybe this is one of those things, that fixes itself up after a short break :)
READY TO SHIP!!! The occasion for this amazing app has already long passed and I’m happy to share that the gift was a total success ! ;D Now in between vacation and other side-quests, I’ve managed to tidy everything up enough to be able to share all this with the wider audience. The app itself has undergone minor tweaks - a title on the home page and a custom app icon . Took me quite a bit to figure out how the .apk packages work, though. I’m hoping that I managed to successfully create a signed copy of my creation and it is accessable for everybody in the repo Releases section. Lastly, the easiest, yet the most daunting part was writing the actual README. It might not be the most pleasant looking description in the world, but it’s mine and that’s what matters :) Now fingers crossed I did everything correctly for shipping…
Ships:
I made a small app for a one-day adventure. The project features 3 sections: Geoguessr (find the described place and do a challenge there), Color Catch (upload photos of items of certain colors and categories) and Photo Booth (recreate the given photo and upload you version). Originally, it was made as a gift for my partner (and in Lithuanian), but it’s possible to easily modify the system and personalise everything for other users. Every challenge contributes to a global progress bar. The initial idea is to use it for earning the big prize - in my case, TLT concert tickets :D. Since there is no actual virtual prize, the user is free to think of a personalised reward at any point of completion. This was a great way to not only brighten a friend’s day, but also learn how to use React Native and Expo Go. I strictly limited the amount of AI used for that natural “trial and error” process, so Claude Code was used only for minor debugging and certain reference points. The knowledge gained will let me further work on more ambitious app ideas I’ve had for ages! –What to know before trying for yourself– As of now, and, to be fair, probably forever, the production version is made only for Android 7.0+. You can install it in the Github repo Latest Release page. –Possible areas of improvement– If there would be actual users of the app, I could translate everything into English. Make a tutorial/info page. Create a “full-completion” celebrating pop-up....
|
1793328732.1900778
|
1793415132.1900778
|
|
27083
|
FarmerBG by @michaelbg | Stardance
|
michaelbg
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-27T21:44:26Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A farmer’s marketplace that connects buyers with sellers directly, focused to target the Bulgarian market at first before scale. All of them are disconnected and split around Facebook, OLX, Bazarbg etc. so we merge them in one place. Bulgaria struggles to connect farmers with a buyer so here is a solution.", "repo": "https://github.com/JacobJandon/farmerbg-web", "demo": "https://www.pgmss-farmerbg.com/"}]...
|
[{"post_id": 17161, "ts": "202 [{"post_id": 17161, "ts": "2026-06-27T21:04:15Z", "hours": 3.7703, "text": "Worked on admin panel: ─── (everything below is the original prod baseline) ─── d9ff7d6 2026-02-10 text: rename to “Училищен фермерски пазар”… 09b3330 2026-02-08 FarmerBG Web App - Production Ready 🧩 Admin-specific work in those commits115d758 — the big one: reconciled all 18 admin pages + 8 admin API routes to the real DB schema (offers/orders removed, moderation→reports table, verification→seller_verification_status, security/sessions/tickets column casts, etc.).e71db12 — admin-sidebar.tsx scrollable nav; moderation/page.tsx resolve/ban write valid columns; user-actions.tsx Verify/Ban fixed (is_verified_seller/is_banned).05888b3 — product-table.tsx + user-actions.tsx: three-dots dropdowns now position:fixed so last-row menus aren’t clipped."}]...
|
Title: FarmerBG by @michaelbg | Stardance
Devlogs Title: FarmerBG by @michaelbg | Stardance
Devlogs:
Worked on admin panel: ─── (everything below is the original prod baseline) ─── d9ff7d6 2026-02-10 text: rename to “Училищен фермерски пазар”… 09b3330 2026-02-08 FarmerBG Web App - Production Ready 🧩 Admin-specific work in those commits115d758 — the big one: reconciled all 18 admin pages + 8 admin API routes to the real DB schema (offers/orders removed, moderation→reports table, verification→seller_verification_status, security/sessions/tickets column casts, etc.).e71db12 — admin-sidebar.tsx scrollable nav; moderation/page.tsx resolve/ban write valid columns; user-actions.tsx Verify/Ban fixed (is_verified_seller/is_banned).05888b3 — product-table.tsx + user-actions.tsx: three-dots dropdowns now position:fixed so last-row menus aren’t clipped.
Ships:
A farmer’s marketplace that connects buyers with sellers directly, focused to target the Bulgarian market at first before scale. All of them are disconnected and split around Facebook, OLX, Bazarbg etc. so we merge them in one place. Bulgaria struggles to connect farmers with a buyer so here is a solution....
|
1793242254.032024
|
1793328654.032024
|